AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Drshop / points (https://forums.alliedmods.net/showthread.php?t=171388)

dienvidvejs 11-05-2011 11:31

Drshop / points
 
I need to someone please make that when terrorists win the terrorist player recvive +5 points in drshop ..

Code:

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <nvault>
#include <hamsandwich>
#include <fakemeta>


/* --| Let's force the semicolon on every endline */
#pragma semicolon 1

/* --| Some defines :) */
#define PICKUP_SND        "items/gunpickup2.wav"
#define HEALTH_SOUND        "items/smallmedkit1.wav"
#define ARMOR_SOUND        "items/ammopickup2.wav"
#define CLOACK_SOUND        "hornet/ag_buzz1.wav"
#define LJ_SOUND        "fvox/powermove_on.wav"
#define SOUND_NVGOFF        "items/nvg_off.wav"
#define ADMIN_ACCESS_CMD    ADMIN_KICK   
#define HAS_NVGS        (1<<0)
#define USES_NVGS        (1<<8)
#define get_user_nvg(%1)        (get_pdata_int(%1,m_iNvg) & HAS_NVGS)

/* --| Plugin informations */
new const PLUGIN[]    = "Deathrun Shop";
new const VERSION[]    = "4.0";
new const AUTHOR[]    = "tuty";
 
/* --| Zomg lot of globals :) */
new gDrShopOn;
new gHeCost;
new gBothGrenadesCost;
new gSilentCost;
new gHealthCost;
new gArmorCost;
new gSpeedCost;
new gGravityCost;
new gInvisCost;
new gSpeedCvar;
new gGravityCvar;
new gAdvertiseCvar;
new gHealthPointCvar;
new gArmorPointCvar;
new gAdvertiseTimeCvar;
new gInvisPercent;
new gKillerPointsCvar;
new gSuiciderPointsCvar;
new gSavePlayerPoints;
new gNoclipCost;
new gVault;
new gNoclipTime;
new gJetSprite;
new gJetPackCost;
new gJetTime;
new gDeagleCost;
new gMsgItemPickup;
new gLongJumpTime;
new gLongJumpCost;
new gGlowCost;
new gNvgCost;
new gMessageNVG;

/* --| Item variables */
new HasHe[ 33 ];
new HasBothGren[ 33 ];
new HasSilent[ 33 ];
new HasHealth[ 33 ];
new HasArmor[ 33 ];
new HasSpeed[ 33 ];
new HasGravity[ 33 ];
new HasInvis[ 33 ];
new HasNoclip[ 33 ];
new HasJet[ 33 ];
new HasDeagle[ 33 ];
new HasLongJump[ 33 ];
new HasGlow[ 33 ];
new HasNVG[ 33 ];
new gName[ 32 char ];
new gSteamID[ 32 ];
new vKey[ 64 ];
new vData[ 64 ];

/* --| Player points, need this to save points, load points, etc */
new gKillerPoints[ 33 ];

/* --| Offsets for nvg */
const m_iNvg = 129;
const m_iLinuxDiff = 5;

/* --| So, let's get started */
public plugin_init()
{
    /* --| Registering the plugin to show when you type amx_plugins.. */
    register_plugin( PLUGIN, VERSION, AUTHOR );
   
    /* --| Registering a little cvar to see wich servers using this plugin */
    register_cvar( "drshop_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY );

    /* --| Register some usefull events */
    register_logevent( "logevent_round_start", 2, "1=Round_Start" );
    register_event( "DeathMsg", "Hook_Deathmessage", "a" );
    register_event( "CurWeapon", "HookCurWeapon", "be", "1=1" );
   
    /* --| Called when a player is performing a jump */
    RegisterHam( Ham_Player_Jump, "player", "bacon_playerJumping" );
   
    /* --| We need this forward to find if player has suicided with kill in console */
    /* --| We can't do that on deathmsg because player die in traps by suicide,.. trigger_hurt or world.. etc */
    register_forward( FM_ClientKill, "forward_kill" );
   
    /* --| Command for setting points to player/@all */
    register_concmd( "deathrun_set_points", "cmdSetPoints", ADMIN_ACCESS_CMD, "<name/@all> <points> - set points to a player" );
   
    /* --| Command for reseting points to palyer/@all */
    register_concmd( "deathrun_reset_points", "cmdResetPoints", ADMIN_ACCESS_CMD, "<name/@all> - reset player points" );
   
    /* --| Command for opening the menu */
    register_clcmd( "say /drshop", "DeathrunShop" );
    register_clcmd( "say_team /drshop", "DeathrunShop" );
   
    /* --| Command to see our points :) */
    register_clcmd( "say /mypoints", "ShowPoints" );
    register_clcmd( "say_team /mypoints", "ShowPoints" );

   
    /* --| Let's register the cvars, a lot of cvars but huh.. stf :) */
    gDrShopOn = register_cvar( "deathrun_shop", "1" );
    gHeCost = register_cvar( "deathrun_he_cost", "10" );
    gBothGrenadesCost = register_cvar( "deathrun_bothgrenades_cost", "20" );
    gSilentCost = register_cvar( "deathrun_silent_cost", "24" );
    gHealthCost = register_cvar( "deathrun_health_cost", "30" );
    gArmorCost = register_cvar( "deathrun_armor_cost", "15" );
    gSpeedCost = register_cvar( "deathrun_speed_cost", "39" );
    gGravityCost = register_cvar( "deathrun_gravity_cost", "41" );
    gNoclipCost = register_cvar( "deathrun_noclip_cost", "50" );
    gJetPackCost = register_cvar( "deathrun_jetpack_cost", "60" );
    gInvisCost = register_cvar( "deathrun_invisibility_cost", "69" );
    gSpeedCvar = register_cvar( "deathrun_speed_power", "400.0" );
    gNoclipTime = register_cvar( "deathrun_noclip_duration", "2" );
    gJetTime = register_cvar( "deathrun_jetpack_duration", "10" );
    gDeagleCost = register_cvar( "deathrun_deagle_cost", "31" );
    gGravityCvar = register_cvar( "deathrun_gravity_power", "0.7" );
    gAdvertiseCvar = register_cvar( "deathrun_advertise_message", "1" );
    gHealthPointCvar = register_cvar( "deathrun_health_points", "255" );
    gArmorPointCvar = register_cvar( "deathrun_armor_points", "400" );
    gAdvertiseTimeCvar = register_cvar( "deathrun_advertise_time", "7.0" );
    gInvisPercent = register_cvar( "deathrun_invisibility_percentage", "111" );
    gKillerPointsCvar = register_cvar( "deathrun_killer_bonuspoints", "5" );
    gSuiciderPointsCvar = register_cvar( "deathrun_suicider_loose_points", "3" );
    gSavePlayerPoints = register_cvar( "deathrun_save_points", "1" );
    gLongJumpTime = register_cvar( "deathrun_longjump_duration", "6" );
    gLongJumpCost = register_cvar( "deathrun_longjump_cost", "46" );
    gGlowCost = register_cvar( "deathrun_glow_cost", "8" );
    gNvgCost = register_cvar( "deathrun_nvg_cost", "33" );

    /* --| Let's find/do some stuff here */
    gMsgItemPickup = get_user_msgid( "ItemPickup" );
    gMessageNVG = get_user_msgid( "NVGToggle" );
   
    /* --| Register the multilingual file */
    register_dictionary( "DeathrunShopLang.txt" );
}

/* --| Precache stuff */
public plugin_precache()
{
    gJetSprite = precache_model( "sprites/explode1.spr" );
    precache_sound( PICKUP_SND );
    precache_sound( HEALTH_SOUND );
    precache_sound( ARMOR_SOUND );
    precache_sound( CLOACK_SOUND );
    precache_sound( LJ_SOUND );
}

/* --| Plugin cfg, here we do some ugly shit ever -.- */
public plugin_cfg()
{
    new iCfgDir[ 32 ], iFile[ 192 ];
   
    /* --| We need to find the configs directory, and to add the configuration file */
    get_configsdir( iCfgDir, charsmax( iCfgDir ) );
    formatex( iFile, charsmax( iFile ), "%s/DeathrunShop_Cfg.cfg", iCfgDir );
       
    /* --| If file not exists, let's create one but empty */
    if( !file_exists( iFile ) )
    {
        server_print( "[DrShop] %L", LANG_SERVER, "DRSHOP_SVPRINT", iFile );
        write_file( iFile, " ", -1 );
    }
   
    /* --| Else, let's load the cvars from cfg */
    else
    {       
        server_print( "[DrShop] %L", LANG_SERVER, "DRSHOP_SVPRINT_DONE", iFile );
        server_cmd( "exec %s", iFile );
    }
   
    /* --| Set the server maxspeed to a high value, need it for speed item */
    server_cmd( "sv_maxspeed 99999999.0" );
}

/* --| When client is connecting, let's reset stuff and load client's points */
public client_connect( id )
{
    HasHe[ id ] = false;
    HasBothGren[ id ] = false;
    HasSilent[ id ] = false;
    HasHealth[ id ] = false;
    HasArmor[ id] = false;
    HasSpeed[ id ] = false;
    HasGravity[ id ] = false;
    HasInvis[ id ] = false;
    HasNoclip[ id ] = false;
    HasJet[ id ] = false;
    HasDeagle[ id ] = false;
    HasLongJump[ id ] = false;
    HasGlow[ id ] = false;
    HasNVG[ id ] = false;
   
    /* --| Load client points */
    load_client_points( id );
}

/* --| When client has disconnected let's reset stuff and save points */
public client_disconnect( id )
{
    HasHe[ id ] = false;
    HasBothGren[ id ] = false;
    HasSilent[ id ] = false;
    HasHealth[ id ] = false;
    HasArmor[ id] = false;
    HasSpeed[ id ] = false;
    HasGravity[ id ] = false;
    HasInvis[ id ] = false;
    HasNoclip[ id ] = false;
    HasJet[ id ] = false;
    HasDeagle[ id ] = false;
    HasLongJump[ id ] = false;
    HasGlow[ id ] = false;
    HasNVG[ id ] = false;
   
    /* --| If player is not a bot, let's save the points */
    if( get_pcvar_num( gSavePlayerPoints ) != 0 && !is_user_bot( id ) )
    {
        /* --| Save player points is cvar is 1 */
        save_client_points( id );
    }
}

/* --| When client has entered on sv, need to show him a hudmessage :) */
public client_putinserver( id )
{
    if( get_pcvar_num( gAdvertiseCvar ) != 0 )
    {
        /* --| Need to set task, 7 default because need to wait for player choosing a team or something */
        set_task( get_pcvar_float( gAdvertiseTimeCvar ), "ShowPlayerInfo", id );
    }
}

/* --| Deathrun shop menu with items ^^ */
public DeathrunShop( id )
{
    /* --| If cvar is set to 0, player can't open the shop */
    if( get_pcvar_num( gDrShopOn ) != 1 )
    {
        client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_DISABLED" );
        return PLUGIN_HANDLED;
    }
   
    /* --| If player is dead, cant buy items :) */
    if( !is_user_alive( id ) )
    {
        client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_ONLY_ALIVE" );
        return PLUGIN_HANDLED;
    }
   
    /* --| Menu stuff */
    new szText[ 555 char ];
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_MENU_TITLE", VERSION, gKillerPoints[ id ] );
   
    new menu = menu_create( szText, "shop_handler" );

    /* --| Menu item 1 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_1", get_pcvar_num( gHeCost ) );
    menu_additem( menu, szText, "1", 0 );
   
    /* --| Menu item 2 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_2", get_pcvar_num( gBothGrenadesCost ) );
    menu_additem( menu, szText, "2", 0 );
   
    /* --| Menu item 3 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_3", get_pcvar_num( gSilentCost ) );
    menu_additem( menu, szText, "3", 0 );
   
    /* --| Menu item 4 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_4", get_pcvar_num( gHealthPointCvar ), get_pcvar_num( gHealthCost ) );
    menu_additem( menu, szText, "4", 0 );
   
    /* --| Menu item 5 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_5", get_pcvar_num( gArmorPointCvar ), get_pcvar_num( gArmorCost ) );
    menu_additem( menu, szText, "5", 0 );
   
    /* --| Menu item 6 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_6", get_pcvar_num( gSpeedCost ) );
    menu_additem( menu, szText, "6", 0 );
   
    /* --| Menu item 7 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_7", get_pcvar_num( gGravityCost ) );
    menu_additem( menu, szText, "7", 0 );
   
    /* --| Menu item 8 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_8", get_pcvar_num( gInvisPercent ), get_pcvar_num( gInvisCost ) );
    menu_additem( menu, szText, "8", 0 );
   
    /* --| Menu item 9 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_9", get_pcvar_num( gNoclipTime ), get_pcvar_num( gNoclipCost ) );
    menu_additem( menu, szText, "9", 0 );
   
    /* --| Menu item 10 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_10", get_pcvar_num( gJetTime ), get_pcvar_num( gJetPackCost ) );
    menu_additem( menu, szText, "10", 0 );
   
    /* --| Menu item 11 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_11", get_pcvar_num( gDeagleCost ) );
    menu_additem( menu, szText, "11", 0 );
   
    /* --| Menu item 12 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_12", get_pcvar_num( gLongJumpTime ), get_pcvar_num( gLongJumpCost ) );
    menu_additem( menu, szText, "12", 0 );
   
    /* --| Menu item 13 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_13", get_pcvar_num( gGlowCost ) );
    menu_additem( menu, szText, "13", 0 );
   
    /* --| Menu item 14 */
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_14", get_pcvar_num( gNvgCost ) );
    menu_additem( menu, szText, "14", 0 );
   
    menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
   
    /* --| Show the menu, with current page 0 */
    menu_display( id, menu, 0 );

    return PLUGIN_CONTINUE;
}

/* --| Menu commands */
public shop_handler( id, menu, item )
{
    /* --| If key is 0, let's close the menu */
    if( item == MENU_EXIT )
    {
        menu_destroy( menu );
        return PLUGIN_HANDLED;
    }
   
    /* --| Getting the menu information */
    new data[ 6 ], iName[ 64 ], access, callback;
    menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );

    /* --| Get menu keys */
    new key = str_to_num( data );
   
    /* --| Here we find the player points */
    new points = gKillerPoints[ id ];
   
    switch( key )
    {
        /* --| Menu item 1 */
        case 1:
        {
            /* --| If already has item, show a damn print and return */
            if( HasHe[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gHeCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            give_item( id, "weapon_hegrenade" );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_GRENADE_ITEM" );
            HasHe[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gHeCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
       
        /* --| Menu item 2 */
        case 2:
        {
            /* --| If already has item, show a damn print and return */
            if( HasBothGren[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gBothGrenadesCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            give_item( id, "weapon_hegrenade" );
            give_item( id, "weapon_flashbang" );
            give_item( id, "weapon_flashbang" );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_BOTHGREN_ITEM" );
            HasBothGren[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gBothGrenadesCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
       
        /* --| Menu item 3 */
        case 3:
        {
            /* --| If already has item, show a damn print and return */
            if( HasSilent[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gSilentCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }   
           
            /* --| Let's give the item, and do some stuff */
            set_user_footsteps( id, 1 );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_SILENTWALK_ITEM" );
            HasSilent[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gSilentCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
       
        /* --| Menu item 4 */
        case 4:
        {
            /* --| If already has item, show a damn print and return */
            if( HasHealth[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gHealthCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_user_health( id, get_user_health( id ) + get_pcvar_num( gHealthPointCvar ) );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_HEALTH_ITEM", get_pcvar_num( gHealthPointCvar ) );
            HasHealth[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gHealthCost );
            emit_sound( id, CHAN_ITEM, HEALTH_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
       
        /* --| Menu item 5 */
        case 5:
        {
            /* --| If already has item, show a damn print and return */
            if( HasArmor[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gArmorCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_user_armor( id, get_user_armor( id ) + get_pcvar_num( gArmorPointCvar ) );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_ARMOR_ITEM", get_pcvar_num( gArmorPointCvar ) );   
            HasArmor[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gArmorCost );
            emit_sound( id, CHAN_ITEM, ARMOR_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
       
        /* --| Menu item 6 */
        case 6:
        {
            /* --| If already has item, show a damn print and return */
            if( HasSpeed[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gSpeedCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_user_maxspeed( id, get_pcvar_float( gSpeedCvar ) );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_SPEED_ITEM" );
            HasSpeed[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gSpeedCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
       
        /* --| Menu item 7 */
        case 7:
        {
            /* --| If already has item, show a damn print and return */
            if( HasGravity[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gGravityCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_user_gravity( id, get_pcvar_float( gGravityCvar ) );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_GRAVITY_ITEM" );
            HasGravity[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gGravityCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
       
        /* --| Menu item 8 */
        case 8:
        {
            /* --| If already has item, show a damn print and return */
            if( HasInvis[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
       
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gInvisCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, get_pcvar_num( gInvisPercent ) );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_INVISIBILITY_ITEM" );
            HasInvis[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gInvisCost );
            emit_sound( id, CHAN_ITEM, CLOACK_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
       
        /* --| Menu item 9 */
        case 9:
        {
            /* --| If already has item, show a damn print and return */
            if( HasNoclip[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
       
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gNoclipCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_task( float( get_pcvar_num( gNoclipTime ) ), "remove_noclip", id );
            set_user_noclip( id, 1 );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_NOCLIP_ITEM" );
            HasNoclip[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gNoclipCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
       
        /* --| Menu item 10 */
        case 10:
        {
            /* --| If already has item, show a damn print and return */
            if( HasJet[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
       
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gJetPackCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_task( float( get_pcvar_num( gJetTime ) ), "remove_jetpack", id );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_JETPACK_ITEM" );
            HasJet[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gJetPackCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
       
        /* --| Menu item 11 */
        case 11:
        {
            /* --| If already has item, show a damn print and return */
            if( HasDeagle[ id ] || user_has_weapon( id, CSW_DEAGLE ) )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
       
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gDeagleCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            strip_user_weapons( id );
            give_item( id, "weapon_knife" );
            give_item( id, "weapon_deagle" );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_DEAGLE_ITEM" );
            HasDeagle[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gDeagleCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
       
        /* --| Menu item 12 */
        case 12:
        {
            /* --| If already has item, show a damn print and return */
            if( HasLongJump[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
       
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gLongJumpCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            /* --| Setting the temporary long jump */
            set_temporary_longjump( id );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_LJ_ITEM" );
            HasLongJump[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gLongJumpCost );
            emit_sound( id, CHAN_ITEM, LJ_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
       
        /* --| Menu item 13 */
        case 13:
        {
            /* --| If already has item, show a damn print and return */
            if( HasGlow[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
       
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gGlowCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_user_rendering( id, kRenderFxGlowShell, random( 256 ), random( 256 ), random( 256 ), kRenderNormal, random( 256 ) );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_GLOW_ITEM" );
            HasGlow[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gGlowCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
       
        /* --| Menu item 13 */
        case 14:
        {
            /* --| If already has item, show a damn print and return */
            if( HasNVG[ id ] || get_user_nvg( id ) )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
       
            /* --| If player does not have enough points, show a print and return */
            if( points < get_pcvar_num( gNvgCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
           
            /* --| Let's give the item, and do some stuff */
            set_user_nvg( id, 1 );
           
            client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_NVG_ITEM" );
            HasNVG[ id ] = true;
           
            gKillerPoints[ id ] -= get_pcvar_num( gNvgCost );
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
    }
   
    return PLUGIN_HANDLED;
}

/* --| Command for setting points | admin only ;/ */
public cmdSetPoints( id, level, cid )
{
    /* --| If user doesn't have acces to command, return */
    if( !cmd_access( id, level, cid, 2 ) || !get_pcvar_num( gDrShopOn ) )
    {
        return PLUGIN_HANDLED;
    }
   
    /* --| Need to read the first argument */
    new argument[ 32 ];
      read_argv( 1, argument, charsmax( argument ) );

    /* --| Need to read second argument */
    new give_points[ 5 ];
    read_argv( 2, give_points, charsmax( give_points ) );

    /* --| We are getting the gift from second argument */
    new gift = str_to_num( give_points );
   
    new iPlayer[ 32 ], iNum, all;
    get_players( iPlayer, iNum, "c" );

    /* --| Lets see if argument 1 is @all */
    if( equal( argument, "@all" ) )
    {
        for( new i; i < iNum; i++ )
        {
            /* --| Find the index :) */
            all = iPlayer[ i ];
           
            /* --| Set points to all */
            gKillerPoints[ all ] = gKillerPoints[ all ] + gift;
           
            /* --| Show a print in chat */
            get_user_name( id, gName, charsmax( gName ) );
            client_print( 0, print_chat, "[DrShop] %L", LANG_PLAYER, "DRSHOP_SHOW_ALLCMD", gName, gift );
        }
    }
           
    else
    {
        /* --| Now, we find the target */
        new player = cmd_target( id, argument, 10 );

        /* --| If is not a valid target, return */
        if( !player )
        {
              return PLUGIN_HANDLED;
        }
   

        /* --| Get admin, and target name */
        new TargetName[ 32 char ];
        get_user_name( player, TargetName, charsmax( TargetName ) );
        get_user_name( id, gName, charsmax( gName ) );   
   
        /* --| Setting target points */
        gKillerPoints[ player ] = gKillerPoints[ player ] + gift;
        client_print( 0, print_chat, "[DrShop] %L", LANG_PLAYER, "DRSHOP_SHOW_CMD", gName, gift, TargetName );
    }

    return PLUGIN_HANDLED;
}

/* --| Command for reseting points | admin only ;/ */
public cmdResetPoints( id, level, cid )
{
    /* --| If user doesn't have acces to command, return */
    if( !cmd_access( id, level, cid, 2 ) || !get_pcvar_num( gDrShopOn ) )
    {
        return PLUGIN_HANDLED;
    }
   
    /* --| Need to read the first argument */
    new argument[ 32 ];
      read_argv( 1, argument, charsmax( argument ) );
   
    new iPlayer[ 32 ], iNum, all;
    get_players( iPlayer, iNum, "c" );

    /* --| Lets see if argument 1 is @all */
    if( equal( argument, "@all" ) )
    {
        for( new i; i < iNum; i++ )
        {
            /* --| Find the index :) */
            all = iPlayer[ i ];
           
            /* --| Set points to all */
            gKillerPoints[ all ] = 0;
           
            /* --| Show a print in chat */
            get_user_name( id, gName, charsmax( gName ) );
            client_print( 0, print_chat, "[DrShop] %L", LANG_PLAYER, "DRSHOP_SHOWRESET_ALLCMD", gName );
        }
    }
           
    else
    {
        /* --| Now, we find the target */
        new player = cmd_target( id, argument, 10 );

        /* --| If is not a valid target, return */
        if( !player )
        {
              return PLUGIN_HANDLED;
        }
   

        /* --| Get admin, and target name */
        new TargetName[ 32 char ];
        get_user_name( player, TargetName, charsmax( TargetName ) );
        get_user_name( id, gName, charsmax( gName ) );   
   
        /* --| Setting target points */
        gKillerPoints[ player ] = 0;
        client_print( 0, print_chat, "[DrShop] %L", LANG_PLAYER, "DRSHOP_SHOWRESET_CMD", gName, TargetName );
    }

    return PLUGIN_HANDLED;
}
   
/* --| We need to find if player has performed a jump, and set some velocity */
public bacon_playerJumping( id )
{
    /* --| If plugin is on, and user has jetpack item */
    if( get_pcvar_num( gDrShopOn ) != 0 && HasJet[ id ] )
    {
        /* --| Get user origins from feet */
        new iOrigin[ 3 ];
        get_user_origin( id, iOrigin, 0 );
       
        /* --| Modify origin a bit */
        iOrigin[ 2 ] -= 20;
       
        /* --| Get player velocity */
        new Float:fVelocity[ 3 ];
        pev( id, pev_velocity, fVelocity );

        /* --| Modify velocity a bit */
        fVelocity[ 2 ] += 93;
       
        /* --| Set the player velocity and add a flame effect, jetpack style */
        set_pev( id, pev_velocity, fVelocity );
        create_flame( iOrigin );
    }
}   

/* --| We need to check is player has changed his weapon */
public HookCurWeapon( id )
{
    /* --| If plugin is on, and user has speed item, let's set the speed again */
    if( get_pcvar_num( gDrShopOn ) != 0 && HasSpeed[ id ] )
    {
        set_user_maxspeed( id, get_pcvar_float( gSpeedCvar ) );
    }
}

/* --| Command for show points */   
public ShowPoints( id )
{
    /* --| Set a hud message */
    set_hudmessage( 255, 42, 212, 0.03, 0.86, 2, 6.0, 5.0 );
   
    /* --| We show player points on hud */
    show_hudmessage( id, "[DrShop] %L", id, "DRSHOP_POINTS_INFO", gKillerPoints[ id ] );
   
    /* --| We show player points on chat */
    client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_POINTS_INFO", gKillerPoints[ id ] );
   
    return PLUGIN_CONTINUE;
}

/* --| Here we show player hud information about this god damn shop */
public ShowPlayerInfo( id )
{
    /* --| Set a hud message */
    set_hudmessage( 0, 0, 255, -1.0, 0.82, 0, 6.0, 12.0 );
   
    /* --| Now we show the info message in hud channel */
    show_hudmessage( id, "%L", id, "DRSHOP_HUD_INFO" );
}

/* --| If player has suicided by console */
public forward_kill( id )
{
    /* --| Check if plugin is on, and user is alive */
    if( get_pcvar_num( gDrShopOn ) == 1 && is_user_alive( id ) )
    {
        /* --| Set player points with suicide cvar */
        client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_SHOW_LOOSER", get_pcvar_num( gSuiciderPointsCvar ) );
        gKillerPoints[ id ] -= get_pcvar_num( gSuiciderPointsCvar );
    }
}

/* --| Event for round start */       
public logevent_round_start()
{
    /* --| If plugin is on... */
    if( get_pcvar_num( gDrShopOn ) == 1 )
    {
        /* --| I used this native because with get_maxplayers will recieve a damn error with invalid player id.. */
        /* --| This is good because we can skip the damn bots */
        new iPlayers[ 32 ], iNum, i, id;
        get_players( iPlayers, iNum, "c" );
       
        for( i = 0; i < iNum; i++ )
        {
            /* --| Find the index :) */
            id = iPlayers[ i ];
           
            /* --| Reseting items */
            HasHe[ id ] = false;
            HasBothGren[ id ] = false;
            HasSilent[ id ] = false;
            HasHealth[ id ] = false;
            HasArmor[ id] = false;
            HasSpeed[ id ] = false;
            HasGravity[ id ] = false;
            HasInvis[ id ] = false;
            HasNoclip[ id ] = false;
            HasJet[ id ] = false;
            HasDeagle[ id ] = false;
            HasLongJump[ id ] = false;
            HasGlow[ id ] = false;
            HasNVG[ id ] = false;
           
            set_user_gravity( id, 1.0 );   
            set_user_maxspeed( id, 0.0 );
            set_user_footsteps( id, 0 );
            set_user_noclip( id, 0 );
            set_user_rendering( id );
            set_user_nvg( id, 0 );
            remove_user_nvg( id );
            remove_task( id );
        }
    }
}

/* --| Event when player died */
public Hook_Deathmessage()
{
    /* --| If plugin is on... */
    if( get_pcvar_num( gDrShopOn ) == 1 )
    {
        /* --| Get the killer and attacker */
        new killer = read_data( 1 );
        new victim = read_data( 2 );

        /* --| If player has died with world / trigger_hurt */
        if( killer == victim )
        {
            return PLUGIN_HANDLED;
        }
       
        /* --| Setting killer points when killed a enemy */
        gKillerPoints[ killer ] += get_pcvar_num( gKillerPointsCvar );
   
        /* --| Reseting items */
        HasHe[ victim ] = false;
        HasBothGren[ victim ] = false;
        HasSilent[ victim ] = false;
        HasHealth[ victim ] = false;
        HasArmor[ victim ] = false;
        HasSpeed[ victim ] = false;
        HasGravity[ victim ] = false;
        HasInvis[ victim ] = false;
        HasNoclip[ victim ] = false;
        HasJet[ victim ] = false;
        HasDeagle[ victim ] = false;
        HasLongJump[ victim ] = false;
        HasGlow[ victim ] = false;
        HasNVG[ victim ] = false;
       
        set_user_gravity( victim, 1.0 );   
        set_user_maxspeed( victim, 0.0 );
        set_user_footsteps( victim, 0 );
        set_user_noclip( victim, 0 );
        set_user_rendering( victim );
        set_user_nvg( victim, 0 );
        remove_user_nvg( victim );
        remove_task( victim );
    }
   
    return PLUGIN_CONTINUE;
}

/* --| Now we need to remove the noclip */
public remove_noclip( id )
{
    HasNoclip[ id ] = false;
    set_user_noclip( id, 0 );
    client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_NOCLIP_OFF", get_pcvar_num( gNoclipTime ) );
}

/* --| Now we need to remove the jetpack */   
public remove_jetpack( id )
{
    HasJet[ id ] = false;
    client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_JETPACK_OFF", get_pcvar_num( gJetTime ) );
}

/* --| Now we need to remove the longjump */
public remove_lj( index )
{
    HasLongJump[ index ] = false;
    engfunc( EngFunc_SetPhysicsKeyValue, index, "slj", "0" );
    client_print( index, print_chat, "[DrShop] %L", index, "DRSHOP_LJ_OFF", get_pcvar_num( gLongJumpTime ) );
}

/* --| Usefull stocks on this plugin */
/* --| Display a message in chat if player already have the item */
stock allready_have( id )
{
    client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_ALLREADY_HAVE" );
}   

/* --| Display a message in chat if player don't have enough points */
stock dont_have( id )
{
    client_print( id, print_chat, "[DrShop] %L", id, "DRSHOP_DONTHAVE_POINTS" );
}   

/* --| Saving player points */
stock save_client_points( index )
{
    /* --| Open the vault file */
    gVault = nvault_open( "DeathrunShop_SavedPoints" );
   
    /* --| If vault return -1, lets stop this shit */
    if( gVault == INVALID_HANDLE )
    {
        set_fail_state( "[DrShop] nValut ERROR: =-> Invalid-Handle" );
    }
   
    /* --| Get the player steamid */
    get_user_authid( index, gSteamID, charsmax( gSteamID ) );
   
    /* --| Setting stuff on vault file, and close the file */
    formatex( vKey, charsmax( vKey ), "%sPOINTS", gSteamID );
    formatex( vData, charsmax( vData ), "%d", gKillerPoints[ index ] );
    nvault_set( gVault, vKey, vData );
    nvault_close( gVault );
}

/* --| Loading client points */
stock load_client_points( index )
{
    /* --| Open the vault file */
    gVault = nvault_open( "DeathrunShop_SavedPoints" );
   
    /* --| If vault return -1, lets stop this shit */
    if( gVault == INVALID_HANDLE )
    {
        set_fail_state( "[DrShop] nValut ERROR: =-> Invalid-Handle" );
    }
   
    /* --| Get the player steamid */
    get_user_authid( index, gSteamID, charsmax( gSteamID ) );
   
    /* --| Get the player points, then, close the nvault vile */
    formatex( vKey, charsmax( vKey ), "%sPOINTS", gSteamID );
    gKillerPoints[ index ] = nvault_get( gVault, vKey );
    nvault_close( gVault );
}

/* --| Flame jetpack effect stock */
stock create_flame( origin[ 3 ] )
{
    message_begin( MSG_PVS, SVC_TEMPENTITY, origin );
    write_byte( TE_SPRITE );
    write_coord( origin[ 0 ] );
    write_coord( origin[ 1 ] );
    write_coord( origin[ 2 ] );
    write_short( gJetSprite );
    write_byte( 3 );
    write_byte( 99 );
    message_end();
}

/* --| Setting temporary longjump stock */
stock set_temporary_longjump( index )
{
    /* --| Let's show to player the jetpack item on hud */
    message_begin( MSG_ONE_UNRELIABLE, gMsgItemPickup, _, index );
    write_string( "item_longjump" );
    message_end();

    /* --| Setting the jetpack on */
    engfunc( EngFunc_SetPhysicsKeyValue, index, "slj", "1" );
   
    /* --| Setting the time before jetpack will go off */
    set_task( float( get_pcvar_num( gLongJumpTime ) ), "remove_lj", index );
}

/* --| Stock for setting user nightvision */
/* --| This stock is more good than cstrike native( give errors ) */
stock set_user_nvg( index, nvgoggles = 1 )
{
    if( nvgoggles )
    {
        set_pdata_int( index, m_iNvg, get_pdata_int( index, m_iNvg ) | HAS_NVGS );
    }

    else
    {
        set_pdata_int( index, m_iNvg, get_pdata_int( index, m_iNvg ) & ~HAS_NVGS );
    }
}

/* --| Stock for removing turned on nightvision from players. Let's call, force remove nvg :) */
stock remove_user_nvg( index )
{
    new iNvgs = get_pdata_int( index, m_iNvg, m_iLinuxDiff );

    if( !iNvgs )
    {
        return;
    }

    if( iNvgs & USES_NVGS )
    {
        emit_sound( index, CHAN_ITEM, SOUND_NVGOFF, VOL_NORM, ATTN_NORM, 0, PITCH_NORM );

        emessage_begin( MSG_ONE_UNRELIABLE, gMessageNVG, _, index );
        ewrite_byte( 0 );
        emessage_end();
    }

    set_pdata_int( index, m_iNvg, 0, m_iLinuxDiff );


/* --| Enf of plugin... */

Please!

dienvidvejs 11-06-2011 07:49

Re: Drshop / points
 
Someone? please?

Erox902 11-06-2011 11:22

Re: Drshop / points
 
Don't bump until 2 weeks have passed.
Ps. Wrong section for a request to fix something.

K2ska 11-07-2011 23:52

Re: Drshop / points
 
Quote:

// Bonus points when you kill an enemy deathrun_killer_bonuspoints "5" // Lost points for suicider deathrun_suicider_loose_points "3"
Cvars. Config/deathrunshop.cfg

Zer0Cool 11-09-2011 15:25

Re: Drshop / points
 
Use this modify from tuty's Deathrunshop

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <nvault>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
#include <colorchat>
#pragma semicolon 1
new const Plugin[]  = "DrShop";
new const 
Version[]  = "1.0";
new const 
Author[]  = "tuty";
new const 
prefix[]       = "^4[DrShop]:^3";
 
new 
gDrShopOn;
new 
gDeagleCostgAwpCost;
new 
gHeCostgFlashCostgSmokeCostgNadePackCost;
new 
gSilentCostgHealthCostgGravityCostgJetPackCost;
new 
gSpeedCostgInvisCostgNoclipCost;
new 
gSpeedCvargGravityCvargHealthPointCvargKillerPointsCvargSuiciderPointsCvar;
new 
gInvisPercent;
new 
gSavePlayerPoints;
new 
gVault;
new 
gNoclipTimegJetTime;
new 
gJetSprite;
new 
HasHe33 ];
new 
HasFlash33 ];
new 
HasSmoke33 ];
new 
HasNadePack33 ];
new 
HasSilent33 ];
new 
HasHealth33 ];
new 
HasSpeed33 ];
new 
HasGravity33 ];
new 
HasInvis33 ];
new 
HasNoclip33 ];
new 
HasJet33 ];
new 
HasDeagle33 ];
new 
HasAwp33 ];
new 
HasRambo33 ];
new 
gName32 char ];
new 
gSteamID32 ];
new 
vKey64 ];
new 
vData64 ];
new 
gKillerPoints33 ];
public 
plugin_init()
{
 
register_pluginPluginVersionAuthor );
 
register_logevent"logevent_round_start"2"1=Round_Start" );
 
register_event"DeathMsg""Hook_Deathmessage""a" );
 
register_event"CurWeapon""HookCurWeapon""be""1=1" );
 
 
RegisterHamHam_Player_Jump"player""bacon_playerJumping" );
 
 
register_forwardFM_ClientKill"forward_kill" );
 
 
register_concmd"deathrun_set_cash""cmdSetDrCash"ADMIN_KICK"<name/@all> <points> - set points to a player" );
 
register_concmd"deathrun_reset_cash""cmdResetDrCash"ADMIN_KICK"<name/@all> - reset player points" );
 
 
register_clcmd"say /drshop""ShopMenu" );
 
register_clcmd"say_team /drshop""ShopMenu" );
 
 
register_clcmd"say /cash""ShowDrCash" );
 
register_clcmd"say_team /cash""ShowDrCash" );
 
 
gDrShopOn register_cvar"deathrun_shop""1" );
 
gHeCost register_cvar"deathrun_he_cost""2000" ); 
 
gFlashCost register_cvar"deathrun_he_cost""1000" ); 
 
gSmokeCost register_cvar"deathrun_he_cost""1000" ); 
 
gNadePackCost register_cvar"deathrun_nadepack_cost""3500" );
 
gSilentCost register_cvar"deathrun_silent_cost""2400" );
 
gHealthCost register_cvar"deathrun_health_cost""3000" );
 
gSpeedCost register_cvar"deathrun_speed_cost""3900" );
 
gGravityCost register_cvar"deathrun_gravity_cost""4100" );
 
gNoclipCost register_cvar"deathrun_noclip_cost""5000" );
 
gJetPackCost register_cvar"deathrun_jetpack_cost""6000" );
 
gInvisCost register_cvar"deathrun_invisibility_cost""69" );
 
gSpeedCvar register_cvar"deathrun_speed_power""400.0" );
 
gNoclipTime register_cvar"deathrun_noclip_duration""2" );
 
gJetTime register_cvar"deathrun_jetpack_duration""10" );
 
gDeagleCost register_cvar"deathrun_deagle_cost""3100" );
 
gAwpCost register_cvar"deathrun_awp_cost""4100" );
 
gGravityCvar register_cvar"deathrun_gravity_power""0.7" );
 
gHealthPointCvar register_cvar"deathrun_health_points""255" );
 
gInvisPercent register_cvar"deathrun_invisibility_percentage""200" );
 
gKillerPointsCvar register_cvar"deathrun_killer_bonuspoints""200" );
 
gSuiciderPointsCvar register_cvar"deathrun_suicider_loose_points""100" );
 
gSavePlayerPoints register_cvar"deathrun_save_points""1" );
}
public 
client_connectid )
{
 
HasHeid ] = false;
 
HasFlashid ] = false;
 
HasSmokeid ] = false;
 
HasNadePackid ] = false;
 
HasSilentid ] = false;
 
HasHealthid ] = false;
 
HasSpeedid ] = false;
 
HasGravityid ] = false;
 
HasInvisid ] = false;
 
HasNoclipid ] = false;
 
HasJetid ] = false;
 
HasDeagleid ] = false;
 
HasAwpid ] = false;
 
HasRamboid ] = false;
 
 
load_client_pointsid );
}
public 
client_disconnectid )
{
 
HasHeid ] = false;
 
HasFlashid ] = false;
 
HasSmokeid ] = false;
 
HasNadePackid ] = false;
 
HasSilentid ] = false;
 
HasHealthid ] = false;
 
HasSpeedid ] = false;
 
HasGravityid ] = false;
 
HasInvisid ] = false;
 
HasNoclipid ] = false;
 
HasJetid ] = false;
 
HasDeagleid ] = false;
 
HasAwpid ] = false;
 
HasRamboid ] = false;
 
 if( 
get_pcvar_numgSavePlayerPoints ) != && !is_user_botid ) )
 {
  
save_client_pointsid );
 }
}
public 
ShopMenu(id

 if( 
get_pcvar_numgDrShopOn ) != )
 {
  
ColorChat idGREY"%s Deathrun Shop is disabled!"prefix );
  return 
PLUGIN_HANDLED;
 }
 if( !
is_user_aliveid ) )
 {
  
ColorChat idGREY"%s You must be alive to buy a item!"prefix );
  return 
PLUGIN_HANDLED;
 }
 
 new 
szMainMenu[64];
 
formatexszMainMenucharsmaxszMainMenu ), "\rDeathrunShop\dv%s^n\yMainMenu^n\wDr$: \y%d"VersiongKillerPointsid ] );
 new 
ShopMenu menu_createszMainMenu"ShopMenu_handle" );
 
menu_additem ShopMenu"\yWeaponMenu""1");
 
menu_additem ShopMenu"\yGrenadeMenu""2");
 
menu_additem ShopMenu"\yItemMenu""3");
 
menu_additem ShopMenu"\ySkillMenu""4");
   
 
menu_setprop ShopMenuMPROP_EXITMEXIT_ALL ); 
 
menu_display idShopMenu);
 return 
PLUGIN_HANDLED;
}
public 
ShopMenu_handleidmenuitem 
{  
 if( 
item == MENU_EXIT )
 {
  
menu_destroymenu );
  return 
PLUGIN_HANDLED;
 }
 
 new 
data], iName64 ], accesscallback;
 
menu_item_getinfomenuitemaccessdatacharsmaxdata ), iNamecharsmaxiName ), callback );
 new 
key str_to_numdata );
 
 switch( 
key )
 {
  case 
1WeaponMenu id );
  case 
2GrenadeMenu id );
  case 
3ItemMenu id );
  case 
4SkillMenu id );
 }
 return 
PLUGIN_HANDLED;
}
public 
WeaponMenu(id

 new 
szWeapon[64], szDeagle[32], szAwp[32];
 
formatexszWeaponcharsmaxszWeapon ), "\rWeaponMenu^n\wDR$: \y%d "gKillerPointsid ] );
 new 
WeaponMenu menu_createszWeapon"WeaponMenu_handle" );
 
formatexszDeaglecharsmaxszDeagle ), "\yDeagle \w[DR$ \y%d\w]"get_pcvar_numgDeagleCost ) );
 
menu_additemWeaponMenuszDeagle"1");
 
formatexszAwpcharsmaxszAwp ), "\yAwp \w[DR$ \y%d\w]"get_pcvar_numgAwpCost ) );
 
menu_additemWeaponMenuszAwp"2");
  
 
menu_setprop WeaponMenuMPROP_EXITMEXIT_ALL ); 
 
menu_display idWeaponMenu);
}
public 
WeaponMenu_handleidmenuitem 
{  
 if( 
item == MENU_EXIT )
 {
  
menu_destroymenu );
  return 
PLUGIN_HANDLED;
 }
 
 new 
data], iName64 ], accesscallback;
 
menu_item_getinfomenuitemaccessdatacharsmaxdata ), iNamecharsmaxiName ), callback );
 new 
key str_to_numdata );
 
 new 
points gKillerPointsid ];
 
 switch( 
key )
 {
  case 
1:
  {
   if( 
HasDeagleid ] || user_has_weaponidCSW_DEAGLE ) )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
  
   if( 
points get_pcvar_numgDeagleCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
give_item(id"weapon_deagle");
   
cs_set_weapon_ammo give_item id"weapon_deagle" ), );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought a ^4Deagle!^3"prefixnick);
   
HasDeagleid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgDeagleCost );
   
menu_displayidmenu);
  }
  case 
2:
  {
   if( 
HasAwpid ] || user_has_weaponidCSW_AWP ) )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
  
   if( 
points get_pcvar_numgAwpCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
give_item(id"weapon_awp");
   
cs_set_weapon_ammo give_item id"weapon_awp" ), );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought a ^4Awp!^3"prefixnick);
   
HasDeagleid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgAwpCost );
   
menu_displayidmenu);
  }
 }
 return 
PLUGIN_HANDLED;
}
public 
GrenadeMenu(id

 new 
szNade[64], szHe[32], szFlash[32], szSmoke[32], szNadePack[32];
 
formatexszNadecharsmaxszNade ), "\rGrenadeMenu^n\wDr$: \y%d "gKillerPointsid ] );
 new 
GrenadeMenu menu_createszNade"GrenadeMenu_handle" );
 
 
formatexszHecharsmaxszHe ), "\yHe Nade \w[DR$ \y%d\w]"get_pcvar_numgHeCost ) );
 
menu_additemGrenadeMenuszHe"1"); 
 
formatexszFlashcharsmaxszFlash ), "\yFlashBang \w[DR$ \y%d\w]"get_pcvar_numgFlashCost ) );
 
menu_additemGrenadeMenuszFlash"2");
 
formatexszSmokecharsmaxszSmoke ), "\ySmoke Nade \w[DR$ \y%d\w]"get_pcvar_numgSmokeCost ) );
 
menu_additemGrenadeMenuszSmoke"3");
 
formatexszNadePackcharsmaxszNadePack ), "\yNade Pack \w[DR$ \y%d\w]"get_pcvar_numgNadePackCost ) );
 
menu_additemGrenadeMenuszNadePack"4");
  
 
menu_setprop GrenadeMenuMPROP_EXITMEXIT_ALL ); 
 
menu_display idGrenadeMenu);
}
public 
GrenadeMenu_handleidmenuitem 
{  
 if( 
item == MENU_EXIT )
 {
  
menu_destroymenu );
  return 
PLUGIN_HANDLED;
 }
 
 new 
data], iName64 ], accesscallback;
 
menu_item_getinfomenuitemaccessdatacharsmaxdata ), iNamecharsmaxiName ), callback );
 new 
key str_to_numdata );
 
 new 
points gKillerPointsid ];
 
 switch( 
key )
 {
  case 
1:
  {
   if( 
HasHeid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   if( 
points get_pcvar_numgHeCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
give_itemid"weapon_hegrenade" );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought a ^4He Nade!^3"prefixnick);
   
HasHeid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgHeCost );
   
menu_displayidmenu);
  }
  case 
2:
  {
   if( 
HasFlashid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   if( 
points get_pcvar_numgFlashCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
give_itemid"weapon_flashbang" );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought a ^4He Nade!^3"prefixnick);
   
HasFlashid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgFlashCost );
   
menu_displayidmenu);
  }
  case 
3:
  {
   if( 
HasSmokeid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   if( 
points get_pcvar_numgSmokeCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
give_itemid"weapon_smokegrenade" );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought a ^4He Nade!^3"prefixnick);
   
HasSmokeid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgSmokeCost );
   
menu_displayidmenu);
  }
  case 
4:
  {
   if( 
HasNadePackid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
   if( 
points get_pcvar_numgNadePackCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
give_itemid"weapon_hegrenade" );
   
give_itemid"weapon_flashbang" );
   
give_itemid"weapon_smokegrenade" );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought a ^4Nade Pack!^3"prefixnick);
   
HasNadePackid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgNadePackCost );
   
menu_displayidmenu);
  }
 }
 return 
PLUGIN_HANDLED;
}
public 
ItemMenu(id

 new 
szItem[64], szHealth[32], szJetpack[32], szGravity[32], szSilent[32];
 
formatexszItemcharsmaxszItem ), "\rWeaponMenu^n\wDr$: \y%d"gKillerPointsid ] );
 new 
ItemMenu menu_createszItem"ItemMenu_handle" );
 
formatexszHealthcharsmaxszHealth ), "\y+%d Hp \w[DR$ \y%d\w]"get_pcvar_numgHealthPointCvar ), get_pcvar_numgHealthCost ) );
 
menu_additemItemMenuszHealth"1");
 
formatexszJetpackcharsmaxszJetpack ), "\yJetpack(\r%d\wSec) \w[DR$ \y%d\w]"get_pcvar_numgJetTime ), get_pcvar_numgJetPackCost ) );
 
menu_additemItemMenuszJetpack"2");
 
formatexszGravitycharsmaxszGravity ), "\yGravity \w[DR$ \y%d\w]"get_pcvar_numgGravityCost ) );
 
menu_additemItemMenuszGravity"3");
 
formatexszSilentcharsmaxszSilent ), "\ySilent Walk \w[DR$ \y%d\w]"get_pcvar_numgSilentCost ) );
 
menu_additemItemMenuszSilent"4");
  
 
menu_setprop ItemMenuMPROP_EXITMEXIT_ALL ); 
 
menu_display idItemMenu);
}
public 
ItemMenu_handleidmenuitem 
{  
 if( 
item == MENU_EXIT )
 {
  
menu_destroymenu );
  return 
PLUGIN_HANDLED;
 }
 
 new 
data], iName64 ], accesscallback;
 
menu_item_getinfomenuitemaccessdatacharsmaxdata ), iNamecharsmaxiName ), callback );
 new 
key str_to_numdata );
 
 new 
points gKillerPointsid ];
 
 switch( 
key )
 {
  case 
1:
  {
   if( 
HasHealthid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   if( 
points get_pcvar_numgHealthCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
set_user_healthidget_user_healthid ) + get_pcvar_numgHealthPointCvar ) );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought ^4+%d Hp!^3"prefixnickget_pcvar_numgHealthPointCvar ));
   
HasHealthid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgHealthCost );
   
menu_displayidmenu);
  }
  case 
2:
  {
   if( 
HasJetid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
  
   if( 
points get_pcvar_numgJetPackCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
set_taskfloatget_pcvar_numgJetTime ) ), "remove_jetpack"id );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought a ^4JetPack!^3"prefixnick);
   
HasJetid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgJetPackCost );
   
menu_displayidmenu);
  }
  case 
3:
  {
   if( 
HasGravityid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   if( 
points get_pcvar_numgGravityCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
set_user_gravityidget_pcvar_floatgGravityCvar ) );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought ^4Gravity!^3"prefixnick);
   
HasGravityid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgGravityCost );
   
menu_displayidmenu);
  }
  case 
4:
  {
   if( 
HasSilentid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   if( 
points get_pcvar_numgSilentCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   } 
   
   
set_user_footstepsid);
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought ^4Silent Walk!^3"prefixnick);
   
HasSilentid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgSilentCost );
   
menu_displayidmenu);
  }
 }
 return 
PLUGIN_HANDLED;
}
public 
SkillMenu(id

 
 new 
szSkill[64], szSpeed[32], szInvis[32], szNoclip[32];
 
formatexszSkillcharsmaxszSkill ), "\rSkillMenu^n\wDr$: \y%d"gKillerPointsid ] );
 new 
SkillMenu menu_createszSkill"SkillMenu_handle" );
 
formatexszSpeedcharsmaxszSpeed ), "\yFaster Speed \w[DR$ \y%d\w]"get_pcvar_numgSpeedCost ) );
 
menu_additemSkillMenuszSpeed"1");
 
formatexszInvischarsmaxszInvis ), "\yInvisible \w[DR$ \y%d\w]"get_pcvar_numgInvisCost ) );
 
menu_additemSkillMenuszInvis"2");
 
formatexszNoclipcharsmaxszNoclip ), "\yNoclip(\r%d\wSec) \w[DR$ \y%d\w]"get_pcvar_numgNoclipTime ), get_pcvar_numgNoclipCost ) );
 
menu_additemSkillMenuszNoclip"3");
  
 
menu_setprop SkillMenuMPROP_EXITMEXIT_ALL ); 
 
menu_display idSkillMenu);
 return 
PLUGIN_CONTINUE;
}
public 
SkillMenu_handleidmenuitem )
{
 if( 
item == MENU_EXIT )
 {
  
menu_destroymenu );
  return 
PLUGIN_HANDLED;
 }
 
 new 
data], iName64 ], accesscallback;
 
menu_item_getinfomenuitemaccessdatacharsmaxdata ), iNamecharsmaxiName ), callback );
 new 
key str_to_numdata );
 
 new 
points gKillerPointsid ];
 
 switch( 
key )
 {
  
  case 
1:
  {
   if( 
HasSpeedid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   if( 
points get_pcvar_numgSpeedCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
set_user_maxspeedidget_pcvar_floatgSpeedCvar ) );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought ^4Faster Speed!^3"prefixnick);
   
HasSpeedid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgSpeedCost );
   
menu_displayidmenu);
  }
  case 
2:
  {
   if( 
HasInvisid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
  
   if( 
points get_pcvar_numgInvisCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
set_user_renderingidkRenderFxNone000kRenderTransAlphaget_pcvar_numgInvisPercent ) );
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought ^4Invisible!^3"prefixnick);
   
HasInvisid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgInvisCost );
   
menu_displayidmenu);
  }
  
  case 
3:
  {
   if( 
HasNoclipid ] )
   {
    
allready_haveid );
    return 
PLUGIN_HANDLED;
   }
  
   if( 
points get_pcvar_numgNoclipCost ) )
   {
    
dont_haveid );
    return 
PLUGIN_HANDLED;
   }
   
   
set_taskfloatget_pcvar_numgNoclipTime ) ), "remove_noclip"id );
   
set_user_noclipid);
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s bought ^4Noclip!^3"prefixnick);
   
HasNoclipid ] = true;
   
   
gKillerPointsid ] -= get_pcvar_numgNoclipCost );
   
menu_displayidmenu);
  }
  
 }
 
 return 
PLUGIN_HANDLED;
}
public 
cmdSetDrCashidlevelcid )
{
 if( !
cmd_accessidlevelcid) || !get_pcvar_numgDrShopOn ) )
 {
  return 
PLUGIN_HANDLED
 }
 
 new 
argument32 ];
    
read_argv1argumentcharsmaxargument ) );
 new 
give_points];
 
read_argv2give_pointscharsmaxgive_points ) );
 new 
gift str_to_numgive_points );
 
 new 
iPlayer32 ], iNumall;
 
get_playersiPlayeriNum"c" );
 if( 
equalargument"@all" ) )
 {
  for( new 
iiNumi++ )
  {
   
all iPlayer];
   
   
gKillerPointsall ] = gKillerPointsall ] + gift;
   
   new 
nick 33 ];
   
get_user_name idnick32 );
   
ColorChat 0GREY"%s %s set^4 %dDr$^3 to All players!"prefixnickgift);
  }
 }
   
 else
 {
  new 
player cmd_targetidargument10 );
  if( !
player 
  {
      return 
PLUGIN_HANDLED;
  }
 
  new 
TargetName32 char ];
  
get_user_nameplayerTargetNamecharsmaxTargetName ) );
  
get_user_nameidgNamecharsmaxgName ) ); 
 
  
gKillerPointsplayer ] = gKillerPointsplayer ] + gift;
  
ColorChat 0GREY"%s %s set^4 %dDr$^3 to ^4%s^3!"prefixgNamegiftTargetName);
 }
 return 
PLUGIN_HANDLED;
}
public 
cmdResetDrCashidlevelcid )
{
 if( !
cmd_accessidlevelcid) || !get_pcvar_numgDrShopOn ) )
 {
  return 
PLUGIN_HANDLED
 }
 
 new 
argument32 ];
    
read_argv1argumentcharsmaxargument ) );
 
 new 
iPlayer32 ], iNumall;
 
get_playersiPlayeriNum"c" );
 if( 
equalargument"@all" ) )
 {
  for( new 
iiNumi++ )
  {
   
all iPlayer];
   
   
gKillerPointsall ] = 0;
   
   
get_user_nameidgNamecharsmaxgName ) );
   
ColorChat 0GREY"%s %s reseted All players Dr$ to 0!"prefixgName);
  }
 }
   
 else
 {
  new 
player cmd_targetidargument10 );
  if( !
player 
  {
      return 
PLUGIN_HANDLED;
  }
 
  new 
TargetName32 char ];
  
get_user_nameplayerTargetNamecharsmaxTargetName ) );
  
get_user_nameidgNamecharsmaxgName ) ); 
 
  
gKillerPointsplayer ] = 0;
  
ColorChat 0GREY"%s %s reseted %s Dr$ to 0!"prefixgNameTargetName);
 }
 return 
PLUGIN_HANDLED;
}
 
public 
bacon_playerJumpingid )
{
 if( 
get_pcvar_numgDrShopOn ) != && HasJetid ] )
 {
  new 
iOrigin];
  
get_user_originidiOrigin);
  
  
iOrigin] -= 20;
  
  new 
Float:fVelocity];
  
pevidpev_velocityfVelocity );
  
fVelocity] += 93;
  
  
set_pevidpev_velocityfVelocity );
  
create_flameiOrigin );
 }

public 
HookCurWeaponid )
{
 if( 
get_pcvar_numgDrShopOn ) != && HasSpeedid ] )
 {
  
set_user_maxspeedidget_pcvar_floatgSpeedCvar ) );
 }
}
 
public 
ShowDrCashid )
{
 new 
nick 33 ];
 
get_user_name idnick32 );
 
ColorChat 0GREY"%s %s Got ^4%dDr$!^3"prefixnickgKillerPointsid ]);
 
 return 
PLUGIN_CONTINUE;
}
public 
forward_killid )
{
 if( 
get_pcvar_numgDrShopOn ) == && is_user_aliveid ) )
 {
  
ColorChat(idGREY"%s You lost ^4DR$ %d ^3"prefixget_pcvar_numgSuiciderPointsCvar ) );
  
gKillerPointsid ] -= get_pcvar_numgSuiciderPointsCvar );
 }
}
 
public 
logevent_round_start()
{
 if( 
get_pcvar_numgDrShopOn ) == )
 {
  new 
iPlayers32 ], iNumiid;
  
get_playersiPlayersiNum"c" );
  
  for( 
0iNumi++ )
  {
   
id iPlayers];
   
   
HasHeid ] = false;
   
HasFlashid ] = false;
   
HasSmokeid ] = false;
   
HasNadePackid ] = false;
   
HasSilentid ] = false;
   
HasHealthid ] = false;
   
HasSpeedid ] = false;
   
HasGravityid ] = false;
   
HasInvisid ] = false;
   
HasNoclipid ] = false;
   
HasJetid ] = false;
   
HasDeagleid ] = false;
   
HasAwpid ] = false;
   
   
set_user_gravityid1.0 ); 
   
set_user_maxspeedid0.0 );
   
set_user_footstepsid);
   
set_user_noclipid);
   
set_user_renderingid );
   
remove_taskid );
  }
 }
}
public 
Hook_Deathmessage()
{
 if( 
get_pcvar_numgDrShopOn ) == )
 {
  new 
killer read_data);
  new 
victim read_data);
  if( 
killer == victim )
  {
   return 
PLUGIN_HANDLED;
  }
  
  
gKillerPointskiller ] += get_pcvar_numgKillerPointsCvar );
 
  
HasHevictim ] = false;
  
HasFlashvictim ] = false;
  
HasSmokevictim ] = false;
  
HasNadePackvictim ] = false;
  
HasSilentvictim ] = false;
  
HasHealthvictim ] = false;
  
HasSpeedvictim ] = false;
  
HasGravityvictim ] = false;
  
HasInvisvictim ] = false;
  
HasNoclipvictim ] = false;
  
HasJetvictim ] = false;
  
HasDeaglevictim ] = false;
  
HasAwpvictim ] = false;
  
  
set_user_gravityvictim1.0 ); 
  
set_user_maxspeedvictim0.0 );
  
set_user_footstepsvictim);
  
set_user_noclipvictim);
  
set_user_renderingvictim );
  
remove_taskvictim );
 }
 
 return 
PLUGIN_CONTINUE;
}
public 
remove_noclipid )
{
 
HasNoclipid ] = false;
 
set_user_noclipid);
 
ColorChat(idGREY"%s Your Noclip Time is Up!"prefix );
}
 
public 
remove_jetpackid )
{
 
HasJetid ] = false;
 
ColorChat(idGREY"%s Your JetPack Time is Up!"prefix );
}
stock allready_haveid )
{
 
ColorChat(idGREY"%s You allready have this item!"prefix );

stock dont_haveid )
{
 
ColorChat(idGREY"%s You don't have enough ^4Dr$^3 to buy this item!"prefix );

stock save_client_pointsindex )
{
 
gVault nvault_open"DeathrunShop_SavedPoints" );
 
 if( 
gVault == INVALID_HANDLE )
 {
  
set_fail_state"[DrShop] nValut ERROR: =-> Invalid-Handle" );
 }
 
 
get_user_authidindexgSteamIDcharsmaxgSteamID ) );
 
 
formatexvKeycharsmaxvKey ), "%sPOINTS"gSteamID );
 
formatexvDatacharsmaxvData ), "%d"gKillerPointsindex ] );
 
nvault_setgVaultvKeyvData );
 
nvault_closegVault );
}
stock load_client_pointsindex )
{
 
gVault nvault_open"DeathrunShop_SavedPoints" );
 
 if( 
gVault == INVALID_HANDLE )
 {
  
set_fail_state"[DrShop] nValut ERROR: =-> Invalid-Handle" );
 }
 
 
get_user_authidindexgSteamIDcharsmaxgSteamID ) );
 
 
formatexvKeycharsmaxvKey ), "%sPOINTS"gSteamID );
 
gKillerPointsindex ] = nvault_getgVaultvKey );
 
nvault_closegVault );
}
stock create_flameorigin] )
{
 
message_beginMSG_PVSSVC_TEMPENTITYorigin );
 
write_byteTE_SPRITE );
 
write_coordorigin] );
 
write_coordorigin] );
 
write_coordorigin] );
 
write_shortgJetSprite );
 
write_byte);
 
write_byte99 );
 
message_end();




All times are GMT -4. The time now is 14:24.

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