Sign in to follow this  
Followers 0
MKOD

Пропадает худ

4 posts in this topic

Всем ку

Короче установил lvl system на сервере и всё нормально работает но если пройти последний уровень то пропадет худ просто я добавил часть new const MAX_LEVELS в зомби мод и в худ уже добавил g_iLevel[ID_SHOWHUD], g_iExp[ID_SHOWHUD], (MAX_LEVELS[g_iLevel[ID_SHOWHUD]]

Как решить проблему просто жалуются что у них пропадет информация о себе буду очень благодарен

#include <amxmodx>
#include <nvault>
#include <fakemeta>
#include <zp_level_sys>

#define MAX_CLIENTS 32

#define ID_SHOWHUD (taskid - TASK_SHOWHUD)

enum (+= 100)
{
    TASK_SHOWHUD = 10
}

new const MAX_LEVELS[45] = 
{
    0, // 1
    10, // 2
    20, // 3
    30, // 4
    40, // 5
    50, // 6
    60, // 7
    70, // 8
    80, // 9
    90, // 10
    100, // 11
    120, // 12
    140, // 13
    160, // 14
    180, // 15
    200, // 16
    230, // 17
    260, // 18
    290, // 19
    300, // 20
    340, // 21
    380, // 22
    400, // 23
    450, // 24
    500, // 25
    560, // 26
    600, // 27
    670, // 28
    700, // 29
    780, // 30
    800, // 31
    890, // 32
    900, // 33
    1000, // 34
    2000, // 35
    3000, // 36
    4000, // 37
    5000, // 38
    6000, // 39
    7000, // 40
    8000, // 41
    9000, // 42
    10000, // 43
    15000, // 44
    20000 // 45
}
const Float:HUD_STATS_X = 0.02;
const Float:HUD_STATS_Y = 0.9025;
const Float:HUD_SPECT_X = -1.0;
const Float:HUD_SPECT_Y = 0.8;

const PEV_SPEC_TARGET = pev_iuser2

new    g_iLevel[MAX_CLIENTS + 1],
    g_iExp[ MAX_CLIENTS + 1],
    g_playername[MAX_CLIENTS + 1][MAX_CLIENTS];

new g_vault

public plugin_init()
{
    register_plugin(NAME, VERSION, AUTHOR);

    register_event("DeathMsg", "EV_DeathMsg", "a");

    g_vault = nvault_open("sergiu_rs_level")
}

public plugin_natives()
{
    register_native("zp_get_user_level", "native_get_user_level", 1)
    register_native("zp_set_user_level", "native_set_user_level", 1)

    register_native("zp_get_user_exp", "native_get_user_exp", 1)
    register_native("zp_set_user_exp", "native_set_user_exp", 1)
}

public client_disconnect(id)
{
    SaveData(id);
}

public client_putinserver(iPlayer)
{
    get_user_name(iPlayer, g_playername[iPlayer], charsmax(g_playername[]))

    LoadData(iPlayer);

    if(zp_get_user_level(iPlayer) == 0)
    {
        zp_set_user_level(iPlayer, 1)
    }

    set_task(1.0, "ShowHUD", iPlayer+TASK_SHOWHUD, _, _, "b")
}

public plugin_end()
{
    nvault_close(g_vault)
}

public EV_DeathMsg()
{
    static iVictim, iKiller;
    iVictim = read_data(2);
    iKiller = read_data(1);

    if(!is_user_connected(iVictim))
        return;

    if(iKiller == iVictim || !iKiller)
        return;

    g_iExp[iKiller] += 1;

    while(g_iExp[iKiller] >= MAX_LEVELS[g_iLevel[iKiller]])
    {
        g_iLevel[iKiller] += 1;
    }
}

public ShowHUD(taskid)
{
    static iPlayer
    iPlayer = ID_SHOWHUD;

    if(!is_user_alive(iPlayer))
    {
        iPlayer = pev(iPlayer, PEV_SPEC_TARGET)

        if(!is_user_alive(iPlayer)) return;
    }

    if(iPlayer != ID_SHOWHUD)
    {
        set_hudmessage(255, 255, 0, 0.02, 0.20, 0, 0.01, 0.01, 1.0, 1.0, -1);
        show_hudmessage(ID_SHOWHUD, "[LVL: %d / 45]^n[EXP: %d / %d]", g_iLevel[ID_SHOWHUD], g_iExp[ID_SHOWHUD], (MAX_LEVELS[g_iLevel[ID_SHOWHUD]]));
    }
    else
    {
        set_hudmessage(255, 255, 0, 0.02, 0.20, 0, 0.01, 0.01, 1.0, 1.0, -1);
        show_hudmessage(ID_SHOWHUD, "[LVL: %d / 45]^n[EXP: %d / %d]", g_iLevel[ID_SHOWHUD], g_iExp[ID_SHOWHUD], (MAX_LEVELS[g_iLevel[ID_SHOWHUD]]));
    }
}

public SaveData(id)
{
    new AuthID[35]
    get_user_authid(id,AuthID,34)

    new vaultkey[64], vaultdata[256]
    format(vaultkey, 63, "%s-cso", AuthID)
    format(vaultdata, 255, "%i#%i#", g_iLevel[id], g_iExp[id])
    nvault_set(g_vault, vaultkey, vaultdata)
    return PLUGIN_CONTINUE
}

public LoadData(id)
{
    new AuthID[35]
    get_user_authid(id, AuthID, 34)

    new vaultkey[64], vaultdata[256]
    format(vaultkey, 63, "%s-cso", AuthID)
    format(vaultdata, 255, "%i#%i#", g_iLevel[id], g_iExp[id])
    nvault_get(g_vault, vaultkey, vaultdata, 255)

    replace_all(vaultdata, 255, "#", " ")

    new experience[32], playerlevel[32]

    parse(vaultdata, experience, 31, playerlevel, 31)

    g_iLevel[id] = str_to_num(experience)
    g_iExp[id] = str_to_num(playerlevel)
    return PLUGIN_CONTINUE
}

public native_get_user_exp(id)
{
    return g_iExp[id];
}

public native_set_user_exp(id, amount)
{
    g_iExp[id] = amount;
}

public native_get_user_level(id)
{
    return g_iLevel[id];
}

public native_set_user_level(id, amount)
{
    g_iLevel[id] = amount;
}

Share this post


Link to post
Share on other sites

Ау ребят помочь можете?

Share this post


Link to post
Share on other sites

Добавь больше уровней, у меня тоже такое было, из-за того что превышен уровень, выводится ошибка типо нет уровней дальше и оно пропадает. 

Share this post


Link to post
Share on other sites
8 часов назад, LuxeHD сказал:

Добавь больше уровней, у меня тоже такое было, из-за того что превышен уровень, выводится ошибка типо нет уровней дальше и оно пропадает. 

Ок спасибо помог

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0