Raised This Month: $51 Target: $400
 12% 

ILevei plug-in


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
yagami
Senior Member
Join Date: Jan 2021
Old 11-04-2022 , 10:31   ILevei plug-in
Reply With Quote #1

Can anyone help me to recover this plugin, it is very confusing for me
manually add level

PHP Code:
// Returns player Experience.
native get_user_xp(id)

// Sets player Experience.
native set_user_xp(idamount)

// Returns player Level.
native get_user_level(id)

// Sets player Level.
native set_user_level(idamount)

// Returns player Level by Xp.
native get_user_max_level(id
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <levels>
#include <nvault>
#include <zombieplague>

#define MAXLEVEL 71

new const LEVELS[MAXLEVEL] = { 
90// Needed on level 1
180// Needed on level 2
300// Needed on level 3
450// Needed on level 4
700// Needed on level 5
1200// Needed on level 6
1800// Needed on level 7
2800// Needed on level 8
4100// Needed on level 9
5200// Needed on level 10
6000// Needed on level 11
6800// Needed on level 12
8200// Needed on level 13
10200// Needed on level 14
12000// Needed on level 15
15000// Needed on level 16
17500// Needed on level 17
20500// Needed on level 18
25500// Needed on level 19
29000// Needed on level 20
35000// Needed on level 21
46000// Needed on level 22
58000// Needed on level 23
71000// Needed on level 24
85000// Needed on level 25
100000// Needed on level 26
116000// Needed on level 27
133000// Needed on level 28
151000// Needed on level 29
170000// Needed on level 30
190000// Needed on level 31
211000// Needed on level 32
233000// Needed on level 33
256000// Needed on level 34
280000// Needed on level 35
305000// Needed on level 36
331000// Needed on level 37
358000// Needed on level 38
386000// Needed on level 39
415000// Needed on level 40
445000// Needed on level 41
476000// Needed on level 42
508000// Needed on level 43
541000// Needed on level 44
575000// Needed on level 45
610000// Needed on level 46
646000// Needed on level 47
683000// Needed on level 48
721000// Needed on level 49
760000// Needed on level 50
800000// Needed on level 51
842000// Needed on level 52
886000// Needed on level 53
974000// Needed on level 54
1020000// Needed on level 55
1068000// Needed on level 56
1118000// Needed on level 57
1170000// Needed on level 58
1224000// Needed on level 59
1280000// Needed on level 60
1338000// Needed on level 61
1398000// Needed on level 62
1460000// Needed on level 63
1524000// Needed on level 64
1590000// Needed on level 65
1658000// Needed on level 66
1728000// Needed on level 67
1800000// Needed on level 68
1874000// Needed on level 69
1950000// Needed on level 70
9999999 // Needed on level 71
}; // Needed Xp on each Levels

new PlayerXp[33]
new 
PlayerLevel[33]

new 
g_Vault
new savexpsave_typeescape_xp_humanescape_xp_zombie

public plugin_init()
{
    
register_plugin("Level Sistemi""1.0""DPCS")

    
save_type register_cvar("levels_savetype","0"// Save Xp to : 0 = NVault.
    
savexp register_cvar("levels_save","1"// Save Xp by : 2 = Name, 1 = SteamID, 0 = IP.
    
escape_xp_human register_cvar("escape_xp_amount_human""90"// How much XP given to Humans when escape success?
    
escape_xp_zombie register_cvar("escape_xp_amount_zombie""45"// How much XP given to Humans when escape success?
    
    
register_event("HLTV""elbasi""a""1=0""2=0")
    
register_clcmd("amx_levelmenu""levelmenu")
    
register_clcmd("amx_levelver""level_ver"ADMIN_RCON"<authid, nick or #userid>")
}

public 
elbasi()
{
    new 
players[32],inum,id
    get_players
(players,inum)
    for(new 
i;i<inum;i++)
    {
        
id players[i]
        
        new 
current_ammopacks zp_get_user_ammo_packs(id)
        if(
get_user_level(id) >= 10 && get_user_level(id) <= 19)
        {
            
zp_set_user_ammo_packs(idcurrent_ammopacks 5)
            
renkli_yazi(id,"!g[ZE] !nHesabina !t5CP !neklendi.")
            
renkli_yazi(id,"!g[ZE] !nAdded !t5AP !nto your account.")
        }
        else if(
get_user_level(id) >= 20 && get_user_level(id) <= 29)
        {
            
zp_set_user_ammo_packs(idcurrent_ammopacks 10)
            
renkli_yazi(id,"!g[ZE] !nHesabina !t10CP !neklendi.")
            
renkli_yazi(id,"!g[ZE] !nAdded !t10AP !nto your account.")
        }
        else if(
get_user_level(id) >= 30)
        {
            
zp_set_user_ammo_packs(idcurrent_ammopacks 15)
            
renkli_yazi(id,"!g[ZE] !nHesabina !t15CP !neklendi.")
            
renkli_yazi(id,"!g[ZE] !nAdded !t15AP !nto your account.")
        }
    }
}

// Level sifirlama
public levelmenu(id)
{
    if(
get_user_flags(id) & ADMIN_RCON)
    {
        static 
amenu[512]
        
formatex(amenu,charsmax(amenu),"\yLevel Sifirlama icin oyuncu sec")
        new 
menuz menu_create(amenu,"silmemenu_devam")
        
        new 
players[32], tempidpnum
        
new szName[32], szTempid[10]
        
get_players(playerspnum)
        
        for(new 
ipnumi++)
        {
            
tempid players[i]
            if(
is_user_connected(tempid) && !is_user_bot(tempid))
            {
                
get_user_name(tempidszName31)
                
num_to_str(tempidszTempid9)
                
                
formatex(amenucharsmax(amenu), "\w%s"szName)
                
menu_additem(menuzamenuszTempid)
            }
        }
        
        
menu_setprop(menuz,MPROP_EXIT,MEXIT_ALL)
        
menu_display(id,menuz,0)
    }
    
    return 
PLUGIN_HANDLED
}

public 
silmemenu_devam(id,menu,item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    new 
access,callback,data[6],iname[64]
    
    
menu_item_getinfo(menu,item,access,data,5,iname,63,callback)
    
    new 
tempid str_to_num(data)
    
    
silmeislem(idtempid)
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
}

public 
silmeislem(idplayer) {
    if (!
player)
    return 
PLUGIN_HANDLED
    
    set_user_xp
(player0)
    
set_user_level(player0)
    
SaveLevel(player)
    
    return 
PLUGIN_HANDLED
}

// Level verme
public level_ver(idlevelcid)
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[32], arg2[10], arg3[3]
    
read_argv(1argcharsmax(arg))
    
read_argv(2arg2charsmax(arg2))
    
read_argv(3arg3charsmax(arg3))
    
    if(
arg3[0])
        return 
PLUGIN_HANDLED
    
    
new player cmd_target(idargcharsmax(arg))
    if(!
player)
        return 
PLUGIN_HANDLED
    
    set_user_xp
(playerstr_to_num(arg2))
    
SaveLevel(player)
    
check_level(player)
    
    return 
PLUGIN_HANDLED
}

public 
plugin_cfg()
{
    
//Open our vault and have g_Vault store the handle.
    
g_Vault nvault_open("levels")

    
//Make the plugin error if vault did not successfully open
    
if ( g_Vault == INVALID_HANDLE )
        
set_fail_state"Error opening levels nVault, file does not exist!" )
}

public 
plugin_precache()
{
    
precache_sound("ze_dp/ze_levelup.wav")
}

public 
plugin_natives()
{
    
register_native("get_user_xp""native_get_user_xp"1)
    
register_native("set_user_xp""native_set_user_xp"1)
    
register_native("get_user_level""native_get_user_level"1)
    
register_native("set_user_level""native_set_user_level"1)
    
register_native("get_user_max_level""native_get_user_max_level"1)
}

public 
plugin_end()
{
    
//Close the vault when the plugin ends (map change\server shutdown\restart)
    
nvault_close(g_Vault)
}

public 
client_connect(id)
{
    
LoadLevel(id)
}

public 
client_disconnect(id)
{
    
SaveLevel(id)
    
    
PlayerXp[id] = 0
    PlayerLevel
[id] = 0
}

public 
zp_round_ended()
{
    new 
Alive_Terrorists_Number GetPlayersNum(CsTeams:CS_TEAM_T)
    new 
Alive_CT_Numbers GetPlayersNum(CsTeams:CS_TEAM_CT)
    
    new 
iPlayers[32], iNum
    get_players
(iPlayersiNum"ace""CT")
    
    for (new 
0iNumi++)
    {
        if(
PlayerLevel[iPlayers[i]] < MAXLEVEL-1)
        {
            if((
Alive_CT_Numbers Alive_Terrorists_Number) && (Alive_Terrorists_Number == 0))
            {
                
set_user_xp(iPlayers[i], get_user_xp(iPlayers[i]) + get_pcvar_num(escape_xp_human))
                
SaveLevel(iPlayers[i])
            }
            else if((
Alive_Terrorists_Number Alive_CT_Numbers) && (Alive_CT_Numbers == 0))
            {
                
set_user_xp(iPlayers[i], get_user_xp(iPlayers[i]) + get_pcvar_num(escape_xp_zombie))
                
SaveLevel(iPlayers[i])
            }
            
check_level(iPlayers[i])
        }
    }
}

public 
check_level(id)
{
    if(
PlayerLevel[id] < MAXLEVEL-1)
    {
        while(
PlayerXp[id] >= LEVELS[PlayerLevel[id]])
        {
            
PlayerLevel[id]++
            
SaveLevel(id)
            
            static 
name[32]
            
get_user_name(idnamecharsmax(name))
            
renkli_yazi(0,"!g[DPCS] !n[ !t%s !n] Adli Oyuncu !n[ !t%i. !n] Level'e Ulasti."namePlayerLevel[id])
        }
    }
}

SaveLevel(id)
{
    new 
szAuth[33];
    new 
szKey[64];
    
    if (
get_pcvar_num(savexp) == 0)
    {
        
get_user_ip(idszAuth charsmax(szAuth), 1)
        
formatex(szKey 63 "%s-IP" szAuth)
    }
    else if (
get_pcvar_num(savexp) == 1)
    {
        
get_user_authid(id szAuth charsmax(szAuth))
        
formatex(szKey 63 "%s-ID" szAuth)
    }
    else if (
get_pcvar_num(savexp) == 2)
    {
        
get_user_name(idszAuth charsmax(szAuth))
        
formatex(szKey 63 "%s-NAME" szAuth)
    }
    
    if (!
get_pcvar_num(save_type))
    {
        new 
szData[256]
        
        
formatex(szData 255 "%i#%i#" PlayerLevel[id], PlayerXp[id])
        
        
nvault_pset(g_Vault szKey szData)
    }
}

LoadLevel(id)
{
    new 
szAuth[33];
    new 
szKey[40];
    
    if (
get_pcvar_num(savexp) == 0)
    {
        
get_user_ip(idszAuth charsmax(szAuth), 1)
        
formatex(szKey 63 "%s-IP" szAuth)
    }
    else if (
get_pcvar_num(savexp) == 1)
    {
        
get_user_authid(id szAuth charsmax(szAuth))
        
formatex(szKey 63 "%s-ID" szAuth)
    }
    else if (
get_pcvar_num(savexp) == 2)
    {
        
get_user_name(idszAuth charsmax(szAuth))
        
formatex(szKey 63 "%s-NAME" szAuth)
    }
    
    if (!
get_pcvar_num(save_type))
    {
        new 
szData[256];
        
        
formatex(szData 255"%i#%i#"PlayerLevel[id], PlayerXp[id])
        
        
nvault_get(g_VaultszKeyszData255)
        
        
replace_all(szData 255"#"" ")
        new 
xp[32], level[32]
        
parse(szDatalevel31xp31)
        
PlayerLevel[id] = str_to_num(level)
        
PlayerXp[id] = str_to_num(xp)
    }
}

// Native: get_user_xp
public native_get_user_xp(id)
{
    return 
PlayerXp[id]
}

// Native: set_user_xp
public native_set_user_xp(idamount)
{
    
PlayerXp[id] = amount
}

// Native: get_user_level
public native_get_user_level(id)
{
    return 
PlayerLevel[id]
}

// Native: set_user_xp
public native_set_user_level(idamount)
{
    
PlayerLevel[id] = amount
}

// Native: Gets user level by Xp
public native_get_user_max_level(id)
{
    new 
gerilevel
    
    
if(PlayerLevel[id] > (MAXLEVEL-1)) {
        
gerilevel LEVELS[MAXLEVEL-1]
    }
    else {
        
gerilevel LEVELS[PlayerLevel[id]]
    }
    
    return 
gerilevel
}

stock GetPlayersNum(CsTeams:iTeam) {
    new 
iNum
    
for( new 1<= get_maxplayers(); i++ ) {
        if(
is_user_connected(i) && is_user_alive(i) && cs_get_user_team(i) == iTeam)
            
iNum++
    }
    return 
iNum
}

stock renkli_yazi(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msgsizeof(msg) - 1input3)
    
    
replace_all(msg190"!n""^x01")
    
replace_all(msg190"!g""^x04")
    
replace_all(msg190"!t""^x03")
    
    if(
idplayers[0] = id; else get_players(playerscount"ch")
    for(new 
0counti++)
    {
        if(
is_user_connected(players[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            
write_byte(players[i])
            
write_string(msg)
            
message_end()
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/ 

Last edited by yagami; 11-04-2022 at 10:32.
yagami is offline
DjSoftero
Veteran Member
Join Date: Nov 2014
Location: Lithuania
Old 11-13-2022 , 15:01   Re: ILevei plug-in
Reply With Quote #2

increase MAXLEVEL to a number of levels you want, then add the needed xp line accordingly, to LEVELS array.
__________________
retired chump
DjSoftero is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 03:58.


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