Pagalbos.

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
artiom555
Jau po truputį tampa savu
Posts: 112
Joined: 2014 Apr 23 21:55
Skype: artem.sharkovic
Contact:

Pagalbos.

Post by artiom555 »

Reiki pagalbos su gunxp modu problema tame kad kada prasideda round tau ismeta Level weapon menu kad pasirinkt guna ant kiek pas tave ira xp , jeigu tu nespeji pasirinkt per 10 sekundiziu ginkla ar buwai afk po 10 sekundziu prasideda zombie modas pasidarai zombiu , ir tas Level ginklu menu nedingsta kol tu ne pasirinksi ginkla jeigu kada esi zombis bandai paimt gun is to level menu , guno tau ne duos bet granatas duoda ir rezultatas kad zombis begioja su granatomis reiketu kaz kaip padarit kad kada tas zombis banditu imt guna is to level menu jam tu granatu neduotu :help: :help:

Gunxp modo sma

Code: Select all

#if defined ZOMBIE_BIOHAZARD  #include <biohazard>#endif#if defined ZOMBIE_PLAGUE  #include <zombieplague>#endif #include <amxmodx>#include <amxmisc>#include <fakemeta>#include <fun>#include <cstrike>#include <nvault>#include <hamsandwich> #define PLUGIN  "Gun Xp Mod"#define AUTHOR  "xbatista"#define VERSION "1.7" #define NORMAL_MOD#define ZOMBIE_SWARM#define ZOMBIE_INFECTION #define ZOMBIE_BIOHAZARD//#define ZOMBIE_PLAGUE  #define ADMIN_EXTRA ADMIN_LEVEL_H#define MAXLEVEL 24 #define OFFSET_PRIMARYWEAPON 116#define MENU_STARTID g_menu_data[id][2]const KEYSMENU = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)#define TASK_SHOW_LEVEL 10113#define fm_cs_set_user_nobuy(%1) set_pdata_int(%1, 235, get_pdata_int(%1, 235) & ~(1<<0) ) //no weapon buy new PlayerXp[33];new PlayerLevel[33]; new g_Vault;new g_kills[33];new g_menu_data[33][8];new g_remember_selection[33];new g_maxplayers, g_msgHudSync1, SayTxT, enable_grenades;new levelspr, levelspr2, show_level_text, show_rank;new savexp , xp_kill, xp_triple, enable_triple, triple_kills, xp_ultra, ultra_kills, enable_ultra, p_Enabled, level_style;new enable_admin_xp, admin_xp; new const LevelUp[] = "umbrella/levelup.wav";                                                           //mac10//new const LEVELS[MAXLEVEL] = { 90, 180, 300, 450, 700, 1200, 1800, 2800,4100, 5200, 6000, 6800, 8200, 10200, 12000, 15000, 17500, 20500, 25500, //<-aug//29000, 35000, 46000, 58000, 150000}; // Levels new const RANKLEVELS[MAXLEVEL][] = { "Beginner", "Beginner", "Beginner", "Beginner", "Beginner", "Slayer", "Slayer", "Slayer","Hunter", "Hunter", "Hunter", "Hunter", "Assassin", "Assassin", "Hero", "Hero", "Hero", "War Lord", "War Lord","Supernatural", "Supernatural", "Supernatural", "Umbrella Soldier", "Umbrella Soldier"}; // Rank Levels new const RANK[MAXLEVEL][] = { "Glock 18C", "USP .45 ACP Tactical", "P228 Compact", "FiveseveN", "Desert Eagle .50 AE", "Dual Elite Berettas","Schmidt TMP", "Ingram MAC-10", "UMP 45", "MP5 Navy", "ES P90", "Scout", "AWP Magnum Sniper", "Famas", "IMI Galil", "M3 Super 90", "XM1014 M4","AK-47", "M4A1 Carbine", "Steyr AUG A1", "SG-552 Commando", "SG-550 Auto-Sniper", "G3SG1 Auto-Sniper", "M249 Para Machinegun"}; // Weapon Name Ranks new const WEAPONCONST[MAXLEVEL][] = { "weapon_glock18", "weapon_usp", "weapon_p228", "weapon_fiveseven", "weapon_deagle", "weapon_elite", "weapon_tmp","weapon_mac10", "weapon_ump45", "weapon_mp5navy", "weapon_p90", "weapon_scout", "weapon_awp", "weapon_famas", "weapon_galil", "weapon_m3", "weapon_xm1014","weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_sg552", "weapon_sg550", "weapon_g3sg1", "weapon_m249"}; // Give Weapons new const WEAPONMDL[MAXLEVEL][] = { "models/w_glock18.mdl", "models/w_usp.mdl", "models/w_p228.mdl", "models/w_fiveseven.mdl", "models/w_deagle.mdl", "models/w_elite.mdl", "models/w_tmp.mdl","models/w_mac10.mdl", "models/w_ump45.mdl", "models/w_mp5.mdl", "models/w_p90.mdl", "models/w_scout.mdl", "models/w_awp.mdl", "models/w_famas.mdl", "models/w_galil.mdl", "models/w_m3.mdl", "models/w_xm1014.mdl","models/w_ak47.mdl", "models/w_m4a1.mdl", "models/w_aug.mdl", "models/w_sg552.mdl", "models/w_sg550.mdl", "models/w_g3sg1.mdl", "models/w_m249.mdl"}; // Blocks pick up weapon, that is not model replacement!!! new const AMMOCONST[MAXLEVEL] = { 17, 16, 1, 11, 26, 10, 23, 7, 12, 19, 30, 3, 18,15, 14, 21, 5, 28, 22, 8, 27, 13, 24, 20}; // Weapons ID(CSW) new const AMMO2CONST[MAXLEVEL] = { 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 90,400, 400, 80, 80, 400, 400, 400, 400, 200, 200, 400}; // Weapons Ammo /*================================================================================                        [Plugin natives,precache,init]=================================================================================*/public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR);    register_cvar("gxm_version", VERSION, FCVAR_SPONLY|FCVAR_SERVER)    set_cvar_string("gxm_version", VERSION)       register_concmd("set_level", "cmd_give_level", ADMIN_RCON, " <name> <amount>" );    register_clcmd("say level", "showlevel");    register_clcmd("say /level", "showlevel");    register_clcmd("say /top20","showtop20");    register_clcmd("say /menu","show_main_menu_info");    register_clcmd("say menu","show_main_menu_info");       p_Enabled = register_cvar( "gxm_enable", "1" ); // Plugin enabled? 1 = Yes, 0 = No.    xp_kill = register_cvar("gxm_xp","5"); // How much xp gain if you killed someone?    savexp = register_cvar("gxm_save","0"); // Save Xp by : 1 = SteamID, 0 = IP.    show_level_text = register_cvar("gxm_level_text","1"); // Show your level by : 1 = HUD message, 0 = Simple colored text message.    show_rank = register_cvar("gxm_show_rank","1"); // Show rank in /top20? 1 = Yes, 0 = No.    level_style = register_cvar("gxm_level_style","0"); // You will gain each level new gun : 1 = Yes, 0 = No,select your gun by menu.    enable_grenades = register_cvar("gxm_grenades","1"); // Give to player grenades? 1 = Yes, 0 = No.       enable_triple = register_cvar("gxm_triple","1"); // Enable Triple Kill bonus xp? 1 = Yes, 0 = No.    xp_triple = register_cvar("gxm_triple_xp","15"); // How much bonus xp give for Triple Kill?    triple_kills = register_cvar("gxm_triple_kills","3"); // How much kills needed to give bonus xp?    enable_ultra = register_cvar("gxm_ultra","1"); // Enable Ultra Kill bonus xp? 1 = Yes, 0 = No.    xp_ultra = register_cvar("gxm_ultra_xp","25"); // How much bonus xp give for Ultra Kill?    ultra_kills = register_cvar("gxm_ultra_kills","6"); // How much kills needed to give bonus xp?       enable_admin_xp = register_cvar("gxm_admin_xp","1"); // Enable Extra xp for killing? 1 = Yes, 0 = No.    admin_xp = register_cvar("gxm_extra_xp","5"); // How much extra xp give to admins?                    // Events //    register_event("DeathMsg", "event_deathmsg", "a");    register_event("StatusValue", "Event_StatusValue", "bd", "1=2")                    // Forwards //    RegisterHam(Ham_Spawn, "player", "fwd_PlayerSpawn", 1);       register_forward(FM_Touch, "fwd_Touch");                    // Messages //    #if defined NORMAL_MOD || defined ZOMBIE_SWARM    register_message(get_user_msgid("StatusIcon"),  "Message_StatusIcon")    #endif                       // Other //     register_menu("Level by Menu", KEYSMENU, "menu_level")    register_menu("Main Level Menu", KEYSMENU, "main_menu_level")    register_menucmd(register_menuid("Main Menu"), 8, "main_menu_info")       register_dictionary("gunxpmod.txt");                       SayTxT = get_user_msgid("SayText");       g_msgHudSync1 = CreateHudSyncObj()    g_maxplayers = get_maxplayers();}public plugin_natives(){                    // Player natives //    register_native("get_user_xp", "native_get_user_xp", 1);    register_native("set_user_xp", "native_set_user_xp", 1);    register_native("get_user_level", "native_get_user_level", 1);    register_native("set_user_level", "native_set_user_level", 1);    register_native("get_user_max_level", "native_get_user_max_level", 1);}public plugin_precache(){    levelspr = engfunc(EngFunc_PrecacheModel, "sprites/xfire.spr");    levelspr2 = engfunc(EngFunc_PrecacheModel, "sprites/xfire2.spr");       engfunc(EngFunc_PrecacheSound, LevelUp);}public plugin_cfg(){    //Open our vault and have g_Vault store the handle.    g_Vault = nvault_open( "gunxpmod" );     //Make the plugin error if vault did not successfully open    if ( g_Vault == INVALID_HANDLE )        set_fail_state( "Error opening GunXpMod nVault, file does not exist!" );}public plugin_end(){    //Close the vault when the plugin ends (map change\server shutdown\restart)    nvault_close( g_Vault );}public client_authorized(id){    g_remember_selection[id] = 0;       LoadLevel(id)}public client_disconnect(id){    SaveLevel(id)}public Message_StatusIcon(iMsgId, MSG_DEST, id){    if( !get_pcvar_num(p_Enabled) )        return PLUGIN_HANDLED;           static szIcon[5]    get_msg_arg_string(2, szIcon, 4)    if( szIcon[0] == 'b' && szIcon[2] == 'y' && szIcon[3] == 'z' )    {        if( get_msg_arg_int(1))        {            fm_cs_set_user_nobuy(id)            return PLUGIN_HANDLED;        }    }         return PLUGIN_CONTINUE;}public fwd_Touch(ent, id){    if (!is_user_connected(id) || !is_user_alive(id) || !pev_valid( ent ) )        return FMRES_IGNORED;     static szEntModel[32];    pev( ent , pev_model , szEntModel , 31 );         for (new level_equip_id = PlayerLevel[id] + 1; level_equip_id < MAXLEVEL; level_equip_id++)    {        if ( equali( szEntModel , WEAPONMDL[level_equip_id] ) )        {            return FMRES_SUPERCEDE;        }      }     return FMRES_IGNORED;}public fwd_PlayerSpawn(id){    if( !get_pcvar_num(p_Enabled) )        return;       if (is_user_alive(id))    {        g_kills[id] = 0               #if defined ZOMBIE_SWARM        if ( !get_pcvar_num(level_style) && get_user_team(id) == 2 )        {            StripPlayerWeapons(id);                       set_task(2.0, "show_main_menu_level", id)        }        #endif               #if defined NORMAL_MOD || defined ZOMBIE_INFECTION        if ( !get_pcvar_num(level_style))        {            StripPlayerWeapons(id);                       set_task(2.0, "show_main_menu_level", id)        }        #endif               if(!task_exists(TASK_SHOW_LEVEL + id) && get_pcvar_num(show_level_text))        {            set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)        }               if ( get_pcvar_num(level_style) )        {            set_task(0.3, "give_weapon", id);        }    }}#if defined ZOMBIE_BIOHAZARDpublic event_infect(g_victim, g_attacker){    if( !get_pcvar_num(p_Enabled) )        return;       new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)    new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)       if((1 <= g_attacker <= g_maxplayers))    {        if(g_victim != g_attacker)        {            g_kills[g_attacker]++;            if(PlayerLevel[g_attacker] < MAXLEVEL-1)            {                if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                {                       if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                    PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                {                       if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_triple                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                }                else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_ultra                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                }            }        }        check_level(g_attacker)    }}#endif #if defined ZOMBIE_PLAGUEpublic zp_user_infected_post(g_victim, g_attacker){    if( !get_pcvar_num(p_Enabled) )        return;       new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)    new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)       if((1 <= g_attacker <= g_maxplayers))    {        if(g_victim != g_attacker)        {            g_kills[g_attacker]++;            if(PlayerLevel[g_attacker] < MAXLEVEL-1)            {                if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                {                       if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                    PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                {                       if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_triple                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                }                else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_ultra                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                }            }        }        check_level(g_attacker)    }}#endif public event_deathmsg(){       if( !get_pcvar_num(p_Enabled) )        return;       new g_attacker = read_data(1);    new g_victim = read_data(2);       new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)    new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)       if((1 <= g_attacker <= g_maxplayers))    {        if(g_victim != g_attacker)        {            g_kills[g_attacker]++;            if(PlayerLevel[g_attacker] < MAXLEVEL-1)            {                if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                {                       if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                    PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                {                       if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_triple                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                }                else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_ultra                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                }            }        }        check_level(g_attacker)    }}public Event_StatusValue(id){    new target = read_data(2)    if(target != id && target != 0 && get_pcvar_num(p_Enabled))    {        static sName[32];        get_user_name(target, sName, 31)         set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 6.0, 0.0, 0.0, 2)        ShowSyncHudMsg(id, g_msgHudSync1, "%L", LANG_SERVER, "LEVEL_TEXT", sName, PlayerLevel[target], RANKLEVELS[PlayerLevel[target]])    }}public task_show_level(task){    new id = task - TASK_SHOW_LEVEL       if(!is_user_alive(id) && !get_pcvar_num(show_level_text) )        return PLUGIN_HANDLED;       set_hudmessage(255, 0, 0, 0.02, 0.33, 0, 0.0, 0.3, 0.0, 0.0)    ShowSyncHudMsg(id, g_msgHudSync1 , "%L", LANG_SERVER, "LEVEL_HUD_TEXT", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]], RANK[PlayerLevel[id]], RANKLEVELS[PlayerLevel[id]])       set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)            return PLUGIN_CONTINUE;}public showlevel(id){    if ( !get_pcvar_num(p_Enabled) && get_pcvar_num(show_level_text) )        return PLUGIN_HANDLED;       client_printcolor(id, "%L", LANG_SERVER, "LEVEL_TEXT2", PlayerLevel[id] , PlayerXp[id], LEVELS[PlayerLevel[id]]);    client_printcolor(id, "%L", LANG_SERVER, "LEVEL_TEXT3", RANK[PlayerLevel[id]], RANKLEVELS[PlayerLevel[id]]);       return PLUGIN_HANDLED;}public descriptionx(id){    new szMotd[2048], szTitle[64], iPos = 0    format(szTitle, 63, "Info")    iPos += format(szMotd[iPos], 2047-iPos, "<html><head><style type=^"text/css^">pre{color:#FFB000;}body{background:#000000;margin-left:8px;margin-top:0px;}</style></head><pre><body>")    iPos += format(szMotd[iPos], 2047-iPos, "^n^n<b>%s</b>^n^n", szTitle)    iPos += format(szMotd[iPos], 2047-iPos, "%L^n", LANG_SERVER, "DESCRIPTION")       iPos += format(szMotd[iPos], 2047-iPos, "%L", LANG_SERVER, "DESCRIPTION2")           show_motd(id, szMotd, szTitle)    return PLUGIN_HANDLED;}public check_level(id){    if(PlayerLevel[id] < MAXLEVEL-1 && get_pcvar_num(p_Enabled))    {        while(PlayerXp[id] >= LEVELS[PlayerLevel[id]])        {            PlayerLevel[id]++;                           if(is_user_alive(id))            {                   if ( get_pcvar_num(level_style) )                {                    give_weapon(id);                }                               new p_origin[3];                get_user_origin(id, p_origin, 0);                               set_sprite(p_origin, levelspr, 30)                set_sprite(p_origin, levelspr2, 30)            }            emit_sound(id, CHAN_ITEM, LevelUp, 1.0, ATTN_NORM, 0, PITCH_NORM);                       static name[32] ; get_user_name(id, name, charsmax(name));            client_printcolor(0, "%L", LANG_SERVER, "LEVEL_UP", name, PlayerLevel[id]);        }    }}// Main Menu Infopublic show_main_menu_info(id){    static menu[510], len;    len = 0;       new xKeys3 = MENU_KEY_0|MENU_KEY_1;     // Title    len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU_INFO")       len += formatex(menu[len], sizeof menu - 1 - len, "\r1. \w%L", id, "INFO")    if ( get_pcvar_num(show_rank) )    {        xKeys3 |= (MENU_KEY_2)               len += formatex(menu[len], sizeof menu - 1 - len, "^n\r2. \wTop 20^n")    }    else    {        len += formatex(menu[len], sizeof menu - 1 - len, "^n\d2. Top 20^n")    }       if(find_plugin_byfile("gunxpmod_shop.amxx") != INVALID_PLUGIN_ID)    {        xKeys3 |= (MENU_KEY_3)               len += formatex(menu[len], sizeof menu - 1 - len, "\r3. \w%L^n", id, "ITEM_LIST")        if ( is_user_alive(id) )        {            xKeys3 |= (MENU_KEY_4)                       len += formatex(menu[len], sizeof menu - 1 - len, "\r4. \w%L^n", id, "UNLOCKS_SHOP_TEXT")        }    }       len += formatex(menu[len], sizeof menu - 1 - len, "^n^n\r0.\w %L", id, "EXIT_MENU")     show_menu(id, xKeys3, menu, -1, "Main Menu")}public main_menu_info(id, key){    switch (key)    {        case 0:        {            show_main_menu_info(id)                       descriptionx(id)        }        case 1:        {            showtop20(id)                       show_main_menu_info(id)        }        case 2:        {            show_main_menu_info(id)                       if(callfunc_begin( "display_items","gunxpmod_shop.amxx") == 1)            {                callfunc_push_int( id );                callfunc_end();            }        }        case 3:        {            if(callfunc_begin("item_upgrades","gunxpmod_shop.amxx") == 1)            {                callfunc_push_int( id );                callfunc_end();            }        }        case 9:        {            return PLUGIN_HANDLED;        }    }     return PLUGIN_HANDLED;}// Main Menu Level Stylepublic show_main_menu_level(id){    if ( !is_user_alive(id) )        return;       set_task(9.0, "destroymenu", id);       static menu[510], len;    len = 0;       new xKeys2 = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2;     // Title    len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]])       len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "CHOOSE_TEXT")     len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "LAST_GUNS")    len += formatex(menu[len], sizeof menu - 1 - len, "^n^n\r0.\w %L", id, "EXIT_MENU")     show_menu(id, xKeys2, menu, -1, "Main Level Menu")}public main_menu_level(id, key){    if ( !is_user_alive(id) )        return PLUGIN_HANDLED;       switch (key)    {        case 0: // back        {            first_check_menu(id)        }        case 1: // next        {            give_weapon_menu(id, g_remember_selection[id]);        }        case 9: // exit        {            return PLUGIN_HANDLED;        }    }     return PLUGIN_HANDLED;}// Menu Level Stylepublic first_check_menu(id){    MENU_STARTID = 0    show_menu_level(id);}public show_menu_level(id){    if ( !is_user_alive(id) )        return;       static menu[510], len, class;    len = 0;       new xKeys = MENU_KEY_0;    new max = min(MENU_STARTID+7, sizeof (LEVELS));    new iPosNum = 0;       // Title    len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]])       // 1-7. Class List    for (class = MENU_STARTID; class < max; class++)    {        if ( PlayerLevel[id] < class)        {                len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "INACTIVE_MENU", ++iPosNum, RANK[class], class)        }        else        {            xKeys |= (1<<iPosNum++);             len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "ACTIVE_MENU", class-MENU_STARTID+1, RANK[class], class)        }    }    if ( MENU_STARTID != 0 && MENU_STARTID != 21 )    {           xKeys |= (1<<7)        xKeys |= (1<<8)               len += formatex(menu[len], sizeof menu - 1 - len, "^n\r8.\w %L^n\r9.\w %L^n^n\r0.\w %L", id, "BACK_MENU", id, "NEXT_MENU", id, "EXIT_MENU")    }    else if ( MENU_STARTID == 0 )    {        xKeys |= (1<<8)               len += formatex(menu[len], sizeof menu - 1 - len, "^n\r9.\w %L^n^n\r0.\w %L", id, "NEXT_MENU", id, "EXIT_MENU")    }     else if ( MENU_STARTID == 21 )    {           xKeys |= (1<<7)               len += formatex(menu[len], sizeof menu - 1 - len, "^n\r8.\w %L^n^n\r0.\w %L", id, "BACK_MENU", id, "EXIT_MENU")    }       show_menu(id, xKeys, menu, -1, "Level by Menu")}public destroymenu(id){    client_cmd(id, "slot10")    return PLUGIN_HANDLED}public menu_level(id, key){    if ( !is_user_alive(id) )        return PLUGIN_HANDLED;       if (key >= 7 || key-1 >= PlayerLevel[id])    {        switch (key)        {            case 7: // back            {                if (MENU_STARTID-7 >= 0) MENU_STARTID -= 7            }            case 8: // next            {                if (MENU_STARTID+7 < sizeof (LEVELS)) MENU_STARTID += 7            }            case 9: // exit            {                return PLUGIN_HANDLED;            }        }         show_menu_level(id)        return PLUGIN_HANDLED;    }    new selected = MENU_STARTID + key;     g_remember_selection[id] = selected;       give_weapon_menu(id, selected);       return PLUGIN_HANDLED;}public give_weapon_menu(id, selection){    #if defined ZOMBIE_SWARM    if(get_user_team(id) == 2 && is_user_alive(id) && get_pcvar_num(p_Enabled))    {        StripPlayerWeapons(id);               if ( get_pcvar_num(enable_grenades) )        {            give_item(id, "weapon_smokegrenade");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_hegrenade");        }        if (!user_has_weapon(id, AMMOCONST[selection]))        {            give_item(id, WEAPONCONST[selection]);        }        cs_set_user_bpammo(id, AMMOCONST[selection], AMMO2CONST[selection])    }    #endif       #if defined ZOMBIE_INFECTION || defined NORMAL_MOD    if(is_user_alive(id) && get_pcvar_num(p_Enabled))    {        StripPlayerWeapons(id);               if ( get_pcvar_num(enable_grenades) )        {            give_item(id, "weapon_smokegrenade");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_hegrenade");        }        if (!user_has_weapon(id, AMMOCONST[selection]))        {            give_item(id, WEAPONCONST[selection]);        }        cs_set_user_bpammo(id, AMMOCONST[selection], AMMO2CONST[selection])    }    #endif}public give_weapon(id){    #if defined ZOMBIE_SWARM    if(get_user_team(id) == 2 && is_user_alive(id) && get_pcvar_num(p_Enabled))    {        StripPlayerWeapons(id);               if ( get_pcvar_num(enable_grenades) && get_pcvar_num(level_style) )        {            give_item(id, "weapon_smokegrenade");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_hegrenade");        }               if (!user_has_weapon(id, AMMOCONST[PlayerLevel[id]]))        {            give_item(id, WEAPONCONST[PlayerLevel[id]]);        }        cs_set_user_bpammo(id, AMMOCONST[PlayerLevel[id]], AMMO2CONST[PlayerLevel[id]])    }    #endif       #if defined ZOMBIE_INFECTION || defined NORMAL_MOD    if(is_user_alive(id) && get_pcvar_num(p_Enabled))    {        StripPlayerWeapons(id);               if ( get_pcvar_num(enable_grenades) && get_pcvar_num(level_style) )        {            give_item(id, "weapon_smokegrenade");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_hegrenade");        }        if (!user_has_weapon(id, AMMOCONST[PlayerLevel[id]]))        {            give_item(id, WEAPONCONST[PlayerLevel[id]]);        }        cs_set_user_bpammo(id, AMMOCONST[PlayerLevel[id]], AMMO2CONST[PlayerLevel[id]])    }    #endif}public set_sprite(p_origin[3], sprite, radius){    // Explosion    message_begin(MSG_BROADCAST, SVC_TEMPENTITY, p_origin)    write_byte(TE_EXPLOSION)    write_coord(p_origin[0])    write_coord(p_origin[1])    write_coord(p_origin[2])    write_short(sprite)    write_byte(radius)    write_byte(15)    write_byte(4)    message_end()}//Shows Top 20public showtop20(id){    if( !get_pcvar_num(p_Enabled) && !get_pcvar_num(show_rank) )        return;       static Sort[33][2];    new players[32],num,count,index;    get_players(players,num);       for(new i = 0; i < num; i++)    {        index = players[i];        Sort[count][0] = index;        Sort[count][1] = PlayerXp[index];        count++;    }       SortCustom2D(Sort,count,"CompareXp");    new motd[1501],iLen;    iLen = formatex(motd, sizeof motd - 1,"<body bgcolor=#000000><font color=#98f5ff><pre>");    iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%s %-22.22s %3s^n", "#", "Name", "# Experience");       new y = clamp(count,0,20);    new name[32],kindex;       for(new x = 0; x < y; x++)    {        kindex = Sort[x][0];        get_user_name(kindex,name,sizeof name - 1);        iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%d %-22.22s %d^n", x + 1, name, Sort[x][1]);    }    iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"</body></font></pre>");    show_motd(id,motd, "GunXpMod Top 20");}public CompareXp(elem1[], elem2[]){    if(elem1[1] > elem2[1])        return -1;    else if(elem1[1] < elem2[1])        return 1;       return 0;}// Command to set player Levelpublic cmd_give_level(id, level, cid){    if(!cmd_access(id, level, cid, 3) || !get_pcvar_num(p_Enabled))    {        return PLUGIN_HANDLED;    }       new Arg1[64], Target    read_argv(1, Arg1, 63)    Target = cmd_target(id, Arg1, 0)       new iLevel[32], Value    read_argv(2, iLevel, 31)    Value = str_to_num(iLevel)       if(iLevel[0] == '-')    {        console_print(id, "You can't have a '-' in the value!")        return PLUGIN_HANDLED;    }       if(!Target)    {        console_print(id, "Target not found!")        return PLUGIN_HANDLED;    }       if(Value > MAXLEVEL-1)    {        console_print(id, "You can't set a more than %d!", MAXLEVEL-1)        return PLUGIN_HANDLED;    }       if(Value < 1)    {        console_print(id, "You can't set less than 1!")        return PLUGIN_HANDLED;    }       new AdminName[32]    get_user_name(id, AdminName, 31)           new TargetName[32]    get_user_name(Target, TargetName, 31)       PlayerLevel[Target] = Value - 1    PlayerXp[Target] = LEVELS[PlayerLevel[Target]]    check_level(Target)       client_printcolor(Target, "/gADMIN: /ctr%s /yhas set your level to /g%d", AdminName, Value)     return PLUGIN_HANDLED;}// Save Player InfoSaveLevel(id){    if ( get_pcvar_num(savexp) )    {        new authid[32]        get_user_authid(id, authid, 31)        new szData[256];        new szKey[64];               formatex( szKey , 63 , "%s-ID" , authid);        formatex( szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id] );           nvault_set( g_Vault , szKey , szData );    }    else    {        new authip[32]        get_user_ip(id,authip,31,1)        new szData[256];        new szKey[64];               formatex( szKey , 63 , "%s-IP" , authip );        formatex( szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id] );           nvault_set( g_Vault , szKey , szData );    }}// Load Player InfoLoadLevel(id){    if ( get_pcvar_num(savexp) )    {        new authid[32]        get_user_authid(id, authid, 31)        new szData[256];        new szKey[40];         formatex( szKey , 39 , "%s-ID" , authid );         formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])               nvault_get(g_Vault, szKey, szData, 255)         replace_all(szData , 255, "#", " ")        new xp[32], level[32]        parse(szData, level, 31, xp, 31)        PlayerLevel[id] = str_to_num(level)        PlayerXp[id] = str_to_num(xp)      }    else    {        new authip[32]        get_user_ip(id, authip, 31, 1)        new szData[256];        new szKey[40];         formatex( szKey , 39 , "%s-IP" , authip );         formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])               nvault_get(g_Vault, szKey, szData, 255)         replace_all(szData , 255, "#", " ")        new xp[32], level[32]        parse(szData, level, 31, xp, 31)        PlayerLevel[id] = str_to_num(level)        PlayerXp[id] = str_to_num(xp)    }}// ============================================================////                          [~ Natives ~]                      //// ============================================================//// Native: get_user_xppublic native_get_user_xp(id){    return PlayerXp[id];}// Native: set_user_xppublic native_set_user_xp(id, amount){    PlayerXp[id] = amount;}// Native: get_user_levelpublic native_get_user_level(id){    return PlayerLevel[id];}// Native: set_user_xppublic native_set_user_level(id, amount){    PlayerLevel[id] = amount;}// Native: Gets user level by Xppublic native_get_user_max_level(id){    return LEVELS[PlayerLevel[id]];}// ============================================================////                          [~ Stocks ~]                       //// ============================================================//stock client_printcolor(const id, const input[], any:...){    new count = 1, players[32];    static msg[191];    vformat(msg,190,input,3);    replace_all(msg,190,"/g","^4");// green txt    replace_all(msg,190,"/y","^1");// orange txt    replace_all(msg,190,"/ctr","^3");// team txt    replace_all(msg,190,"/w","^0");// team txt    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, SayTxT, _, players[i]);            write_byte(players[i]);            write_string(msg);            message_end();        }}   public StripPlayerWeapons(id){    strip_user_weapons(id)    set_pdata_int(id, OFFSET_PRIMARYWEAPON, 0)    give_item(id, "weapon_knife");}

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: Pagalbos.

Post by ArtHa123 »

If you are running other mods, then find this lines(in gunxpmod.cfg ( scripting folder )) and edit :

Code: Select all

//#define NORMAL_MOD - Normal mod,means simple cs style without other mods.//#define ZOMBIE_SWARM - Uncomment it if you are using Zombie Swarm and comment other.#define ZOMBIE_INFECTION - Uncomment it if you are using Zombie Infection style mods and comment other.   
Jai nepadeda, bandyk -->

Code: Select all

    #if defined ZOMBIE_BIOHAZARD      #include <biohazard>    #endif    #if defined ZOMBIE_PLAGUE      #include <zombieplague>    #endif         #include <amxmodx>    #include <amxmisc>    #include <fakemeta>    #include <fun>    #include <cstrike>    #include <nvault>    #include <hamsandwich>         #define PLUGIN  "Gun Xp Mod"    #define AUTHOR  "xbatista"    #define VERSION "1.7"         #define NORMAL_MOD    #define ZOMBIE_SWARM    #define ZOMBIE_INFECTION         #define ZOMBIE_BIOHAZARD    //#define ZOMBIE_PLAGUE              #define ADMIN_EXTRA ADMIN_LEVEL_H    #define MAXLEVEL 24         #define OFFSET_PRIMARYWEAPON 116    #define MENU_STARTID g_menu_data[id][2]    const KEYSMENU = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)    #define TASK_SHOW_LEVEL 10113    #define fm_cs_set_user_nobuy(%1) set_pdata_int(%1, 235, get_pdata_int(%1, 235) & ~(1<<0) ) //no weapon buy         new PlayerXp[33];    new PlayerLevel[33];         new g_Vault;    new g_kills[33];    new g_menu_data[33][8];    new g_remember_selection[33];    new g_maxplayers, g_msgHudSync1, SayTxT, enable_grenades;    new levelspr, levelspr2, show_level_text, show_rank;    new savexp , xp_kill, xp_triple, enable_triple, triple_kills, xp_ultra, ultra_kills, enable_ultra, p_Enabled, level_style;    new enable_admin_xp, admin_xp;         new const LevelUp[] = "umbrella/levelup.wav";                                                               //mac10//    new const LEVELS[MAXLEVEL] = { 90, 180, 300, 450, 700, 1200, 1800, 2800,    4100, 5200, 6000, 6800, 8200, 10200, 12000, 15000, 17500, 20500, 25500, //<-aug//    29000, 35000, 46000, 58000, 150000    }; // Levels         new const RANKLEVELS[MAXLEVEL][] = { "Beginner", "Beginner", "Beginner", "Beginner", "Beginner", "Slayer", "Slayer", "Slayer",    "Hunter", "Hunter", "Hunter", "Hunter", "Assassin", "Assassin", "Hero", "Hero", "Hero", "War Lord", "War Lord",    "Supernatural", "Supernatural", "Supernatural", "Umbrella Soldier", "Umbrella Soldier"    }; // Rank Levels         new const RANK[MAXLEVEL][] = { "Glock 18C", "USP .45 ACP Tactical", "P228 Compact", "FiveseveN", "Desert Eagle .50 AE", "Dual Elite Berettas",    "Schmidt TMP", "Ingram MAC-10", "UMP 45", "MP5 Navy", "ES P90", "Scout", "AWP Magnum Sniper", "Famas", "IMI Galil", "M3 Super 90", "XM1014 M4",    "AK-47", "M4A1 Carbine", "Steyr AUG A1", "SG-552 Commando", "SG-550 Auto-Sniper", "G3SG1 Auto-Sniper", "M249 Para Machinegun"    }; // Weapon Name Ranks         new const WEAPONCONST[MAXLEVEL][] = { "weapon_glock18", "weapon_usp", "weapon_p228", "weapon_fiveseven", "weapon_deagle", "weapon_elite", "weapon_tmp",    "weapon_mac10", "weapon_ump45", "weapon_mp5navy", "weapon_p90", "weapon_scout", "weapon_awp", "weapon_famas", "weapon_galil", "weapon_m3", "weapon_xm1014",    "weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_sg552", "weapon_sg550", "weapon_g3sg1", "weapon_m249"    }; // Give Weapons         new const WEAPONMDL[MAXLEVEL][] = { "models/w_glock18.mdl", "models/w_usp.mdl", "models/w_p228.mdl", "models/w_fiveseven.mdl", "models/w_deagle.mdl", "models/w_elite.mdl", "models/w_tmp.mdl",    "models/w_mac10.mdl", "models/w_ump45.mdl", "models/w_mp5.mdl", "models/w_p90.mdl", "models/w_scout.mdl", "models/w_awp.mdl", "models/w_famas.mdl", "models/w_galil.mdl", "models/w_m3.mdl", "models/w_xm1014.mdl",    "models/w_ak47.mdl", "models/w_m4a1.mdl", "models/w_aug.mdl", "models/w_sg552.mdl", "models/w_sg550.mdl", "models/w_g3sg1.mdl", "models/w_m249.mdl"    }; // Blocks pick up weapon, that is not model replacement!!!         new const AMMOCONST[MAXLEVEL] = { 17, 16, 1, 11, 26, 10, 23, 7, 12, 19, 30, 3, 18,    15, 14, 21, 5, 28, 22, 8, 27, 13, 24, 20    }; // Weapons ID(CSW)         new const AMMO2CONST[MAXLEVEL] = { 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 90,    400, 400, 80, 80, 400, 400, 400, 400, 200, 200, 400    }; // Weapons Ammo         /*================================================================================                            [Plugin natives,precache,init]    =================================================================================*/    public plugin_init()    {        register_plugin(PLUGIN, VERSION, AUTHOR);        register_cvar("gxm_version", VERSION, FCVAR_SPONLY|FCVAR_SERVER)        set_cvar_string("gxm_version", VERSION)               register_concmd("set_level", "cmd_give_level", ADMIN_RCON, " <name> <amount>" );        register_clcmd("say level", "showlevel");        register_clcmd("say /level", "showlevel");        register_clcmd("say /top20","showtop20");        register_clcmd("say /menu","show_main_menu_info");        register_clcmd("say menu","show_main_menu_info");               p_Enabled = register_cvar( "gxm_enable", "1" ); // Plugin enabled? 1 = Yes, 0 = No.        xp_kill = register_cvar("gxm_xp","5"); // How much xp gain if you killed someone?        savexp = register_cvar("gxm_save","0"); // Save Xp by : 1 = SteamID, 0 = IP.        show_level_text = register_cvar("gxm_level_text","1"); // Show your level by : 1 = HUD message, 0 = Simple colored text message.        show_rank = register_cvar("gxm_show_rank","1"); // Show rank in /top20? 1 = Yes, 0 = No.        level_style = register_cvar("gxm_level_style","0"); // You will gain each level new gun : 1 = Yes, 0 = No,select your gun by menu.        enable_grenades = register_cvar("gxm_grenades","1"); // Give to player grenades? 1 = Yes, 0 = No.               enable_triple = register_cvar("gxm_triple","1"); // Enable Triple Kill bonus xp? 1 = Yes, 0 = No.        xp_triple = register_cvar("gxm_triple_xp","15"); // How much bonus xp give for Triple Kill?        triple_kills = register_cvar("gxm_triple_kills","3"); // How much kills needed to give bonus xp?        enable_ultra = register_cvar("gxm_ultra","1"); // Enable Ultra Kill bonus xp? 1 = Yes, 0 = No.        xp_ultra = register_cvar("gxm_ultra_xp","25"); // How much bonus xp give for Ultra Kill?        ultra_kills = register_cvar("gxm_ultra_kills","6"); // How much kills needed to give bonus xp?               enable_admin_xp = register_cvar("gxm_admin_xp","1"); // Enable Extra xp for killing? 1 = Yes, 0 = No.        admin_xp = register_cvar("gxm_extra_xp","5"); // How much extra xp give to admins?                        // Events //        register_event("DeathMsg", "event_deathmsg", "a");        register_event("StatusValue", "Event_StatusValue", "bd", "1=2")                        // Forwards //        RegisterHam(Ham_Spawn, "player", "fwd_PlayerSpawn", 1);               register_forward(FM_Touch, "fwd_Touch");                        // Messages //        #if defined NORMAL_MOD || defined ZOMBIE_SWARM        register_message(get_user_msgid("StatusIcon"),  "Message_StatusIcon")        #endif                               // Other //        register_menu("Level by Menu", KEYSMENU, "menu_level")        register_menu("Main Level Menu", KEYSMENU, "main_menu_level")        register_menucmd(register_menuid("Main Menu"), 8, "main_menu_info")               register_dictionary("gunxpmod.txt");                               SayTxT = get_user_msgid("SayText");               g_msgHudSync1 = CreateHudSyncObj()        g_maxplayers = get_maxplayers();    }    public plugin_natives()    {                        // Player natives //        register_native("get_user_xp", "native_get_user_xp", 1);        register_native("set_user_xp", "native_set_user_xp", 1);        register_native("get_user_level", "native_get_user_level", 1);        register_native("set_user_level", "native_set_user_level", 1);        register_native("get_user_max_level", "native_get_user_max_level", 1);    }    public plugin_precache()    {        levelspr = engfunc(EngFunc_PrecacheModel, "sprites/xfire.spr");        levelspr2 = engfunc(EngFunc_PrecacheModel, "sprites/xfire2.spr");               engfunc(EngFunc_PrecacheSound, LevelUp);    }    public plugin_cfg()    {        //Open our vault and have g_Vault store the handle.        g_Vault = nvault_open( "gunxpmod" );             //Make the plugin error if vault did not successfully open        if ( g_Vault == INVALID_HANDLE )            set_fail_state( "Error opening GunXpMod nVault, file does not exist!" );    }    public plugin_end()    {        //Close the vault when the plugin ends (map change\server shutdown\restart)        nvault_close( g_Vault );    }    public client_authorized(id)    {        g_remember_selection[id] = 0;               LoadLevel(id)    }    public client_disconnect(id)    {        SaveLevel(id)    }    public Message_StatusIcon(iMsgId, MSG_DEST, id)    {        if( !get_pcvar_num(p_Enabled) )            return PLUGIN_HANDLED;                   static szIcon[5]        get_msg_arg_string(2, szIcon, 4)        if( szIcon[0] == 'b' && szIcon[2] == 'y' && szIcon[3] == 'z' )        {            if( get_msg_arg_int(1))            {                fm_cs_set_user_nobuy(id)                return PLUGIN_HANDLED;            }        }                 return PLUGIN_CONTINUE;    }    public fwd_Touch(ent, id)    {        if (!is_user_connected(id) || !is_user_alive(id) || !pev_valid( ent ) )            return FMRES_IGNORED;             static szEntModel[32];        pev( ent , pev_model , szEntModel , 31 );                 for (new level_equip_id = PlayerLevel[id] + 1; level_equip_id < MAXLEVEL; level_equip_id++)        {            if ( equali( szEntModel , WEAPONMDL[level_equip_id] ) )            {                return FMRES_SUPERCEDE;            }          }             return FMRES_IGNORED;    }    public fwd_PlayerSpawn(id)    {        if( !get_pcvar_num(p_Enabled) )            return;               if (is_user_alive(id))        {            g_kills[id] = 0                       #if defined ZOMBIE_SWARM            if ( !get_pcvar_num(level_style) && get_user_team(id) == 2 )            {                StripPlayerWeapons(id);                               set_task(2.0, "show_main_menu_level", id)            }            #endif                       #if defined NORMAL_MOD || defined ZOMBIE_INFECTION            if ( !get_pcvar_num(level_style))            {                StripPlayerWeapons(id);                               set_task(2.0, "show_main_menu_level", id)            }            #endif                       if(!task_exists(TASK_SHOW_LEVEL + id) && get_pcvar_num(show_level_text))            {                set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)            }                       if ( get_pcvar_num(level_style) )            {                set_task(0.3, "give_weapon", id);            }        }    }    #if defined ZOMBIE_BIOHAZARD    public event_infect(g_victim, g_attacker)    {        if( !get_pcvar_num(p_Enabled) )            return;               new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)        new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)               if((1 <= g_attacker <= g_maxplayers))        {            if(g_victim != g_attacker)            {                g_kills[g_attacker]++;                if(PlayerLevel[g_attacker] < MAXLEVEL-1)                {                    if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                    || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                    {                          if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                        PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                           set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                    }                    else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                    {                        if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                           set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                    }                    if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                    {                          if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += counted_triple                                               set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                    }                    else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                    {                        if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += counted_ultra                                               set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                    }                }            }            check_level(g_attacker)        }    }    #endif         #if defined ZOMBIE_PLAGUE    public zp_user_infected_post(g_victim, g_attacker)    {        if( !get_pcvar_num(p_Enabled) )            return;               new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)        new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)               if((1 <= g_attacker <= g_maxplayers))        {            if(g_victim != g_attacker)            {                g_kills[g_attacker]++;                if(PlayerLevel[g_attacker] < MAXLEVEL-1)                {                    if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                    || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                    {                          if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                        PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                           set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                    }                    else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                    {                        if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                           set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                    }                    if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                    {                          if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += counted_triple                                               set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                    }                    else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                    {                        if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += counted_ultra                                               set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                    }                }            }            check_level(g_attacker)        }    }    #endif         public event_deathmsg()    {          if( !get_pcvar_num(p_Enabled) )            return;               new g_attacker = read_data(1);        new g_victim = read_data(2);               new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)        new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)               if((1 <= g_attacker <= g_maxplayers))        {            if(g_victim != g_attacker)            {                g_kills[g_attacker]++;                if(PlayerLevel[g_attacker] < MAXLEVEL-1)                {                    if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                    || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                    {                          if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                        PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                           set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                    }                    else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                    {                        if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                           set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                    }                    if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                    {                          if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += counted_triple                                               set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                    }                    else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                    {                        if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                        {                            PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                        }                                               PlayerXp[g_attacker] += counted_ultra                                               set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                        ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                    }                }            }            check_level(g_attacker)        }    }    public Event_StatusValue(id)    {        new target = read_data(2)        if(target != id && target != 0 && get_pcvar_num(p_Enabled))        {            static sName[32];            get_user_name(target, sName, 31)                 set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 6.0, 0.0, 0.0, 2)            ShowSyncHudMsg(id, g_msgHudSync1, "%L", LANG_SERVER, "LEVEL_TEXT", sName, PlayerLevel[target], RANKLEVELS[PlayerLevel[target]])        }    }    public task_show_level(task)    {        new id = task - TASK_SHOW_LEVEL               if(!is_user_alive(id) && !get_pcvar_num(show_level_text) )            return PLUGIN_HANDLED;               set_hudmessage(255, 0, 0, 0.02, 0.33, 0, 0.0, 0.3, 0.0, 0.0)        ShowSyncHudMsg(id, g_msgHudSync1 , "%L", LANG_SERVER, "LEVEL_HUD_TEXT", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]], RANK[PlayerLevel[id]], RANKLEVELS[PlayerLevel[id]])               set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)                   return PLUGIN_CONTINUE;    }    public showlevel(id)    {        if ( !get_pcvar_num(p_Enabled) && get_pcvar_num(show_level_text) )            return PLUGIN_HANDLED;               client_printcolor(id, "%L", LANG_SERVER, "LEVEL_TEXT2", PlayerLevel[id] , PlayerXp[id], LEVELS[PlayerLevel[id]]);        client_printcolor(id, "%L", LANG_SERVER, "LEVEL_TEXT3", RANK[PlayerLevel[id]], RANKLEVELS[PlayerLevel[id]]);               return PLUGIN_HANDLED;    }    public descriptionx(id)    {        new szMotd[2048], szTitle[64], iPos = 0        format(szTitle, 63, "Info")        iPos += format(szMotd[iPos], 2047-iPos, "<html><head><style type=^"text/css^">pre{color:#FFB000;}body{background:#000000;margin-left:8px;margin-top:0px;}</style></head><pre><body>")        iPos += format(szMotd[iPos], 2047-iPos, "^n^n<b>%s</b>^n^n", szTitle)        iPos += format(szMotd[iPos], 2047-iPos, "%L^n", LANG_SERVER, "DESCRIPTION")               iPos += format(szMotd[iPos], 2047-iPos, "%L", LANG_SERVER, "DESCRIPTION2")                   show_motd(id, szMotd, szTitle)        return PLUGIN_HANDLED;    }    public check_level(id)    {        if(PlayerLevel[id] < MAXLEVEL-1 && get_pcvar_num(p_Enabled))        {            while(PlayerXp[id] >= LEVELS[PlayerLevel[id]])            {                PlayerLevel[id]++;                                   if(is_user_alive(id))                {                      if ( get_pcvar_num(level_style) )                    {                        give_weapon(id);                    }                                       new p_origin[3];                    get_user_origin(id, p_origin, 0);                                       set_sprite(p_origin, levelspr, 30)                    set_sprite(p_origin, levelspr2, 30)                }                emit_sound(id, CHAN_ITEM, LevelUp, 1.0, ATTN_NORM, 0, PITCH_NORM);                               static name[32] ; get_user_name(id, name, charsmax(name));                client_printcolor(0, "%L", LANG_SERVER, "LEVEL_UP", name, PlayerLevel[id]);            }        }    }    // Main Menu Info    public show_main_menu_info(id)    {        static menu[510], len;        len = 0;               new xKeys3 = MENU_KEY_0|MENU_KEY_1;             // Title        len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU_INFO")               len += formatex(menu[len], sizeof menu - 1 - len, "\r1. \w%L", id, "INFO")        if ( get_pcvar_num(show_rank) )        {            xKeys3 |= (MENU_KEY_2)                       len += formatex(menu[len], sizeof menu - 1 - len, "^n\r2. \wTop 20^n")        }        else        {            len += formatex(menu[len], sizeof menu - 1 - len, "^n\d2. Top 20^n")        }               if(find_plugin_byfile("gunxpmod_shop.amxx") != INVALID_PLUGIN_ID)        {            xKeys3 |= (MENU_KEY_3)                       len += formatex(menu[len], sizeof menu - 1 - len, "\r3. \w%L^n", id, "ITEM_LIST")            if ( is_user_alive(id) )            {                xKeys3 |= (MENU_KEY_4)                               len += formatex(menu[len], sizeof menu - 1 - len, "\r4. \w%L^n", id, "UNLOCKS_SHOP_TEXT")            }        }               len += formatex(menu[len], sizeof menu - 1 - len, "^n^n\r0.\w %L", id, "EXIT_MENU")             show_menu(id, xKeys3, menu, -1, "Main Menu")    }    public main_menu_info(id, key)    {        switch (key)        {            case 0:            {                show_main_menu_info(id)                               descriptionx(id)            }            case 1:            {                showtop20(id)                               show_main_menu_info(id)            }            case 2:            {                show_main_menu_info(id)                               if(callfunc_begin( "display_items","gunxpmod_shop.amxx") == 1)                {                    callfunc_push_int( id );                    callfunc_end();                }            }            case 3:            {                if(callfunc_begin("item_upgrades","gunxpmod_shop.amxx") == 1)                {                    callfunc_push_int( id );                    callfunc_end();                }            }            case 9:            {                return PLUGIN_HANDLED;            }        }             return PLUGIN_HANDLED;    }    // Main Menu Level Style    public show_main_menu_level(id)    {        if ( !is_user_alive(id) )            return;               set_task(9.0, "destroymenu", id);               static menu[510], len;        len = 0;               new xKeys2 = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2;             // Title        len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]])               len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "CHOOSE_TEXT")             len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "LAST_GUNS")        len += formatex(menu[len], sizeof menu - 1 - len, "^n^n\r0.\w %L", id, "EXIT_MENU")             show_menu(id, xKeys2, menu, -1, "Main Level Menu")    }    public main_menu_level(id, key)    {        if ( !is_user_alive(id) )            return PLUGIN_HANDLED;               switch (key)        {            case 0: // back            {                first_check_menu(id)            }            case 1: // next            {                give_weapon_menu(id, g_remember_selection[id]);            }            case 9: // exit            {                return PLUGIN_HANDLED;            }        }             return PLUGIN_HANDLED;    }    // Menu Level Style    public first_check_menu(id)    {        MENU_STARTID = 0        show_menu_level(id);    }    public show_menu_level(id)    {        if ( !is_user_alive(id) )            return;               static menu[510], len, class;        len = 0;               new xKeys = MENU_KEY_0;        new max = min(MENU_STARTID+7, sizeof (LEVELS));        new iPosNum = 0;               // Title        len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]])               // 1-7. Class List        for (class = MENU_STARTID; class < max; class++)        {            if ( PlayerLevel[id] < class)            {                    len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "INACTIVE_MENU", ++iPosNum, RANK[class], class)            }            else            {                xKeys |= (1<<iPosNum++);                     len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "ACTIVE_MENU", class-MENU_STARTID+1, RANK[class], class)            }        }        if ( MENU_STARTID != 0 && MENU_STARTID != 21 )        {              xKeys |= (1<<7)            xKeys |= (1<<8)                       len += formatex(menu[len], sizeof menu - 1 - len, "^n\r8.\w %L^n\r9.\w %L^n^n\r0.\w %L", id, "BACK_MENU", id, "NEXT_MENU", id, "EXIT_MENU")        }        else if ( MENU_STARTID == 0 )        {            xKeys |= (1<<8)                       len += formatex(menu[len], sizeof menu - 1 - len, "^n\r9.\w %L^n^n\r0.\w %L", id, "NEXT_MENU", id, "EXIT_MENU")        }             else if ( MENU_STARTID == 21 )        {              xKeys |= (1<<7)                       len += formatex(menu[len], sizeof menu - 1 - len, "^n\r8.\w %L^n^n\r0.\w %L", id, "BACK_MENU", id, "EXIT_MENU")        }               show_menu(id, xKeys, menu, -1, "Level by Menu")    }    public destroymenu(id)    {        client_cmd(id, "slot10")        return PLUGIN_HANDLED    }    public menu_level(id, key)    {        if ( !is_user_alive(id) )            return PLUGIN_HANDLED;               if (key >= 7 || key-1 >= PlayerLevel[id])        {            switch (key)            {                case 7: // back                {                    if (MENU_STARTID-7 >= 0) MENU_STARTID -= 7                }                case 8: // next                {                    if (MENU_STARTID+7 < sizeof (LEVELS)) MENU_STARTID += 7                }                case 9: // exit                {                    return PLUGIN_HANDLED;                }            }                 show_menu_level(id)            return PLUGIN_HANDLED;        }        new selected = MENU_STARTID + key;             g_remember_selection[id] = selected;               give_weapon_menu(id, selected);               return PLUGIN_HANDLED;    }    public give_weapon_menu(id, selection)    {        #if defined ZOMBIE_SWARM        if(get_user_team(id) == 2 && is_user_alive(id) && get_pcvar_num(p_Enabled))        {            StripPlayerWeapons(id);                       if ( get_pcvar_num(enable_grenades) )            {                if(cs_get_user_team(id) == CS_TEAM_CT)                {                    give_item(id, "weapon_smokegrenade");                    give_item(id, "weapon_flashbang");                    give_item(id, "weapon_flashbang");                    give_item(id, "weapon_hegrenade");                }            }            if (!user_has_weapon(id, AMMOCONST[selection]))            {                give_item(id, WEAPONCONST[selection]);            }            cs_set_user_bpammo(id, AMMOCONST[selection], AMMO2CONST[selection])        }        #endif               #if defined ZOMBIE_INFECTION || defined NORMAL_MOD        if(is_user_alive(id) && get_pcvar_num(p_Enabled))        {            StripPlayerWeapons(id);                       if ( get_pcvar_num(enable_grenades) )            {                if(cs_get_user_team(id) == CS_TEAM_CT)                 {                    give_item(id, "weapon_smokegrenade");                    give_item(id, "weapon_flashbang");                    give_item(id, "weapon_flashbang");                    give_item(id, "weapon_hegrenade");                }            }            if (!user_has_weapon(id, AMMOCONST[selection]))            {                give_item(id, WEAPONCONST[selection]);            }            cs_set_user_bpammo(id, AMMOCONST[selection], AMMO2CONST[selection])        }        #endif    }    public give_weapon(id)    {        #if defined ZOMBIE_SWARM        if(get_user_team(id) == 2 && is_user_alive(id) && get_pcvar_num(p_Enabled))        {            StripPlayerWeapons(id);                       if ( get_pcvar_num(enable_grenades) && get_pcvar_num(level_style) )            {                if(cs_get_user_team(id) == CS_TEAM_CT)                 {                    give_item(id, "weapon_smokegrenade");                    give_item(id, "weapon_flashbang");                    give_item(id, "weapon_flashbang");                    give_item(id, "weapon_hegrenade");                }            }                       if (!user_has_weapon(id, AMMOCONST[PlayerLevel[id]]))            {                give_item(id, WEAPONCONST[PlayerLevel[id]]);            }            cs_set_user_bpammo(id, AMMOCONST[PlayerLevel[id]], AMMO2CONST[PlayerLevel[id]])        }        #endif               #if defined ZOMBIE_INFECTION || defined NORMAL_MOD        if(is_user_alive(id) && get_pcvar_num(p_Enabled))        {            StripPlayerWeapons(id);                       if ( get_pcvar_num(enable_grenades) && get_pcvar_num(level_style) )            {                if(cs_get_user_team(id) == CS_TEAM_CT)                 {                    give_item(id, "weapon_smokegrenade");                    give_item(id, "weapon_flashbang");                    give_item(id, "weapon_flashbang");                    give_item(id, "weapon_hegrenade");                }            }            if (!user_has_weapon(id, AMMOCONST[PlayerLevel[id]]))            {                give_item(id, WEAPONCONST[PlayerLevel[id]]);            }            cs_set_user_bpammo(id, AMMOCONST[PlayerLevel[id]], AMMO2CONST[PlayerLevel[id]])        }        #endif    }    public set_sprite(p_origin[3], sprite, radius)    {        // Explosion        message_begin(MSG_BROADCAST, SVC_TEMPENTITY, p_origin)        write_byte(TE_EXPLOSION)        write_coord(p_origin[0])        write_coord(p_origin[1])        write_coord(p_origin[2])        write_short(sprite)        write_byte(radius)        write_byte(15)        write_byte(4)        message_end()    }    //Shows Top 20    public showtop20(id)    {        if( !get_pcvar_num(p_Enabled) && !get_pcvar_num(show_rank) )            return;               static Sort[33][2];        new players[32],num,count,index;        get_players(players,num);               for(new i = 0; i < num; i++)        {            index = players[i];            Sort[count][0] = index;            Sort[count][1] = PlayerXp[index];            count++;        }               SortCustom2D(Sort,count,"CompareXp");        new motd[1501],iLen;        iLen = formatex(motd, sizeof motd - 1,"<body bgcolor=#000000><font color=#98f5ff><pre>");        iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%s %-22.22s %3s^n", "#", "Name", "# Experience");               new y = clamp(count,0,20);        new name[32],kindex;               for(new x = 0; x < y; x++)        {            kindex = Sort[x][0];            get_user_name(kindex,name,sizeof name - 1);            iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%d %-22.22s %d^n", x + 1, name, Sort[x][1]);        }        iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"</body></font></pre>");        show_motd(id,motd, "GunXpMod Top 20");    }    public CompareXp(elem1[], elem2[])    {        if(elem1[1] > elem2[1])            return -1;        else if(elem1[1] < elem2[1])            return 1;               return 0;    }    // Command to set player Level    public cmd_give_level(id, level, cid)    {        if(!cmd_access(id, level, cid, 3) || !get_pcvar_num(p_Enabled))        {            return PLUGIN_HANDLED;        }               new Arg1[64], Target        read_argv(1, Arg1, 63)        Target = cmd_target(id, Arg1, 0)               new iLevel[32], Value        read_argv(2, iLevel, 31)        Value = str_to_num(iLevel)               if(iLevel[0] == '-')        {            console_print(id, "You can't have a '-' in the value!")            return PLUGIN_HANDLED;        }               if(!Target)        {            console_print(id, "Target not found!")            return PLUGIN_HANDLED;        }               if(Value > MAXLEVEL-1)        {            console_print(id, "You can't set a more than %d!", MAXLEVEL-1)            return PLUGIN_HANDLED;        }               if(Value < 1)        {            console_print(id, "You can't set less than 1!")            return PLUGIN_HANDLED;        }               new AdminName[32]        get_user_name(id, AdminName, 31)                   new TargetName[32]        get_user_name(Target, TargetName, 31)               PlayerLevel[Target] = Value - 1        PlayerXp[Target] = LEVELS[PlayerLevel[Target]]        check_level(Target)               client_printcolor(Target, "/gADMIN: /ctr%s /yhas set your level to /g%d", AdminName, Value)             return PLUGIN_HANDLED;    }    // Save Player Info    SaveLevel(id)    {        if ( get_pcvar_num(savexp) )        {            new authid[32]            get_user_authid(id, authid, 31)            new szData[256];            new szKey[64];                       formatex( szKey , 63 , "%s-ID" , authid);            formatex( szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id] );                   nvault_set( g_Vault , szKey , szData );        }        else        {            new authip[32]            get_user_ip(id,authip,31,1)            new szData[256];            new szKey[64];                       formatex( szKey , 63 , "%s-IP" , authip );            formatex( szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id] );                   nvault_set( g_Vault , szKey , szData );        }    }    // Load Player Info    LoadLevel(id)    {        if ( get_pcvar_num(savexp) )        {            new authid[32]            get_user_authid(id, authid, 31)            new szData[256];            new szKey[40];                 formatex( szKey , 39 , "%s-ID" , authid );                 formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])                       nvault_get(g_Vault, szKey, szData, 255)                 replace_all(szData , 255, "#", " ")            new xp[32], level[32]            parse(szData, level, 31, xp, 31)            PlayerLevel[id] = str_to_num(level)            PlayerXp[id] = str_to_num(xp)          }        else        {            new authip[32]            get_user_ip(id, authip, 31, 1)            new szData[256];            new szKey[40];                 formatex( szKey , 39 , "%s-IP" , authip );                 formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])                       nvault_get(g_Vault, szKey, szData, 255)                 replace_all(szData , 255, "#", " ")            new xp[32], level[32]            parse(szData, level, 31, xp, 31)            PlayerLevel[id] = str_to_num(level)            PlayerXp[id] = str_to_num(xp)        }    }    // ============================================================//    //                          [~ Natives ~]                      //    // ============================================================//    // Native: get_user_xp    public native_get_user_xp(id)    {        return PlayerXp[id];    }    // Native: set_user_xp    public native_set_user_xp(id, amount)    {        PlayerXp[id] = amount;    }    // Native: get_user_level    public native_get_user_level(id)    {        return PlayerLevel[id];    }    // Native: set_user_xp    public native_set_user_level(id, amount)    {        PlayerLevel[id] = amount;    }    // Native: Gets user level by Xp    public native_get_user_max_level(id)    {        return LEVELS[PlayerLevel[id]];    }    // ============================================================//    //                          [~ Stocks ~]                       //    // ============================================================//    stock client_printcolor(const id, const input[], any:...)    {        new count = 1, players[32];        static msg[191];        vformat(msg,190,input,3);        replace_all(msg,190,"/g","^4");// green txt        replace_all(msg,190,"/y","^1");// orange txt        replace_all(msg,190,"/ctr","^3");// team txt        replace_all(msg,190,"/w","^0");// team txt        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, SayTxT, _, players[i]);                write_byte(players[i]);                write_string(msg);                message_end();            }    }      public StripPlayerWeapons(id)    {        strip_user_weapons(id)        set_pdata_int(id, OFFSET_PRIMARYWEAPON, 0)        give_item(id, "weapon_knife");    }
Image

User avatar
artiom555
Jau po truputį tampa savu
Posts: 112
Joined: 2014 Apr 23 21:55
Skype: artem.sharkovic
Contact:

Re: Pagalbos.

Post by artiom555 »

Na Artha labai tau aciu 2 variantas padejo ;) :happy2:

-- 2014 Spa 18 14:53 --

Arba nevisai padejo tu tesiog isjungei granatas , o man reikejo kad tik zombiems nedavinetu tu granatu nes dbr nei zombiams neduoda nei human :( px tiks zdz :)

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: Pagalbos.

Post by ArtHa123 »

ZM team == T, aš tiesiog atlikau tikrinimą ar team == CT
Image

User avatar
artiom555
Jau po truputį tampa savu
Posts: 112
Joined: 2014 Apr 23 21:55
Skype: artem.sharkovic
Contact:

Re: Pagalbos.

Post by artiom555 »

sueis krc :D

DYaGesS
Flooderis arba specialistas
Posts: 875
Joined: 2013 Jan 16 01:01
Skype: usercs.com
Contact:

Re: Pagalbos.

Post by DYaGesS »

Klysti :). Nebūtinai Zm T, juos tik taip rodo per tab, kad jie T, o žmonės CT (bent jau man taip atrodo)

-- 2014 Spa 18 17:43 --

Klysti :). Nebūtinai Zm T, juos tik taip rodo per tab, kad jie T, o žmonės CT (bent jau man taip atrodo)
Padėjau? +rep

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: Pagalbos.

Post by ArtHa123 »

Kiek aš žiūrėjau ZM, tai pvz. Umbrella Swarm'e ZM būna teroristai, na ne esmė, jai pasakė, kad gerai, vadinasi good.:D
Image

User avatar
MPD
Gana aktyvus vartotojas
Posts: 309
Joined: 2011 Jul 08 07:24
Location: Kaunas

Re: Pagalbos.

Post by MPD »

Netestavau bet manau, kad veiks. Jei ne, tai vėliau dar syk peržvelgsiu.
Paprasčiausiai dariau taską, kad po 10 sekundžių nuo round pradžios užskaitytų jog zombie mod prasidėjo, o nuo tada neduoda teroristam granatų.

Code: Select all

#if defined ZOMBIE_BIOHAZARD  #include <biohazard>#endif#if defined ZOMBIE_PLAGUE  #include <zombieplague>#endif #include <amxmodx>#include <amxmisc>#include <fakemeta>#include <fun>#include <cstrike>#include <nvault>#include <hamsandwich> #define PLUGIN  "Gun Xp Mod"#define AUTHOR  "xbatista"#define VERSION "1.7" #define NORMAL_MOD//#define ZOMBIE_SWARM#define ZOMBIE_INFECTION #define ZOMBIE_BIOHAZARD//#define ZOMBIE_PLAGUE  #define ADMIN_EXTRA ADMIN_LEVEL_H#define MAXLEVEL 24 #define OFFSET_PRIMARYWEAPON 116#define MENU_STARTID g_menu_data[id][2]const KEYSMENU = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)#define TASK_SHOW_LEVEL 10113#define fm_cs_set_user_nobuy(%1) set_pdata_int(%1, 235, get_pdata_int(%1, 235) & ~(1<<0) ) //no weapon buy new PlayerXp[33];new PlayerLevel[33]; new bool: g_bStart;new g_Vault;new g_kills[33];new g_menu_data[33][8];new g_remember_selection[33];new g_maxplayers, g_msgHudSync1, SayTxT, enable_grenades;new levelspr, levelspr2, show_level_text, show_rank;new savexp , xp_kill, xp_triple, enable_triple, triple_kills, xp_ultra, ultra_kills, enable_ultra, p_Enabled, level_style;new enable_admin_xp, admin_xp; new const LevelUp[] = "umbrella/levelup.wav";                                                           //mac10//new const LEVELS[MAXLEVEL] = { 90, 180, 300, 450, 700, 1200, 1800, 2800,4100, 5200, 6000, 6800, 8200, 10200, 12000, 15000, 17500, 20500, 25500, //<-aug//29000, 35000, 46000, 58000, 150000}; // Levels new const RANKLEVELS[MAXLEVEL][] = { "Beginner", "Beginner", "Beginner", "Beginner", "Beginner", "Slayer", "Slayer", "Slayer","Hunter", "Hunter", "Hunter", "Hunter", "Assassin", "Assassin", "Hero", "Hero", "Hero", "War Lord", "War Lord","Supernatural", "Supernatural", "Supernatural", "Umbrella Soldier", "Umbrella Soldier"}; // Rank Levels new const RANK[MAXLEVEL][] = { "Glock 18C", "USP .45 ACP Tactical", "P228 Compact", "FiveseveN", "Desert Eagle .50 AE", "Dual Elite Berettas","Schmidt TMP", "Ingram MAC-10", "UMP 45", "MP5 Navy", "ES P90", "Scout", "AWP Magnum Sniper", "Famas", "IMI Galil", "M3 Super 90", "XM1014 M4","AK-47", "M4A1 Carbine", "Steyr AUG A1", "SG-552 Commando", "SG-550 Auto-Sniper", "G3SG1 Auto-Sniper", "M249 Para Machinegun"}; // Weapon Name Ranks new const WEAPONCONST[MAXLEVEL][] = { "weapon_glock18", "weapon_usp", "weapon_p228", "weapon_fiveseven", "weapon_deagle", "weapon_elite", "weapon_tmp","weapon_mac10", "weapon_ump45", "weapon_mp5navy", "weapon_p90", "weapon_scout", "weapon_awp", "weapon_famas", "weapon_galil", "weapon_m3", "weapon_xm1014","weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_sg552", "weapon_sg550", "weapon_g3sg1", "weapon_m249"}; // Give Weapons new const WEAPONMDL[MAXLEVEL][] = { "models/w_glock18.mdl", "models/w_usp.mdl", "models/w_p228.mdl", "models/w_fiveseven.mdl", "models/w_deagle.mdl", "models/w_elite.mdl", "models/w_tmp.mdl","models/w_mac10.mdl", "models/w_ump45.mdl", "models/w_mp5.mdl", "models/w_p90.mdl", "models/w_scout.mdl", "models/w_awp.mdl", "models/w_famas.mdl", "models/w_galil.mdl", "models/w_m3.mdl", "models/w_xm1014.mdl","models/w_ak47.mdl", "models/w_m4a1.mdl", "models/w_aug.mdl", "models/w_sg552.mdl", "models/w_sg550.mdl", "models/w_g3sg1.mdl", "models/w_m249.mdl"}; // Blocks pick up weapon, that is not model replacement!!! new const AMMOCONST[MAXLEVEL] = { 17, 16, 1, 11, 26, 10, 23, 7, 12, 19, 30, 3, 18,15, 14, 21, 5, 28, 22, 8, 27, 13, 24, 20}; // Weapons ID(CSW) new const AMMO2CONST[MAXLEVEL] = { 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 90,400, 400, 80, 80, 400, 400, 400, 400, 200, 200, 400}; // Weapons Ammo /*================================================================================                        [Plugin natives,precache,init]=================================================================================*/public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR);    register_cvar("gxm_version", VERSION, FCVAR_SPONLY|FCVAR_SERVER)    set_cvar_string("gxm_version", VERSION)       register_concmd("set_level", "cmd_give_level", ADMIN_RCON, " <name> <amount>" );    register_clcmd("say level", "showlevel");    register_clcmd("say /level", "showlevel");    register_clcmd("say /top20","showtop20");    register_clcmd("say /menu","show_main_menu_info");    register_clcmd("say menu","show_main_menu_info");       p_Enabled = register_cvar( "gxm_enable", "1" ); // Plugin enabled? 1 = Yes, 0 = No.    xp_kill = register_cvar("gxm_xp","5"); // How much xp gain if you killed someone?    savexp = register_cvar("gxm_save","0"); // Save Xp by : 1 = SteamID, 0 = IP.    show_level_text = register_cvar("gxm_level_text","1"); // Show your level by : 1 = HUD message, 0 = Simple colored text message.    show_rank = register_cvar("gxm_show_rank","1"); // Show rank in /top20? 1 = Yes, 0 = No.    level_style = register_cvar("gxm_level_style","0"); // You will gain each level new gun : 1 = Yes, 0 = No,select your gun by menu.    enable_grenades = register_cvar("gxm_grenades","1"); // Give to player grenades? 1 = Yes, 0 = No.       enable_triple = register_cvar("gxm_triple","1"); // Enable Triple Kill bonus xp? 1 = Yes, 0 = No.    xp_triple = register_cvar("gxm_triple_xp","15"); // How much bonus xp give for Triple Kill?    triple_kills = register_cvar("gxm_triple_kills","3"); // How much kills needed to give bonus xp?    enable_ultra = register_cvar("gxm_ultra","1"); // Enable Ultra Kill bonus xp? 1 = Yes, 0 = No.    xp_ultra = register_cvar("gxm_ultra_xp","25"); // How much bonus xp give for Ultra Kill?    ultra_kills = register_cvar("gxm_ultra_kills","6"); // How much kills needed to give bonus xp?       enable_admin_xp = register_cvar("gxm_admin_xp","1"); // Enable Extra xp for killing? 1 = Yes, 0 = No.    admin_xp = register_cvar("gxm_extra_xp","5"); // How much extra xp give to admins?                    // Events //    register_event("DeathMsg", "event_deathmsg", "a");    register_event("StatusValue", "Event_StatusValue", "bd", "1=2")        register_logevent("logevent_round_start", 2, "1=Round_Start");    register_logevent("logevent_round_end", 2, "1=Round_End");                        // Forwards //    RegisterHam(Ham_Spawn, "player", "fwd_PlayerSpawn", 1);       register_forward(FM_Touch, "fwd_Touch");                    // Messages //    #if defined NORMAL_MOD || defined ZOMBIE_SWARM    register_message(get_user_msgid("StatusIcon"),  "Message_StatusIcon")    #endif                       // Other //    register_menu("Level by Menu", KEYSMENU, "menu_level")    register_menu("Main Level Menu", KEYSMENU, "main_menu_level")    register_menucmd(register_menuid("Main Menu"), 8, "main_menu_info")       register_dictionary("gunxpmod.txt");                       SayTxT = get_user_msgid("SayText");       g_msgHudSync1 = CreateHudSyncObj()    g_maxplayers = get_maxplayers();}public plugin_natives(){                    // Player natives //    register_native("get_user_xp", "native_get_user_xp", 1);    register_native("set_user_xp", "native_set_user_xp", 1);    register_native("get_user_level", "native_get_user_level", 1);    register_native("set_user_level", "native_set_user_level", 1);    register_native("get_user_max_level", "native_get_user_max_level", 1);}public plugin_precache(){    levelspr = engfunc(EngFunc_PrecacheModel, "sprites/xfire.spr");    levelspr2 = engfunc(EngFunc_PrecacheModel, "sprites/xfire2.spr");       engfunc(EngFunc_PrecacheSound, LevelUp);}public plugin_cfg(){    //Open our vault and have g_Vault store the handle.    g_Vault = nvault_open( "gunxpmod" );     //Make the plugin error if vault did not successfully open    if ( g_Vault == INVALID_HANDLE )        set_fail_state( "Error opening GunXpMod nVault, file does not exist!" );}public plugin_end(){    //Close the vault when the plugin ends (map change\server shutdown\restart)    nvault_close( g_Vault );}public client_authorized(id){    g_remember_selection[id] = 0;       LoadLevel(id)}public client_disconnect(id){    SaveLevel(id)} public logevent_round_start(){    set_task(10.0, "Started");} public logevent_round_end(){    g_bStart = false;} public Started(id){    g_bStart = true;} public Message_StatusIcon(iMsgId, MSG_DEST, id){    if( !get_pcvar_num(p_Enabled) )        return PLUGIN_HANDLED;           static szIcon[5]    get_msg_arg_string(2, szIcon, 4)    if( szIcon[0] == 'b' && szIcon[2] == 'y' && szIcon[3] == 'z' )    {        if( get_msg_arg_int(1))        {            fm_cs_set_user_nobuy(id)            return PLUGIN_HANDLED;        }    }         return PLUGIN_CONTINUE;}public fwd_Touch(ent, id){    if (!is_user_connected(id) || !is_user_alive(id) || !pev_valid( ent ) )        return FMRES_IGNORED;     static szEntModel[32];    pev( ent , pev_model , szEntModel , 31 );         for (new level_equip_id = PlayerLevel[id] + 1; level_equip_id < MAXLEVEL; level_equip_id++)    {        if ( equali( szEntModel , WEAPONMDL[level_equip_id] ) )        {            return FMRES_SUPERCEDE;        }      }     return FMRES_IGNORED;}public fwd_PlayerSpawn(id){    if( !get_pcvar_num(p_Enabled) )        return;       if (is_user_alive(id))    {        g_kills[id] = 0               #if defined ZOMBIE_SWARM        if ( !get_pcvar_num(level_style) && get_user_team(id) == 2 )        {            StripPlayerWeapons(id);                       set_task(2.0, "show_main_menu_level", id)        }        #endif               #if defined NORMAL_MOD || defined ZOMBIE_INFECTION        if ( !get_pcvar_num(level_style))        {            StripPlayerWeapons(id);                       set_task(2.0, "show_main_menu_level", id)        }        #endif               if(!task_exists(TASK_SHOW_LEVEL + id) && get_pcvar_num(show_level_text))        {            set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)        }               if ( get_pcvar_num(level_style) )        {            set_task(0.3, "give_weapon", id);        }    }}#if defined ZOMBIE_BIOHAZARDpublic event_infect(g_victim, g_attacker){    if( !get_pcvar_num(p_Enabled) )        return;       new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)    new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)       if((1 <= g_attacker <= g_maxplayers))    {        if(g_victim != g_attacker)        {            g_kills[g_attacker]++;            if(PlayerLevel[g_attacker] < MAXLEVEL-1)            {                if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                {                      if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                    PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                {                      if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_triple                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                }                else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_ultra                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                }            }        }        check_level(g_attacker)    }}#endif #if defined ZOMBIE_PLAGUEpublic zp_user_infected_post(g_victim, g_attacker){    if( !get_pcvar_num(p_Enabled) )        return;       new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)    new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)       if((1 <= g_attacker <= g_maxplayers))    {        if(g_victim != g_attacker)        {            g_kills[g_attacker]++;            if(PlayerLevel[g_attacker] < MAXLEVEL-1)            {                if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                {                      if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                    PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                {                      if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_triple                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                }                else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_ultra                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                }            }        }        check_level(g_attacker)    }}#endif public event_deathmsg(){      if( !get_pcvar_num(p_Enabled) )        return;       new g_attacker = read_data(1);    new g_victim = read_data(2);       new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)    new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)       if((1 <= g_attacker <= g_maxplayers))    {        if(g_victim != g_attacker)        {            g_kills[g_attacker]++;            if(PlayerLevel[g_attacker] < MAXLEVEL-1)            {                if ( get_pcvar_num(enable_triple) && g_kills[g_attacker] < get_pcvar_num(triple_kills) || g_kills[g_attacker] > get_pcvar_num(triple_kills)                || get_pcvar_num(enable_ultra) && g_kills[g_attacker] < get_pcvar_num(ultra_kills) || g_kills[g_attacker] > get_pcvar_num(ultra_kills) )                {                      if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                    PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                else if ( !get_pcvar_num(enable_triple) || !get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += get_pcvar_num(xp_kill)                                   set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "+%i", get_pcvar_num(xp_kill))                }                if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )                {                      if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_triple                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple)                }                else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )                {                    if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)                    {                        PlayerXp[g_attacker] += get_pcvar_num(admin_xp)                    }                                       PlayerXp[g_attacker] += counted_ultra                                       set_hudmessage(0, 255, 50, 0.45, 0.33, 1, 2.0, 2.0)                    ShowSyncHudMsg(g_attacker, g_msgHudSync1, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra)                }            }        }        check_level(g_attacker)    }}public Event_StatusValue(id){    new target = read_data(2)    if(target != id && target != 0 && get_pcvar_num(p_Enabled))    {        static sName[32];        get_user_name(target, sName, 31)         set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 6.0, 0.0, 0.0, 2)        ShowSyncHudMsg(id, g_msgHudSync1, "%L", LANG_SERVER, "LEVEL_TEXT", sName, PlayerLevel[target], RANKLEVELS[PlayerLevel[target]])    }}public task_show_level(task){    new id = task - TASK_SHOW_LEVEL       if(!is_user_alive(id) && !get_pcvar_num(show_level_text) )        return PLUGIN_HANDLED;       set_hudmessage(255, 0, 0, 0.02, 0.33, 0, 0.0, 0.3, 0.0, 0.0)    ShowSyncHudMsg(id, g_msgHudSync1 , "%L", LANG_SERVER, "LEVEL_HUD_TEXT", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]], RANK[PlayerLevel[id]], RANKLEVELS[PlayerLevel[id]])       set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)           return PLUGIN_CONTINUE;}public showlevel(id){    if ( !get_pcvar_num(p_Enabled) && get_pcvar_num(show_level_text) )        return PLUGIN_HANDLED;       client_printcolor(id, "%L", LANG_SERVER, "LEVEL_TEXT2", PlayerLevel[id] , PlayerXp[id], LEVELS[PlayerLevel[id]]);    client_printcolor(id, "%L", LANG_SERVER, "LEVEL_TEXT3", RANK[PlayerLevel[id]], RANKLEVELS[PlayerLevel[id]]);       return PLUGIN_HANDLED;}public descriptionx(id){    new szMotd[2048], szTitle[64], iPos = 0    format(szTitle, 63, "Info")    iPos += format(szMotd[iPos], 2047-iPos, "<html><head><style type=^"text/css^">pre{color:#FFB000;}body{background:#000000;margin-left:8px;margin-top:0px;}</style></head><pre><body>")    iPos += format(szMotd[iPos], 2047-iPos, "^n^n<b>%s</b>^n^n", szTitle)    iPos += format(szMotd[iPos], 2047-iPos, "%L^n", LANG_SERVER, "DESCRIPTION")       iPos += format(szMotd[iPos], 2047-iPos, "%L", LANG_SERVER, "DESCRIPTION2")           show_motd(id, szMotd, szTitle)    return PLUGIN_HANDLED;}public check_level(id){    if(PlayerLevel[id] < MAXLEVEL-1 && get_pcvar_num(p_Enabled))    {        while(PlayerXp[id] >= LEVELS[PlayerLevel[id]])        {            PlayerLevel[id]++;                           if(is_user_alive(id))            {                  if ( get_pcvar_num(level_style) )                {                    give_weapon(id);                }                               new p_origin[3];                get_user_origin(id, p_origin, 0);                               set_sprite(p_origin, levelspr, 30)                set_sprite(p_origin, levelspr2, 30)            }            emit_sound(id, CHAN_ITEM, LevelUp, 1.0, ATTN_NORM, 0, PITCH_NORM);                       static name[32] ; get_user_name(id, name, charsmax(name));            client_printcolor(0, "%L", LANG_SERVER, "LEVEL_UP", name, PlayerLevel[id]);        }    }}// Main Menu Infopublic show_main_menu_info(id){    static menu[510], len;    len = 0;       new xKeys3 = MENU_KEY_0|MENU_KEY_1;     // Title    len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU_INFO")       len += formatex(menu[len], sizeof menu - 1 - len, "\r1. \w%L", id, "INFO")    if ( get_pcvar_num(show_rank) )    {        xKeys3 |= (MENU_KEY_2)               len += formatex(menu[len], sizeof menu - 1 - len, "^n\r2. \wTop 20^n")    }    else    {        len += formatex(menu[len], sizeof menu - 1 - len, "^n\d2. Top 20^n")    }       if(find_plugin_byfile("gunxpmod_shop.amxx") != INVALID_PLUGIN_ID)    {        xKeys3 |= (MENU_KEY_3)               len += formatex(menu[len], sizeof menu - 1 - len, "\r3. \w%L^n", id, "ITEM_LIST")        if ( is_user_alive(id) )        {            xKeys3 |= (MENU_KEY_4)                       len += formatex(menu[len], sizeof menu - 1 - len, "\r4. \w%L^n", id, "UNLOCKS_SHOP_TEXT")        }    }       len += formatex(menu[len], sizeof menu - 1 - len, "^n^n\r0.\w %L", id, "EXIT_MENU")     show_menu(id, xKeys3, menu, -1, "Main Menu")}public main_menu_info(id, key){    switch (key)    {        case 0:        {            show_main_menu_info(id)                       descriptionx(id)        }        case 1:        {            showtop20(id)                       show_main_menu_info(id)        }        case 2:        {            show_main_menu_info(id)                       if(callfunc_begin( "display_items","gunxpmod_shop.amxx") == 1)            {                callfunc_push_int( id );                callfunc_end();            }        }        case 3:        {            if(callfunc_begin("item_upgrades","gunxpmod_shop.amxx") == 1)            {                callfunc_push_int( id );                callfunc_end();            }        }        case 9:        {            return PLUGIN_HANDLED;        }    }     return PLUGIN_HANDLED;}// Main Menu Level Stylepublic show_main_menu_level(id){    if ( !is_user_alive(id) )        return;       set_task(9.0, "destroymenu", id);       static menu[510], len;    len = 0;       new xKeys2 = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2;     // Title    len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]])       len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "CHOOSE_TEXT")     len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "LAST_GUNS")    len += formatex(menu[len], sizeof menu - 1 - len, "^n^n\r0.\w %L", id, "EXIT_MENU")     show_menu(id, xKeys2, menu, -1, "Main Level Menu")}public main_menu_level(id, key){    if ( !is_user_alive(id) )        return PLUGIN_HANDLED;       switch (key)    {        case 0: // back        {            first_check_menu(id)        }        case 1: // next        {            give_weapon_menu(id, g_remember_selection[id]);        }        case 9: // exit        {            return PLUGIN_HANDLED;        }    }     return PLUGIN_HANDLED;}// Menu Level Stylepublic first_check_menu(id){    MENU_STARTID = 0    show_menu_level(id);}public show_menu_level(id){    if ( !is_user_alive(id) )        return;       static menu[510], len, class;    len = 0;       new xKeys = MENU_KEY_0;    new max = min(MENU_STARTID+7, sizeof (LEVELS));    new iPosNum = 0;       // Title    len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "TITLE_MENU", PlayerLevel[id], PlayerXp[id], LEVELS[PlayerLevel[id]])       // 1-7. Class List    for (class = MENU_STARTID; class < max; class++)    {        if ( PlayerLevel[id] < class)        {                len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "INACTIVE_MENU", ++iPosNum, RANK[class], class)        }        else        {            xKeys |= (1<<iPosNum++);             len += formatex(menu[len], sizeof menu - 1 - len, "%L", LANG_SERVER, "ACTIVE_MENU", class-MENU_STARTID+1, RANK[class], class)        }    }    if ( MENU_STARTID != 0 && MENU_STARTID != 21 )    {          xKeys |= (1<<7)        xKeys |= (1<<8)               len += formatex(menu[len], sizeof menu - 1 - len, "^n\r8.\w %L^n\r9.\w %L^n^n\r0.\w %L", id, "BACK_MENU", id, "NEXT_MENU", id, "EXIT_MENU")    }    else if ( MENU_STARTID == 0 )    {        xKeys |= (1<<8)               len += formatex(menu[len], sizeof menu - 1 - len, "^n\r9.\w %L^n^n\r0.\w %L", id, "NEXT_MENU", id, "EXIT_MENU")    }     else if ( MENU_STARTID == 21 )    {          xKeys |= (1<<7)               len += formatex(menu[len], sizeof menu - 1 - len, "^n\r8.\w %L^n^n\r0.\w %L", id, "BACK_MENU", id, "EXIT_MENU")    }       show_menu(id, xKeys, menu, -1, "Level by Menu")}public destroymenu(id){    client_cmd(id, "slot10")    return PLUGIN_HANDLED}public menu_level(id, key){    if ( !is_user_alive(id) )        return PLUGIN_HANDLED;       if (key >= 7 || key-1 >= PlayerLevel[id])    {        switch (key)        {            case 7: // back            {                if (MENU_STARTID-7 >= 0) MENU_STARTID -= 7            }            case 8: // next            {                if (MENU_STARTID+7 < sizeof (LEVELS)) MENU_STARTID += 7            }            case 9: // exit            {                return PLUGIN_HANDLED;            }        }         show_menu_level(id)        return PLUGIN_HANDLED;    }    new selected = MENU_STARTID + key;     g_remember_selection[id] = selected;       give_weapon_menu(id, selected);       return PLUGIN_HANDLED;}public give_weapon_menu(id, selection){    new bool: bAllow = true;    if (g_bStart && get_user_team(id) == 1)        bAllow = false;    #if defined ZOMBIE_SWARM    if(get_user_team(id) == 2 && is_user_alive(id) && get_pcvar_num(p_Enabled))    {        StripPlayerWeapons(id);               if ( bAllow && get_pcvar_num(enable_grenades) )        {            give_item(id, "weapon_smokegrenade");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_hegrenade");        }        if (!user_has_weapon(id, AMMOCONST[selection]))        {            give_item(id, WEAPONCONST[selection]);        }        cs_set_user_bpammo(id, AMMOCONST[selection], AMMO2CONST[selection])    }    #endif       #if defined ZOMBIE_INFECTION || defined NORMAL_MOD    if(is_user_alive(id) && get_pcvar_num(p_Enabled))    {        StripPlayerWeapons(id);                if ( bAllow && get_pcvar_num(enable_grenades) )        {            give_item(id, "weapon_smokegrenade");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_hegrenade");        }        if (!user_has_weapon(id, AMMOCONST[selection]))        {            give_item(id, WEAPONCONST[selection]);        }        cs_set_user_bpammo(id, AMMOCONST[selection], AMMO2CONST[selection])    }    #endif}public give_weapon(id){    new bool: bAllow = true;    if (g_bStart && get_user_team(id) == 1)        bAllow = false;     #if defined ZOMBIE_SWARM    if(get_user_team(id) == 2 && is_user_alive(id) && get_pcvar_num(p_Enabled))    {        StripPlayerWeapons(id);               if ( bAllow && get_pcvar_num(enable_grenades) && get_pcvar_num(level_style) )        {            give_item(id, "weapon_smokegrenade");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_hegrenade");        }               if (!user_has_weapon(id, AMMOCONST[PlayerLevel[id]]))        {            give_item(id, WEAPONCONST[PlayerLevel[id]]);        }        cs_set_user_bpammo(id, AMMOCONST[PlayerLevel[id]], AMMO2CONST[PlayerLevel[id]])    }    #endif       #if defined ZOMBIE_INFECTION || defined NORMAL_MOD    if(is_user_alive(id) && get_pcvar_num(p_Enabled))    {        StripPlayerWeapons(id);               if ( bAllow && get_pcvar_num(enable_grenades) && get_pcvar_num(level_style) )        {            give_item(id, "weapon_smokegrenade");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_flashbang");            give_item(id, "weapon_hegrenade");        }        if (!user_has_weapon(id, AMMOCONST[PlayerLevel[id]]))        {            give_item(id, WEAPONCONST[PlayerLevel[id]]);        }        cs_set_user_bpammo(id, AMMOCONST[PlayerLevel[id]], AMMO2CONST[PlayerLevel[id]])    }    #endif}public set_sprite(p_origin[3], sprite, radius){    // Explosion    message_begin(MSG_BROADCAST, SVC_TEMPENTITY, p_origin)    write_byte(TE_EXPLOSION)    write_coord(p_origin[0])    write_coord(p_origin[1])    write_coord(p_origin[2])    write_short(sprite)    write_byte(radius)    write_byte(15)    write_byte(4)    message_end()}//Shows Top 20public showtop20(id){    if( !get_pcvar_num(p_Enabled) && !get_pcvar_num(show_rank) )        return;       static Sort[33][2];    new players[32],num,count,index;    get_players(players,num);       for(new i = 0; i < num; i++)    {        index = players[i];        Sort[count][0] = index;        Sort[count][1] = PlayerXp[index];        count++;    }       SortCustom2D(Sort,count,"CompareXp");    new motd[1501],iLen;    iLen = formatex(motd, sizeof motd - 1,"<body bgcolor=#000000><font color=#98f5ff><pre>");    iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%s %-22.22s %3s^n", "#", "Name", "# Experience");       new y = clamp(count,0,20);    new name[32],kindex;       for(new x = 0; x < y; x++)    {        kindex = Sort[x][0];        get_user_name(kindex,name,sizeof name - 1);        iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%d %-22.22s %d^n", x + 1, name, Sort[x][1]);    }    iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"</body></font></pre>");    show_motd(id,motd, "GunXpMod Top 20");}public CompareXp(elem1[], elem2[]){    if(elem1[1] > elem2[1])        return -1;    else if(elem1[1] < elem2[1])        return 1;       return 0;}// Command to set player Levelpublic cmd_give_level(id, level, cid){    if(!cmd_access(id, level, cid, 3) || !get_pcvar_num(p_Enabled))    {        return PLUGIN_HANDLED;    }       new Arg1[64], Target    read_argv(1, Arg1, 63)    Target = cmd_target(id, Arg1, 0)       new iLevel[32], Value    read_argv(2, iLevel, 31)    Value = str_to_num(iLevel)       if(iLevel[0] == '-')    {        console_print(id, "You can't have a '-' in the value!")        return PLUGIN_HANDLED;    }       if(!Target)    {        console_print(id, "Target not found!")        return PLUGIN_HANDLED;    }       if(Value > MAXLEVEL-1)    {        console_print(id, "You can't set a more than %d!", MAXLEVEL-1)        return PLUGIN_HANDLED;    }       if(Value < 1)    {        console_print(id, "You can't set less than 1!")        return PLUGIN_HANDLED;    }       new AdminName[32]    get_user_name(id, AdminName, 31)           new TargetName[32]    get_user_name(Target, TargetName, 31)       PlayerLevel[Target] = Value - 1    PlayerXp[Target] = LEVELS[PlayerLevel[Target]]    check_level(Target)       client_printcolor(Target, "/gADMIN: /ctr%s /yhas set your level to /g%d", AdminName, Value)     return PLUGIN_HANDLED;}// Save Player InfoSaveLevel(id){    if ( get_pcvar_num(savexp) )    {        new authid[32]        get_user_authid(id, authid, 31)        new szData[256];        new szKey[64];               formatex( szKey , 63 , "%s-ID" , authid);        formatex( szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id] );           nvault_set( g_Vault , szKey , szData );    }    else    {        new authip[32]        get_user_ip(id,authip,31,1)        new szData[256];        new szKey[64];               formatex( szKey , 63 , "%s-IP" , authip );        formatex( szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id] );           nvault_set( g_Vault , szKey , szData );    }}// Load Player InfoLoadLevel(id){    if ( get_pcvar_num(savexp) )    {        new authid[32]        get_user_authid(id, authid, 31)        new szData[256];        new szKey[40];         formatex( szKey , 39 , "%s-ID" , authid );         formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])               nvault_get(g_Vault, szKey, szData, 255)         replace_all(szData , 255, "#", " ")        new xp[32], level[32]        parse(szData, level, 31, xp, 31)        PlayerLevel[id] = str_to_num(level)        PlayerXp[id] = str_to_num(xp)      }    else    {        new authip[32]        get_user_ip(id, authip, 31, 1)        new szData[256];        new szKey[40];         formatex( szKey , 39 , "%s-IP" , authip );         formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])               nvault_get(g_Vault, szKey, szData, 255)         replace_all(szData , 255, "#", " ")        new xp[32], level[32]        parse(szData, level, 31, xp, 31)        PlayerLevel[id] = str_to_num(level)        PlayerXp[id] = str_to_num(xp)    }}// ============================================================////                          [~ Natives ~]                      //// ============================================================//// Native: get_user_xppublic native_get_user_xp(id){    return PlayerXp[id];}// Native: set_user_xppublic native_set_user_xp(id, amount){    PlayerXp[id] = amount;}// Native: get_user_levelpublic native_get_user_level(id){    return PlayerLevel[id];}// Native: set_user_xppublic native_set_user_level(id, amount){    PlayerLevel[id] = amount;}// Native: Gets user level by Xppublic native_get_user_max_level(id){    return LEVELS[PlayerLevel[id]];}// ============================================================////                          [~ Stocks ~]                       //// ============================================================//stock client_printcolor(const id, const input[], any:...){    new count = 1, players[32];    static msg[191];    vformat(msg,190,input,3);    replace_all(msg,190,"/g","^4");// green txt    replace_all(msg,190,"/y","^1");// orange txt    replace_all(msg,190,"/ctr","^3");// team txt    replace_all(msg,190,"/w","^0");// team txt    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, SayTxT, _, players[i]);            write_byte(players[i]);            write_string(msg);            message_end();        }}  public StripPlayerWeapons(id){    strip_user_weapons(id)    set_pdata_int(id, OFFSET_PRIMARYWEAPON, 0)    give_item(id, "weapon_knife");}
Image

User avatar
artiom555
Jau po truputį tampa savu
Posts: 112
Joined: 2014 Apr 23 21:55
Skype: artem.sharkovic
Contact:

Re: Pagalbos.

Post by artiom555 »

Aciu padejo. :je:

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests