Помогите с нативом

Статус
В этой теме нельзя размещать новые ответы.

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Есть 2 натива
Код:
public _lrs_set_user_exp(id, set)
    UserData[id][exp] = set

public _lrs_set_user_lvl(id, set)
    UserData[id][level] = set
Мне нужно что бы когда я устанавливаю (Выдаю) себе или игроку уровень вместе с уровнем
прибавлялось и exp равное данному уровню.
Вот список всех нативов:
Код:
public plugin_natives()
{
    register_library("lrs_main")
    register_native("lrs_block_maps", "_lrs_block_maps", 1)
    register_native("lrs_get_user_exp", "_lrs_get_user_exp", 1)
    register_native("lrs_get_user_next_exp", "_lrs_get_user_next_exp", 1)
    register_native("lrs_get_user_max_exp", "_lrs_get_user_max_exp", 1)
    register_native("lrs_set_user_exp", "_lrs_set_user_exp", 1)
    register_native("lrs_get_user_lvl", "_lrs_get_user_lvl", 1)
    register_native("lrs_get_level_name", "_lrs_get_level_name")
    register_native("lrs_set_user_lvl", "_lrs_set_user_lvl", 1)
    register_native("lrs_get_user_skill", "_lrs_get_user_skill", 1)
    register_native("lrs_set_user_skill", "_lrs_set_user_skill", 1)
    register_native("lrs_get_skill_name", "_lrs_get_skill_name")
}

public _lrs_block_maps()
    return gBlockMaps

public _lrs_get_user_exp(id)
    return UserData[id][exp]

public _lrs_set_user_exp(id, set)
    UserData[id][exp] = set

public _lrs_get_user_next_exp(id)
    return LEVELS[UserData[id][level]+1]

public _lrs_get_user_max_exp(id)
    return LEVELS[UserData[id][level]]

public _lrs_get_user_lvl(id)
    return UserData[id][level]

public _lrs_set_user_lvl(id, set)
    UserData[id][level] = set

public _lrs_get_level_name(plugin, params)
{
    new id = get_param(1)
    new len = get_param(3)
    new buffer[192]; format(buffer, len, "%L", LANG_SERVER, CLASSES[UserData[id][level]])
    set_string(2, buffer, len)
}

public Float:_lrs_get_user_skill(id)
    return UserData[id][Skill]

public _lrs_set_user_skill(id, Float:set)
    UserData[id][Skill] = set

public _lrs_get_skill_name(plugin, params)
{
    new id = get_param(1)
    new len = get_param(3)
    new Float:skill, skill_id
    skill = UserData[id][Skill]
    skill_id = lrs_get_skill_id(skill)
    new buffer[192]; format(buffer, len, "%L", LANG_SERVER, g_arrViewSkills[skill_id])
    set_string(2, buffer, len)
}
 

paffgame

D0L64E6
Разработчик
Регистрация
9 Июн 2017
Сообщения
154
Симпатии
84
Пол
Мужской
Telegram
@paffgame
Если правильно понял код. (no ya mogu i proebatsya)

PHP:
public _lrs_set_user_lvl(id, set){
   UserData[id][exp] = LEVELS[UserData[id][level]];       //Можно не делать, как хош карош
 
   for(new i = UserData[id][level]; i <= set; i ++)  
       UserData[id][exp] += LEVELS[i];
     
    UserData[id][level] = set
}
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Если правильно понял код. (no ya mogu i proebatsya)

PHP:
public _lrs_set_user_lvl(id, set){
   UserData[id][exp] = LEVELS[UserData[id][level]];       //Можно не делать, как хош карош
 
   for(new i = UserData[id][level]; i <= set; i ++) 
       UserData[id][exp] += LEVELS[i];
    
    UserData[id][level] = set
}
спасибо проверю отпишусь.
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Если правильно понял код. (no ya mogu i proebatsya)

PHP:
public _lrs_set_user_lvl(id, set){
   UserData[id][exp] = LEVELS[UserData[id][level]];       //Можно не делать, как хош карош
 
   for(new i = UserData[id][level]; i <= set; i ++) 
       UserData[id][exp] += LEVELS[i];
    
    UserData[id][level] = set
}
наеался) не правильно работает.
 

StockX

Скриптер
Регистрация
8 Июн 2017
Сообщения
168
Симпатии
132
Пол
Мужской
Лучше полный код выложить. Проще реализовать будет.
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Лучше полный код выложить. Проще реализовать будет.
Код:
#include <amxmodx>
#include <lrs_main>

#if AMXX_VERSION_NUM < 183
    #define client_disconnected client_disconnect
#endif

new bool:gBlockMaps
new g_Cvar[4], LEVELS[22], g_FWD_CheckPoints, g_FWD_CheckBase, g_FWD_SaveBase, g_FWD_Result

enum _:udata
{
    level, exp, kills, Float:Skill
}

new const g_arrItemSkills[] =
{
    0, 60, 75, 85, 100, 115, 130, 140, 150, 165, 180, 195, 210
}

new const g_arrViewSkills[][] =
{
    "S_1", "S_2", "S_3", "S_4", "S_5", "S_6", "S_7", "S_8", "S_9", "S_10", "S_11", "S_12", "S_13"
}

new const CLASSES[][] =
{
    "I_1", "I_1", "I_2", "I_3", "I_4", "I_5", "I_6", "I_7", "I_8", "I_9", "I_10",
    "I_11", "I_12", "I_13", "I_14", "I_15", "I_16", "I_17", "I_18", "I_19", "I_20", "I_21"
}

new UserData[33][udata + 1]

public plugin_precache()
{
    if (IsBlockMap())
    {
        gBlockMaps = true
        return
    }
}

public plugin_init()
{
    register_plugin("LRS Main", "1.0", "AcE")
    register_dictionary("lrs_main.txt")
    register_event("DeathMsg", "EventDeath", "a", "1>0")
    g_Cvar[1] = register_cvar("lrs_add_exp", "2")
    g_Cvar[2] = register_cvar("lrs_add_exp_hs", "3")
    g_Cvar[3] = register_cvar("lrs_levels", "0 20 40 60 100 150 200 300 400 600 1000 1500 2100 2700 3400 4200 5100 5900 7000 10000 15000")
    g_FWD_SaveBase = CreateMultiForward("lrs_save_base", ET_CONTINUE, FP_CELL)
    g_FWD_CheckBase = CreateMultiForward("lrs_check_base", ET_CONTINUE, FP_CELL)
    g_FWD_CheckPoints = CreateMultiForward("lrs_level_up", ET_CONTINUE, FP_CELL)
    set_task(1.0, "LoadSettings")
}

public client_putinserver(id) ExecuteForward(g_FWD_CheckBase, g_FWD_Result, id)
public client_disconnected(id) ExecuteForward(g_FWD_SaveBase, g_FWD_Result, id)
public plugin_cfg() server_cmd("exec addons/amxmodx/configs/lr_system/lrs_main.cfg")

public LoadSettings()
{
    new i, LVL[22][16], cvLevels[256]
    get_pcvar_string(g_Cvar[3], cvLevels, 255); trim(cvLevels)
    parse(cvLevels, LVL[0], 15, LVL[1], 15, LVL[2], 15, LVL[3], 15, LVL[4], 15, LVL[5], 15, LVL[6], 15, LVL[7], 15, LVL[8], 15, LVL[9], 15, LVL[10], 15, LVL[11], 15, LVL[12], 15, LVL[13], 15, LVL[14], 15, LVL[15], 15, LVL[16], 15, LVL[17], 15, LVL[18], 15, LVL[19], 15, LVL[20], 15, LVL[21], 15)
    for (i = 0; i < 21; i ++)
        LEVELS[i+1] = str_to_num(LVL[i])
    return PLUGIN_HANDLED
}

public EventDeath()
{
    new killer = read_data(1)
    new victim = read_data(2)
    new headshot = read_data(3)
    if (killer == victim) return

    if (gBlockMaps)
    {
        if (UserData[killer][level] < 21)
        {
            static TempEXP; TempEXP = (headshot == 1) ? get_pcvar_num(g_Cvar[2]) : get_pcvar_num(g_Cvar[1])
            UserData[killer][exp] += TempEXP
        }
        lrs_check_level(killer)
    }
    new Float:delta = 1.0 / (1.0 + floatpower(10.0, (UserData[killer][Skill] - UserData[victim][Skill]) / 100.0))
    UserData[killer][Skill] += (UserData[killer][kills] < 100) ? (delta * 2.0) : (delta * 1.5)
    UserData[victim][Skill] -= (UserData[victim][kills] < 100) ? (delta * 2.0) : (delta * 1.5)
}

public lrs_check_level(id)
{
    if (id > 0 && id < 33)
    {
        if (UserData[id][level] <= 0)
            UserData[id][level] = 1

        if (UserData[id][level] < 21)
        {
            if (UserData[id][exp] >= LEVELS[UserData[id][level]+1])
            {
                UserData[id][level] ++
                ExecuteForward(g_FWD_CheckPoints, g_FWD_Result, id)
            }
        }
    }
}

stock lrs_get_skill_id(Float:skill)
{
    for (new i, sk = floatround(skill, floatround_tozero); i < sizeof g_arrViewSkills; i ++)
    {
        if (i && g_arrItemSkills[i] > sk)
            return i -1
        else if ((!i && g_arrItemSkills[i] > sk) || i == charsmax(g_arrViewSkills))
            return i
    }
    return 0
}

stock IsBlockMap()
{
    new got_line, line_num, len
    new cfgdir[400], cfgpath[400], mapname[40], txt[400]
    get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir))
    get_mapname(mapname, 40 -1)
    format(cfgpath, 400, "%s/lr_system/lrs_block_maps.ini", cfgdir)
    if (file_exists(cfgpath))
    {
        got_line = read_file(cfgpath, line_num, txt, 400 -1, len)
        while(got_line > 0)
        {
            if (!strcmp(txt, mapname))
                return 0
            line_num ++
            got_line = read_file(cfgpath, line_num, txt, 400 -1, len)
        }
    }
    return 1
}

public plugin_natives()
{
    register_library("lrs_main")
    register_native("lrs_block_maps", "_lrs_block_maps", 1)
    register_native("lrs_get_user_exp", "_lrs_get_user_exp", 1)
    register_native("lrs_get_user_next_exp", "_lrs_get_user_next_exp", 1)
    register_native("lrs_get_user_max_exp", "_lrs_get_user_max_exp", 1)
    register_native("lrs_set_user_exp", "_lrs_set_user_exp", 1)
    register_native("lrs_get_user_lvl", "_lrs_get_user_lvl", 1)
    register_native("lrs_get_level_name", "_lrs_get_level_name")
    register_native("lrs_set_user_lvl", "_lrs_set_user_lvl", 1)
    register_native("lrs_get_user_skill", "_lrs_get_user_skill", 1)
    register_native("lrs_set_user_skill", "_lrs_set_user_skill", 1)
    register_native("lrs_get_skill_name", "_lrs_get_skill_name")
}

public _lrs_block_maps()
    return gBlockMaps

public _lrs_get_user_exp(id)
    return UserData[id][exp]

public _lrs_set_user_exp(id, set)
    UserData[id][exp] = set

public _lrs_get_user_next_exp(id)
    return LEVELS[UserData[id][level]+1]

public _lrs_get_user_max_exp(id)
    return LEVELS[UserData[id][level]]

public _lrs_get_user_lvl(id)
    return UserData[id][level]

public _lrs_set_user_lvl(id, set)
    UserData[id][level] = set

public _lrs_get_level_name(plugin, params)
{
    new id = get_param(1)
    new len = get_param(3)
    new buffer[192]; format(buffer, len, "%L", LANG_SERVER, CLASSES[UserData[id][level]])
    set_string(2, buffer, len)
}

public Float:_lrs_get_user_skill(id)
    return UserData[id][Skill]

public _lrs_set_user_skill(id, Float:set)
    UserData[id][Skill] = set

public _lrs_get_skill_name(plugin, params)
{
    new id = get_param(1)
    new len = get_param(3)
    new Float:skill, skill_id
    skill = UserData[id][Skill]
    skill_id = lrs_get_skill_id(skill)
    new buffer[192]; format(buffer, len, "%L", LANG_SERVER, g_arrViewSkills[skill_id])
    set_string(2, buffer, len)
}
 

paffgame

D0L64E6
Разработчик
Регистрация
9 Июн 2017
Сообщения
154
Симпатии
84
Пол
Мужской
Telegram
@paffgame
вот так еще можно попробовать.

PHP:
public _lrs_set_user_lvl(id, set){
    UserData[id][exp] = LEVELS[set]
    UserData[id][level] = set
}
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
вот так еще можно попробовать.

PHP:
public _lrs_set_user_lvl(id, set){
    UserData[id][exp] = LEVELS[set]
    UserData[id][level] = set
}
ща опробую.
[doublepost=1503703175][/doublepost]
вот так еще можно попробовать.

PHP:
public _lrs_set_user_lvl(id, set){
    UserData[id][exp] = LEVELS[set]
    UserData[id][level] = set
}
спасибо все норм работает. на отнимание lvl не стоит тогда натив делать? так как этот в обе стороны работает.)
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
ща опробую.
[doublepost=1503703175][/doublepost]
спасибо все норм работает. на отнимание lvl не стоит тогда натив делать? так как этот в обе стороны работает.)
Рано порадовался) когда lvl устанавливаю (Выдаю) то и exp выдаётся согласно lvl но когда набираешь еще exp и потом выходишь с сервера а потом заходишь почему то exp остаётся прежним = выданному lvl
например я выдал себе 20 lvl и получил 10000 согласно lvl но набиваю например 10005 и выхожу с сервака потом захожу а у меня 10000 почему так?
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
819
Симпатии
388
Пол
Мужской
Анатолий, ну это уже проблема сохранения, а не этих нтивов
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Анатолий, ну это уже проблема сохранения, а не этих нтивов
с сохранкой и загрузкой проблем нет!
Код:
#include <amxmodx>
#include <fakemeta>
#include <nvault>
#include <lrs_main>

new s_Get_Buffer[40], s_Exp[64], s_Lvl[64], s_Skill[64]
new g_Cvar[6], g_Steam[33][35], nvault_name[128], g_Vault, g_iMaxPlayers

public plugin_init()
{
    register_plugin("LRS nVault", "1.0", "AcE")
    register_forward(FM_Sys_Error, "server_down")
    register_forward(FM_GameShutdown, "server_down")
    register_forward(FM_ServerDeactivate, "server_down")
    register_forward(FM_ChangeLevel, "server_down")
    register_logevent("lrs_save_base", 2, "1=Round_End")
    register_cvar("lrs_vault_name", "lr_system")
    g_Cvar[1] = register_cvar("lrs_start_skill", "100")
    g_Cvar[2] = register_cvar("lrs_remove_exp_on", "1")
    g_Cvar[3] = register_cvar("lrs_remove_exp_days", "15")
    g_Cvar[4] = register_cvar("lrs_auto_clear_stats_days", "60")
    g_Cvar[5] = register_cvar("lrs_min_exp_add_players_stats", "15")
    register_srvcmd("lrs_remove_stats", "remove_stats")
    g_iMaxPlayers = get_maxplayers()
}

public plugin_cfg()
{
    get_cvar_string("lrs_vault_name", nvault_name, 63)
    g_Vault = nvault_open(nvault_name)

    if (g_Vault == INVALID_HANDLE)
        set_fail_state("Error opening nVault!")

    if (get_pcvar_num(g_Cvar[1]) == 1)
        nvault_prune(g_Vault, 0, get_systime() - (86400 * get_pcvar_num(g_Cvar[3])))

    new date[255]; get_time("%d", date, 254)
    if (equal(date, "get_pcvar_num(g_Cvar[4])"))
    {
        nvault_prune(g_Vault, 0, get_systime())
        new map[33]; get_mapname(map, charsmax(map))
        set_task(1.0, "changelevel", _, map, sizeof(map), "a", 1)
        log_to_file("lrs_main.txt", "Statistics successfully deleted!")
    }
}

public plugin_end() nvault_close(g_Vault)
public client_authorized(id) get_user_authid(id, g_Steam[id], charsmax(g_Steam[]))
public changelevel(map[]) server_cmd("changelevel %s", map)

public server_down()
{
    for (new id = 1; id <= g_iMaxPlayers; id++)
    {
        if (is_user_connected(id))
            lrs_save_base(id)
    }
}

public remove_stats()
{
    nvault_prune(g_Vault, 0, get_systime())
    new map[33]; get_mapname(map, charsmax(map))
    set_task(1.0, "changelevel", _, map, sizeof(map), "a", 1)
    log_to_file("lrs_main.txt", "Statistics successfully deleted!")
}

public lrs_check_base(id)
{
    lrs_set_user_exp(id, 0)
    lrs_set_user_lvl(id, 0)
    lrs_set_user_skill(id, 0.0)
    formatex(s_Get_Buffer, charsmax(s_Get_Buffer), "%sEXP", g_Steam[id])
    new s_Exp = nvault_get(g_Vault, s_Get_Buffer)
    formatex(s_Get_Buffer, charsmax(s_Get_Buffer), "%sLVL", g_Steam[id])
    new s_Lvl = nvault_get(g_Vault, s_Get_Buffer)
    formatex(s_Get_Buffer, charsmax(s_Get_Buffer), "%sSKILL", g_Steam[id])
    new s_Skill = nvault_get(g_Vault, s_Get_Buffer)
    if (s_Skill)
    {
        lrs_set_user_exp(id, s_Exp)
        lrs_set_user_lvl(id, s_Lvl)
        lrs_set_user_skill(id, Float:s_Skill)
    }
    else
    {
        lrs_set_user_skill(id, float(get_pcvar_num(g_Cvar[1])))
        lrs_save_base(id)
    }
}

public lrs_save_base(id)
{
    if (lrs_get_user_exp(id) < get_pcvar_num(g_Cvar[5])) return
    format(s_Get_Buffer, charsmax(s_Get_Buffer) , "%sEXP", g_Steam[id])
    format(s_Exp, charsmax(s_Exp), "%d", lrs_get_user_exp(id))
    nvault_set(g_Vault, s_Get_Buffer, s_Exp)
    format(s_Get_Buffer, charsmax(s_Get_Buffer), "%sLVL", g_Steam[id])
    format(s_Lvl, charsmax(s_Lvl), "%d", lrs_get_user_lvl(id))
    nvault_set(g_Vault, s_Get_Buffer, s_Lvl)
    format(s_Get_Buffer, charsmax(s_Get_Buffer), "%sSKILL", g_Steam[id])
    format(s_Skill, charsmax(s_Skill), "%d", lrs_get_user_skill(id))
    nvault_set(g_Vault, s_Get_Buffer, s_Skill)
}
Проблема в этом
Код:
public _lrs_set_user_lvl(id, set){
    UserData[id][exp] = LEVELS[set]
    UserData[id][level] = set
}
 

StockX

Скриптер
Регистрация
8 Июн 2017
Сообщения
168
Симпатии
132
Пол
Мужской
Анатолий, не вижу сохранения опыта при выходе игрока.
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Анатолий, не вижу сохранения опыта при выходе игрока.
вот
Код:
#include <amxmodx>
#include <fakemeta>
#include <nvault>
#include <lrs_main>

new s_Get_Buffer[40], s_Exp[64], s_Lvl[64], s_Skill[64]
new g_Cvar[6], g_Steam[33][35], nvault_name[128], g_Vault, g_iMaxPlayers

public plugin_init()
{
    register_plugin("LRS nVault", "1.0", "AcE")
    register_forward(FM_Sys_Error, "server_down")
    register_forward(FM_GameShutdown, "server_down")
    register_forward(FM_ServerDeactivate, "server_down")
    register_forward(FM_ChangeLevel, "server_down")
    register_logevent("lrs_save_base", 2, "1=Round_End")
    register_cvar("lrs_vault_name", "lr_system")
    g_Cvar[1] = register_cvar("lrs_start_skill", "100")
    g_Cvar[2] = register_cvar("lrs_remove_exp_on", "1")
    g_Cvar[3] = register_cvar("lrs_remove_exp_days", "15")
    g_Cvar[4] = register_cvar("lrs_auto_clear_stats_days", "60")
    g_Cvar[5] = register_cvar("lrs_min_exp_add_players_stats", "15")
    register_srvcmd("lrs_remove_stats", "remove_stats")
    g_iMaxPlayers = get_maxplayers()
}

public plugin_cfg()
{
    get_cvar_string("lrs_vault_name", nvault_name, 63)
    g_Vault = nvault_open(nvault_name)

    if (g_Vault == INVALID_HANDLE)
        set_fail_state("Error opening nVault!")

    if (get_pcvar_num(g_Cvar[1]) == 1)
        nvault_prune(g_Vault, 0, get_systime() - (86400 * get_pcvar_num(g_Cvar[3])))

    new date[255]; get_time("%d", date, 254)
    if (equal(date, "get_pcvar_num(g_Cvar[4])"))
    {
        nvault_prune(g_Vault, 0, get_systime())
        new map[33]; get_mapname(map, charsmax(map))
        set_task(1.0, "changelevel", _, map, sizeof(map), "a", 1)
        log_to_file("lrs_main.txt", "Statistics successfully deleted!")
    }
}

public plugin_end() nvault_close(g_Vault)
public client_authorized(id) get_user_authid(id, g_Steam[id], charsmax(g_Steam[]))
public changelevel(map[]) server_cmd("changelevel %s", map)

public server_down()
{
    for (new id = 1; id <= g_iMaxPlayers; id++)
    {
        if (is_user_connected(id))
            lrs_save_base(id)
    }
}

public remove_stats()
{
    nvault_prune(g_Vault, 0, get_systime())
    new map[33]; get_mapname(map, charsmax(map))
    set_task(1.0, "changelevel", _, map, sizeof(map), "a", 1)
    log_to_file("lrs_main.txt", "Statistics successfully deleted!")
}

public lrs_check_base(id)
{
    lrs_set_user_exp(id, 0)
    lrs_set_user_lvl(id, 0)
    lrs_set_user_skill(id, 0.0)
    formatex(s_Get_Buffer, charsmax(s_Get_Buffer), "%sEXP", g_Steam[id])
    new s_Exp = nvault_get(g_Vault, s_Get_Buffer)
    formatex(s_Get_Buffer, charsmax(s_Get_Buffer), "%sLVL", g_Steam[id])
    new s_Lvl = nvault_get(g_Vault, s_Get_Buffer)
    formatex(s_Get_Buffer, charsmax(s_Get_Buffer), "%sSKILL", g_Steam[id])
    new s_Skill = nvault_get(g_Vault, s_Get_Buffer)
    if (s_Skill)
    {
        lrs_set_user_exp(id, s_Exp)
        lrs_set_user_lvl(id, s_Lvl)
        lrs_set_user_skill(id, Float:s_Skill)
    }
    else
    {
        lrs_set_user_skill(id, float(get_pcvar_num(g_Cvar[1])))
        lrs_save_base(id)
    }
}

public lrs_save_base(id)
{
    if (lrs_get_user_exp(id) < get_pcvar_num(g_Cvar[5])) return
    format(s_Get_Buffer, charsmax(s_Get_Buffer) , "%sEXP", g_Steam[id])
    format(s_Exp, charsmax(s_Exp), "%d", lrs_get_user_exp(id))
    nvault_set(g_Vault, s_Get_Buffer, s_Exp)
    format(s_Get_Buffer, charsmax(s_Get_Buffer), "%sLVL", g_Steam[id])
    format(s_Lvl, charsmax(s_Lvl), "%d", lrs_get_user_lvl(id))
    nvault_set(g_Vault, s_Get_Buffer, s_Lvl)
    format(s_Get_Buffer, charsmax(s_Get_Buffer), "%sSKILL", g_Steam[id])
    format(s_Skill, charsmax(s_Skill), "%d", lrs_get_user_skill(id))
    nvault_set(g_Vault, s_Get_Buffer, s_Skill)
}
до этого натива все норм работало
Код:
public _lrs_set_user_lvl(id, set){
    UserData[id][exp] = LEVELS[set]
    UserData[id][level] = set
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу