Хочу улучшить плагин чтобы флаги прописывались не по нику а по SteamID. Чтобы игроки под чужим ником не заходили кто на 1 месте в топе.
Код:
#include <amxmodx>
#include <csx>
new szVipFlags,szAdminFlags,szImmunity;
public plugin_init() {
register_plugin("Auto Admin&Vip", "1.0", "Seroff");
register_event("HLTV", "szRound", "a", "1=0", "2=0");
szVipFlags=register_cvar("av_vipflags","it");
szAdminFlags=register_cvar("av_adminflags","cdefiju");
szImmunity=register_cvar("av_adminimmflags","");
}
public szRound()
{
for(new id=1;id<33;id++){
if(is_user_connected(id)){
set_task(0.5,"admvip",id);
}
}
}
public admvip(id){
if(get_user_flags(id) & read_flags(g_pcvar(szImmunity))) return 0;
new stats[8],bodyhits[8],irank
irank = get_user_stats(id,stats,bodyhits);
switch(irank){
case 1:{
if(get_user_flags(id) & read_flags(g_pcvar(szAdminFlags))) return 0;
set_user_flags(id,read_flags(g_pcvar(szAdminFlags)));
ChatColor(id,"^3Вы ^1получили ^4админку ^1за ^4первое место ^1в ^4топе^1!");
ChatColor(0,"^1Игрок ^3%s ^1получил ^4админку ^1за ^4первое место ^1в ^4топе^1!`",g_name_user(id));
}
case 2:{
if(get_user_flags(id) & read_flags(g_pcvar(szVipFlags))) return 0;
set_user_flags(id,read_flags(g_pcvar(szVipFlags)));
ChatColor(id,"^3Вы ^1получили ^4випку ^1за ^4второе место ^1в ^4топе^1!");
ChatColor(0,"^1Игрок ^3%s ^1получил ^4випку ^1за ^4второе место ^1в ^4топе^1!",g_name_user(id));
}
case 3:{
if(get_user_flags(id) & read_flags("z")) return 0;
set_user_flags(id,read_flags("z"));
ChatColor(id,"^1У ^3вас ^1нету ^4не админки, не випки ^1за ^4трете место ^1в ^4топе^1!");
}
}
return 0;
}
stock g_pcvar(pcvar){
new szString[64];
get_pcvar_string(pcvar,szString,sizeof(szString)-1);
return szString;
}
stock g_name_user(id){
new name[32]
get_user_name(id,name,sizeof(name)-1);
return name;
}
stock ChatColor(const id, const input[], any:...) {
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
if (id) players[0] = id; else get_players(players, count, "ch"); {
for (new i = 0; i < count; i++) {
if (is_user_connected(players)) {
message_begin(MSG_ONE, get_user_msgid("SayText"), _, players)
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
Последнее редактирование модератором: