AdminTags + Player tag
by enum
Описание:by enum
- Чрез този плъгин всеки админ с съответен флаг ще получава [таг] който може да се промени с квар.(зависи от правата му)
- Играчите също получават обаче тяхният е -> [Player] и не може да се промени с квар защото в предишния си опит даде runtime error... и плъгина не работеше.
Като цяло ето така изглежда:
[OwneR] AdminName: text
[Player]PlayerName: text
[OwneR] - Flag:m
[Global Admin] - Flag:o
[Local Admin] - Flag:q
[SMS Admin] - Flag:s
*amxx: http://dox.bg/files/dw?a=b5b6a48891
sma:
Code: Select all
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#define PLUGIN "AdminTags"
#define VERSION "1.0"
#define AUTHOR "enum"
// OWNER FLAG
#define OWNER_FLAG ADMIN_LEVEL_A
// SUBSTITUTE OWNER FLAG
#define SUBSTITUTE_FLAG ADMIN_LEVEL_C
// NORMAL ADMIN FLAG
#define NORMAL_FLAG ADMIN_LEVEL_E
/// SMS ADMIN FLAG
#define SMS_FLAG ADMIN_LEVEL_G
new const team_names[][] =
{
"SPECTATOR",
"TERRORIST",
"COUNTER-TERRORIST",
"SPRECTATOR"
}
new SzOwnerTag, SzSubstituteTag
new SzNormalTag, SzSmsTag
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
SzOwnerTag = register_cvar("amx_owner_tag", "[OwneR]")
SzSubstituteTag = register_cvar("amx_substitute_tag", "[Global Admin]")
SzNormalTag= register_cvar("amx_normal_tag", "[Local Admin]")
SzSmsTag = register_cvar("amx_sms_tag", "[SMS Admin]")
register_clcmd("say", "say_func")
register_clcmd("say_team", "s_team_func")
}
public say_func(id)
{
static Msg[192], SzName[32]
read_args(Msg, 191)
remove_quotes(Msg)
get_user_name(id, SzName, 31)
static SzOwnFlag, SzSubFlag, SzNormlFlag, SzSmsFlag, SzPlTag
static SzOwnFlagTag[32], SzSubFlagTag[32], SzNormlFlagTag[32], SzSmsFlagTag[32]
static is_alive
SzOwnFlag = get_user_flags(id) & OWNER_FLAG
SzSubFlag= get_user_flags(id) & SUBSTITUTE_FLAG
SzNormlFlag= get_user_flags(id) & NORMAL_FLAG
SzSmsFlag = get_user_flags(id) & SMS_FLAG
get_pcvar_string(SzOwnerTag, SzOwnFlagTag, 31)
get_pcvar_string(SzSubstituteTag, SzSubFlagTag, 31)
get_pcvar_string(SzNormalTag, SzNormlFlagTag, 31)
get_pcvar_string(SzSmsTag, SzSmsFlagTag, 31)
is_alive = is_user_alive(id)
if(SzOwnFlag)
{
format(Msg, 191, "%s ^x03[%s] ^x04%s^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", SzOwnFlagTag, SzName, Msg)
}
else if(SzSubFlag)
{
format(Msg, 191, "%s ^x03[%s] ^x04%s^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", SzSubFlagTag, SzName, Msg)
}
else if(SzNormlFlag)
{
format(Msg, 191, "%s ^x03[%s] ^x04%s:^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", SzNormlFlagTag, SzName, Msg)
}
else if(SzSmsFlag)
{
format(Msg, 191, "%s ^x03[%s] ^x04%s:^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", SzSmsFlagTag, SzName, Msg)
}
else
{
format(Msg, 191, "%s ^x03[Player] ^x04%s^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", SzName, Msg)
}
static players[32],num
get_players(players,num,is_alive ? "a" : "b")
static i
for(i=0;i<num;i++)
{
ColorChat(players[i], GREY, Msg)
}
return PLUGIN_HANDLED_MAIN
}
public s_team_func(id)
{
static Msg[192], SzName[32]
read_args(Msg, 191)
remove_quotes(Msg)
get_user_name(id, SzName, 31)
static SzOwnFlag, SzSubFlag, SzNormlFlag, SzSmsFlag
static SzOwnFlagTag[32], SzSubFlagTag[32], SzNormlFlagTag[32], SzSmsFlagTag[32]
static is_alive, SzUserTeam
SzOwnFlag = get_user_flags(id) & OWNER_FLAG
SzSubFlag= get_user_flags(id) & SUBSTITUTE_FLAG
SzNormlFlag= get_user_flags(id) & NORMAL_FLAG
SzSmsFlag = get_user_flags(id) & SMS_FLAG
get_pcvar_string(SzOwnerTag, SzOwnFlagTag, 31)
get_pcvar_string(SzSubstituteTag, SzSubFlagTag, 31)
get_pcvar_string(SzNormalTag, SzNormlFlagTag, 31)
get_pcvar_string(SzSmsTag, SzSmsFlagTag, 31)
is_alive = is_user_alive(id)
SzUserTeam = _:cs_get_user_team(id)
if(SzOwnFlag)
{
format(Msg, 191, "%s (%s) ^x03[%s] ^x04%s^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", team_names[SzUserTeam], SzOwnFlagTag, SzName, Msg)
}
else if(SzSubFlag)
{
format(Msg, 191, "%s (%s) ^x03[%s] ^x04%s^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", team_names[SzUserTeam], SzSubFlagTag, SzName, Msg)
}
else if(SzNormlFlag)
{
format(Msg, 191, "%s (%s) ^x03[%s] ^x04%s:^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", team_names[SzUserTeam], SzNormlFlagTag, SzName, Msg)
}
else if(SzSmsFlag)
{
format(Msg, 191, "%s (%s) ^x03[%s] ^x04%s:^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", team_names[SzUserTeam], SzSmsFlagTag, SzName, Msg)
}
else
{
format(Msg, 191, "%s (%s) ^x03[Player] ^x04%s^x01: ^x03%s", is_alive ? "" : "^x01*DEAD*", team_names[SzUserTeam], SzName, Msg)
}
static players[32],num
get_players(players,num,is_alive ? "ae" : "be")
static i
for(i=0;i<num;i++)
{
ColorChat(players[i], GREY,Msg)
}
return PLUGIN_HANDLED_MAIN
}