Witam Posiadam rangi klpsq i one nie raz dzialaja poprawnie a nie raz rangi same sie zmieniaja ;x Naprawi to ktoś .
Sma :
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <csx>
#define TASK 666
#define PLUGIN "RangiCSGO"
#define VERSION "1.3"
#define AUTHOR "`Burdavsky"
new ranga[33];
new cvar
new sync;
new const limit = 18;
new const limit_min = 1
new const rangi[][] = {
{5, "Silver I"},
{15, "Silver II"},
{30, "Silver III"},
{50, "Silver IV"},
{75, "Silver elite"},
{100, "Silver elite master"},
{150, "Gold nova I"},
{200, "Gold nova II"},
{300, "Gold nova III"},
{500, "Gold nova master"},
{750, "Master guardian I"},
{1000, "Master guardian II"},
{1500, "Master guardian elite"},
{2000, "Distinguished master guardian"},
{2500, "Legendary eagle"},
{3000, "Legendary eagle master"},
{5000, "Supreme master first class"},
{999999, "THE GLOBAL ELITE"}
}
new Float:liczby[] = {0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 2000.0}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /rangi", "motd")
register_message(get_user_msgid("SayText"), "Prefix");
sync = CreateHudSyncObj()
register_cvar("rangi_kolor", "0")
}
public client_connect(id)
{
new param[1]
param[0] = id
set_task(1.0,"rank",TASK+id,param,1, "b")
}
public client_disconnect(id)
{
if(task_exists(TASK+id))
remove_task(TASK+id)
}
public rank(param[])
{
new id = param[0]
new stats[8]
new body[8]
get_user_stats(id, stats, body)
if(!is_user_alive(id))
{
id = pev(id, pev_iuser2);
if(!id)
id = param[0]
}
new Float:kdratio[33]
kdratio[id] = float(stats[0]) / float(stats[1])
if(kdratio[id] >= liczby[ranga[id]] && stats[0] >= rangi[ranga[id]][0] && ranga[id] < limit)
ranga[id]++
if(kdratio[id] < liczby[ranga[id]] && ranga[id] > limit_min)
ranga[id]--
new name[33]
get_user_name(id,name,32)
cvar = get_cvar_num("rangi_kolor")
switch(cvar)
{
case 0:
{
set_hudmessage(255, 255, 255, 0.01, 0.22)
ShowSyncHudMsg(id, sync, "[CSGO]^n[Nick: %s]^n[Ranga: %s]^n[Zabojstwa: %d]^n[Stosunek: %0.2f%]", name , rangi[ranga[id]][1], stats[0], kdratio[id])
}
case 1:
{
set_hudmessage(255, 0, 0, 0.01, 0.22)
ShowSyncHudMsg(id, sync, "[CSGO]^n[Nick: %s]^n[Ranga: %s]^n[Zabojstwa: %d]^n[Stosunek: %0.2f%]", name , rangi[ranga[id]][1], stats[0], kdratio[id])
}
case 2:
{
set_hudmessage(0, 255, 0, 0.01, 0.22)
ShowSyncHudMsg(id, sync, "[CSGO]^n[Nick: %s]^n[Ranga: %s]^n[Zabojstwa: %d]^n[Stosunek: %0.2f%]", name , rangi[ranga[id]][1], stats[0], kdratio[id])
}
case 3:
{
set_hudmessage(0, 0, 255, 0.01, 0.22)
ShowSyncHudMsg(id, sync, "[CSGO]^n[Nick: %s]^n[Ranga: %s]^n[Zabojstwa: %d]^n[Stosunek: %0.2f%]", name , rangi[ranga[id]][1], stats[0], kdratio[id])
}
}
return PLUGIN_CONTINUE;
}
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];
formatex(szPrefix,charsmax( szPrefix ),"^x04[^x04%s^x04]^x03", rangi[ranga[id]][1]);
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;
}
public motd(id)
if(is_user_connected(id))
show_motd(id, "rangi.txt", "Rangi na serwerze");
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


Dodatki SourceMod












