Rank-lvl
I need help to fix a mistake
PHP Code:
L 03/02/2013 - 19:48:49: [AMXX] Run time error 10: native error (native "entity_get_int")L 03/02/2013 - 19:48:49: [AMXX] [0] :: Ranks3.sma PokaziInfo (line 207)
PHP Code:
#include <amxmodx> #include <amxmisc> #include <colorchat> #include <hamsandwich> #include <fun> #include <cstrike> #include <engine> #include <nvault>
enum _:MAXCINOVI { CIN_Voj, CIN_Raz, CIN_Des, CIN_MlaV, CIN_Vod, CIN_StaV, CIN_StaVI, CIN_Zas, CIN_ZasIK, CIN_Potpor, CIN_Por, CIN_VIP, CIN_Kap, CIN_Maj, CIN_Potpukovnik, CIN_Pukovnik, CIN_BrigG, CIN_GenM, CIN_GenP, CIN_Gen, CIN_Mar, CIN_Admin}
new CinIgraca[33]
new const Cinovi[][]= { "Vojnik",//0 "Razvodnik",//1 "Desetar",//2 "Mladji Vodnik",//3 "Vodnik",//4 "Stariji Vodnik",//5 "Stariji Vodnik I Klase",//6 "Zastavnik",//7 "Zastavnik I Klase",//8 "Potporucnik",//9 "Porucnik",//10 "VIP",//11 "Kapetan",//12 "Major",//13 "Potpukovnik",//14 "Pukovnik",//15 "Brigadni General",//16 "General-Major",//17 "General-Potpukovnik",//18 "General",//19 "Marsal",//20 "Vrhovni Komandant"//21 }
new g_vault;
new SyncHudObj;
new iskustvo_igraca[33] new nivo_igraca[33] = 1;
new maxlvl new kill_iskustvo;
new levelRank[33];
public plugin_init() { register_plugin("Level Mod", "1.0", "AMD"); register_event("DeathMsg", "Death", "ade"); g_vault = nvault_open("xpmod"); SyncHudObj = CreateHudSyncObj(); register_clcmd("say /skill", "ShowStats")
register_clcmd("say /skill15", "levelTop15")
register_message(get_user_msgid("SayText"),"Message_SayText"); kill_iskustvo = register_cvar("amx_killxp", "1"); maxlvl = register_cvar("amx_maxlevel","100000") }
public Message_SayText(msgId,msgDest,msgEnt) { new id = get_msg_arg_int(1); if( is_user_connected(id) ) { new szChannel[64]; get_msg_arg_string(2, szChannel, charsmax(szChannel)); if( equal(szChannel, "#Cstrike_Chat_All") ) { if(!is_user_alive(id)) { formatex(szChannel, charsmax(szChannel), "^1*DEAD*^4[%s]^3%%s1 ^1: %%s2",Cinovi[(CinIgraca[id])],CinIgraca[id]); set_msg_arg_string(2, szChannel); } else { formatex(szChannel, charsmax(szChannel), "^4[%s]^3%%s1 ^1: %%s2",Cinovi[(CinIgraca[id])],CinIgraca[id]); set_msg_arg_string(2, szChannel); } } } } public client_connect(id) { PonistiInfo(id); UcitajLevele(id); set_task(3.0, "PokaziInfo", id+672); }
public client_disconnect(id) { SacuvajLevele(id); levelRank[id] = levelUcitajRank(id) PonistiInfo(id); remove_task(id+672); } public PonistiInfo(id) { nivo_igraca[id] = 0; iskustvo_igraca[id] = 0; }
public izracunajxp(level) return level*3*10;
public PokaziInfo(id) { id -= 672; set_task(0.1, "PokaziInfo", id+672); switch(nivo_igraca[id]) { case 0..4: CinIgraca[id] = CIN_Voj case 5..10: CinIgraca[id] = CIN_Raz case 11..16: CinIgraca[id] = CIN_Des case 17..22: CinIgraca[id] = CIN_MlaV case 23..28: CinIgraca[id] = CIN_Vod case 29..34: CinIgraca[id] = CIN_StaV case 35..40: CinIgraca[id] = CIN_StaVI case 41..46: CinIgraca[id] = CIN_Zas case 47..52: CinIgraca[id] = CIN_ZasIK case 53..65: CinIgraca[id] = CIN_Potpor case 66..76: CinIgraca[id] = CIN_Por case 77..97: CinIgraca[id] = CIN_VIP case 98..108: CinIgraca[id] = CIN_Kap case 109..209: CinIgraca[id] = CIN_Maj case 210..310: CinIgraca[id] = CIN_Potpukovnik case 311..411: CinIgraca[id] = CIN_Pukovnik case 412..512: CinIgraca[id] = CIN_BrigG case 513..613: CinIgraca[id] = CIN_GenM case 714..814: CinIgraca[id] = CIN_GenP case 815..915: CinIgraca[id] = CIN_Gen case 916..1000: CinIgraca[id] = CIN_Mar default: CinIgraca[id] = CIN_Admin } if(!is_user_alive(id)) { new target = entity_get_int(id, EV_INT_iuser2); //error if(target == 0) return;
set_hudmessage(255, 212, 42, -1.0, 0.0, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "Iskustvo : %i / %i ^nSkill: %i^nRank: %s", iskustvo_igraca[target],izracunajxp(nivo_igraca[target]), nivo_igraca[target], Cinovi[CinIgraca[target]]); } else { set_hudmessage(0, 200, 250, -1.0, 0.0, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "[Iskustvo : %i / %i]^n[Skill: %i]^n[Rank: %s]", iskustvo_igraca[id],izracunajxp(nivo_igraca[id]), nivo_igraca[id], Cinovi[CinIgraca[id]]); } }
public Death() { new id = read_data(2); new napadac = read_data(1); if(napadac != id && is_user_connected(napadac)) { new novo_iskustvo = get_pcvar_num(kill_iskustvo); iskustvo_igraca[napadac] += novo_iskustvo ProveriNivo(napadac); } }
public ProveriNivo(id) { if(nivo_igraca[id] < maxlvl) { while(iskustvo_igraca[id] >= izracunajxp(nivo_igraca[id])) { nivo_igraca[id]++; levelRank[id] = nivo_igraca[id] levelSacuvajRank(id, levelRank[id]) } if(nivo_igraca[id] > maxlvl) { nivo_igraca[id] = maxlvl } } SacuvajLevele(id); }
public SacuvajLevele(id) { new AuthID[35]; get_user_authid(id, AuthID, 34); new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-lvl", AuthID); format(vaultdata, 255, "%i#%i#", iskustvo_igraca[id], nivo_igraca[id]); nvault_set(g_vault, vaultkey, vaultdata); return PLUGIN_CONTINUE; } public ShowStats(id) { ColorChat(0, TEAM_COLOR, "^4[Rank-lvl]^1Tvoji ^3Skill ^1je:^3 %d ^1;Tvoje ^3Iskustvo ^1je :^3 %d", nivo_igraca[id], iskustvo_igraca[id])
} public UcitajLevele(id) { new AuthID[35]; get_user_authid(id, AuthID, 34); new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-lvl", AuthID); format(vaultdata, 255, "%i#%i#", iskustvo_igraca[id], nivo_igraca[id] ); nvault_get(g_vault, vaultkey, vaultdata, 255); replace_all(vaultdata, 255, "#", " "); new iskustvoigraca[32], leveligraca[32] parse(vaultdata, iskustvoigraca, 31, leveligraca, 31); iskustvo_igraca[id] = str_to_num(iskustvoigraca); nivo_igraca[id] = str_to_num(leveligraca); return PLUGIN_CONTINUE; } public levelTop15(id) { new i, count static sort[33][2], maxPlayers if(!maxPlayers) maxPlayers = get_maxplayers() for(i=1;i<=maxPlayers;i++) { sort[count][0] = i sort[count][1] = levelRank[i] count++ } SortCustom2D(sort,count,"levelStats") new buffer[2048] new line[256] new len = format( buffer, 2047, "<body bgcolor=#000000 style=^"color:#ffffff^"><pre><Center><table width=100%% cellpadding=1 cellspacing=1 border=0>") len += format( buffer[len], 2047-len, "<tr style=^"color:#8FABFF^"><th width=5%%>#<th width=60%%>Nick<th width=35%%>Level") new players[32], num get_players(players, num) new fr = clamp(count,0,15) new name[42], player for(new a = 0; a < fr; a++) { player = sort[a][0] get_user_name(player, name, 41) while (containi(name, "<") != -1) replace(name, 63, "<", "<") while (containi(name, ">") != -1) replace(name, 63, ">", ">") format(line, 255, "<tr %s><td>%d<td style=^"color:%s^">%s<td>%d", ((a%2)==0) ? " bgcolor=#333333" : " bgcolor=#262626", a+1,((a%2)==0) ? "#9CFF7A" : "red", name, sort[a][1]) len += format( buffer[len], 2047-len, line ) } format(line, 255, "</table><font color=^"red^">(Statistika trenutno pristutnih igraca)</body></pre>" ) len += format( buffer[len], 2047-len, line ) show_motd(id, buffer, "Level - Top 15") return PLUGIN_CONTINUE }
public levelStats(elem1[],elem2[]) { if(elem1[1] > elem2[1]) return -1 else if(elem1[1] < elem2[1]) return 1 return PLUGIN_CONTINUE } public levelUcitajRank( id ) { new valut = nvault_open("Level_rank") new authid[33] new vaultkey[64], vaultdata[64] get_user_authid(id, authid, 32) format(vaultkey, 63, "_LEVEL_RANK_%s_BODOVI_", authid) nvault_get(valut, vaultkey, vaultdata, 63) nvault_close(valut) return str_to_num(vaultdata) }
public levelSacuvajRank(id,Bodovi) { new valut = nvault_open("Level_rank") if(valut == INVALID_HANDLE) set_fail_state("Greska nValut Level_rank (invalid handle)") new name[33], authid[32] new vaultkey[64], vaultdata[64] get_user_authid(id, authid, 31) get_user_name(id, name, 32) format(vaultkey, 63, "_LEVEL_RANK_%s_BODOVI_", authid) format(vaultdata, 63, "%d_NICK_^"%s^"^n", Bodovi, name) nvault_set(valut, vaultkey, vaultdata) } public levelPrikaziRank(id) { ColorChat(id, TEAM_COLOR,"^4[Rank-lvl] ^1Tvoj level je ^4%d", levelRank[id]) }
PHP Code:
new target = entity_get_int(id, EV_INT_iuser2); //error
|