kiki írta: Menni fog az  - Első lépés: Ezt a sort töröld: #include <colorchat>
- Második lépés: Rakd a kód aljába ezt:
[ablak]SMA Forráskód: [ Mindet kijelol ]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") replace_all(msg, 190, "á", "á") replace_all(msg, 190, "é", "Ă©") replace_all(msg, 190, "í", "Ă") replace_all(msg, 190, "ó", "Ăł") replace_all(msg, 190, "ö", "ö") replace_all(msg, 190, "ő", "Ĺ‘") replace_all(msg, 190, "ú", "Ăş") replace_all(msg, 190, "ü", "ĂĽ") replace_all(msg, 190, "ű", "ű") replace_all(msg, 190, "Á", "Ă") replace_all(msg, 190, "É", "É") replace_all(msg, 190, "Í", "ĂŤ") replace_all(msg, 190, "Ó", "Ă“") replace_all(msg, 190, "Ö", "Ă–") replace_all(msg, 190, "Ő", "Ĺ") replace_all(msg, 190, "Ú", "Ăš") replace_all(msg, 190, "Ü", "Ăś") replace_all(msg, 190, "Ű", "Ű") 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 }[/ablak]
- Harmadik lépés: Keresd ki a chat üzenetet amit színesíteni akarsz. (Konzol üzenetet ne, csak chat üzenetet)
Példa:
Kód: format(msg, 255, "* [AMX_RM] %s set 'cl_updaterate' to '%i' (max '%i') - blocked by plugin !", playername, tmpupdr, maxupdr) client_print(0, print_chat, msg)
Majd alakítsd át ahogy akarod. a format string mezőjében használd a !y !g !t színeket. Pl.:
Kód: format(msg, 255, "* !g[AMX_RM] %s !tset 'cl_updaterate' to '%i' (max '%i') - blocked by plugin !", playername, tmpupdr, maxupdr)
Majd a client printet írd át:
Kód: print_color(0, msg)
Ez nem volt semmi  #include <amxmod> new origupdr[33], origrate[33], excl[33] #define MAX_IP 32 new ignip[MAX_IP][32], ippos=0 #define MAX_steamID 128 new ignsteamid[MAX_steamID][32], steamidpos=0 public check_rr() { new maxupdr=get_cvar_num("rm_maxupdr") new minupdr=get_cvar_num("rm_minupdr") new maxrate=get_cvar_num("rm_maxrate") new minrate=get_cvar_num("rm_minrate") new announce=get_cvar_num("rm_announce") new players[32], np, i, playername[32] new clupdr[8], clrt[16], msg[256] new tmpupdr, tmprate, cmdexe[32] get_players(players, np, "ac") for(i=0; i<np; i++) if ((players[i]!=0)&&(!is_user_hltv(players[i]))) { get_user_ping(players[i], tmpupdr, tmprate) if ((tmpupdr>get_cvar_num("rm_localping"))&&(excl[players[i]]==0)) { get_user_info(players[i], "cl_updaterate", clupdr, 7) get_user_info(players[i], "rate", clrt, 15) tmpupdr=str_to_num(clupdr) tmprate=str_to_num(clrt) if (announce) get_user_name(players[i],playername,31) if (tmpupdr>maxupdr) { origupdr[players[i]]=maxupdr format(cmdexe, 31, "cl_updaterate %i", maxupdr) client_cmd(players[i], cmdexe) if (announce) { format(msg, 255, "!y[AMX_RM] !g%s !ybeállítva '!tcl_updaterate!y' a '!g%i!y' (!gmax '%i!y') - !g[!tNe[!yX!t]oR!g] !tBlokk !", playername, tmpupdr, maxupdr) print_color(0, msg) } } if (tmpupdr<minupdr) { origupdr[players[i]]=minupdr format(cmdexe, 31, "cl_updaterate %i", minupdr) client_cmd(players[i], cmdexe) if (announce) { format(msg, 255, "!y[AMX_RM] !g%s !ybeállítva '!tcl_updaterate!y' a '!g%i!y' (!gmin '%i!y') - !g[!tNe[!yX!t]oR!g] !tBlokk !", playername, tmpupdr, minupdr) print_color(0, msg) } } if (tmprate>maxrate) { origrate[players[i]]=maxrate format(cmdexe, 31, "rate %i", maxrate) client_cmd(players[i], cmdexe) format(cmdexe, 31, "cl_rate %i", maxrate) client_cmd(players[i], cmdexe) if (announce) { format(msg, 255, "!y[AMX_RM] !g%s !ybeállítva '!trate!y' a '!g%i!y' (!gmax '%i!y') - !g[!tNe[!yX!t]oR!g] !tBlokk !", playername, tmprate, maxrate) print_color(0, msg) } } if (tmprate<minrate) { origrate[players[i]]=minrate format(cmdexe, 31, "rate %i", minrate) client_cmd(players[i], cmdexe) format(cmdexe, 31, "cl_rate %i", minrate) client_cmd(players[i], cmdexe) if (announce) { format(msg, 255, "!y[AMX_RM] !g%s !ybeállítva '!trate!y' a '!g%i!y' (!gmin '%i!y') - !g[!tNe[!yX!t]oR!g] !tBlokk !", playername, tmprate, minrate) print_color(0, msg) } } } } new Float:freq=get_cvar_float("rm_delay") if (freq > 0.0) set_task(freq, "check_rr") return PLUGIN_CONTINUE } public alive_again(id) { if ((is_user_bot(id))||(is_user_hltv(id))) return PLUGIN_CONTINUE if (excl[id]==1) return PLUGIN_CONTINUE new Float:ratio=get_cvar_float("rm_deadratio") if (ratio==1.0) return PLUGIN_CONTINUE new ping, loss get_user_ping(id, ping, loss) if (ping>get_cvar_num("rm_localping")) { new cmdexe[32] format(cmdexe, 31, "cl_updaterate %i", origupdr[id]) client_cmd(id, cmdexe) format(cmdexe, 31, "rate %i", origrate[id]) client_cmd(id, cmdexe) format(cmdexe, 31, "cl_rate %i", origrate[id]) client_cmd(id, cmdexe) if (get_cvar_num("rm_announce")) { new msg[256] format(msg, 255, "!y[AMX_RM] !gAz internet beállításaid : '!ycl_updaterate!g' = '!t%i!g', '!yrate!g' = '!t%i!g'", origupdr[id], origrate[id]) print_color(0, msg) } } return PLUGIN_CONTINUE } public dead_now() { new victim=read_data(2) if ((is_user_bot(victim))||(is_user_hltv(victim))) return PLUGIN_CONTINUE if (excl[victim]==1) return PLUGIN_CONTINUE new Float:ratio=get_cvar_float("rm_deadratio") if (ratio==1.0) return PLUGIN_CONTINUE new tmpupdr, tmprate get_user_ping(victim, tmpupdr, tmprate) if (tmpupdr>get_cvar_num("rm_localping")) { new cmdexe[32] tmpupdr=floatround(float(origupdr[victim])*ratio) tmprate=floatround(float(origrate[victim])*ratio) format(cmdexe, 31, "cl_updaterate %i", tmpupdr) client_cmd(victim, cmdexe) format(cmdexe, 31, "rate %i", tmprate) client_cmd(victim, cmdexe) format(cmdexe, 31, "cl_rate %i", tmprate) client_cmd(victim, cmdexe) if (get_cvar_num("rm_announce")) { new msg[256] format(msg, 255, " !y[AMX_RM] !gYAz internet beallitasaid valtoztak : '!ycl_updaterate!g' = '!t%i!g', '!yrate!g' = '!t%i!g'", tmpupdr, tmprate) print_color(0, msg) } } return PLUGIN_CONTINUE } public ignore_ip(id) { new argc=read_argc() if (argc<2) { console_print(id, "Hasznalat: rm_ignoreip <IP> [IP] [IP] [IP] ...") return PLUGIN_CONTINUE } for(new i=1; i<argc; i++) if (ippos<MAX_IP) { read_argv(i, ignip[ippos], 31) ippos++ } else { console_print(id, "* [AMX_RM] Tul sok IP cimet adott hozza a ignore IP lista") return PLUGIN_CONTINUE } return PLUGIN_CONTINUE } public ignore_steamid(id) { new argc=read_argc() if (argc<2) { console_print(id, "Hasznalat: rm_ignoresteamid <steamID> [steamID] [steamID] [steamID] ...") return PLUGIN_CONTINUE } new tmp[32] for(new i=1; i<argc; i++) if (steamidpos<MAX_steamID) { read_argv(i, tmp, 31) copy(ignsteamid[steamidpos], 31, tmp) steamidpos++ } else { console_print(id, "* [AMX_RM] Tul sok STEAMID-t adott hozza a ignore IP lista") return PLUGIN_CONTINUE } return PLUGIN_CONTINUE } public client_connect(id) { if ((is_user_bot(id))||(is_user_hltv(id))) return PLUGIN_CONTINUE new clupdr[8], clrt[16] get_user_info(id, "cl_updaterate", clupdr, 7) get_user_info(id, "rate", clrt, 15) origupdr[id]=str_to_num(clupdr) origrate[id]=str_to_num(clrt) excl[id]=0 new i if (ippos>0) { new userip[32] get_user_ip(id, userip, 31) copyc(userip, 31, userip, ':') new len for(i=0; i<ippos; i++) { len=containi(ignip[i],".x") if (len>-1) { if (equal(userip, ignip[i], len)) { excl[id]=1 break } } else if (equal(userip, ignip[i])) { excl[id]=1 break } } } if ((steamidpos>0)&&(excl[id]==0)) { new steamid[32] get_user_authid(id, steamid, 31) for(i=0; i<steamidpos; i++) if (equal(steamid,ignsteamid[i])) { excl[id]=1 break } } if (get_cvar_num("rm_hello")==0) return PLUGIN_CONTINUE new plgver[16] get_cvar_string("rate_manager", plgver, 15) client_cmd(id, "echo ======================================================================") client_cmd(id, "echo ^"* AMX Rate Manager v %s by Marach, marach@phreaker.net, ICQ : 242122535 *^"", plgver ) new Float:freq=get_cvar_float("rm_delay") if (freq>0.0) { new maxupdr=get_cvar_num("rm_maxupdr") new minupdr=get_cvar_num("rm_minupdr") new maxrate=get_cvar_num("rm_maxrate") new minrate=get_cvar_num("rm_minrate") client_cmd(id, "echo ^" - megengedett 'cl_updaterate' savszelesseg : '%i' - '%i', van '%i'^"", minupdr, maxupdr, origupdr[id]) client_cmd(id, "echo ^" - megengedett 'rate' savszelesseg : '%i' - '%i', van '%i'^"", minrate, maxrate, origrate[id]) } new Float:ratio=get_cvar_float("rm_deadratio") if (ratio<1.0) client_cmd(id, "echo ^" - Halott jatszo emberek %2.0f%%%% normal internet beallitasok^"", (ratio*100.0)) client_cmd(id, "echo ======================================================================") return PLUGIN_CONTINUE } public client_disconnect(id) { if ((is_user_bot(id))||(is_user_hltv(id))) return PLUGIN_CONTINUE origupdr[id]=get_cvar_num("rm_minupdr") origrate[id]=get_cvar_num("rm_minrate") excl[id]=0 return PLUGIN_CONTINUE } public set_servercvars() { new tmp[16] get_cvar_string("rm_exclmaxupdr", tmp, 15) set_cvar_string("sv_maxupdaterate", tmp) get_cvar_string("rm_exclminupdr", tmp, 15) set_cvar_string("sv_minupdaterate", tmp) get_cvar_string("rm_exclmaxrate", tmp, 15) set_cvar_string("sv_maxrate", tmp) get_cvar_string("rm_exclminrate", tmp, 15) set_cvar_string("sv_minrate", tmp) if (get_cvar_num("rm_announce")) console_print(0, "* [AMX_RM] A savszelessegek beallitva!") return PLUGIN_CONTINUE } public plugin_init() { register_plugin("Rate Manager", "1.2", "Marach") register_cvar("rate_manager", "1.2", FCVAR_SERVER) register_event("ResetHUD", "alive_again", "be","1=1") register_event("DeathMsg","dead_now","a") register_cvar("rm_maxupdr", "36") register_cvar("rm_minupdr", "12") register_cvar("rm_maxrate", "9216") register_cvar("rm_minrate", "3072") register_cvar("rm_exclmaxupdr", "60") register_cvar("rm_exclminupdr", "24") register_cvar("rm_exclmaxrate", "15360") register_cvar("rm_exclminrate", "6144") register_cvar("rm_delay", "20") register_cvar("rm_deadratio", "0.4") register_cvar("rm_localping", "0") register_cvar("rm_announce", "1") register_cvar("rm_hello", "1") register_srvcmd("rm_ignoreip", "ignore_ip") register_srvcmd("rm_ignoresteamid", "ignore_steamid") new Float:freq=get_cvar_float("rm_delay") if (freq>0.0) { set_task(freq, "check_rr") set_task(5.0, "set_servercvars") } return PLUGIN_CONTINUE } 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") replace_all(msg, 190, "á", "á") replace_all(msg, 190, "é", "Ă©") replace_all(msg, 190, "í", "Ă") replace_all(msg, 190, "ó", "Ăł") replace_all(msg, 190, "ö", "ö") replace_all(msg, 190, "ő", "Ĺ‘") replace_all(msg, 190, "ú", "Ăş") replace_all(msg, 190, "ü", "ĂĽ") replace_all(msg, 190, "ű", "ű") replace_all(msg, 190, "Á", "Ă") replace_all(msg, 190, "É", "É") replace_all(msg, 190, "Í", "ĂŤ") replace_all(msg, 190, "Ó", "Ă“") replace_all(msg, 190, "Ö", "Ă–") replace_all(msg, 190, "Ő", "Ĺ") replace_all(msg, 190, "Ú", "Ăš") replace_all(msg, 190, "Ü", "Ăś") replace_all(msg, 190, "Ű", "Ű") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i:2v8l5uyh])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } } return PLUGIN_HANDLED }
Így jó? _________________ Ha elnyerte valamelyik témában a hozzászólásom a tetszésedet melyet olvastál, akkor egy egyszerű gombnyomással kifejezheted, hogy tetszett.
|