AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Rank-lvl (https://forums.alliedmods.net/showthread.php?t=209839)

no n@me 03-02-2013 14:05

Rank-lvl
 
I need help to fix a mistake


PHP Code:

L 03/02/2013 19:48:49: [AMXXRun time error 10native 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_VojCIN_RazCIN_DesCIN_MlaVCIN_Vod,
                
CIN_StaVCIN_StaVICIN_ZasCIN_ZasIK,
                
CIN_PotporCIN_PorCIN_VIPCIN_KapCIN_Maj,
                
CIN_PotpukovnikCIN_PukovnikCIN_BrigG,
                
CIN_GenMCIN_GenPCIN_GenCIN_MarCIN_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(2szChannelcharsmax(szChannel));
        if( 
equal(szChannel"#Cstrike_Chat_All") ) 
        { 
                if(!
is_user_alive(id))
                {
                    
formatex(szChannelcharsmax(szChannel), "^1*DEAD*^4[%s]^3%%s1 ^1:  %%s2",Cinovi[(CinIgraca[id])],CinIgraca[id]); 
                    
set_msg_arg_string(2szChannel); 
                }
                else
                {
                    
formatex(szChannelcharsmax(szChannel), "^4[%s]^3%%s1 ^1:  %%s2",Cinovi[(CinIgraca[id])],CinIgraca[id]); 
                    
set_msg_arg_string(2szChannel); 
                }
        }
    } 
}
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..4CinIgraca[id] = CIN_Voj
         
case 5..10CinIgraca[id] = CIN_Raz
         
case 11..16CinIgraca[id] = CIN_Des
         
case 17..22CinIgraca[id] = CIN_MlaV
         
case 23..28CinIgraca[id] = CIN_Vod
         
case 29..34CinIgraca[id] = CIN_StaV
         
case 35..40CinIgraca[id] = CIN_StaVI
         
case 41..46CinIgraca[id] = CIN_Zas
         
case 47..52CinIgraca[id] = CIN_ZasIK
         
case 53..65CinIgraca[id] = CIN_Potpor
         
case 66..76CinIgraca[id] = CIN_Por
         
case 77..97CinIgraca[id] = CIN_VIP
         
case 98..108CinIgraca[id] = CIN_Kap
         
case 109..209CinIgraca[id] = CIN_Maj
         
case 210..310CinIgraca[id] = CIN_Potpukovnik
         
case 311..411CinIgraca[id] = CIN_Pukovnik
         
case 412..512CinIgraca[id] = CIN_BrigG
         
case 513..613CinIgraca[id] = CIN_GenM
         
case 714..814CinIgraca[id] = CIN_GenP
          
case 815..915CinIgraca[id] = CIN_Gen
          
case 916..1000CinIgraca[id] = CIN_Mar
         
default: CinIgraca[id] = CIN_Admin
    
}
    
    if(!
is_user_alive(id))   
    {   
        new 
target entity_get_int(idEV_INT_iuser2);  //error
        
if(target == 0)   
            return;   

        
set_hudmessage(25521242, -1.00.000.00.30.00.0);   
        
ShowSyncHudMsg(idSyncHudObj"Iskustvo : %i / %i ^nSkill: %i^nRank: %s"iskustvo_igraca[target],izracunajxp(nivo_igraca[target]), nivo_igraca[target], Cinovi[CinIgraca[target]]);   
    }   
    else   
    {   
        
set_hudmessage(0200250, -1.00.000.00.30.00.0);   
        
ShowSyncHudMsg(idSyncHudObj"[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(idlevelRank[id]) 
        } 
        if(
nivo_igraca[id] > maxlvl)
        {
            
nivo_igraca[id] = maxlvl
        
}
    } 
    
SacuvajLevele(id); 


public 
SacuvajLevele(id)   
{   
    new 
AuthID[35];   
    
get_user_authid(idAuthID34);   
    
    new 
vaultkey[64], vaultdata[256];   
    
    
format(vaultkey63"%s-lvl"AuthID);   
    
format(vaultdata255"%i#%i#"iskustvo_igraca[id], nivo_igraca[id]);   
    
    
nvault_set(g_vaultvaultkeyvaultdata);   
    
    return 
PLUGIN_CONTINUE;   
}   
public 
ShowStats(id)
{
    
  
    
ColorChat(0TEAM_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(idAuthID34);   
    
    new 
vaultkey[64], vaultdata[256];   
    
    
format(vaultkey63"%s-lvl"AuthID);   
    
format(vaultdata255"%i#%i#"iskustvo_igraca[id], nivo_igraca[id] );   
    
    
nvault_get(g_vaultvaultkeyvaultdata255);   
    
    
replace_all(vaultdata255"#"" ");   
    
    new 
iskustvoigraca[32], leveligraca[32
    
    
parse(vaultdataiskustvoigraca31leveligraca31);   
    
    
iskustvo_igraca[id] = str_to_num(iskustvoigraca);   
    
nivo_igraca[id] = str_to_num(leveligraca);   
    return 
PLUGIN_CONTINUE;   
}
public 
levelTop15(id)
{
    new 
icount
    
static sort[33][2], maxPlayers
    
    
if(!maxPlayersmaxPlayers 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 formatbuffer2047"<body bgcolor=#000000 style=^"color:#ffffff^"><pre><Center><table width=100%% cellpadding=1 cellspacing=1 border=0>")         
    
len += formatbuffer[len], 2047-len"<tr style=^"color:#8FABFF^"><th width=5%%>#<th width=60%%>Nick<th width=35%%>Level")  
    
    
new players[32], num
    get_players
(playersnum)
    
    new 
fr clamp(count,0,15)
    
    new 
name[42], player
    
    
for(new 0fra++)
    {
        
player sort[a][0]
        
        
get_user_name(playername41)    
        
        while (
containi(name"<") != -1)
            
replace(name63"<""&lt;")
        while (
containi(name">") != -1)
            
replace(name63">""&gt;")
        
        
format(line255"<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"namesort[a][1])   
        
len += formatbuffer[len], 2047-lenline )
    }
    
    
format(line255"</table><font color=^"red^">(Statistika trenutno pristutnih igraca)</body></pre>" )
    
len += formatbuffer[len], 2047-lenline )
    
show_motd(idbuffer"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 
levelUcitajRankid 
{
    new 
valut nvault_open("Level_rank")
    
    new 
authid[33]
    new 
vaultkey[64], vaultdata[64]
    
    
get_user_authid(idauthid32)
    
    
format(vaultkey63"_LEVEL_RANK_%s_BODOVI_"authid)
    
    
nvault_get(valutvaultkeyvaultdata63)
    
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(idauthid31)
    
get_user_name(idname32)
    
    
format(vaultkey63"_LEVEL_RANK_%s_BODOVI_"authid)
    
format(vaultdata63"%d_NICK_^"%s^"^n"Bodoviname)
    
    
nvault_set(valutvaultkeyvaultdata)
}
public 
levelPrikaziRank(id
{
    
ColorChat(idTEAM_COLOR,"^4[Rank-lvl] ^1Tvoj level je ^4%d"levelRank[id])


PHP Code:

new target entity_get_int(idEV_INT_iuser2);  //error 


no n@me 03-27-2013 04:37

Re: Rank-lvl
 
BUMP

Leon M. 03-27-2013 12:45

Re: Rank-lvl
 
It is always good to write everything in english. A broken english is much better as a foreign language. That's why nobody can or won't help you. Your code is just unreadable for us.

It seems that you mix players id with task id, also change client_connect to client_authorized or client_putinserver. That's only I can assume, since I don't have any idea about your plugin :)


All times are GMT -4. The time now is 21:43.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.