Witam.
Problem polega w tym, że pokazuje złą rangę. np. "By zdobyc range Silver elite musisz miec 75 fragow oraz 0.69 k/d ratio". Ja mam 52 kille i posiadam już tą rangę... Może ktoś pomóc aby dawało rangę, która ma być? Wynagradzam dużo +
SMA pluginu
Spoiler
EDIT
Zauważyłem, że winą tego jest kd ratio. Gdy kd ratio jest wyższe niż przewidywane dla danej rangi to ranga się podnosi o 1. Mógł by mi ktoś plugin edytować tak, że ranga się nie podnosi gdy ma się duże kd ratio? Edytować je lub po prostu usunąć.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <csx>
#include <ColorChat>
#define TASK 666
#define PLUGIN "RangiCSGO"
#define VERSION "1.3"
#define AUTHOR "klqs"
new ranga[33];
new cvar
new sync;
new const limit = 18;
new const limit_min = 1
new const rangi[][] = {
{0, "Unranked"},
{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"},
{7000, "THE GLOBAL ELITE"}
}
new Float:liczby[] = {0.0, 0.35, 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}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_message(get_user_msgid("SayText"), "MessageText");
register_clcmd("say /rangi", "menu")
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, "[Nick: %s]^n[Ranga: %s]^n[Zabojstwa: %d]^n[K/d ratio %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, "[Nick: %s]^n[Ranga: %s]^n[Zabojstwa: %d]^n[K/d ratio %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, "[Nick: %s]^n[Ranga: %s]^n[Zabojstwa: %d]^n[K/d ratio %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, "[Nick: %s]^n[Ranga: %s]^n[Zabojstwa: %d]^n[K/d ratio %0.2f%]", name , rangi[ranga[id]][1], stats[0], kdratio[id])
}
}
}
public menu(id){
new infomenu[61]
new MyMenu = menu_create("\w |> \yRangi CS:GO \w<|", "fMyMenu");
for(new i; i < sizeof(rangi); i++)
{
format(infomenu, 60, "%s", rangi[i][1], rangi[i][0])
menu_additem(MyMenu, infomenu);
}
menu_setprop(MyMenu, MPROP_EXITNAME, "Wyjscie");
menu_setprop(MyMenu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(MyMenu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, MyMenu);
}
public fMyMenu(id, menu, item)
{
ColorChat(id, GREEN, "By zdobyc range %s musisz miec %d fragow oraz %0.2f k/d ratio", rangi[item][1], rangi[item][0], liczby[item])
menu_display(id, menu);
}
public MessageText(msg_id, msg_dest, msg_ent)
{
new id = get_msg_arg_int(1);
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
new tmp[256], tmp2[256];
get_msg_arg_string(2, tmp, charsmax(tmp));
if(containi(tmp, "name") != -1)
return PLUGIN_HANDLED;
else
{
new prefix[65];
formatex(prefix, charsmax(prefix), "^x04[%s]", rangi[ranga[id]][1]);
if(!equal(tmp, "#Cstrike_Chat_All"))
{
add(tmp2, charsmax(tmp2), prefix);
add(tmp2, charsmax(tmp2), " ");
add(tmp2, charsmax(tmp2), tmp);
}
else
{
add(tmp2, charsmax(tmp2), prefix);
add(tmp2, charsmax(tmp2), "^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2, tmp2);
}
return PLUGIN_CONTINUE;
}
EDIT
Zauważyłem, że winą tego jest kd ratio. Gdy kd ratio jest wyższe niż przewidywane dla danej rangi to ranga się podnosi o 1. Mógł by mi ktoś plugin edytować tak, że ranga się nie podnosi gdy ma się duże kd ratio? Edytować je lub po prostu usunąć.
Użytkownik Obelix edytował ten post 10.06.2017 14:19