Raised This Month: $32 Target: $400
 8% 

Arrays Problem i think


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
AnimalMonster
Senior Member
Join Date: May 2020
Old 10-07-2020 , 10:32   Arrays Problem i think
Reply With Quote #1

hey, im declined and i got a buymenu plugin by t3rkecorejz xUnicorn, i tried to edit it with some things but when i try edit the .ini file it doesn t load from file and registers over and over again that s the problem i got. imma give you the not edited code.
PHP Code:
#include < amxmodx >
#include < amxmisc >
#include < sqlx >
#include < fakemeta>
#include < hamsandwich >
#include < zombieplague >
#include < dhudmessage >

// CBaseMonster
#define m_LastHitGroup    75

// CBasePlayer
#define m_iMenu 205

new const g_szBuyCommands[ ][ ] =
{
    
"usp""glock""deagle""p228""elites",
    
"fn57""m3""xm1014""mp5""tmp""p90",
    
"mac10""ump45""ak47""galil""famas",
    
"sg552""m4a1""aug""scout""awp""g3sg1",
    
"sg550""m249""vest""vesthelm""flash",
    
"hegren""sgren""defuser""nvgs""shield",
    
"primammo""secammo""km45""9x19mm""nighthawk",
    
"228compact""fiveseven""12gauge""autoshotgun",
    
"mp""c90""cv47""defender""clarion""krieg552",
    
"bullpup""magnum""d3au1""krieg550",
    
"buy""buyequip""cl_autobuy",
    
"cl_rebuy""cl_setautobuy""cl_setrebuy""client_buy_open"
};

new const 
g_szItemSlots[ ][ ] =
{
    
"PISTOLS",
    
"SHOTGUN",
    
"AUTOMATES",
    
"RIFLES",
    
"MACHINE GUNS",
    
"EQUIPMENT HUMAN",
    
"EQUIPMENT ZOMBIE"
};

new const 
g_szItemPermission[ ][ ] =
{
    
"ALL",
    
"VIP",
    
"SVIP",
    
"UVIP"
};

new const 
g_szNamePermission[ ][ ] =
{
    
"",
    
"\r[VIP]",
    
"\r[SUPER VIP]",
    
"\r[ULTRA VIP]"
}

#define SQL_HOST "" // IP/Host бд
#define SQL_USER "" // Логин бд
#define SQL_PASSWORD "" // Пароль бд
#define SQL_DATABASE "" // База данных
#define SQL_TABLENAME "bm_level_system" // Название таблицы

#define CHAT_PREFIX "!y[!gZP BuyMenu!y]" // Префикс в чате при сообщениях от плалина BuyMenu

#define FLAG_VIP ADMIN_LEVEL_A // Флаг VIP игрока 
#define FLAG_SUPER_VIP ADMIN_LEVEL_B // Флаг SUPER VIP игрока
#define FLAG_ULTRA_VIP ADMIN_LEVEL_C // Флаг ULTRA VIP игрока
#define FLAG_ADMIN ADMIN_BAN // Флаг администратора

#define TASK_SHOWHUD 4001 // Таск айди худа
#define TASK_LOAD_DATA 4002 // Таск айди загрузки базы

#define MAX_ITEMS 80 // Максимально айтемов с лимитами
#define MAX_CLIENTS 32 // Максимально клиентов (не менять)
#define BM_PLUGIN_HANDLED 98 // Айди возвращения функции

#define BUYMENU_ITEMS_FILE "ZP_BuyMenu.ini" // Название ini файла от бай меню
#define BUYMENU_CONFIG_FILE "ZP_BuyMenu.cfg" // Название конфиг файла от бай меню
#define BUYMENU_LANG_FILE "ZP_BuyMenu.txt" // Название ланг файла от бай меню

#define BUYMENU_KNIFEMENU_COMMAND "zp_knives" // Команда для открытия меню ножей

// Настройка валюты
#define BM_SetUserMoney(%0,%1) zp_set_user_ammo_packs(%0,%1)
#define BM_GetUserMoney(%0) zp_get_user_ammo_packs(%0)

new Array: aItemName;
new Array: 
aItemCost;
new Array: 
aItemLevel;
new Array: 
aItemMenu;
new Array: 
aItemPermission;
new Array: 
aItemMinimumPlayers;
new Array: 
aItemUserLimit;
new Array: 
aItemUserMapLimit
new Array: 
aItemRoundLimit
new Array: 
aItemMapLimit;

new Array: 
aItem2RealName;
new Array: 
aItem2Name;
new Array: 
aItem2Cost;
new Array: 
aItem2Level;
new Array: 
aItem2Menu;
new Array: 
aItem2Permission;
new Array: 
aItem2MinimumPlayers;
new Array: 
aItem2UserLimit;
new Array: 
aItem2UserMapLimit
new Array: 
aItem2RoundLimit
new Array: 
aItem2MapLimit;

new Array: 
aItemNew;

enum _eCvarList
{
    
Discount_Enable 0,
    
Discount_VIP,
    
Discount_SVIP,
    
Discount_UVIP,
    
Discount_Admin,
    
Discount_Steam,

    
BuyMenu_After_Infection,
    
BuyMenu_Block_Weapons,

    
LevelSystem_Enable,
    
LevelSystem_Hud_Type,
    
LevelSystem_Notifications,
    
LevelSystem_Damage,
    
LevelSystem_Kill,
    
LevelSystem_Kill_Head,
    
LevelSystem_Kill_Human,
    
LevelSystem_Kill_Nemesis,
    
LevelSystem_Kill_Survivor,
    
LevelSystem_Infection,
    
LevelSystem_MaxLevel,
    
LevelSystem_ExpirienceMulti,
};

enum _eMessages
{
    
SayText 0,
    
BuyClose,
    
StatusIcon
};

enum _eData
{
    
Level 0,
    
Exp
};

enum _eCallBack
{
    
CB_Items 0,
    
CB_Rifles,
    
CB_Pistols,
    
CB_Knives
};

enum _eWeaponType
{
    
Primary 0,
    
Secondary
}

enum 
{
    
Pistols 0,
    
Shotguns,
    
Automates,
    
Rifles,
    
Machines,
    
Extras_Human,
    
Extras_Zombie
};

enum
{
    
All_Users 0,
    
VIP_Player,
    
SVIP_Player,
    
UVIP_Player
};

new 
pCvareCvarList ];

new 
g_fwItemSelected;

new 
g_iMsgIDeMessages ];
new 
g_iBuyZone;
new 
g_iItemsNum;
new 
g_iMaxPlayers;
new 
g_iForwardResult
new 
g_iMenuCallBackeCallBack ];
new 
g_iUserDataMAX_CLIENTS ][ eData ];
new 
g_iUserDiscountMAX_CLIENTS ];
new 
g_iUserBackMoneyMAX_CLIENTS ];
new 
g_iMapItemLimitMAX_ITEMS ];
new 
g_iRoundItemLimitMAX_ITEMS ];
new 
g_iUserItemLimitMAX_CLIENTS ][ MAX_ITEMS ]; 
new 
g_iUserMapItemLimitMAX_CLIENTS ][ MAX_ITEMS ];

new 
g_szQuery512 ]; 
new 
g_szUserSteamIDMAX_CLIENTS ][ 34 ];

new 
boolg_bArraysCreated;
new 
boolg_bSuperUserMAX_CLIENTS 1 char ];
new 
boolg_bUserLoadedMAX_CLIENTS 1 char ];
new 
boolg_bItemSelectedMAX_CLIENTS ][ eWeaponType ];

new 
Floatg_flUserDamageMAX_CLIENTS ];

new 
Handleg_hDBTuple
new 
Handleg_hConnect;

public 
plugin_init( )
{
    
register_plugin"[ZP] Buy Menu + Level System""1.1""t3rkecorejz" );

    
register_dictionaryBUYMENU_LANG_FILE );

    
register_event"HLTV""EV_RoundStart""a""1=0""2=0" );

    
RegisterHamHam_Spawn"func_buyzone""CBuyZone__Spawn_Pre", .Post );
    
RegisterHamHam_Killed"player""CPlayer__Killed_Post", .Post );
    
RegisterHamHam_TakeDamage"player""CPlayer__TakeDamage_Post", .Post );
    
RegisterHamHam_Player_PreThink"player""CPlayer__PreThink_Post", .Post );

    
g_iMsgIDSayText ] = get_user_msgid"SayText" );
    
g_iMsgIDBuyClose ] = get_user_msgid"BuyClose" );
    
g_iMsgIDStatusIcon ] = get_user_msgid"StatusIcon" );

    
g_iMenuCallBackCB_Items ] = menu_makecallback"BuyItem_Menu_CallBack" );
    
g_iMenuCallBackCB_Rifles ] = menu_makecallback"BuyMenu_Rifles_Menu_CallBack" );
    
g_iMenuCallBackCB_Pistols ] = menu_makecallback"BuyMenu_Pistols_Menu_CallBack" );
    
g_iMenuCallBackCB_Knives ] = menu_makecallback"BuyMenu_Knives_Menu_CallBack" );

    
g_iMaxPlayers get_maxplayers();

    
g_fwItemSelected CreateMultiForward"BM_Item_Selected"ET_CONTINUEFP_CELLFP_CELL );

    
pCvarDiscount_Enable ] = register_cvar"bm_discount_enable""1" );
    
pCvarDiscount_VIP ] = register_cvar"bm_discount_vip""10" );
    
pCvarDiscount_SVIP ] = register_cvar"bm_discount_svip""15" );
    
pCvarDiscount_UVIP ] = register_cvar"bm_discount_uvip""20" );
    
pCvarDiscount_Admin ] = register_cvar"bm_discount_admin""5" );
    
pCvarDiscount_Steam ] = register_cvar"bm_discount_steam""10" );

    
pCvarBuyMenu_After_Infection ] = register_cvar"bm_buymenu_after_infection""1" );
    
pCvarBuyMenu_Block_Weapons ] = register_cvar"bm_buymenu_block_weapons""1" );

    
pCvarLevelSystem_Enable ] = register_cvar"bm_level_system_enable""1" );
    
pCvarLevelSystem_Hud_Type ] = register_cvar"bm_level_system_hud_type""2" );
    
pCvarLevelSystem_Notifications ] = register_cvar"bm_level_system_notifications""1" );
    
pCvarLevelSystem_Damage ] = register_cvar"bm_level_system_damage""2500.0" );
    
pCvarLevelSystem_Kill ] = register_cvar"bm_level_system_kill_zombie""2" );
    
pCvarLevelSystem_Kill_Head ] = register_cvar"bm_level_system_kill_zombie_head""3" );
    
pCvarLevelSystem_Kill_Human ] = register_cvar"bm_level_system_kill_human""5" );
    
pCvarLevelSystem_Kill_Nemesis ] = register_cvar"bm_level_system_kill_nemesis""10" );
    
pCvarLevelSystem_Kill_Survivor ] = register_cvar"bm_level_system_kill_survivor""10" );
    
pCvarLevelSystem_Infection ] = register_cvar"bm_level_system_infect""3" );
    
pCvarLevelSystem_MaxLevel ] = register_cvar"bm_level_system_maxlvl""100" );
    
pCvarLevelSystem_ExpirienceMulti ] = register_cvar"bm_level_system_expmulti""10" );

    new 
iBuyCommands;
    for ( 
iBuyCommands 0iBuyCommands sizeof g_szBuyCommandsiBuyCommands++ )
        
register_clcmdg_szBuyCommandsiBuyCommands ], "Command_BuyMenu" );

    
register_clcmd"bm_superuser""Command_SuperUser" );
}
 
public 
plugin_precache( )
{
    
g_iBuyZone engfuncEngFunc_CreateNamedEntityengfuncEngFunc_AllocString"func_buyzone" ) );
    
    if( 
pev_validg_iBuyZone ) )
    {
        
dllfuncDLLFunc_Spawng_iBuyZone );
        
engfuncEngFunc_SetSizeg_iBuyZone, { -8192.0, -8192.0, -8192.0 }, { -8191.0, -8191.0, -8191.0 } );
    }

    
aItemName ArrayCreate32);
    
aItemCost ArrayCreate1);
    
aItemLevel ArrayCreate1);
    
aItemMenu ArrayCreate1);
    
aItemPermission ArrayCreate1);
    
aItemMinimumPlayers ArrayCreate1);
    
aItemUserLimit ArrayCreate1);
    
aItemUserMapLimit ArrayCreate1);
    
aItemRoundLimit ArrayCreate1);
    
aItemMapLimit ArrayCreate1);

    
aItem2RealName ArrayCreate32);
    
aItem2Name ArrayCreate32);
    
aItem2Cost ArrayCreate1);
    
aItem2Level ArrayCreate1);
    
aItem2Menu ArrayCreate1);
    
aItem2Permission ArrayCreate1);
    
aItem2MinimumPlayers ArrayCreate1);
    
aItem2UserLimit ArrayCreate1);
    
aItem2UserMapLimit ArrayCreate1);
    
aItem2RoundLimit ArrayCreate1);
    
aItem2MapLimit ArrayCreate1);

    
aItemNew ArrayCreate1);

    
g_bArraysCreated true;

    
CFile__LoadCustomization( );
}

public 
plugin_cfg( )
{
    new 
szConfigDir32 ];
    
get_configsdirszConfigDircharsmaxszConfigDir ) );
    
    
server_cmd"exec %s/%s"szConfigDirBUYMENU_CONFIG_FILE );

    
g_bArraysCreated false;

    
CFile__SaveCustomization( );

    
SQL_LoadDebug( );
}

public 
plugin_end( ) 
{
    if( 
g_hDBTuple 
        
SQL_FreeHandleg_hDBTuple );
    
    if( 
g_hConnect 
        
SQL_FreeHandleg_hConnect );
    
    return;
}

public 
client_putinserveriPlayer )
{
    if( 
get_pcvar_numpCvarDiscount_Enable ] ) )
    {
        if( 
get_user_flagsiPlayer ) & FLAG_ULTRA_VIP )
            
g_iUserDiscountiPlayer ] = get_pcvar_numpCvarDiscount_UVIP ] );
        else if( 
get_user_flagsiPlayer ) & FLAG_SUPER_VIP )
            
g_iUserDiscountiPlayer ] = get_pcvar_numpCvarDiscount_SVIP ] );
        else if( 
get_user_flagsiPlayer ) & FLAG_VIP )
            
g_iUserDiscountiPlayer ] = get_pcvar_numpCvarDiscount_VIP ] );
        
        if( 
get_user_flagsiPlayer ) & FLAG_ADMIN )
            
g_iUserDiscountiPlayer ] = g_iUserDiscountiPlayer ] + get_pcvar_numpCvarDiscount_Admin ] );
        
        if( 
is_user_steamiPlayer ) ) 
            
g_iUserDiscountiPlayer ] = g_iUserDiscountiPlayer ] + get_pcvar_numpCvarDiscount_Steam ] );
    }
    else 
g_iUserDiscountiPlayer ] = 0;

    if( 
get_pcvar_numpCvarLevelSystem_Enable ] ) )
        
set_task1.0"CTask__ShowUserHud"iPlayer TASK_SHOWHUD__, .flags "b" );

    
set_taskrandom_float1.03.0 ), "CTask__LoadData"iPlayer TASK_LOAD_DATA );
}

public 
client_disconnectiPlayer 
{
    if( !
g_bUserLoadediPlayer } || is_user_botiPlayer ) )
        return;
    
    
formatexg_szQuerycharsmaxg_szQuery ), "UPDATE `%s` SET `Level` = '%d', `Exp` = '%d' WHERE `%s`.`SteamID` = '%s';"g_iUserDataiPlayer ][ Level ], g_iUserDataiPlayer ][ Exp ], SQL_TABLENAMEg_szUserSteamIDiPlayer ] );
    
SQL_ThreadQueryg_hDBTuple"SQL_ThreadQueryHandler"g_szQuery );

    
g_bSuperUseriPlayer } = false;
    
g_iUserDiscountiPlayer ] = 0;
}

public 
plugin_natives( ) 
{
    
register_native"BM_Register_Item""Native_Register_Item");
    
register_native"BM_GetUserData""Native_GetUserData");
    
register_native"BM_GetUserExpForNextLevel""Native_GetUserExpForNextLevel");
    
register_native"BM_SetUserData""Native_SetUserData");
    
register_native"BM_GiveUserExp""Native_GiveUserExp");
    
register_native"BM_CheckUserNextLevel""Native_CheckUserNextLevel");
}

public 
SQL_LoadDebug( ) 
{
    new 
szError512 ];
    new 
iErrorCode;

    
g_hDBTuple SQL_MakeDbTupleSQL_HOSTSQL_USERSQL_PASSWORDSQL_DATABASE );
    
g_hConnect SQL_Connectg_hDBTupleiErrorCodeszErrorcharsmaxszError ) );
    
    if( 
g_hConnect == Empty_Handle )
        
set_fail_stateszError );
    
    if( !
SQL_TableExistsg_hConnectSQL_TABLENAME ) )
    {
        new 
HandlehQueries
        new 
szQuery512 ];
        
        
formatexszQuerycharsmaxszQuery ), "CREATE TABLE IF NOT EXISTS `%s` (`SteamID` varchar( 32 ) CHARACTER SET cp1250 COLLATE cp1250_general_ci NOT NULL, `Level` INT NOT NULL, `Exp` INT NOT NULL)"SQL_TABLENAME );
        
hQueries SQL_PrepareQueryg_hConnectszQuery );
        
        if( !
SQL_ExecutehQueries ) )
        {
            
SQL_QueryErrorhQueriesszErrorcharsmaxszError ) );
            
set_fail_stateszError );
        }

        
SQL_FreeHandlehQueries );    
    }

    
SQL_QueryAndIgnoreg_hConnect"SET NAMES utf8" );
}

public 
SQL_QueryConnectioniStateHandlehQueryszError[ ], iErrorCodeiParams[ ], iParamsSize )
{
    switch( 
iState )
    {
        case 
TQUERY_CONNECT_FAILEDlog_amx"Load - Could not connect to SQL database. [%d] %s"iErrorCodeszError );
        case 
TQUERY_QUERY_FAILEDlog_amx"Load Query failed. [%d] %s"iErrorCodeszError );
    }
    
    new 
iPlayer iParams];
    
g_bUserLoadediPlayer } = true;
    
    if( 
SQL_NumResultshQuery ) < )
    {
        if( 
equalg_szUserSteamIDiPlayer ], "ID_PENDING" ) )
            return 
PLUGIN_HANDLED;

        
g_iUserDataiPlayer ] = { 1}

        
formatexg_szQuerycharsmaxg_szQuery ), "INSERT INTO `%s` ( `SteamID`, `Level`, `Exp` ) VALUES ( '%s', '%d', '%d' );"SQL_TABLENAMEg_szUserSteamIDiPlayer ], g_iUserDataiPlayer ][ Level ], g_iUserDataiPlayer ][ Exp ] );
        
SQL_ThreadQueryg_hDBTuple"SQL_ThreadQueryHandler"g_szQuery );
        
        return 
PLUGIN_HANDLED;
    }
    else 
    {
        
g_iUserDataiPlayer ][ Level ] = SQL_ReadResulthQuery);
        
g_iUserDataiPlayer ][ Exp ] = SQL_ReadResulthQuery);
    }
    
    return 
PLUGIN_HANDLED;
}

public 
SQL_ThreadQueryHandleriStateHandlehQueryszError[ ], iErrorCodeiParams[ ], iParamsSize )
{
    if( 
iState == )
        return;
    
    
log_amx"SQL Error: %d (%s)"iErrorCodeszError );
}

public 
zp_user_infected_postiPlayeriInfector 
{
    if( !
is_user_aliveiPlayer ) || !is_user_aliveiInfector ) || iPlayer == iInfector )
        return;

    
Native_GiveUserExpiInfectorget_pcvar_numpCvarLevelSystem_Infection ] ) );

    
show_menuiPlayer0"^n");
    
menu_canceliPlayer );
}

public 
zp_user_humanized_postiPlayer 
{
    
show_menuiPlayer0"^n");
    
menu_canceliPlayer );
}

public 
zp_round_startediGameModeiEntity )
{
    for( new 
iPlayer 1iPlayer <= g_iMaxPlayersiPlayer++ )
    {
        if( 
is_user_aliveiPlayer ) )
        {
            if( 
zp_get_user_zombieiPlayer ) || zp_get_user_survivoriPlayer ) )
            {
                
BM_SetUserMoneyiPlayerBM_GetUserMoneyiPlayer ) + g_iUserBackMoneyiPlayer ] );
                
g_iUserBackMoneyiPlayer ] = 0;

                
show_menuiPlayer0"^n");
                
menu_canceliPlayer );
            }
        }
    }
}

public 
Command_BuyMenuiPlayer )
{
    if( !
is_user_aliveiPlayer ) )
        return 
PLUGIN_CONTINUE;

    if( 
g_bSuperUseriPlayer } )
    {
        if( 
zp_get_user_zombieiPlayer ) ) Show_Menu_BuyItemiPlayerExtras_Zombie );
        else  
Show_Menu_BuyMenuiPlayer );

        return 
PLUGIN_HANDLED;
    }

    if( 
get_pcvar_numpCvarBuyMenu_After_Infection ] ) )
    {
        if( 
zp_has_round_started( ) ) 
        {
            if( 
zp_get_user_zombieiPlayer ) ) Show_Menu_BuyItemiPlayerExtras_Zombie );
            else 
Show_Menu_BuyItemiPlayerExtras_Human );
        } 
        else 
Show_Menu_BuyMenuiPlayer );
    }
    else
    {
        if( 
zp_get_user_zombieiPlayer ) ) Show_Menu_BuyItemiPlayerExtras_Zombie );
        else  
Show_Menu_BuyMenuiPlayer );
    }
    
    return 
PLUGIN_HANDLED;
}

public 
Command_SuperUseriPlayer 
{
    if( ~
get_user_flagsiPlayer ) & ADMIN_IMMUNITY )
        return 
PLUGIN_HANDLED;
    
    
g_bSuperUseriPlayer } = !g_bSuperUseriPlayer };
    
UTIL_ColorChatiPlayer"Super User: [%s]"g_bSuperUseriPlayer } ? "ON" "OFF" );

    return 
PLUGIN_HANDLED;
}

public 
EV_RoundStart( )
{
    for( new 
iPlayer 1iPlayer <= g_iMaxPlayersiPlayer++ )
    {
        if( !
is_user_connectediPlayer ) )
            continue;

        if( 
g_bUserLoadediPlayer } )
        {
            
formatexg_szQuerycharsmaxg_szQuery ), "UPDATE `%s` SET `Level` = '%d', `Exp` = '%d', WHERE `%s`.`SteamID` = '%s';"SQL_TABLENAMEg_iUserDataiPlayer ][ Level ], g_iUserDataiPlayer ][ Exp ], SQL_TABLENAMEg_szUserSteamIDiPlayer ] );
            
SQL_ThreadQueryg_hDBTuple"SQL_ThreadQueryHandler"g_szQuery );
        }

        
arraysetg_bItemSelectediPlayer ], false);

        for( new 
iItemID 0iItemID <= g_iItemsNumiItemID++ )
        {
            
g_iUserItemLimitiPlayer ][ iItemID ] = 0;
            
g_iRoundItemLimitiItemID ] = 0;
            
g_iUserBackMoneyiPlayer ] = 0;

            
show_menuiPlayer0"^n");
            
menu_canceliPlayer );
        }
    }
}

public 
CBuyZone__Spawn_Pre( ) return HAM_SUPERCEDE;

public 
CPlayer__Killed_PostiVictimiAttackeriGib )
{
    if( !
is_user_connectediVictim ) || !is_user_connectediAttacker ) || iVictim == iAttacker )
        return 
HAM_IGNORED;

    if( !
get_pcvar_numpCvarLevelSystem_Enable ] ) )
        return 
HAM_IGNORED;
    
    if( 
g_iUserDataiAttacker ][ Level ] >= get_pcvar_numpCvarLevelSystem_MaxLevel ] ) )
        return 
HAM_IGNORED;

    if( 
zp_get_user_nemesisiVictim ) )
    {
        
Native_GiveUserExpiAttackerget_pcvar_numpCvarLevelSystem_Kill_Nemesis ] ) );

        return 
HAM_IGNORED;
    }
    
    if( 
zp_get_user_survivoriVictim ) )
    {
        
Native_GiveUserExpiAttackerget_pcvar_numpCvarLevelSystem_Kill_Survivor ] ) );

        return 
HAM_IGNORED;
    }

    if( 
zp_get_user_zombieiAttacker ) && !zp_get_user_zombieiVictim ) )
    {
        
Native_GiveUserExpiAttackerget_pcvar_numpCvarLevelSystem_Kill_Human ] ) );

        return 
HAM_IGNORED;
    }

    if( 
zp_get_user_zombieiVictim ) && !zp_get_user_zombieiAttacker ) )
    {
        if( 
get_pdata_intiVictimm_LastHitGroup) == HIT_HEAD )
        {
            
Native_GiveUserExpiAttackerget_pcvar_numpCvarLevelSystem_Kill_Head ] ) );

            return 
HAM_IGNORED;
        }
        
        
Native_GiveUserExpiAttackerget_pcvar_numpCvarLevelSystem_Kill ] ) );
    }

    return 
HAM_IGNORED;
}

public 
CPlayer__TakeDamage_PostiVictimiInflictoriAttackerFloatflDamage )
{
    if( !
is_user_connectediVictim ) || !is_user_connectediAttacker ) || iVictim == iAttacker )
        return 
HAM_IGNORED;

    if( !
get_pcvar_numpCvarLevelSystem_Enable ] ) )
        return 
HAM_IGNORED;
    
    if( 
g_iUserDataiAttacker ][ Level ] >= get_pcvar_numpCvarLevelSystem_MaxLevel ] ) )
        return 
HAM_IGNORED;
    
    if( 
zp_get_user_zombieiVictim ) && !zp_get_user_zombieiAttacker ) )
    {
        
g_flUserDamageiAttacker ] += flDamage;
        
        if( 
g_flUserDamageiAttacker ] >= get_pcvar_floatpCvarLevelSystem_Damage ] ) )
        {
            while( 
g_flUserDamageiAttacker ] >= get_pcvar_floatpCvarLevelSystem_Damage ] ) )
            {
                
g_flUserDamageiAttacker ] -= get_pcvar_floatpCvarLevelSystem_Damage ] );
                
Native_GiveUserExpiAttacker);
            }
        }

        
Native_CheckUserNextLeveliAttacker );
    }

    return 
HAM_IGNORED;
}

public 
CPlayer__PreThink_PostiPlayer )
{
    if( !
is_user_aliveiPlayer ) )
        return 
HAM_IGNORED;
    
    
UTIL_StatusIconiPlayer1"buyzone"00);
    return 
HAM_IGNORED;
}

public 
Show_Menu_BuyMenuiPlayer )
{
    if( !
is_user_aliveiPlayer ) || zp_get_user_survivoriPlayer ) || zp_get_user_nemesisiPlayer ) )
        return 
PLUGIN_HANDLED;

    
message_beginMSG_ONEg_iMsgIDBuyClose ], _iPlayer );
    
message_end( );

    new 
iMenuIndexszMenu512 ], szDiscount128 ];

    if( 
get_pcvar_numpCvarDiscount_Enable ] ) ) 
        
formatexszDiscountcharsmaxszDiscount ), "^n%L"iPlayer"BM_BUYMENU_DISCOUNT"g_iUserDiscountiPlayer ] );
    else 
formatexszDiscountcharsmaxszDiscount ), "" );

    
formatexszMenucharsmaxszMenu ), "\w%L%s"iPlayer"BM_BUYMENU_TITLE"szDiscount );
    
iMenuIndex menu_createszMenu"BuyMenu_Menu_Handler" );

    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_BUYMENU_PISTOLS" );
    
menu_additemiMenuIndexszMenu__g_iMenuCallBackCB_Pistols ] );

    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_BUYMENU_SHOTGUNS" );
    
menu_additemiMenuIndexszMenu__g_iMenuCallBackCB_Rifles ] );

    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_BUYMENU_AUTOMATES" );
    
menu_additemiMenuIndexszMenu__g_iMenuCallBackCB_Rifles ] );

    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_BUYMENU_RIFLES" );
    
menu_additemiMenuIndexszMenu__g_iMenuCallBackCB_Rifles ] );

    
formatexszMenucharsmaxszMenu ), "%L^n"iPlayer"BM_BUYMENU_MACHINEGUNS" );
    
menu_additemiMenuIndexszMenu__g_iMenuCallBackCB_Rifles ] );

    
formatexszMenucharsmaxszMenu ), "%L^n"iPlayerzp_get_user_zombieiPlayer ) ? "BM_BUYMENU_EXTRAS_ZM" "BM_BUYMENU_EXTRAS_HM" );
    
menu_additemiMenuIndexszMenu );

    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_BUYMENU_KNIVES" );
    
menu_additemiMenuIndexszMenu__g_iMenuCallBackCB_Knives ] );

    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_MENU_BACK" );
    
menu_setpropiMenuIndexMPROP_BACKNAMEszMenu );
    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_MENU_NEXT" );
    
menu_setpropiMenuIndexMPROP_NEXTNAMEszMenu );
    
formatexszMenucharsmaxszMenu ), "%L%s"iPlayer"BM_MENU_EXIT"g_bSuperUseriPlayer } ? "^n        \dSuper User activated!" "" );
    
menu_setpropiMenuIndexMPROP_EXITNAMEszMenu );

    if( 
pev_validiPlayer ) == )
        
set_pdata_intiPlayerm_iMenu0);
    
    
menu_displayiPlayeriMenuIndex);

    return 
PLUGIN_HANDLED;
}

public 
BuyMenu_Menu_HandleriPlayeriMenuIndexiMenuKey )
{
    if( !
is_user_aliveiPlayer ) || zp_get_user_survivoriPlayer ) || zp_get_user_nemesisiPlayer ) )
        return 
PLUGIN_HANDLED;

    switch( 
iMenuKey )
    {
        case 
MENU_EXIT
        {
            
menu_destroyiMenuIndex );
            return 
PLUGIN_HANDLED;
        }
        case 
5
        {
            if( 
zp_get_user_zombieiPlayer ) ) Show_Menu_BuyItemiPlayerExtras_Zombie );
            else 
Show_Menu_BuyItemiPlayerExtras_Human );
        }
        case 
6
        {
            
client_cmdiPlayerBUYMENU_KNIFEMENU_COMMAND );
            return 
PLUGIN_HANDLED;
        }
    }

    
Show_Menu_BuyItemiPlayeriMenuKey )
    return 
PLUGIN_HANDLED
}

public 
BuyMenu_Rifles_Menu_CallBackiPlayeriMenuIndexiMenuKey ) return ( !is_user_aliveiPlayer ) || zp_get_user_zombieiPlayer ) || g_bItemSelectediPlayer ][ Primary ] ) ? ITEM_DISABLED ITEM_ENABLED;
public 
BuyMenu_Pistols_Menu_CallBackiPlayeriMenuIndexiMenuKey ) return ( !is_user_aliveiPlayer ) || zp_get_user_zombieiPlayer ) || g_bItemSelectediPlayer ][ Secondary ] ) ? ITEM_DISABLED ITEM_ENABLED;
public 
BuyMenu_Knives_Menu_CallBackiPlayeriMenuIndexiMenuKey ) return ( !is_user_aliveiPlayer ) || zp_get_user_zombieiPlayer ) ) ? ITEM_DISABLED ITEM_ENABLED;

public 
Show_Menu_BuyItemiPlayeriMenuType )
{
    if( !
is_user_aliveiPlayer ) || zp_get_user_survivoriPlayer ) || zp_get_user_nemesisiPlayer ) )
        return;
    
    new 
iMenuIndexiItemCostiItemLeveliItemPermissioniItemMinimumPlayeriItemUserLimitiItemUserMapLimitiItemRoundLimitiItemMapLimit;
    new 
szBuffer64 ], szItemLevel64 ], szItemPermission64 ], szItemMinimumPlayers64 ], szItemLimitUser64 ], szItemLimitUserMap64 ], szItemLimitRound64 ], szItemLimitMap64 ], szMenu512 ];
    new 
szDiscount128 ], szItemCost32 ];
    new 
iItemIndex];

    if( 
get_pcvar_numpCvarDiscount_Enable ] ) ) 
        
formatexszDiscountcharsmaxszDiscount ), "^n\w%L"iPlayer"BM_BUYMENU_DISCOUNT"g_iUserDiscountiPlayer ] );
    else 
formatexszDiscountcharsmaxszDiscount ), "" );
    
    if( !
g_iItemsNum )
        return;

    switch( 
iMenuType )
    {
        case 
PistolsformatexszMenucharsmaxszMenu ), "\w%L%s"iPlayer"BM_BUYMENU_PISTOLS"szDiscount );
        case 
ShotgunsformatexszMenucharsmaxszMenu ), "\w%L%s"iPlayer"BM_BUYMENU_SHOTGUNS"szDiscount );
        case 
AutomatesformatexszMenucharsmaxszMenu ), "\w%L%s"iPlayer"BM_BUYMENU_AUTOMATES"szDiscount );
        case 
RiflesformatexszMenucharsmaxszMenu ), "\w%L%s"iPlayer"BM_BUYMENU_RIFLES"szDiscount );
        case 
MachinesformatexszMenucharsmaxszMenu ), "\w%L%s"iPlayer"BM_BUYMENU_MACHINEGUNS"szDiscount );
        case 
Extras_HumanformatexszMenucharsmaxszMenu ), "\w%L%s"iPlayer"BM_BUYMENU_EXTRAS_HM"szDiscount );
        case 
Extras_ZombieformatexszMenucharsmaxszMenu ), "\w%L%s"iPlayer"BM_BUYMENU_EXTRAS_ZM"szDiscount );
    }
    
    
iMenuIndex menu_createszMenu"BuyItem_Menu_Handler" );

    for( new 
iItemID 0iItemID g_iItemsNumiItemID++ )
    {
        if( 
ArrayGetCellaItemMenuiItemID ) == iMenuType )
        {
            
ArrayGetStringaItemNameiItemIDszBuffercharsmaxszBuffer ) );
            
iItemCost ArrayGetCellaItemCostiItemID );
            
iItemLevel ArrayGetCellaItemLeveliItemID );
            
iItemPermission ArrayGetCellaItemPermissioniItemID );
            
iItemMinimumPlayer ArrayGetCellaItemMinimumPlayersiItemID );
            
iItemUserLimit ArrayGetCellaItemUserLimitiItemID );
            
iItemUserMapLimit ArrayGetCellaItemUserMapLimitiItemID );
            
iItemRoundLimit ArrayGetCellaItemRoundLimitiItemID );
            
iItemMapLimit ArrayGetCellaItemMapLimitiItemID );

            
formatexszItemCostcharsmaxszItemCost ), "%L"iPlayer"BM_BUYMENU_VALUENAME"floatroundiItemCost iItemCost 100.0 g_iUserDiscountiPlayer ] ) );

            if( !
g_bSuperUseriPlayer } )
            {
                switch( 
iItemPermission )
                {
                    case 
VIP_Player..UVIP_PlayerformatexszItemPermissioncharsmaxszItemPermission ), " %s"g_szNamePermissioniItemPermission ] );
                    default: 
formatexszItemPermissioncharsmaxszItemPermission ), "" );
                }

                if( 
get_pcvar_numpCvarLevelSystem_Enable ] ) )
                {
                    if( 
g_iUserDataiPlayer ][ Level ] < iItemLevel )
                        
formatexszItemLevelcharsmaxszItemLevel ), " %L"iPlayer"BM_BUYMENU_LEVEL"iItemLevel )
                    else 
formatexszItemLevelcharsmaxszItemLevel ), "" );
                }
                else 
formatexszItemLevelcharsmaxszItemLevel ), "" );

                if( ( 
iItemMinimumPlayer ) && ( iItemMinimumPlayer get_playersnum( ) ) )
                    
formatexszItemMinimumPlayerscharsmaxszItemMinimumPlayers ), " %L"iPlayer"BM_BUYMENU_MINPLAYERS"iItemMinimumPlayer );
                else 
formatexszItemMinimumPlayerscharsmaxszItemMinimumPlayers ), "" );

                if( 
iItemUserLimit && ( g_iUserItemLimitiPlayer ][ iItemID ] >= iItemUserLimit ) )
                    
formatexszItemLimitUsercharsmaxszItemLimitUser ), " %L"iPlayer"BM_BUYMENU_LIMITUSER"iItemUserLimit );
                else 
formatexszItemLimitUsercharsmaxszItemLimitUser ), "" );

                if( 
iItemUserMapLimit && ( g_iUserMapItemLimitiPlayer ][ iItemID ] >= iItemUserMapLimit ) )
                    
formatexszItemLimitUserMapcharsmaxszItemLimitUserMap ), " %L"iPlayer"BM_BUYMENU_LIMITUSERMAP"iItemUserMapLimit );
                else 
formatexszItemLimitUserMapcharsmaxszItemLimitUserMap ), "" );

                if( 
iItemRoundLimit && ( g_iRoundItemLimitiItemID ] >= iItemRoundLimit ) )
                    
formatexszItemLimitRoundcharsmaxszItemLimitRound ), " %L"iPlayer"BM_BUYMENU_LIMIT"iItemRoundLimit );
                else 
formatexszItemLimitRoundcharsmaxszItemLimitRound ), "" );

                if( 
iItemMapLimit && ( g_iMapItemLimitiItemID ] >= iItemMapLimit ) )
                    
formatexszItemLimitMapcharsmaxszItemLimitMap ), " %L"iPlayer"BM_BUYMENU_LIMITMAP"iItemMapLimit );
                else 
formatexszItemLimitMapcharsmaxszItemLimitMap ), "" );

                if( 
                    
BM_GetUserMoneyiPlayer ) < floatroundiItemCost iItemCost 100.0 g_iUserDiscountiPlayer ] ) || 
                    
g_iUserDataiPlayer ][ Level ] < iItemLevel ||
                    ( 
iItemPermission ) && ( ~get_user_flagsiPlayer ) & FLAG_VIP || ~get_user_flagsiPlayer ) & FLAG_SUPER_VIP || ~get_user_flagsiPlayer ) & FLAG_ULTRA_VIP ) || 
                    ( 
iItemMinimumPlayer ) && ( iItemMinimumPlayer get_playersnum( ) ) || 
                    
iItemUserLimit && ( g_iUserItemLimitiPlayer ][ iItemID ] >= iItemUserLimit ) || 
                    
iItemUserMapLimit && ( g_iUserMapItemLimitiPlayer ][ iItemID ] >= iItemUserMapLimit ) || 
                    
iItemRoundLimit && ( g_iRoundItemLimitiItemID ] >= iItemRoundLimit ) || 
                    
iItemMapLimit && ( g_iMapItemLimitiItemID ] >= iItemMapLimit 
                )
                {
                    
replace_allszBuffercharsmaxszBuffer ), "\r""" );
                    
replace_allszBuffercharsmaxszBuffer ), "\y""" );
                    
replace_allszBuffercharsmaxszBuffer ), "\w""" );
                }

                if( ( 
iItemPermission ) && ( ~get_user_flagsiPlayer ) & FLAG_VIP || ~get_user_flagsiPlayer ) & FLAG_SUPER_VIP || ~get_user_flagsiPlayer ) & FLAG_ULTRA_VIP ) ) 
                    
formatexszMenucharsmaxszMenu ), "%s%s"szBufferszItemPermission );
                else 
formatexszMenucharsmaxszMenu ), "%s %s%s%s%s%s%s%s"szBufferszItemCostszItemLevelszItemMinimumPlayersszItemLimitUserszItemLimitUserMapszItemLimitRoundszItemLimitMap );
            }
            else 
formatexszMenucharsmaxszMenu ), "%s"szBuffer );

            
num_to_striItemIDiItemIndexcharsmaxiItemIndex ) );
            
menu_additemiMenuIndexszMenuiItemIndex_g_iMenuCallBackCB_Items ] );
        }
    }
    
    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_MENU_BACK" );
    
menu_setpropiMenuIndexMPROP_BACKNAMEszMenu );
    
formatexszMenucharsmaxszMenu ), "%L"iPlayer"BM_MENU_NEXT" );
    
menu_setpropiMenuIndexMPROP_NEXTNAMEszMenu );
    
formatexszMenucharsmaxszMenu ), "%L%s"iPlayer"BM_MENU_EXIT"g_bSuperUseriPlayer } ? "^n        \dSuper User activated!" "" );
    
menu_setpropiMenuIndexMPROP_EXITNAMEszMenu );

    if( 
pev_validiPlayer ) == )
        
set_pdata_intiPlayerm_iMenu0);
    
    
menu_displayiPlayeriMenuIndex);
}

public 
BuyItem_Menu_HandleriPlayeriMenuIndexiMenuKey )
{
    if( !
is_user_aliveiPlayer ) || zp_get_user_survivoriPlayer ) || zp_get_user_nemesisiPlayer ) )
        return;

    if( 
iMenuKey == MENU_EXIT )
    {
        
menu_destroyiMenuIndex );
        return;
    }
    
    static 
szBuffer], iDummy;
    
menu_item_getinfoiMenuIndexiMenuKeyiDummyszBuffercharsmaxszBuffer ), __iDummy );
    
    new 
iItemID str_to_numszBuffer );
    new 
iItemCost ArrayGetCellaItemCostiItemID );
    
    if( !
g_iItemsNum )
        return;
        
    
ExecuteForwardg_fwItemSelectedg_iForwardResultiPlayeriItemID );

    if( 
g_iForwardResult >= BM_PLUGIN_HANDLED )
    {
        
// BM_SetUserMoney( iPlayer, BM_GetUserMoney( iPlayer ) + floatround( iItemCost - iItemCost / 100.0 * g_iUserDiscount[ iPlayer ] ) );
        
return;
    }

    if( !
g_bSuperUseriPlayer } )
    {
        
BM_SetUserMoneyiPlayerBM_GetUserMoneyiPlayer ) - floatroundiItemCost iItemCost 100.0 g_iUserDiscountiPlayer ] ) );
        
g_iUserBackMoneyiPlayer ] += floatroundiItemCost iItemCost 100.0 g_iUserDiscountiPlayer ] );

        if( 
ArrayGetCellaItemUserLimitiItemID ) ) g_iUserItemLimitiPlayer ][ iItemID ] += 1;
        if( 
ArrayGetCellaItemUserMapLimitiItemID ) ) g_iUserMapItemLimitiPlayer ][ iItemID ] += 1;
        if( 
ArrayGetCellaItemRoundLimitiItemID ) ) g_iRoundItemLimitiItemID ] += 1;
        if( 
ArrayGetCellaItemMapLimitiItemID ) ) g_iMapItemLimitiItemID ] += 1;

        if( 
get_pcvar_numpCvarBuyMenu_Block_Weapons ] ) )
        {
            switch( 
ArrayGetCellaItemMenuiItemID ) )
            {
                case 
Pistolsg_bItemSelectediPlayer ][ Secondary ] = true;
                case 
Shotguns..Machinesg_bItemSelectediPlayer ][ Primary ] = true;
            }
        }
    }
}

public 
BuyItem_Menu_CallBackiPlayeriMenuIndexiMenuKey )
{
    static 
szBuffer], iDummy;
    
menu_item_getinfoiMenuIndexiMenuKeyiDummyszBuffercharsmaxszBuffer ), __iDummy );
    
    new 
iItemID str_to_numszBuffer );
    new 
iItemCost ArrayGetCellaItemCostiItemID );

    if( !
g_bSuperUseriPlayer } )
    {
        switch( 
ArrayGetCellaItemPermissioniItemID ) )
        {
            case 
VIP_Player
            {
                if( ~
get_user_flagsiPlayer ) & FLAG_VIP )
                    return 
ITEM_DISABLED;
            }
            case 
SVIP_Player
            {
                if( ~
get_user_flagsiPlayer ) & FLAG_SUPER_VIP )
                    return 
ITEM_DISABLED;
            }
            case 
UVIP_Player
            {
                if( ~
get_user_flagsiPlayer ) & FLAG_ULTRA_VIP )
                    return 
ITEM_DISABLED;
            }
        }

        if( 
get_pcvar_numpCvarLevelSystem_Enable ] ) )
        {
            if( 
g_iUserDataiPlayer ][ Level ] < ArrayGetCellaItemLeveliItemID ) )
                return 
ITEM_DISABLED;
        }

        if( 
BM_GetUserMoneyiPlayer ) < floatroundiItemCost iItemCost 100.0 g_iUserDiscountiPlayer ] ) )
            return 
ITEM_DISABLED;

        if( 
get_playersnum( ) < ArrayGetCellaItemMinimumPlayersiItemID ) )
            return 
ITEM_DISABLED;

        if( 
ArrayGetCellaItemUserLimitiItemID ) && ( g_iUserItemLimitiPlayer ][ iItemID ] >= ArrayGetCellaItemUserLimitiItemID ) ) )
            return 
ITEM_DISABLED;

        if( 
ArrayGetCellaItemUserMapLimitiItemID ) && ( g_iUserMapItemLimitiPlayer ][ iItemID ] >= ArrayGetCellaItemUserMapLimitiItemID ) ) )
            return 
ITEM_DISABLED;

        if( 
ArrayGetCellaItemRoundLimitiItemID ) && ( g_iRoundItemLimitiItemID ] >= ArrayGetCellaItemRoundLimitiItemID ) ) )
            return 
ITEM_DISABLED;

        if( 
ArrayGetCellaItemMapLimitiItemID ) && ( g_iMapItemLimitiItemID ] >= ArrayGetCellaItemMapLimitiItemID ) ) )
            return 
ITEM_DISABLED;
    }
    
    return 
ITEM_ENABLED;
}

CFile__LoadCustomization()
{
    new 
szPath64 ];

    
get_localinfo"amxx_configsdir"szPathcharsmaxszPath ) );
    
formatszPathcharsmaxszPath ), "%s/%s"szPathBUYMENU_ITEMS_FILE );
    
    if( !
file_existsszPath ) )
    {
        new 
szError100 ];

        
formatexszErrorcharsmaxszError ), "Cannot load customization file %s!"szPath );
        
set_fail_stateszError );

        return;
    }
    
    new 
szData1024 ], szKey64 ], szValue960 ];
    new 
iFile fopenszPath"rt" );
    
    if( 
file_existsszPath ) )
    {
        
iFile fopenszPath"rt" );
        
        while( 
iFile && !feofiFile ) )
        {
            
fgetsiFileszDatacharsmaxszData ) );

            
replaceszDatacharsmaxszData ), "^n""" );
            
            if( !
szData] || szData] == ';' 
                continue;
            
            if( 
szData] == '[' )
            {
                
szDatastrlenszData ) - ] = 0;
                
copyszDatacharsmaxszData ), szData] );
                
                
ArrayPushStringaItem2RealNameszData );

                continue;
            }

            
strtokszDataszKeycharsmaxszKey ), szValuecharsmaxszValue ), '=' );
            
            
trimszKey );
            
trimszValue );
            
            if( 
equalszKey"NAME" ) )
            {
                
ArrayPushStringaItem2NameszValue );
            }
            else if( 
equalszKey"COST" ) )
            {
                
ArrayPushCellaItem2Coststr_to_numszValue ) );
            }
            else if( 
equalszKey"LEVEL" ) )
            {
                
ArrayPushCellaItem2Levelstr_to_numszValue ) );
            }
            else if( 
equalszKey"SLOT" ) )
            {
                static 
i;
                
                for( 
0sizeof g_szItemSlotsi++ )
                {
                    if( 
equalg_szItemSlots], szValue ) )
                    {
                        
ArrayPushCellaItem2Menu);
                        break;
                    }
                }
            }
            else if( 
equalszKey"PERMISSIONS" ) )
            {
                static 
i;
                
                for( 
0sizeof g_szItemPermissioni++ )
                {
                    if( 
equalg_szItemPermission], szValue ) )
                    {
                        
ArrayPushCellaItem2Permission);
                        break;
                    }
                }
            }
            else if( 
equalszKey"MIN PLAYERS" ) )
            {
                
ArrayPushCellaItem2MinimumPlayersstr_to_numszValue ) );
            }
            else if( 
equalszKey"USER ROUND LIMIT" ) )
            {
                
ArrayPushCellaItem2UserLimitstr_to_numszValue ) );
            }
            else if( 
equalszKey"USER MAP LIMIT" ) )
            {
                
ArrayPushCellaItem2UserMapLimitstr_to_numszValue ) );
            }
            else if( 
equalszKey"ROUND LIMIT" ) )
            {
                
ArrayPushCellaItem2RoundLimitstr_to_numszValue ) );
            }
            else if( 
equalszKey"MAP LIMIT" ) )
            {
                
ArrayPushCellaItem2MapLimitstr_to_numszValue ) );
            }
        }
        if( 
iFile fcloseiFile );
    }
}

CFile__SaveCustomization()
{
    new 
iszBuffer512 ], szPath64 ];

    
get_localinfo"amxx_configsdir"szPathcharsmaxszPath ) );
    
formatszPathcharsmaxszPath ), "%s/%s"szPathBUYMENU_ITEMS_FILE );
    
    new 
iFile fopenszPath"at" );

    for( 
0g_iItemsNumi++ )
    {
        if( 
ArrayGetCellaItemNew) )
        {
            
ArrayGetStringaItemNameiszBuffercharsmaxszBuffer ) );
            
formatszBuffercharsmaxszBuffer ), "^n[%s]"szBuffer );
            
fputsiFileszBuffer );
            
            
ArrayGetStringaItemNameiszBuffercharsmaxszBuffer ) );
            
formatszBuffercharsmaxszBuffer ), "^nNAME = %s"szBuffer );
            
fputsiFileszBuffer );

            
formatexszBuffercharsmaxszBuffer ), "^nCOST = %i"ArrayGetCellaItemCost) );
            
fputsiFileszBuffer );

            
formatexszBuffercharsmaxszBuffer ), "^nLEVEL = 0" );
            
fputsiFileszBuffer );
            
            
formatexszBuffercharsmaxszBuffer ), "^nSLOT = EQUIPMENT HUMAN" );
            
fputsiFileszBuffer );

            
formatexszBuffercharsmaxszBuffer ), "^nPERMISSIONS = ALL" );
            
fputsiFileszBuffer );

            
formatexszBuffercharsmaxszBuffer ), "^nMIN PLAYERS = 0" );
            
fputsiFileszBuffer );

            
formatexszBuffercharsmaxszBuffer ), "^nUSER ROUND LIMIT = 0" );
            
fputsiFileszBuffer );

            
formatexszBuffercharsmaxszBuffer ), "^nUSER MAP LIMIT = 0" );
            
fputsiFileszBuffer );

            
formatexszBuffercharsmaxszBuffer ), "^nROUND LIMIT = 0" );
            
fputsiFileszBuffer );

            
formatexszBuffercharsmaxszBuffer ), "^nMAP LIMIT = 0^n" );
            
fputsiFileszBuffer );
        }
    }

    
fcloseiFile );

    
ArrayDestroyaItem2RealName );
    
ArrayDestroyaItem2Name );
    
ArrayDestroyaItem2Cost );
    
ArrayDestroyaItem2Level );
    
ArrayDestroyaItem2Menu );
    
ArrayDestroyaItem2Permission );
    
ArrayDestroyaItem2MinimumPlayers );
    
ArrayDestroyaItem2UserLimit );
    
ArrayDestroyaItem2UserMapLimit ); 
    
ArrayDestroyaItem2RoundLimit ); 
    
ArrayDestroyaItem2MapLimit );
    
ArrayDestroyaItemNew );
}

public 
Native_Register_Item( const szItemName[ ], iItemCost )
{
    
param_convert);

    if( !
g_bArraysCreated )
    {
        
log_errorAMX_ERR_NATIVE"Can't register item yet (%s)."szItemName );
        return -
1;
    }
    
    
ArrayPushStringaItemNameszItemName );
    
ArrayPushCellaItemCostiItemCost );
    
ArrayPushCellaItemLevel);
    
ArrayPushCellaItemMenuExtras_Human );
    
ArrayPushCellaItemPermissionAll_Users );
    
ArrayPushCellaItemMinimumPlayers);
    
ArrayPushCellaItemUserLimit);
    
ArrayPushCellaItemUserMapLimit);
    
ArrayPushCellaItemRoundLimit);
    
ArrayPushCellaItemMapLimit);

    
ArrayPushCellaItemNew);

    new 
iszBuffer32 ], iSize ArraySizeaItem2RealName );

    for( 
0iSizei++ )
    {
        
ArrayGetStringaItem2RealNameiszBuffercharsmaxszBuffer ) );

        if( !
equalszItemNameszBuffer ) )
            continue;

        
ArraySetCellaItemNewg_iItemsNum);
        
        
ArrayGetStringaItem2NameiszBuffercharsmaxszBuffer ) );
        
ArraySetStringaItemNameg_iItemsNumszBuffer );
        
        
szBuffer] = ArrayGetCellaItem2Cost);
        
ArraySetCellaItemCostg_iItemsNumszBuffer] );

        
szBuffer] = ArrayGetCellaItem2Level);
        
ArraySetCellaItemLevelg_iItemsNumszBuffer] );

        
szBuffer] = ArrayGetCellaItem2Menu);
        
ArraySetCellaItemMenug_iItemsNumszBuffer] );

        
szBuffer] = ArrayGetCellaItem2Permission);
        
ArraySetCellaItemPermissiong_iItemsNumszBuffer] );

        
szBuffer] = ArrayGetCellaItem2MinimumPlayers);
        
ArraySetCellaItemMinimumPlayersg_iItemsNumszBuffer] );

        
szBuffer] = ArrayGetCellaItem2UserLimit);
        
ArraySetCellaItemUserLimitg_iItemsNumszBuffer] );

        
szBuffer] = ArrayGetCellaItem2UserMapLimit);
        
ArraySetCellaItemUserMapLimitg_iItemsNumszBuffer] );

        
szBuffer] = ArrayGetCellaItem2RoundLimit);
        
ArraySetCellaItemRoundLimitg_iItemsNumszBuffer] );

        
szBuffer] = ArrayGetCellaItem2MapLimit);
        
ArraySetCellaItem2MapLimitg_iItemsNumszBuffer] );
    }

    
g_iItemsNum++;

    return 
g_iItemsNum -1;
}

public 
Native_GetUserDataiPlayeriType )
    return 
g_iUserDataiPlayer ][ iType ];

public 
Native_GetUserExpForNextLeveliPlayer )
    return 
get_pcvar_numpCvarLevelSystem_ExpirienceMulti ] ) * ( g_iUserDataiPlayer ][ Level ] + );

public 
Native_SetUserDataiPlayeriTypeiValue )
    
g_iUserDataiPlayer ][ iType ] = iValue;

public 
Native_GiveUserExpiPlayeriAmount )
{
    if( 
get_pcvar_numpCvarLevelSystem_Notifications ] ) == )
    {
        
set_dhudmessage25512800.80.426.01.10.10.2 );
        
show_dhudmessageiPlayer"%L"iPlayer"BM_LS_GET_EXP"iAmount );
    }

    
g_iUserDataiPlayer ][ Exp ] += iAmount;
    
Native_CheckUserNextLeveliPlayer );
}

public 
Native_CheckUserNextLeveliPlayer )
{
    if( 
g_iUserDataiPlayer ][ Exp ] > Native_GetUserExpForNextLeveliPlayer ) )
    {
        
g_iUserDataiPlayer ][ Exp ] -= Native_GetUserExpForNextLeveliPlayer );
        
g_iUserDataiPlayer ][ Level ] += 1;

        if( 
get_pcvar_numpCvarLevelSystem_Notifications ] ) )
            
UTIL_ColorChatiPlayer"%L !g%i"iPlayer"BM_LS_LEVELUP"g_iUserDataiPlayer ][ Level ] );
    }
}


public 
CTask__ShowUserHudiTask )
{
    new 
iPlayer iTask TASK_SHOWHUD;
    new 
szText256 ];
    
    if( !
is_user_aliveiPlayer ) )
        return;

    switch( 
get_pcvar_numpCvarLevelSystem_Hud_Type ] ) )
    {
        case 
0formatexszTextcharsmaxszText ), "" );
        case 
1formatexszTextcharsmaxszText ), "[ Level: %i | Exp: %i/%i ]"iPlayer"BM_LS_HUD_TYPE1"g_iUserDataiPlayer ][ Level ], g_iUserDataiPlayer ][ Exp ], Native_GetUserExpForNextLeveliPlayer ) );
        case 
2formatexszTextcharsmaxszText ), "[ Level: %i | %i%% ]"iPlayer"BM_LS_HUD_TYPE2"g_iUserDataiPlayer ][ Level ], floatround99.0 Native_GetUserExpForNextLeveliPlayer ) * g_iUserDataiPlayer ][ Exp ] ) );
    }

    
// red, green, blue, x, y, effect, fxtime, holdtime, fadeintime, fadeouttime
    
set_dhudmessage0255255, -1.00.87500.01.10.00.0 );
    
show_dhudmessageiPlayer"%s"szText );
}

public 
CTask__LoadDataiTask )
{
    new 
iPlayer iTask TASK_LOAD_DATA;
    
    if( !
is_user_connectediPlayer ) || is_user_botiPlayer ) )
        return;
    
    new 
iParams];
    
iParams ] = iPlayer;
    
    
get_user_authidiPlayerg_szUserSteamIDiPlayer ], charsmaxg_szUserSteamID[ ] ) );
    
    
formatexg_szQuerycharsmaxg_szQuery ), "SELECT * FROM `%s` WHERE ( `%s`.`SteamID` = '%s' )"SQL_TABLENAMESQL_TABLENAMEg_szUserSteamIDiPlayer ] );
    
SQL_ThreadQueryg_hDBTuple"SQL_QueryConnection"g_szQueryiParamssizeof iParams );
}

stock UTIL_ColorChatiPlayer, const szMessage[], any:... )
{
    static 
szBuffer190 ], iiArgsCount;
    
iArgsCount numargs( );
    
    if( !
iPlayer )
    {
        static 
iPlayer;
        
        for( 
iPlayer 1iPlayer <= g_iMaxPlayersiPlayer++ )
        {
            if( !
is_user_connectediPlayer ) )
                continue;
            
            static 
iChanged], iChangedCount;
            
iChangedCount 0;
            
            for( 
2iArgsCounti++ )
            {
                if( 
getarg) == LANG_PLAYER )
                {
                    
setargi0iPlayer );
                    
iChangediChangedCount ] = i;
                    
iChangedCount++
                }
            }
            
            
vformatszBuffercharsmaxszBuffer ), szMessage);
            
formatszBuffercharsmaxszBuffer ), "%s %s"CHAT_PREFIXszBuffer );
            
            
replace_allszBuffercharsmaxszBuffer ), "!g""^x04" );
            
replace_allszBuffercharsmaxszBuffer ), "!t""^x03" );
            
replace_allszBuffercharsmaxszBuffer ), "!y""^x01" );
            
            
UTIL_SayTextiPlayerszBuffer );
            
            for( 
0iChangedCounti++ )
                
setargiChanged], 0LANG_PLAYER );
        }
    }
    else
    {
        
vformatszBuffercharsmaxszBuffer ), szMessage);
        
format (szBuffercharsmaxszBuffer ), "%s %s"CHAT_PREFIXszBuffer );
        
        
replace_allszBuffercharsmaxszBuffer ), "!g""^x04" );
        
replace_allszBuffercharsmaxszBuffer ), "!t""^x03" );
        
replace_allszBuffercharsmaxszBuffer) , "!y""^x01" );
        
        
UTIL_SayTextiPlayerszBuffer );
    }
    
    return 
PLUGIN_CONTINUE;
}

stock UTIL_StatusIconiPlayeriStatusszIcon[], iRediGreeniBlue )
{
    
message_beginMSG_ONEg_iMsgIDStatusIcon ], _iPlayer );
    
write_byteiStatus );
    
write_stringszIcon );
    
write_byteiRed );
    
write_byteiGreen );
    
write_byteiBlue );
    
message_end( );
}

stock UTIL_SayTextiPlayerszMessage[] )
{
    
message_begin (MSG_ONEg_iMsgIDSayText ], _iPlayer );
    
write_byteiPlayer );
    
write_stringszMessage );
    
message_end( );
}

stock boolis_user_steamiPlayer )
{
    static 
pDproto;
    
    if( 
pDproto || ( pDproto get_cvar_pointer"dp_r_id_provider" ) ) )
    {
        
server_cmd"dp_clientinfo %i"iPlayer );
        
server_exec( );

        return ( 
get_pcvar_numpDproto ) == ) ? true false;
    }

    return 
false;
}

stock boolSQL_TableExistsHandlehDataBase, const szTable[ ] )
{
    new 
HandlehQuery SQL_PrepareQueryhDataBase"SELECT * FROM information_schema.tables WHERE table_name = '%s' LIMIT 1;"szTable );
    new 
szError512 ];
    
    if( !
SQL_ExecutehQuery ) )
    {
        
SQL_QueryErrorhQueryszErrorcharsmaxszError ) );
        
set_fail_stateszError );
    }
    else if( !
SQL_NumResultshQuery ) )
    {
        
SQL_FreeHandlehQuery );
        return 
false;
    }
    
    
SQL_FreeHandlehQuery );
    return 
true;

in this code i edited the sql on nvault and used a money system that is replacing ammo
AnimalMonster 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 09:51.


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