Инфо из cstrike.inc:
/* Get team directly from player's entity.
* 1 = terrorist
* 2 = counter-terrorist
* 3 = spectator
*/
enum CsTeams {
CS_TEAM_UNASSIGNED = 0,
CS_TEAM_T = 1,
CS_TEAM_CT = 2,
CS_TEAM_SPECTATOR = 3
};
native CsTeams:cs_get_user_team(index, &{CsInternalModel,_}:model = CS_DONTCHANGE);
Синтаксис:
cs_get_user_team(index)
- index - id игрока чью команду хотим получить.
Функция возвращает константу команды:
CS_TEAM_T
CS_TEAM_CT
CS_TEAM_SPECTATOR
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "[cstrike] cs_get_user_team"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /my_team","f_get_my_team")
}
public f_get_my_team(id){
new CsTeams:my_team
my_team = cs_get_user_team(id)
switch (my_team){
case (CS_TEAM_CT):{
client_print(0,print_chat,"My team is CT")
}
case (CS_TEAM_T):{
client_print(0,print_chat,"My team is T")
}
case (CS_TEAM_SPECTATOR):{
client_print(0,print_chat,"My team is Spectator")
}
case (CS_TEAM_UNASSIGNED):{
client_print(0,print_chat,"My team is Unssigned")
}
}
}
Описание:
Выполнив команду say /my_team, вы вызовите функцию обработчик f_get_my_team.
Где регистрируется хитрая переменная ( я ее называю переключателем), вот смотрите:
enum CsTeams {
CS_TEAM_UNASSIGNED = 0,
CS_TEAM_T = 1,
CS_TEAM_CT = 2,
CS_TEAM_SPECTATOR = 3
};
Переменная может принимать одно из значений, при этом у текстовой константы есть и целочисленный аналог.
Далее идет выражение switch, где указывается переменная которая будет сравниваться с вариантами, варианты указываются в кейсах, и пр совпадении будет выполнен соответствующий кейс.
Примечание: Кейсы работают только с константами.
Это далеко не единственный способ как узнать команду игрока, и уж тем более не самый лучший.
А других способах ищите информацию в других модулях.