Offline |
|
|
Csatlakozott: 2018.12.09. 10:07 Hozzászólások: 84
Megköszönt másnak: 23 alkalommal Megköszönték neki: 5 alkalommal
|
SidLuke írta: Szia, prefix nincs-bent a TAB gomb megnyomásával meglátható a szerveren hogy ki VIP #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <hamsandwich> #define PLUGIN "VIP TAB NO PREFIX" #define VERSION "1.0" #define AUTHOR "SidLuke" #define JOG ADMIN_LEVEL_B #define kicktime 7 #define bantime 15 #define pausetime 3 enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; new file_to_write[64], iName[32], tName[32], iFormatId[30], tFormatId[30], g_Indok[121], userip new banid, valamid, vipid new choice new const Prefix[] = "!g[Információ]"; new maxplayers new gmsgSayText new kickvolt[33], banvolt[33] new bool:ban=false public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) maxplayers = get_maxplayers() gmsgSayText = get_user_msgid("SayText") register_clcmd( "say /vipmenu","VIPMenu"); register_concmd("vipmenu", "VIPMenu"); register_clcmd("say /vips", "vipek") register_event("DeathMsg","onDeath","a") register_clcmd("INDOK_KICK", "cmdKickUserFromMenu") register_clcmd("INDOK_BAN", "cmdBanUserFromMenu") register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_menucmd(register_menuid("menu1"),(1<<0)|(1<<1),"ban_szavazatok") new configsdir[64] get_configsdir(configsdir, 63) formatex(file_to_write, 63,"%s/vipban.txt", configsdir) } public onDeath() { new killer = read_data(1); new victim = read_data(2); new bool: TK = get_user_team(killer) == get_user_team(victim); if(get_user_flags(killer) & JOG) { if(killer != victim && !TK && is_user_alive(killer)) { new nhp, khp = get_user_health(killer); if(khp >= 140) nhp = 150; else nhp = khp + 10; set_user_health(killer, nhp); } } } public client_putinserver(id) { if(get_user_flags(id) & JOG) { kickvolt[id]=kicktime if(task_exists(id+444)) remove_task(id+444) set_task(60.0, "kick_volt", id+444); banvolt[id]=bantime if(task_exists(id+333)) remove_task(id+333) set_task(60.0, "ban_volt", id+333); set_task(2.0, "udvozlo", id+222); } } public udvozlo(id) { if(!(get_user_flags(id-222) & ADMIN_KICK)) { print_color(id-222, "%s !yVIP tag vagy ezen a szerveren, használhatod a !t/vipmenu !yparancsot.", Prefix) new name[32] get_user_name(id-222, name, charsmax(name)); print_color(0, "%s !t%s !yVIP tag csatlakozott a szerverre.", Prefix, name) } } public VIPMenu(id) { if(get_user_flags(id) & JOG) { new menu = menu_create("\n[SidLuke] \yVIP menü", "VMenu_h") new szText[128]; if(kickvolt[id]>0) { formatex(szText, charsmax(szText), "\dJátékos kirágás\r(%d perc múlva)", kickvolt[id]) menu_additem(menu, szText, "1", 0); } else menu_additem(menu, "\wJátekos kirugás", "1", 0); if(banvolt[id]>0) { formatex(szText, charsmax(szText), "\dBannolás szavaztatás\r(%d perc múlva)", banvolt[id]) menu_additem(menu, szText, "2", 0); } else menu_additem(menu, "\wBannolás szavaztatás", "2", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } else print_color(id, "%s !yEzt a parancsot csak !tVIP !ytagok használhatják!", Prefix) } public VMenu_h(id, menu, item, level, cid) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { if(kickvolt[id]>0) print_color(id, "%s !yNem tudsz kirúgni senkit még !t%d !ypercig!", Prefix, kickvolt[id]) else PlayersMenu(id, 0) } case 2: { if(banvolt[id]>0) print_color(id, "%s !yNem tudsz bannolást szavaztatni még !t%d !ypercig!", Prefix, banvolt[id]) else PlayersMenu(id, 1) } } menu_destroy(menu); return PLUGIN_HANDLED; } public PlayersMenu(id, menumod) { new menu = menumod == 1 ? menu_create("\yJátékos bannolás menü:", "vipbanmenu_h") : menu_create("\yJátékos kirugás menü:", "vipkickmenu_h") new players[32], pnum, tempid; new szName[32], szTempid[10]; new szText[128]; get_players(players, pnum); for( new i; i<pnum; i++ ) { tempid = players[i]; get_user_name(tempid, szName, charsmax(szName)); num_to_str(tempid, szTempid, charsmax(szTempid)); if((get_user_flags(tempid) & ADMIN_KICK || get_user_flags(tempid) & JOG)) { formatex(szText, charsmax(szText), "%s \r*", szName) menu_additem(menu, szText, szTempid, 0); } else menu_additem(menu, szName, szTempid, 0); } menu_display(id, menu, 0); } public vipbanmenu_h(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); if( is_user_connected(id) ) VIPMenu(id); return PLUGIN_HANDLED; } new data[6], szName[64], access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); banid = str_to_num(data); client_cmd(id, "messagemode INDOK_BAN"); menu_destroy(menu); return PLUGIN_HANDLED; } public vipkickmenu_h(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); if( is_user_connected(id) ) VIPMenu(id); return PLUGIN_HANDLED; } new data[6], szName[64], access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); valamid = str_to_num(data); client_cmd(id, "messagemode INDOK_KICK"); menu_destroy(menu); return PLUGIN_HANDLED; } public cmdBanUserFromMenu(id) { read_args(g_Indok, charsmax(g_Indok)) remove_quotes(g_Indok) if(strlen(g_Indok) >= 15) { client_cmd(id, "messagemode INDOK_BAN"); return PLUGIN_HANDLED } if(ban) print_color(id, "%s !yJelenleg folyamatban van egy ban szavazás, nem tudsz bannolást szavaztatni.", Prefix) else if(get_user_flags(banid) & ADMIN_KICK || get_user_flags(banid) & JOG) { PlayersMenu(id, 1); client_print(id, print_center, "Ban szavazás sikertelen immunitás miatt!") } else { userip = get_user_userid(banid) get_user_name(id, iName, charsmax(iName)); get_user_name(banid, tName, charsmax(tName)); get_user_authid(id, iFormatId, charsmax(iFormatId)); get_user_authid(banid, tFormatId, charsmax(tFormatId)); print_color(id, "%s !yVIP !t%s!y: szavazást indított !t%s !ybannolásáról. Indok: %s", Prefix, iName, tName, g_Indok) ban_szavazas() ban=true; } return PLUGIN_HANDLED } public cmdKickUserFromMenu(id) { read_args(g_Indok, charsmax(g_Indok)) remove_quotes(g_Indok) if(strlen(g_Indok) >= 15) { client_cmd(id, "messagemode INDOK_KICK"); return PLUGIN_HANDLED } if(get_user_flags(valamid) & ADMIN_KICK || get_user_flags(valamid) & JOG) { PlayersMenu(id, 0); client_print(id, print_center, "Kickelés sikertelen immunitas miatt!") } else { get_user_name(id, iName, charsmax(iName)) get_user_name(valamid, tName, charsmax(tName)) get_user_authid(id, iFormatId, charsmax(iFormatId)) get_user_authid(valamid, tFormatId, charsmax(tFormatId)) print_color(0, "%s !yVIP !t%s!y: kirúgta !t%s!y-t. Indok: %s", Prefix, iName, tName, g_Indok) server_cmd("kick #%d", get_user_userid(valamid)) cmdLogVipKick() g_Indok = "" kickvolt[id]=kicktime if(task_exists(id+444)) remove_task(id+444) set_task(60.0, "kick_volt", id+444); } return PLUGIN_HANDLED } public ban_szavazas() { new szText[128], Name[32]; get_user_name(banid, Name, charsmax(Name)); formatex(szText, charsmax(szText), "\wBannoljuk \r%s\w-t \d15 \wpercre?\y(Indok: %s)\w^n^n1. Igen^n2. Nem", Name, g_Indok) show_menu(0,(1<<0)|(1<<1), szText, 15, "menu1") set_task(15.0,"ban_eredmeny") choice = 0 return PLUGIN_HANDLED } public ban_szavazatok(id,key){ new name[32] get_user_name(id,name,31) new players[32], pnum; get_players(players, pnum); new what[6] if (key == 0) { what = "Igen" choice++ } if (key == 1) what = "Nem" new Float:iSzamol = float(100/pnum*choice) print_color(0,"!t%s !yszavazata !t%s !y(!g%0.0f%% !y/ !g100%%!y)", name, what, iSzamol) return PLUGIN_HANDLED } public ban_eredmeny(){ new Name[32]; get_user_name(banid, Name, charsmax(Name)); new players[32], pnum; get_players(players, pnum); new Float:iSzamol = float(100/pnum*choice) new Float:Otven = 50.0 if(iSzamol > Otven) { print_color(0,"%s !ySzavazás sikeres, !t%s !ybannolva !t15 !ypercre. Indok: %s", Prefix, Name, g_Indok) if(!is_user_connected(banid)) server_cmd("amx_addban ^"%s^" ^"%s^" ^"15^" ^"VIP altal Bannolva^"", tName, tFormatId); else server_cmd("amx_banip #%i ^"15.0^" ^"VIP altal Bannolva^"", userip); cmdLogVipBan() g_Indok = "" userip = 0 banvolt[vipid]=bantime if(is_user_connected(vipid)) set_task(60.0, "ban_volt", vipid+333 ); } else { banvolt[vipid]=pausetime if(task_exists(vipid+333)) remove_task(vipid+333) if(is_user_connected(vipid)) set_task(60.0, "ban_volt", vipid+333 ); print_color(0,"%s !yBannolás sikertelen kevés szavazat miatt, !t%s!y nem lesz bannolva.", Prefix,Name) } ban=false; return PLUGIN_CONTINUE } public kick_volt(id) { if(kickvolt[id-444]+1>0) { kickvolt[id-444]-- if(task_exists(id)) remove_task(id) set_task(60.0, "kick_volt", id); } } public ban_volt(id) { if(banvolt[id-333]+1>0) { banvolt[id-333]-- if(task_exists(id)) remove_task(id) set_task(60.0, "ban_volt", id); } } public vipek(user) { new names[32] new message[256] new id, count, x, len for(id = 1 ; id <= maxplayers ; id++) if(is_user_connected(id)) if((get_user_flags(id) & JOG) && !(get_user_flags(id) & ADMIN_KICK)) get_user_name(id, names[count++], 31) len = format(message, 255, "^x04[Információ]^x01 Online VIP tagok:^x03 ") if(count > 0) { for(x = 0 ; x < count ; x++) { len += format(message[len], 255-len, "%s%s ", names[x], x < (count-1) ? "^x01,^x04 ":"") if(len > 96 ) { print_message(user, message) len = format(message, 255, "^x04 ") } } print_message(user, message) } else { len += format(message[len], 255-len, "Nincs jelen vip.") print_message(user, message) } } print_message(id, msg[]) { message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id) write_byte(id) write_string(msg) message_end() } public MessageScoreAttrib( iMsgId, iDest, iReceiver ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if(get_user_flags(iPlayer) & JOG) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } stock print_color(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } } return PLUGIN_HANDLED } public cmdLogVipBan() { new output[364], iTimes[64] get_time("< Datum: %Y-%m-%d | Ido: %H-%M-%S >", iTimes, charsmax(iTimes)); formatex(output, 363, "%s VIP %s [ID: %s] bannolta %s-t [ID: %s] 15 percre! Indok: %s^n", iTimes, iName, iFormatId, tName, tFormatId, g_Indok) new file = fopen(file_to_write, "at") fprintf(file, "%s", output) fclose(file) } public cmdLogVipKick() { new output[364], iTimes[64] get_time("< Datum: %Y-%m-%d | Ido: %H-%M-%S >", iTimes, charsmax(iTimes)); formatex(output, 363, "%s VIP %s [ID: %s] kickelte %s-t [ID: %s] | Indok: %s^n", iTimes, iName, iFormatId, tName, tFormatId, g_Indok) new file = fopen(file_to_write, "at") fprintf(file, "%s", output) fclose(file) }
Hamár átirod az author-t akkor meg addom az én javítot változatom. A plugin-t nem én készitettem. ////Improved version by ✪ BeNiCh' #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <hamsandwich> #define JOG ADMIN_LEVEL_H #define kicktime 0 #define bantime 0 #define pausetime 3 new banid, vipid, banolo_id new choice[2] new const Prefix[] = "!g[Információ]"; new maxplayers new gmsgSayText new kickvolt[33], banvolt[33] new bool:ban=false public plugin_init() { maxplayers = get_maxplayers() gmsgSayText = get_user_msgid("SayText") register_clcmd( "say /vipmenu","VIPMenu"); register_concmd("vipmenu", "VIPMenu"); register_clcmd("say /vips", "vipek") register_event("DeathMsg","onDeath","a") register_menucmd(register_menuid("menu1"),(1<<0)|(1<<1),"ban_szavazatok") } public onDeath() { new killer = read_data(1); new victim = read_data(2); new bool: TK = get_user_team(killer) == get_user_team(victim); if(get_user_flags(killer) & JOG) { if(killer != victim && !TK && is_user_alive(killer)) { new nhp, khp = get_user_health(killer); if(khp >= 95) nhp = 100; else nhp = khp + 5; set_user_health(killer, nhp); } } } public client_putinserver(id) { if(get_user_flags(id) & JOG) { kickvolt[id]=kicktime if(task_exists(id+444)) remove_task(id+444) set_task(60.0, "kick_volt", id+444); banvolt[id]=bantime if(task_exists(id+333)) remove_task(id+333) set_task(60.0, "ban_volt", id+333); set_task(2.0, "udvozlo", id+222); } } public udvozlo(id) { if(!(get_user_flags(id-222) & ADMIN_KICK)) { print_color(id-222, "%s !yVIP tag vagy ezen a szerveren, használhatod a !t/vipmenu !yparancsot.", Prefix) new name[32] get_user_name(id-222, name, charsmax(name)); print_color(0, "%s !t%s !yVIP tag csatlakozott a szerverre.", Prefix, name) } } public VIPMenu(id) { if(get_user_flags(id) & JOG) { new menu = menu_create("\n[VIP INFORMÁCIÓ] \yVIP menü", "VMenu_h") new szText[128]; if(kickvolt[id]>0) { formatex(szText, charsmax(szText), "\dJátékos kirágás\r(%d perc múlva)", kickvolt[id]) menu_additem(menu, szText, "1", 0); } else menu_additem(menu, "\wJátekos kirugás", "1", 0); if(banvolt[id]>0) { formatex(szText, charsmax(szText), "\dBannolás szavaztatás\r(%d perc múlva)", banvolt[id]) menu_additem(menu, szText, "2", 0); } else menu_additem(menu, "\wBannolás szavaztatás", "2", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } else print_color(id, "%s !yEzt a parancsot csak !tVIP !ytagok használhatják!", Prefix) } public VMenu_h(id, menu, item, level, cid) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { if(kickvolt[id]>0) print_color(id, "%s !yNem tudsz kirúgni senkit még !t%d !ypercig!", Prefix, kickvolt[id]) else PlayersMenu(id, 0) } case 2: { if(banvolt[id]>0) print_color(id, "%s !yNem tudsz bannolást szavaztatni még !t%d !ypercig!", Prefix, banvolt[id]) else PlayersMenu(id, 1) } } menu_destroy(menu); return PLUGIN_HANDLED; } public PlayersMenu(id, menumod) { new menu = menumod == 1 ? menu_create("\yJátékos bannolás menü:", "vipbanmenu_h") : menu_create("\yJátékos kirugás menü:", "vipkickmenu_h") new players[32], pnum, tempid; new szName[32], szTempid[10]; new szText[128]; get_players(players, pnum); for( new i; i<pnum; i++ ) { tempid = players[i]; get_user_name(tempid, szName, charsmax(szName)); num_to_str(tempid, szTempid, charsmax(szTempid)); if((get_user_flags(tempid) & ADMIN_KICK || get_user_flags(tempid) & JOG)) { formatex(szText, charsmax(szText), "%s \r*", szName) menu_additem(menu, szText, szTempid, 0); } else menu_additem(menu, szName, szTempid, 0); } menu_display(id, menu, 0); } public vipbanmenu_h(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); if( is_user_connected(id) ) VIPMenu(id); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); banid = str_to_num(data); vipid=id; if(ban) print_color(id, "%s !yJelenleg folyamatban van egy ban szavazás, nem tudsz bannolást szavaztatni.", Prefix) else if(get_user_flags(banid) & ADMIN_KICK || get_user_flags(banid) & JOG) { PlayersMenu(id, 1); client_print(id, print_center, "Ban szavazás sikertelen immunitás miatt!") } else { new Name[32], Name2[32] get_user_name(id, Name, charsmax(Name)); get_user_name(banid, Name2, charsmax(Name2)); print_color(id, "%s !yVIP !t%s!y: szavazást indított !t%s !ybannolásáról.", Prefix, Name, Name2) ban_szavazas() ban=true; } menu_destroy(menu); return PLUGIN_HANDLED; } public vipkickmenu_h(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); if( is_user_connected(id) ) VIPMenu(id); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new tempid = str_to_num(data); if(get_user_flags(tempid) & ADMIN_KICK || get_user_flags(tempid) & JOG) { PlayersMenu(id, 0); client_print(id, print_center, "Kickelés sikertelen immunitas miatt!") } else { new Name1[32], Name2[32] get_user_name(id, Name1, charsmax(Name1)); get_user_name(tempid, Name2, charsmax(Name2)); print_color(0, "%s !yVIP !t%s!y: kirúgta !t%s!y-t", Prefix, Name1, Name2) server_cmd("kick #%d", get_user_userid(tempid)) log_amx("VIP KICK: %s kirugta %s -t", Name1, Name2) //log_amx("Kick: ^"%s<%d><%s><>^" kick ^"%s<%d><%s><>^" (reason ^"%s^")", name, get_user_userid(id), authid, name2, userid2, authid2, reason) kickvolt[id]=kicktime if(task_exists(id+444)) remove_task(id+444) set_task(60.0, "kick_volt", id+444); } menu_destroy(menu); return PLUGIN_HANDLED; } public ban_szavazas() { new szText[128], Name[32]; get_user_name(banid, Name, charsmax(Name)); formatex(szText, charsmax(szText), "\yBannoljuk %s -t 15 percre?\w^n^n1. Igen^n2. Nem", Name ) show_menu(0,(1<<0)|(1<<1), szText, 15, "menu1") set_task(15.0,"ban_eredmeny") choice[0] = 0 choice[1] = 0 return PLUGIN_HANDLED } public ban_szavazatok(id,key){ new name[32] get_user_name(id,name,31) new what[6] = "Igen" if (key == 1) what = "Nem" print_color(0,"!t%s !yszavazata !t%s", name, what) ++choice[key] return PLUGIN_HANDLED } public ban_eredmeny(){ new Name1[32] get_user_name(banolo_id, Name1, charsmax(Name1)); new Name[32]; get_user_name(banid, Name, charsmax(Name)); new players[32], pnum; get_players(players, pnum); if(((choice[0]+choice[1])*100/pnum) < 85) print_color(0, "%s !yBannolás sikertelen kevés szavazat miatt.", Prefix) if ((choice[0]*100/pnum) >= 75) { new authid[32] new userid = get_user_userid(banid) new userid_banolo = get_user_userid(banolo_id) get_user_authid(banid, authid, 31) print_color(0,"%s !ySzavazás sikeres, !t%s !ybannolva !t15 !ypercre.", Prefix, Name) if (!equal("STEAM_0:", authid, 8)) server_cmd("amx_banip #%i ^"15.0^" ^"VIP altal Bannolva^"",userid); //log_amx("VIP IP BAN: %s kitiltotta 15 percre %s -t", Name1, Name); else server_cmd("amx_ban #%i ^"15.0^" ^"VIP altal Bannolva^"",userid); //log_amx("VIP BAN: %s kitiltotta 15 percre %s -t", Name1, Name); log_amx("VIP BAN: %s [%i] kitiltotta 15 percre %s [%i] -t", Name1, userid_banolo, Name, userid); banvolt[vipid]=bantime if(is_user_connected(vipid)) set_task(60.0, "ban_volt", vipid+333 ); } else { banvolt[vipid]=pausetime if(task_exists(vipid+333)) remove_task(vipid+333) if(is_user_connected(vipid)) set_task(60.0, "ban_volt", vipid+333 ); print_color(0,"%s !ySzavazás sikertelen, !t%s!y nem lesz bannolva.", Prefix,Name) } ban=false; return PLUGIN_CONTINUE } public kick_volt(id) { if(kickvolt[id-444]+1>0) { kickvolt[id-444]-- if(task_exists(id)) remove_task(id) set_task(60.0, "kick_volt", id); } } public ban_volt(id) { if(banvolt[id-333]+1>0) { banvolt[id-333]-- if(task_exists(id)) remove_task(id) set_task(60.0, "ban_volt", id); } } public vipek(user) { new names[32] new message[256] new id, count, x, len for(id = 1 ; id <= maxplayers ; id++) if(is_user_connected(id)) if((get_user_flags(id) & JOG) && !(get_user_flags(id) & ADMIN_KICK)) get_user_name(id, names[count++], 31) len = format(message, 255, "^x04[AK26]^x01 Online VIP tagok:^x03 ") if(count > 0) { for(x = 0 ; x < count ; x++) { len += format(message[len], 255-len, "%s%s ", names[x], x < (count-1) ? "^x01,^x04 ":"") if(len > 96 ) { print_message(user, message) len = format(message, 255, "^x04 ") } } print_message(user, message) } else { len += format(message[len], 255-len, "Nincs jelen vip.") print_message(user, message) } } print_message(id, msg[]) { message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id) write_byte(id) write_string(msg) message_end() } stock print_color(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } } return PLUGIN_HANDLED }
_________________ [steam]steamcommunity.com/id/XaHuReW-NEW/[/steam]
|
|