Но нельзя исключать вариантов что кому то придет в голову гениальная идея по использованию текущего зума у игрока.По этому в двух словах о функции которая получает какой у игрока в данную секунду зум.
Инфо из cstrike.inc:
/* Returns how a user is zooming during the native call.
Values correspond to the above enum, but will return 0 if an error occurred.
*/
native cs_get_user_zoom(index);
Синтаксис:
cs_get_user_zoom(index)
- index - id игрка
Функция вернет одну из констант:
enum
{
CS_RESET_ZOOM = 0, // Reset any zoom blocking (when using this type, mode has no effect)
CS_SET_NO_ZOOM, // Disable any sort of zoom (ie: to disable zoom in all weapons use this with mode=0)
CS_SET_FIRST_ZOOM, // Set first zoom (awp style)
CS_SET_SECOND_ZOOM, // Set second zoom (awp style)
CS_SET_AUGSG552_ZOOM, // Set aug/sg552 zoom style
};
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "[cstrike] cs_get_user_zoom"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /my_zoom","f_get_my_zoom")
}
public f_get_my_zoom(id){
new my_zoom = cs_get_user_zoom(id)
switch(my_zoom) {
case (CS_RESET_ZOOM):{
client_print(0,print_chat,"CS_RESET_ZOOM")
}
case (CS_SET_NO_ZOOM):{
client_print(0,print_chat,"CS_SET_NO_ZOOM")
}
case (CS_SET_FIRST_ZOOM):{
client_print(0,print_chat,"CS_SET_FIRST_ZOOM")
}
case (CS_SET_SECOND_ZOOM):{
client_print(0,print_chat,"CS_SET_SECOND_ZOOM")
}
case (CS_SET_AUGSG552_ZOOM):{
client_print(0,print_chat,"CS_SET_AUGSG552_ZOOM")
}
}
}
Описание:
Вы уже догадались что делает данный простой пример? Вижу что догадались.
Правильно, он получает какой в данную секунду зум у игрока и выводит результат в чат.
Обратите внимание, что функция возвращает константу! А не текстовое значение.