#include <amxmodx>
new const gNazwaPluginu[] = "Chat Tags";
new const gWersjaPluginu[] = "1.1";
new const gAutorPluginu[] = "MisieQ";
new gWlascicielFlaga[32], gHeadAdminFlaga[32], gAdminFlaga[32], gVipFlaga[32], gGraczFlaga[32];
new gWlascicielPrefix[32], gHeadAdminPrefix[32], gAdminPrefix[32], gVipPrefix[32], gGraczPrefix[32];
public plugin_init()
{
register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu);
register_message(get_user_msgid("SayText"), "Prefix");
/* Cvary */
register_cvar("wlasciciel_flaga", "abcdefghijklmnopqrstuwvx");
register_cvar("headadmin_flaga", "abcdefghijklmnopqstu");
register_cvar("admin_flaga", "bcdefijtmu");
register_cvar("vip_flaga", "bt");
register_cvar("gracz_flaga", "z");
get_cvar_string("wlasciciel_flaga", gWlascicielFlaga, sizeof gWlascicielFlaga -1)
get_cvar_string("headadmin_flaga", gHeadAdminFlaga, sizeof gHeadAdminFlaga -1)
get_cvar_string("admin_flaga", gAdminFlaga, sizeof gAdminFlaga -1)
get_cvar_string("vip_flaga", gVipFlaga, sizeof gVipFlaga -1)
get_cvar_string("gracz_flaga", gGraczFlaga, sizeof gGraczFlaga -1)
/* Prefixy */
register_cvar("wlasciciel_prefix", "Wlasciciel");
register_cvar("headadmin_prefix", "HeadAdmin");
register_cvar("admin_prefix", "Admin");
register_cvar("vip_prefix", "VIP");
register_cvar("gracz_prefix", "Gracz");
get_cvar_string("wlasciciel_prefix", gWlascicielPrefix , sizeof gWlascicielPrefix -1)
get_cvar_string("headadmin_prefix", gHeadAdminPrefix , sizeof gHeadAdminPrefix -1)
get_cvar_string("admin_prefix", gAdminPrefix , sizeof gAdminPrefix -1)
get_cvar_string("vip_prefix", gVipPrefix , sizeof gVipPrefix -1)
get_cvar_string("gracz_prefix", gGraczPrefix, sizeof gGraczPrefix -1)
}
public has_flags(id,string[])
{
new ret=1
new byte
new len = strlen(string)
new p_flag = get_user_flags(id)
for(new i=0;i<=len;i++)
{
if(string[i]>='a' && string[i]<='z') byte = (1<<(string[i]-'a'))
else if(string[i]>='A' && string[i]<='Z') byte = (1<<(string[i]-'A'))
else if(string[i]==',' && ret==1) return 1
else if(string[i]==',') ret=1
if(byte!=0 && !(p_flag & byte)) ret=0
byte=0
}
return ret
}
public Prefix(msgId,msgDest,msgEnt)
{
new id = get_msg_arg_int(1);
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
new szTmp[256],szTmp2[256];
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
new szPrefix[64];
if(has_flags(id, gWlascicielFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gWlascicielPrefix);
}
else if(has_flags(id, gHeadAdminFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gHeadAdminPrefix);
}
else if(has_flags(id, gAdminFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gAdminPrefix);
}
else if(has_flags(id, gVipFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gVipPrefix);
}
else if(has_flags(id, gGraczFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04%s",gGraczPrefix);
}
else
{
formatex(szPrefix,charsmax( szPrefix ),"^x04%s",gGraczPrefix);
}
if(!equal(szTmp,"#Cstrike_Chat_All"))
{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else
{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
return PLUGIN_CONTINUE;
}
Oto cały kod
a konkretnie chodzi o to
if(has_flags(id, gWlascicielFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gWlascicielPrefix);
}
else if(has_flags(id, gHeadAdminFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gHeadAdminPrefix);
}
else if(has_flags(id, gAdminFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gAdminPrefix);
}
else if(has_flags(id, gVipFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gVipPrefix);
}
else if(has_flags(id, gGraczFlaga))
{
formatex(szPrefix,charsmax( szPrefix ),"^x04%s",gGraczPrefix);
}
else
{
formatex(szPrefix,charsmax( szPrefix ),"^x04%s",gGraczPrefix);
}