Пользователь
- Сообщения
- 4
- Реакции
- 0
- Ошибка
-
Когда Набирается нужное количество exp не выдается уровень
- ОС
- Linux
- Amx Mod X
-
1.10.0dev
- Билд
-
ReHLDS
- ReGamedll
-
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.12.0.780-dev
Build date: 16:20:56 Sep 19 2022 (3082)
Build from: https://github.com/dreamstalker/rehlds/commit/d6ebe82
- Версия Metamod
-
metamod_re.1.3.xx
- Список метамодулей
-
[ 1] POD-Bot mm RUN - podbot_mm_i386.so v3.0B20a ini ANY
[ 2] Reunion RUN - reunion.so v0.1.0.137 ini Start Never
[ 3] AMX Mod X RUN - amxmodx.so v1.10.0.5435 ini Start ANY
[ 4] CStrike RUN - cstrike_amxx_i386.so v1.10.0.5435 pl3 ANY
[ 5] CSX RUN - csx_amxx_i386.so v1.10.0.5435 pl3 ANY
[ 6] MySQL RUN - mysql_amxx_i386.so v1.10.0.5435 pl3 ANY
[ 7] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.10.0.5435 pl3 ANY
[ 8] FakeMeta RUN - fakemeta_amxx_i386.so v1.10.0.5435 pl3 ANY
[ 9] Fun RUN - fun_amxx_i386.so v1.10.0.5435 pl3 ANY
[10] Engine RUN - engine_amxx_i386.so v1.10.0.5435 pl3 ANY ANY
- Список плагинов
-
[ 1] 0 Admin Load 3.9.3 Dev F@nt0M unknown admin_loade running
[ 2] 1 Admin Base 1.10.0.539 AMXX Dev Team unknown admin.amxx stopped
[ 3] 2 Admin Commands 1.10.0.539 AMXX Dev Team unknown admincmd.am running
[ 4] 3 Admin Help 1.10.0.539 AMXX Dev Team unknown adminhelp.a running
[ 5] 4 Slots Reservation 1.10.0.539 AMXX Dev Team unknown adminslots. running
[ 6] 5 Multi-Lingual System 1.10.0.539 AMXX Dev Team unknown multilingua running
[ 7] 6 Menus Front-End 1.10.0.539 AMXX Dev Team unknown menufront.a running
[ 8] 7 Commands Menu 1.10.0.539 AMXX Dev Team unknown cmdmenu.amx running
[ 9] 8 Players Menu 1.10.0.539 AMXX Dev Team unknown plmenu.amxx running
[ 10] 9 Maps Menu 1.10.0.539 AMXX Dev Team unknown mapsmenu.am running
[ 11] 10 Plugin Menu 1.10.0.539 AMXX Dev Team unknown pluginmenu. running
[ 12] 11 Admin Chat 1.10.0.539 AMXX Dev Team unknown adminchat.a running
[ 13] 12 Anti Flood 1.10.0.539 AMXX Dev Team unknown antiflood.a running
[ 14] 13 Admin Votes 1.10.0.539 AMXX Dev Team unknown adminvote.a running
[ 15] 14 NextMap 1.10.0.539 AMXX Dev Team unknown nextmap.amx running
[ 16] 15 Lite MapChooser 2.6 neygomon unknown xman2030_ma running
[ 17] 16 TimeLeft 1.10.0.539 AMXX Dev Team unknown timeleft.am running
[ 18] 17 Pause Plugins 1.10.0.539 AMXX Dev Team unknown pausecfg.am running
[ 19] 18 Stats Configuration 1.10.0.539 AMXX Dev Team unknown statscfg.am running
[ 20] 19 StatsX 1.10.0.539 AMXX Dev Team unknown statsx.amxx running
[ 21] 20 Zombie Plague 1.5 Aurora MeRcyLeZZ unknown mod_1.5.1.a running
[ 22] 21 [ZP]Level System 6.0 Dambas unknown xman2030_lv running
[ 23] 22 [ZP] Addon: Evolution 0.0.7 https://vk.com/i unknown xman2030_ev running
[ 24] 23 [ZMO] SQL DataBase Best t3rkecorejz unknown xman2030_sa running
[ 25] 24 TalRasha Precache Soun 0.0.1 xman2030 unknown xman2030_pr running
[ 26] 25 [CSO] Addon: WpnLevel 1.0.2 lite t3 unknown xman2030_we running
[ 27] 26 [ZP] Random Extra Weap 1.0 BirnoSemiSem unknown xman2030_ra running
[ 28] 27 [ZP] Addon: HERO Syste 0.1 inf unknown xman2030_he debug
[ 29] 28 [CSO LIKE] Weapon: Dua 1.0 inf / Batcoh: Co unknown xman2030_du running
[ 30] 29 [ZP]Present 1.0 CrAsH unknown xman2030_pr running
[ 31] 30 UnPrecacher BuB9neC - Proo.Noob unknown limit_off.a running
[ 32] 31 [CSO Like] ZClass: Reg 0.3 | 04.0 inf2030 unknown xman2030_sp running
[ 33] 32 [CSO Like] ZClass: Lig 0.2 | 19.1 inf unknown xman2030_zc running
[ 34] 33 [ZP] Class: x-Voodoo 2019 | 1.0 xUnicorn (t3rkec unknown xman2030_vo running
[ 35] 34 [ ZM ] ZClass: Deimos 1.0 KOBRA / t3rkecor unknown xman2030_de running
[ 36] 35 [ZMO] Class: Heavy 1.1 Jim/4e/| unknown xman2030_he running
[ 37] 36 [ZP] Class: Stamper 2020 | 1.0 xUnicorn (t3rkec unknown xman2030_zc running
[ 38] 37 unknown unknown unknown unknown xman2030_ba running
[ 39] 38 [ZP] ZClass: Voodoo 0.3 | 19.1 inf unknown xman2030_si running
[ 40] 39 [ZMO] ZClass: Spin Div 1.0 t3rkecorejz unknown xman2030_sp running
[ 41] 40 [ZP | AMXX] Sting Fing 0/0/2 m0rt3m unknown xman2030_st running
[ 42] 41 [ZP] ZClass: Energy Ba 0.1 | 21.1 inf unknown xman2030_en running
[ 43] 42 unknown unknown unknown unknown xman2030_le running
[ 44] 43 Amx Dodge 0.1.0 PomanoB/fl0wer o unknown xman2030_do running
[ 45] 44 blood color 0.1 Barney unknown xman2030_bl running
[ 46] 45 [CSO Like] Grenade: Zo 1.0 inf / Batcoh: Co unknown xman2030_gr running
[ 47] 46 [ZP Addon] Knives 0.1 ONYX unknown xman2030_kn running
[ 48] 47 Reload Radio for XMAN 1.3 INF unknown xman2030_Re running
[ 49] 48 unknown unknown unknown unknown xman2030_ar running
[ 50] 49 Bullet Damage 0.0.1 ConnorMcLeod unknown xman2030_da running
[ 51] 50 [ZP] Easy Parachute 1.1 xman2030 unknown xman2030_pa running
[ 52] 51 xman2030_cooldown CS-FADE.RU CS-FADE.RU unknown xman2030_co running
[ 53] 52 [FS] Chat 1.1 Inf unknown xman2030_ch running
[ 54] 53 [ZP] Shoot Light 0.1 | 11.0 inf unknown xman2030_sh running
[ 55] 54 ZM VIP 1.7.2 aaarnas unknown xman2030_vi running
[ 56] 55 NadeModes 11.2 Nomexous & OT unknown xman2030_na running
[ 57] 56 [ZP] Addon: Weather 0.1 | 30.0 inf / xman2030 unknown xman2030_we running
[ 58] 57 Addon: Hud Helping 0.1 | 03.0 inf unknown xman2030_hu running
[ 59] 58 Hat 1.0 pRoxxx unknown xman2030_ha running
[ 60] 59 [ZP] Extra: Squeak Gre 1.0.6-wwm Arkshine unknown xman2030_ne running
[ 61] 60 [ZP] Extra: HK416 1.0 Crock / =) (Popr unknown xman2030_hk running
[ 62] 61 [ZP] Extra: Chey-Tac M 1.0 Crock / =) (Popr unknown xman2030_m2 running
[ 63] 62 Extraitems: Oz Lion Pi 1.0 Base: Batcon & x unknown xman2030_oz running
[ 64] 63 [ZP] Extra: Anaconda 1.0 Crock / =) (Popr unknown xman2030_an running
[ 65] 64 [ZP] Extra: Anti-Infec 1.0 MeRcyLeZZ unknown xman2030_ar running
[ 66] 65 [ZP] Buy Health New 2.0 FINAL xrekuy unknown xman2030_he running
[ 67] 66 [ZP] Extra: HK23 1.0 Crock / =) (Popr unknown xman2030_hk running
[ 68] 67 [ZP] Extra: MG3 1.0 Crock / =) (Popr unknown xman2030_mg running
[ 69] 68 [ZP] Extra: Double Bar 1.0 Crock / =) (Popr unknown xman2030_we running
[ 70] 69 [ZP] Extra: M1887 1.0 Crock / =) (Popr unknown xman2030_we running
[ 71] 70 ZP Extraitem: Fire Vul 1.0 Base: Batcon; Re unknown xman2030_ga running
[ 72] 71 [ZP] Extra: Walther WA 1.0 Crock / =) (Popr unknown xman2030_wa running
[ 73] 72 [ZP] Extra: VSK94 1.0 Crock / =) (Popr unknown xman2030_vs running
[ 74] 73 [ZP] Extra: SKULL5 1.0 Crock / =) (Popr unknown xman2030_sk running
[ 75] 74 [ZP] Extra: USAS12 Cam 1.0 Crock / =) (Popr unknown xman2030_us running
[ 76] 75 [ZP] Extra: MP5 Tiger 1.0 Crock / =) (Popr unknown xman2030_mp running
[ 77] 76 [ZP] Extra: P90 Lapin 1.0 Crock / =) (Popr unknown xman2030_p9 running
[ 78] 77 [ZP] Extra: Lightning 1.0 Crock / =) (Popr unknown xman2030_gu running
[ 79] 78 [ZP] Extra: Water Gun 1.0 LARS-DAY[BR]EAKE unknown xman2030_wa running
[ 80] 79 [ZP] Extra: TAR-21 1.0 Crock / =) (Popr unknown xman2030_ta running
[ 81] 80 [ZP] Extra: XM8 Basic 1.0 Crock / =) (Popr unknown xman2030_xm running
[ 82] 81 [ZP] Weapon: Crossbow 1.0 xUnicorn (t3rkec unknown xman2030_cr running
[ 83] 82 [ZP] Extra Item: Knife 1.2 pharse unknown xman2030_kn running
[ 84] 83 [ZP] Extra: Deagle Gol 1.0 LARS-BLOODLIKER unknown xman2030_de running
[ 85] 84 [ZP] Extra Item: ak47 3.0 WeReWolF unknown xman2030_go running
[ 86] 85 [ZP] Extra Item: M4A1 3.0 4e/l unknown xman2030_go running
[ 87] 86 [CSO LIKE] LaserMG 1.1 Lakerovich unknown xman2030_we debug
[ 88] 87 Galaxy Menu 0.1 inf unknown xman2030_Ex running
[ 89] 88 unknown unknown unknown unknown xman2030_lk running
[ 90] 89 unknown unknown unknown unknown xman2030_do running
[ 91] 90 [Server Addon] Lottery 0.1 ONYX unknown xman2030_ry running
[ 92] 91 [ZP] Menu Priv 1.2 xman2030 unknown xman2030_me running
[ 93] 92 VIP menu 1.2 XZ KTO unknown xman2030_me running
[ 94] 93 [ZP] Menu Elite 1.2 xman2030 unknown xman2030_me running
[ 95] 94 [ZP] Menu Elite 1.2 xman2030 unknown xman2030_me running
[ 96] 95 [ZP] Menu Priv 1.2 xman2030 unknown xman2030_me running
[ 97] 96 [ZP] Admin Lvl Menu 1.0 Dambas unknown xman2030_le running
[ 98] 97 ammo paki 4.0 Bagamut unknown xman2030_am running
- Автор плагина
- Dambas
- Версия плагина
- 6.0
- Исходный код
-
/*
===================================================================
[ZP]Level System 6.0 FINAL
Автор : Dambas
Обновление :
*Сохранение по MySQL
*Меню выдачи опыта
Главный разработчик - https://vk.com/limonka__s
*/
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
#include <zombieplague>
#include <zp_level_system>
#define is_user_valid_connected(%1) (1 <= %1 <= g_maxplayers && g_isconnected[%1])
#define is_user_valid_alive(%1) (1 <= %1 <= g_maxplayers && g_isalive[%1])
#define is_user_valid(%1) (1 <= %1 <= g_maxplayers)
#define MYSQL_SAVE // MySQL сохранение
//#define NVAULT_SAVE // Nvault сохранение
#define HUD // Показывает худ опыта
#define LUP // Screen-fade, когда обновляется уровень.
#if defined MYSQL_SAVE
#include <sqlx>
#endif
#if defined NVAULT_SAVE
#include <nvault>
#endif
//Опыт для каждого уровня 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
new const Level_Exp[51] = {1, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000}
new g_level[51], g_exp[51], string[21], exp[3][33]
new const level_up[] = "xman2030/task_complete.wav"
new g_maxplayers, d_exp, Float:g_PlayerDamage[33]
new pcvar_damage[10]
#if defined NVAULT_SAVE
new g_vault
#endif
#if defined MYSQL_SAVE
new Handle:MYSQL_Tuple
new Handle:MYSQL_Connect
new g_szQuery[512];
new bool: UserLoaded[33];
new UserSteamID[33][34];
#endif
public plugin_init()
{
register_plugin("[ZP]Level System", "6.0", "Dambas")
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage")
register_logevent("RoundStart", 2, "1=Round_Start")
pcvar_damage[0] = register_cvar("zp_dmg_for_xp", "500") // Сколько урона надо нанести для того что бы получить 1 опыт
pcvar_damage[1] = register_cvar("zp_give_xp_for_dmg", "1") // Сколько опыта получит id за нанесенный урон
pcvar_damage[2] = register_cvar("zp_give_for_kill_nem", "10") // Сколько получит id за убийство немезиды
pcvar_damage[3] = register_cvar("zp_give_for_kill_sur", "10") // Сколько получит id за убийство выжевшего
pcvar_damage[4] = register_cvar("zp_give_for_kill_last", "10") // Сколько получит id за убийство последнего человека
pcvar_damage[5] = register_cvar("zp_give_for_kill", "5") // Сколько получит id-человек, за убийство зомби
pcvar_damage[6] = register_cvar("zp_give_zombie", "1") // Сколько получит зомби за убийство человека
pcvar_damage[7] = register_cvar("zp_give_nemesis", "1") // Сколько получит Немезида за убийство человека
pcvar_damage[8] = register_cvar("zp_give_surv", "1") // Сколько получит Выживший за убийство зомби
pcvar_damage[9] = register_cvar("zp_give_lasthum", "10") // Сколько получит Последний человек за убийство зомби
g_maxplayers = get_maxplayers()
#if defined NVAULT_SAVE
g_vault = nvault_open("xman2030_lvl")
#endif
}
public plugin_precache()
{
precache_sound(level_up)
}
public plugin_natives()
{
register_native("zp_level", "native_level", 1)
register_native("zp_exp", "native_exp", 1)
register_native("zp_next_level_exp", "native_zp_next_level_exp", 1)
register_native("zp_get_user_exp", "native_zp_get_user_exp", 1)
register_native("zp_set_user_exp", "native_zp_set_user_exp", 1)
}
public plugin_cfg()
{
new cfgdir[32]
get_configsdir(cfgdir, charsmax(cfgdir))
server_cmd("exec %s/xman2030/addons/xman_lvl.cfg", cfgdir)
#if defined MYSQL_SAVE
SQL_LoadDebug();
#endif
}
public client_connect(id)
{
if (is_user_bot(id))
return
#if defined NVAULT_SAVE
LoadData(id)
#endif
}
public client_putinserver(id)
{
#if defined MYSQL_SAVE
LoadData(id)
#endif
set_task(3.0, "func_change_exp", id)
}
public client_disconnected(id)
{
#if defined NVAULT_SAVE
SaveData(id)
#endif
#if defined MYSQL_SAVE
if(!UserLoaded[id])
return;
formatex(g_szQuery, charsmax(g_szQuery), "UPDATE `%s` SET `lvl` = '%d', `exp` = '%d' WHERE `%s`.`SteamID` = '%s';", SQL_TABLENAME, g_level[id], g_exp[id], SQL_TABLENAME, UserSteamID[id])
SQL_ThreadQuery(MYSQL_Tuple, "SQL_Thread", g_szQuery)
#endif
remove_task(id)
}
public plugin_end()
{
#if defined NVAULT_SAVE
nvault_close(g_vault)
#endif
#if defined MYSQL_SAVE
if(MYSQL_Tuple)
SQL_FreeHandle(MYSQL_Tuple)
if(MYSQL_Connect)
SQL_FreeHandle(MYSQL_Connect)
#endif
}
#if defined MYSQL_SAVE
public SQL_LoadDebug()
{
new szError[512]
new iErrorCode
MYSQL_Tuple = SQL_MakeDbTuple(SQL_HOST, SQL_USER, SQL_PASSWORD, SQL_DATABASE)
MYSQL_Connect = SQL_Connect(MYSQL_Tuple, iErrorCode, szError, charsmax(szError))
if(MYSQL_Connect == Empty_Handle)
set_fail_state(szError)
if(!SQL_TableExists(MYSQL_Connect, SQL_TABLENAME))
{
new Handle:hQueries
new szQuery[512]
formatex( szQuery, charsmax(szQuery), "CREATE TABLE IF NOT EXISTS `%s` (SteamID VARCHAR(32) CHARACTER SET cp1250 COLLATE cp1250_general_ci NOT NULL, lvl INT NOT NULL, exp INT NOT NULL, PRIMARY KEY (SteamID))", SQL_TABLENAME)
hQueries = SQL_PrepareQuery(MYSQL_Connect, szQuery)
if( !SQL_Execute(hQueries))
{
SQL_QueryError(hQueries, szError, charsmax(szError))
set_fail_state(szError)
}
SQL_FreeHandle(hQueries)
}
SQL_QueryAndIgnore(MYSQL_Connect, "SET NAMES utf8")
}
public SQL_Query( iState, Handle: hQuery, szError[], iErrorCode, iParams[], iParamsSize)
{
switch(iState)
{
case TQUERY_CONNECT_FAILED: log_amx("Load - Could not connect to SQL database. [%d] %s", iErrorCode, szError)
case TQUERY_QUERY_FAILED: log_amx("Load Query failed. [%d] %s", iErrorCode, szError)
}
new id = iParams[0]
UserLoaded[id] = true
if(SQL_NumResults(hQuery) < 1)
{
if(equal(UserSteamID[id], "ID_PENDING"))
return PLUGIN_HANDLED
formatex(g_szQuery, charsmax(g_szQuery), "INSERT INTO `%s` (`SteamID`, `lvl`, `exp`) VALUES ('%s', '%d', '%d');", SQL_TABLENAME, UserSteamID[id], g_level[id], g_exp[id])
SQL_ThreadQuery(MYSQL_Tuple, "SQL_Thread", g_szQuery)
return PLUGIN_HANDLED;
}
else
{
g_level[id] = SQL_ReadResult(hQuery, 1)
g_exp[id] = SQL_ReadResult(hQuery, 2)
}
return PLUGIN_HANDLED;
}
public LoadData(id)
{
if(!is_user_connected(id))
return;
new iParams[1]
iParams[0] = id
get_user_authid(id, UserSteamID[id], charsmax(UserSteamID[]))
formatex(g_szQuery, charsmax(g_szQuery), "SELECT * FROM `%s` WHERE (`%s`.`SteamID` = '%s')", SQL_TABLENAME, SQL_TABLENAME, UserSteamID[id])
SQL_ThreadQuery(MYSQL_Tuple, "SQL_Query", g_szQuery, iParams, sizeof iParams)
}
public SQL_Thread(iState, Handle: hQuery, szError[], iErrorCode, iParams[], iParamsSize)
{
if(iState == 0)
return;
log_amx("SQL Error: %d (%s)", iErrorCode, szError)
}
#endif
#if defined NVAULT_SAVE
public SaveData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s",AuthID)
format(vaultdata,255,"%i#%i#%i#",g_exp[id],g_level[id],g_next_exp[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",AuthID)
format(vaultdata,255,"%i#%i#%i#",g_exp[id],g_level[id],g_next_exp[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new playerxp[32], playerlevel[32], playernextexp[32]
parse(vaultdata, playerxp, 31, playerlevel, 31)
g_exp[id] = str_to_num(playerxp)
g_level[id] = str_to_num(playerlevel)
g_next_exp[id] = str_to_num(playernextexp)
return PLUGIN_CONTINUE;
}
#endif
public func_change_exp (id)
{
d_exp = zp_get_user_exp(id)
exp[0][id] = d_exp
exp[1][id] = d_exp
exp[2][id] = d_exp
#if defined HUD
set_task(1.0,"change_exp",id,_,_,"b")
#endif
}
public change_exp(id)
{
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR && is_user_connected(id))
return PLUGIN_HANDLED
exp[1][id] = zp_get_user_exp(id)
if(exp[1][id] != exp[2][id])
{
if(exp[1][id] > exp[2][id])
{
d_exp = exp[1][id] - exp[2][id]
formatex(string,charsmax(string),"[+%d EXP]", d_exp)
}
exp[2][id] = exp[1][id]
client_print(id, print_center, string)
}
return PLUGIN_HANDLED;
}
public fwTakeDamage(id, inflictor, attacker, Float:damage)
{
if(!is_user_connected(attacker))
return;
if(zp_get_user_zombie(attacker) || zp_get_user_survivor(attacker) || zp_get_user_nemesis(attacker))
return;
if(g_level[attacker] > Level_Exp[id])
return;
g_PlayerDamage[attacker] += damage
if(g_PlayerDamage[attacker] >= get_pcvar_float(pcvar_damage[0]))
{
g_exp[attacker] += get_pcvar_num(pcvar_damage[1])
change_exp(id)
g_PlayerDamage[attacker] -= get_pcvar_float(pcvar_damage[0])
}
check_level(attacker)
}
public fw_PlayerKilled(id, killer)
{
menu_cancel(id)
if(!is_user_alive(killer))
return;
if(g_level[killer] > Level_Exp[id])
return;
if(zp_get_user_nemesis(id))
g_exp[killer] += get_pcvar_num(pcvar_damage[2])
else if(zp_get_user_survivor(id))
g_exp[killer] += get_pcvar_num(pcvar_damage[3])
else if(zp_get_user_last_human(id))
g_exp[killer] += get_pcvar_num(pcvar_damage[4])
else if(zp_get_user_zombie(killer))
g_exp[killer] += get_pcvar_num(pcvar_damage[6])
else if(zp_get_user_nemesis(killer))
g_exp[killer] += get_pcvar_num(pcvar_damage[7])
else if(zp_get_user_survivor(killer))
g_exp[killer] += get_pcvar_num(pcvar_damage[8])
else if(zp_get_user_last_human(killer))
g_exp[killer] += get_pcvar_num(pcvar_damage[9])
else
g_exp[killer] += get_pcvar_num(pcvar_damage[5])
check_level(killer)
}
public check_level(id)
{
if(!is_user_connected(id))
return PLUGIN_HANDLED;
new MAX_LVL = sizeof Level_Exp - 1;
if (g_exp[id] > Level_Exp[MAX_LVL] - 1 )
return PLUGIN_HANDLED;
if( g_exp[id] >= Level_Exp[ g_level[id]])
{
if ( g_level[id] < MAX_LVL )
{
g_level[id]++
emit_sound(id, CHAN_STREAM, level_up, 1.0, ATTN_NORM, 0, PITCH_NORM)
#if defined LUP
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0, 0, 0}, id)
write_short(1 << 11)
write_short(1 << 11)
write_short(0x0001)
write_byte(255)
write_byte(255)
write_byte(0)
write_byte(110)
message_end()
#endif
ChatColor(id, "!g[ZP] !yТы достиг !g%d !yуровня.", g_level[id])
g_exp[id] = 0
}
}
return PLUGIN_HANDLED;
}
public RoundStart()
{
new players[32], num, i
get_players (players, num)
for( i=1; i < num; i++ )
{
exp[0][players[i]] = zp_get_user_exp(players[i])
}
#if defined MYSQL_SAVE
for(new id = 1; id <= 32; id++)
{
if(!is_user_connected(id))
continue;
if(!UserLoaded[id])
return;
formatex(g_szQuery, charsmax(g_szQuery), "UPDATE `%s` SET `lvl` = '%d', `exp` = '%d' WHERE `%s`.`SteamID` = '%s';", SQL_TABLENAME, g_level[id], g_exp[id], SQL_TABLENAME, UserSteamID[id])
SQL_ThreadQuery(MYSQL_Tuple, "SQL_Thread", g_szQuery)
}
#endif
}
public native_level(id)
{
return g_level[id];
}
public native_exp(id)
{
return g_exp[id];
}
public native_zp_next_level_exp(id)
{
return Level_Exp[g_level[id]];
}
public native_zp_get_user_exp(id)
{
if (!is_user_valid(id))
{
log_error(AMX_ERR_NATIVE, "[ZP] Invalid Player (%d)", id)
return -1;
}
return g_exp[id];
}
public native_zp_set_user_exp(id, amount)
{
if (!is_user_valid(id))
{
return false;
}
g_exp[id] = amount
check_level(id)
return true;
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!r", "^3")
replace_all(msg, 190, "!b", "^0")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), {0,0,0}, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
stock bool: SQL_TableExists(Handle: hDataBase, const szTable[])
{
new Handle: hQuery = SQL_PrepareQuery(hDataBase, "SELECT * FROM information_schema.tables WHERE table_name = '%s' LIMIT 1;", szTable)
new szError[512]
if(!SQL_Execute(hQuery))
{
SQL_QueryError(hQuery, szError, charsmax(szError))
set_fail_state(szError)
}
else if( !SQL_NumResults(hQuery))
{
SQL_FreeHandle(hQuery)
return false;
}
SQL_FreeHandle(hQuery)
return true;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
Первый раз сталкиваюсь с таким багом, через специальное меню выдал себе 1000 exp, и лвл не выдался. Было 1000/100 exp и 2 уровень хотя должен был выдасться 3 уровень. И так далее был 2 уровень и 5000 exp из 100 как исправить?
В этой теме было размещено решение! Перейти к решению.