AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Auto bhop (https://forums.alliedmods.net/showthread.php?t=113953)

benamo6 12-31-2009 15:46

Auto bhop
 
I've searched in some plugins, but can't get it.
I need a way to give autobhop with no speed limit with in the code like
autobhop[id] = true ( activate autobhop )
autobhop[id] = false ( deactivate autobhop)

AppStore 12-31-2009 17:34

Re: Auto bhop
 
please you can leave the code of your plugin to add?

benamo6 12-31-2009 17:41

Re: Auto bhop
 
Yes I want to add it to hns shop as a new item.
PHP Code:

#include <amxmodx>
#include <fakemeta>

#pragma semicolon 1

/* Hide'n'Seek Shop 
 *    by xPaw & Grim
 * 
 *  Credits:
 *    Grim - for original code/Godmode Key actviation - added pcvars
 *    Ven  - His tutorial for Player Spawn
 */

#define VERSION "2.0"

#define fm_get_user_money(%1)    get_pdata_int( %1, 115 )
#define fm_create_entity(%1)    engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))

#define MAX_CLIENTS 32

enum Color {
    
NORMAL 1,    // clients scr_concolor cvar color
    
GREEN,        // Green
    
TEAM_COLOR,    // Red, grey, blue
    
GREY,        // grey
    
RED,        // Red
    
BLUE,        // Blue
};

new 
TeamName[][] = {
    
"",
    
"TERRORIST",
    
"CT",
    
"SPECTATOR"
};
    

// Pcvars
new plugin_onsilentcoststealthcostnoflashcosthpcostarmorcostgrenadecostgravitycostspeedcostgodmodecost;
new 
allowsilentallowstealthallownoflashallowhpallowarmorallowgrenadeallowgravityallowspeedallowgodmode;
new 
usersilent[33], userstealth[33], usernoflash[33], userhp[33], userarmor[33], usergrenade[33], usergravity[33], userspeed[33];
new 
hpcvararmorcvarmenuhasspeed[33], hassilent[33], gotgodmode[33], hasgodmode[33], mess[33], mess2[33];
new 
g_msgScreenFadeg_msgMoneygrenade[32], last;

new 
Float:g_gametimeg_owner;
new 
Float:g_gametime2;

new 
bool:g_bPlayerNonSpawnEvent[MAX_CLIENTS 1];
new 
bool:g_track_enemy;
new 
bool:g_track[33];

new 
g_iFwFmClientCommandPost;
new 
g_sync_check_data;

public 
plugin_init() {
    
register_plugin("HnS Shop"VERSION"xPaw & Grim");
    
register_cvar("hns_shop_version"VERSIONFCVAR_SERVER);
    
set_cvar_string("hns_shop_version"VERSION);

    
// Player Spawn
    
register_event("ResetHUD""fwEvResetHUD""b");
    
register_event("TextMsg""fwEvGameWillRestartIn""a""2=#Game_will_restart_in");
    
register_clcmd("fullupdate""fwCmdClFullupdate");

    
// Events
    
register_event("DeathMsg""eDeath""a");
    
register_event("CurWeapon""speed_on""be");
    
register_event("ScreenFade""eventFlash""be""4=255""5=255""6=255""7>199");
    
register_event("TextMsg""fire_in_the_hole""b""2&#Game_radio""4&#Fire_in_the_hole");
    
register_event("TextMsg""fire_in_the_hole2""b""3&#Game_radio""5&#Fire_in_the_hole");
    
register_event("99""grenade_throw""b");

    
// Pcvars
    
plugin_on    register_cvar("hns_shop""1");
    
silentcost    register_cvar("hns_shop_silentcost",        "4500");
    
stealthcost    register_cvar("hns_shop_stealthcost",        "9500");
    
noflashcost    register_cvar("hns_shop_noflashcost",        "8000");
    
grenadecost    register_cvar("hns_shop_grenadecost",        "1500");
    
gravitycost    register_cvar("hns_shop_gravitycost",        "13000");
    
speedcost    register_cvar("hns_shop_speedcost",        "7000");
    
hpcost        register_cvar("hns_shop_hpcost",        "8000");
    
armorcost    register_cvar("hns_shop_armorcost",        "6000");
    
godmodecost    register_cvar("hns_shop_godmodecost",        "16000");
    
hpcvar        register_cvar("hns_shop_hpcvar",        "150");
    
armorcvar    register_cvar("hns_shop_armorcvar",        "150");
    
allowsilent    register_cvar("hns_shop_allowsilent",        "1");
    
allowstealth    register_cvar("hns_shop_allowstealth",    "1");
    
allownoflash    register_cvar("hns_shop_allownoflash",    "1");
    
allowgrenade    register_cvar("hns_shop_allowgrenade",    "1");
    
allowgravity    register_cvar("hns_shop_allowgravity",    "1");
    
allowspeed    register_cvar("hns_shop_allowspeed",        "1");
    
allowhp        register_cvar("hns_shop_allowhp",        "1");
    
allowarmor    register_cvar("hns_shop_allowarmor",        "1");
    
allowgodmode    register_cvar("hns_shop_allowgodmode",    "1");

    
// Clcmds
    
register_clcmd("say /hnsshop",    "show_hnsmenu");
    
register_clcmd("say /shop",    "show_hnsmenu");
    
register_clcmd("say hnsshop",    "show_hnsmenu");
    
register_clcmd("say shop",    "show_hnsmenu");

    
// Menu
    
menu register_menuid("Hide'n'Seek Shop");
    
register_menucmd(menu1023"hnsshop");
    
    
// Forwards
    
register_forward(FM_EmitSound,"fw_emitsound"); 
    
register_forward(FM_CmdStart"fwd_FM_CmdStart_pre"0);
    

    
// Tasks
    
set_task2.0"bad_fix2",_,_,_"b" );
    
set_task100.0"advert",_,_,_"b" );
    
    
g_msgScreenFade get_user_msgid("ScreenFade");
    
g_msgMoney get_user_msgid("Money");
}

public 
client_connectid ) {
    
usersilent[id]    = 0;
    
userstealth[id]    = 0;
    
usernoflash[id]    = 0;
    
userhp[id]    = 0;
    
userarmor[id]    = 0;
    
usergrenade[id]    = 0;
    
usergravity[id]    = 0;
    
userspeed[id]    = 0;
    
gotgodmode[id]    = 0;
    
hasgodmode[id]    = 0;
    
hasspeed[id]    = 0;
    
hassilent[id]    = 0;
    
mess[id]    = 0;
    
mess2[id]    = 0;
}

public 
client_disconnectid ) {
    
usersilent[id]    = 0;
    
userstealth[id]    = 0;
    
usernoflash[id]    = 0;
    
userhp[id]    = 0;
    
userarmor[id]    = 0;
    
usergrenade[id]    = 0;
    
usergravity[id]    = 0;
    
userspeed[id]    = 0;
    
gotgodmode[id]    = 0;
    
hasgodmode[id]    = 0;
    
hasspeed[id]    = 0;
    
hassilent[id]    = 0;
    
mess[id]    = 0;
    
mess2[id]    = 0;


public 
speed_onid )
    if(
is_user_alive(id))
        if(
hasspeed[id])
            
fm_set_user_maxspeed(id320.0);

// Advert
public advert() {
    new 
g_Maxplayers;
    
g_Maxplayers get_maxplayers();
    
    for(new 
i=1i<=g_Maxplayersi++)
        if(
is_user_connected(i))
            
ColorChat(iRED"^x01[AMXX]^x04 This server is using^x03 Hide'n'Seek Shop^x04, Type^x03 /hnsshop^x04 or^x03 /shop");
}

public 
fwd_FM_CmdStart_preiduc_handlerandom_seed ) {
        if(!
is_user_alive(id))
            return 
FMRES_IGNORED;
    
        if(
hassilent[id] > 0)
            
set_pev(idpev_flTimeStepSound999);

        static 
button;
        
button get_uc(uc_handleUC_Buttons);
        if(
button IN_RELOAD) {
            if(
get_pcvar_num(allowgodmode) == 1)
                return 
FMRES_IGNORED;
            
            if(!
gotgodmode[id]) {    
                if(!
mess[id]) {
                    
ColorChat(idRED"^x04[Hide'n'Seek Shop]^x01 You need to buy godmode first!");
                    
mess[id]++;
                    
set_task(3.0"remove_mess"id);
                    return 
FMRES_IGNORED;
                }
                return 
FMRES_IGNORED;
            }
            
            if(
hasgodmode[id] > 0) {
                if(!
mess[id]) {
                    
ColorChat(idRED"^x04[Hide'n'Seek Shop]^x01 Your godmode is already activated!");
                    
mess[id]++;
                    
set_task(3.0"remove_mess"id);
                    return 
FMRES_IGNORED;
                }
                return 
FMRES_IGNORED;
            }
        
            
gotgodmode[id] = 0;
            
hasgodmode[id]++;
            
fm_set_user_godmode(id1);
            if(
get_user_team(id) == 1)
                
fm_set_user_rendering(idkRenderFxGlowShell25500kRenderTransAlpha255);
            else if(
get_user_team(id) == 2)
                
fm_set_user_rendering(idkRenderFxGlowShell00255kRenderTransAlpha255);
            
            
set_task(5.0"remove_godmode"id);
        
            if(!
mess[id]) {
                
ColorChat(idRED"^x04[Hide'n'Seek Shop]^x01 Your godmode is now active!");
                
mess[id]++;
                
set_task(3.0"remove_mess"id);
            } 
            return 
FMRES_SUPERCEDE;
        } 
        return 
FMRES_IGNORED;
}


// User Spawn event
public fwEvResetHUDid ) {
        if (!
is_user_alive(id))
                return;
 
        if (
g_bPlayerNonSpawnEvent[id]) {
                
g_bPlayerNonSpawnEvent[id] = false;
                return;
        }
 
        
fwPlayerSpawn(id);
}
 
public 
fwEvGameWillRestartIn() {
        static 
iPlayers[32], iPlayersNumi;
        
get_players(iPlayersiPlayersNum"a");
        for (
0iPlayersNum; ++i)
                
g_bPlayerNonSpawnEvent[iPlayers[i]] = true;
}
 
public 
fwCmdClFullupdateid ) {
        
g_bPlayerNonSpawnEvent[id] = true;
        static const 
szFwFmClientCommandPost[] = "fwFmClientCommandPost";
        
g_iFwFmClientCommandPost register_forward(FM_ClientCommandszFwFmClientCommandPost1);
        return 
PLUGIN_CONTINUE;
}
 
public 
fwFmClientCommandPostid ) {
        
unregister_forward(FM_ClientCommandg_iFwFmClientCommandPost1);
        
g_bPlayerNonSpawnEvent[id] = false;
        return 
FMRES_HANDLED;
}
 
public 
fwPlayerSpawnid ) {
    if(!
is_user_alive(id))
        return 
PLUGIN_HANDLED;
    
    if(
get_pcvar_num(plugin_on) == 1) {
        
set_pev(idpev_flTimeStepSound400);
        
fm_set_user_rendering(idkRenderFxGlowShell000kRenderTransAlpha255);
        
fm_set_user_health(id100);
        
fm_set_user_armor(id0);
        
fm_set_user_gravity(id1.0);
        
usersilent[id]    = 0;
        
userstealth[id]    = 0;
        
usernoflash[id]    = 0;
        
userhp[id]    = 0;
        
userarmor[id]    = 0;
        
usergrenade[id]    = 0;
        
usergravity[id]    = 0;
        
userspeed[id]    = 0;
        
hassilent[id]    = 0;
    }
    return 
PLUGIN_HANDLED;
}  

// User Death event
public eDeathid ) {
    new 
victem read_data(2);
        
    
usersilent[victem]    = 0;
    
userstealth[victem]    = 0;
    
usernoflash[victem]    = 0;
    
userhp[victem]        = 0;
    
userarmor[victem]    = 0;
    
usergrenade[victem]    = 0
    
usergravity[victem]    = 0;
    
userspeed[victem]    = 0;
    
hasspeed[victem]    = 0;
    
hasgodmode[victem]    = 0;
    
hassilent[victem]    = 0;
}

// Showing menu
public show_hnsmenuid ) {
    if(
get_pcvar_num(plugin_on) == 1) {
        new 
szBuffer[512], iLen;

        
iLen formatex(szBuffersizeof szBuffer 1"\rHide'n'Seek Shop\w^n^n");
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r1. \wSilent Walk - \y%d$^n"get_pcvar_num(silentcost));
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r2. \wStealth \r(20 seconds) - \y%d$^n"get_pcvar_num(stealthcost));
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r3. \wNo Flash Blinding - \y%d$^n"get_pcvar_num(noflashcost));
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r4. \w%d HP - \y%d$^n"get_pcvar_num(hpcvar), get_pcvar_num(hpcost));
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r5. \w%d Armor - \y%d$^n"get_pcvar_num(armorcvar), get_pcvar_num(armorcost));
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r6. \wHE Grenade - \y%d$^n"get_pcvar_num(grenadecost));
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r7. \wGravity \r(10 seconds) - \y%d$^n"get_pcvar_num(gravitycost));   
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r8. \wFaster Speed \r(25 seconds) - \y%d$^n"get_pcvar_num(speedcost));
        
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r9. \wGodmode \d(key activation) \r(5 seconds) - \y%d$^n^n"get_pcvar_num(godmodecost));
                
iLen += formatex(szBuffer[iLen], (sizeof szBuffer 1) - iLen"\r10. \wNo fall damage - \y200;
        iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "
\r0. \wExit"); 

        new iKeys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<< 8 | 1<<9 );
        show_menu(id, iKeys, szBuffer, -1, "
Hide'n'Seek Shop");
    } else
        ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 Shop has been disabled.");
    return PLUGIN_HANDLED;
}

// Shop actions
public hnsshop( id, key ) {
    switch( key ) {
        case 0: // Silent Footsteps
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED;  
            }
            if(usersilent[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allowsilent) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
    
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(silentcost);
    
            if(money > cost || money == cost) {
                set_pev(id, pev_flTimeStepSound, 999);
                fm_set_user_money(id, money - cost);
                usersilent[id]++;
                hassilent[id]++;
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Silent Footsteps,^x04 now enemy cant hear you.");
            } else {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            }
        }
        case 1: // Stealth Suit
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED;
            }
            if(userstealth[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allowstealth) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
    
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(stealthcost);
    
            if(money > cost || money == cost) {
                fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 15);
                fm_set_user_money(id, money - cost);
                userstealth[id]++;
                set_task(20.0, "
remove_stealth", id);
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Stealth Suit,^x04 now you are invisible for 20 seconds.") ;
            } else {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            }
        }
        case 2: // NoFlash Blinding
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED;
            }
            if(usernoflash[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allownoflash) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
    
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(noflashcost);
    
            if(money > cost || money == cost) {
                fm_set_user_money(id, money - cost);
                usernoflash[id]++;
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased^x03 NoFlash Blinding.");
            } else {  
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            } 
        }
        case 3: // HP
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED;
            }
            if(userhp[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allowhp) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
    
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(hpcost);
    
            if(money > cost || money == cost) {
                new health = get_pcvar_num(hpcvar);
                fm_set_user_money(id, money - cost);
                fm_set_user_health(id, health);
                userhp[id]++;
                client_cmd(id, "
spk items/medshot4");
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased^x03 %d HP.", get_pcvar_num(hpcvar));
            } else {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            }
        }
        case 4: // Armor
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED;
            }
            if(userarmor[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allowarmor) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
    
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(armorcost);
        
            if(money > cost || money == cost) {
                new armor = get_pcvar_num(armorcvar);
                fm_set_user_money(id, money - cost);
                fm_set_user_armor(id, armor);
                userarmor[id]++;
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased^x03 %d Armor.", get_pcvar_num(armorcvar));
            } else {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            }
        }
        case 5: // HE Grenade
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED;
            }
            if(usergrenade[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allowgrenade) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
    
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(grenadecost);
    
            if(money > cost || money == cost) {
                fm_set_user_money(id, money - cost);
                fm_give_item(id, "
weapon_hegrenade");
                usergrenade[id]++;
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased an^x03 HE-Grenade.");
            } else {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            }
        }
        case 6: // Gravity
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED;
            }
            if(usergravity[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allowgravity) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
    
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(gravitycost);
        
            if(money > cost || money == cost) {
                fm_set_user_money(id, money - cost);
                fm_set_user_gravity(id, 0.63);
                usergravity[id]++;
                set_task(10.0, "
remove_gravity", id);
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Gravity^x04 for 10 seconds.");
            } else {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            }
        }
        case 7: // Faster Speed
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED; 
            }
            if(userspeed[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allowspeed) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
    
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(speedcost);
    
            if(money > cost || money == cost) {
                fm_set_user_money(id, money - cost);
                userspeed[id]++;
                hasspeed[id]++;
                fm_set_user_maxspeed(id, 320.0);
                set_task(25.0, "
remove_speed", id);
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Faster speed.");
            } else {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            }
        }
        case 8: // Godmode
        {
            if(!is_user_alive(id)) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
                return PLUGIN_HANDLED; 
            }
            if(gotgodmode[id] > 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You already own this item!");
                return PLUGIN_HANDLED;
            }
            if(get_pcvar_num(allowgodmode) == 0) {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
                return PLUGIN_HANDLED;
            }
        
            new money = fm_get_user_money(id);
            new cost = get_pcvar_num(godmodecost);
         
            if(money > cost || money == cost) {
                gotgodmode[id]++;
                fm_set_user_money(id, money - cost);
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Godmode,^x04 Press R(Reload)^x01 to activate it.");
            } else {
                ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
            }
                case 9:
                {

                }
        }
        case 10: // Exit
            return PLUGIN_HANDLED;
    }
    return PLUGIN_HANDLED;
}

// Remove Gravity
public remove_gravity( id ) {
    fm_set_user_gravity(id, 1.0);
    ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 Your gravity now is normal.");
}  

// Remove Stealth
public remove_stealth( id ) {
    fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
    ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 You are^x03 visible^x01 like others.");
}

// Remove Speed
public remove_speed( id ) {
    fm_set_user_maxspeed(id, 250.0);
    hasspeed[id] = 0;
    ColorChat(id, BLUE, "
^x04[Hide'n'Seek Shop]^x01 Your speed is normal now.");
}

// Remove Godmode
public remove_godmode( id ) {
    hasgodmode[id] = 0;
    fm_set_user_godmode(id, 0);
    if(!mess2[id]) {
        ColorChat(id, RED, "
^x04[Hide'n'Seek Shop]^x01 You dont have godmode anymore.");
        mess2[id]++;
        fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
        set_task(3.0, "
remove_mess2", id);
    }
}

public remove_mess( id )        mess[id]    = 0;
public remove_mess2( id )    mess2[id]    = 0;

/// NoFlash Blinding - Start
public bad_fix2() {
    new Float:gametime = get_gametime();
    if(gametime - g_gametime2 > 2.5)
        for(new i = 0; i < 32; i++)
            grenade[i] = 0;
}

public eventFlash( id ) {
    new Float:gametime = get_gametime();
    if(gametime != g_gametime) { 
        g_owner = get_grenade_owner();
        g_gametime = gametime;
        for(new i = 0; i < 33; i++) 
            g_track[i] = false;
        g_track_enemy = false;
    }    
    if(is_user_connected(g_owner) && usernoflash[id] > 0) {
        g_track_enemy = true;

        message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, id);
        write_short(1);
        write_short(1);
        write_short(1);
        write_byte(0);
        write_byte(0);
        write_byte(0);
        write_byte(255);
        message_end();
    }
}

public flash_delay() {
    if(g_track_enemy == false) {
        for(new i = 0; i < 33; i++) {
            if(g_track[i] == true && is_user_connected(i)) {
                message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, i) ;
                write_short(1);
                write_short(1);
                write_short(1);
                write_byte(0);
                write_byte(0);
                write_byte(0);
                write_byte(255);
                message_end();
            }
        }
    }
}

public grenade_throw() {
    if(g_sync_check_data == 0)
        return PLUGIN_CONTINUE;
    g_sync_check_data--;
    if(read_datanum() < 2)
        return PLUGIN_HANDLED_MAIN;

    if(read_data(1) == 11 && (read_data(2) == 0 || read_data(2) == 1))
        add_grenade_owner(last);

    return PLUGIN_CONTINUE;
}

public fire_in_the_hole() {
    new name[32];
    read_data(3, name, 31);
    new temp_last = get_user_index(name);
    new junk;
    if((temp_last == 0) || (!is_user_connected(temp_last)))
        return PLUGIN_CONTINUE;
    if(get_user_weapon(temp_last,junk,junk) == CSW_FLASHBANG) {
        last = temp_last;
        g_sync_check_data = 2; 
    }
    return PLUGIN_CONTINUE;
}

public fire_in_the_hole2() {
    new name[32];
    read_data(4, name, 31);
    new temp_last = get_user_index(name);
    new junk;
    if((temp_last == 0) || (!is_user_connected(temp_last)))
        return PLUGIN_CONTINUE;
    if(get_user_weapon(temp_last,junk,junk) == CSW_FLASHBANG) {    
        last = temp_last;
        g_sync_check_data = 2;
    }
    return PLUGIN_CONTINUE;
}

add_grenade_owner(owner) {
    new Float:gametime = get_gametime();
    g_gametime2 = gametime;
    for(new i = 0; i < 32; i++) {
        if(grenade[i] == 0) {
            grenade[i] = owner;
            return;
        }
    }
}

get_grenade_owner() {
    new which = grenade[0];
    for(new i = 1; i < 32; i++)  
        grenade[i-1] = grenade[i];
    grenade[31] = 0;
    return which;
}

// from XxAvalanchexX "
Flashbang Dynamic Light"
public fw_emitsound(entity,channel,const sample[],Float:volume,Float:attenuation,fFlags,pitch) {
    if(!equali(sample,"
weapons/flashbang-1.wav") && !equali(sample,"weapons/flashbang-2.wav"))
        return FMRES_IGNORED;

    new Float:gametime = get_gametime();

    //in case no one got flashed, the sound happens after all the flashes, same game time
    if(gametime != g_gametime) {
        g_owner = get_grenade_owner();
        return FMRES_IGNORED;
    }
    return FMRES_IGNORED;
}
// NoFlash Blinding - End 

// Stocks - Start
public fm_set_user_money ( index, i_Money ) { 
    set_pdata_int ( index, 115, i_Money ); 

    message_begin ( MSG_ONE, g_msgMoney, _, index ); 
    write_long ( i_Money ); 
    write_byte ( 1 ); 
    message_end (); 
}

stock fm_get_user_godmode( index ) {
    new Float:val;
    pev(index, pev_takedamage, val);

    return (val == DAMAGE_NO);
}

stock fm_set_user_godmode( index, godmode = 0 ) {
    set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);

    return 1;
}

stock fm_set_user_health( index, health ) {
    health > 0 ? set_pev(index, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, index);

    return 1;
}

stock fm_set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
    return fm_set_rendering(index, fx, r, g, b, render, amount);
}

stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) {
    engfunc(EngFunc_SetClientMaxspeed, index, speed);
    set_pev(index, pev_maxspeed, speed);

    return 1;
}

stock fm_set_user_armor( index, armor ) {
    set_pev(index, pev_armorvalue, float(armor));

    return 1;
}

stock fm_set_user_gravity( index, Float:gravity = 1.0 ) {
    set_pev(index, pev_gravity, gravity);

    return 1;
}

stock fm_give_item( index, const item[] ) {
    if (!equal(item, "
weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5))
        return 0;

    new ent = fm_create_entity(item);
    if (!pev_valid(ent))
        return 0;

    new Float:origin[3];
    pev(index, pev_origin, origin);
    set_pev(ent, pev_origin, origin);
    set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
    dllfunc(DLLFunc_Spawn, ent);

    new save = pev(ent, pev_solid);
    dllfunc(DLLFunc_Touch, ent, index);
    if (pev(ent, pev_solid) != save)
        return ent;

    engfunc(EngFunc_RemoveEntity, ent);

    return -1;
}

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
    new Float:RenderColor[3];
    RenderColor[0] = float(r);
    RenderColor[1] = float(g);
    RenderColor[2] = float(b);

    set_pev(entity, pev_renderfx, fx);
    set_pev(entity, pev_rendercolor, RenderColor);
    set_pev(entity, pev_rendermode, render);
    set_pev(entity, pev_renderamt, float(amount));

    return 1;
}
// Stocks - End

// ColorChat - Start
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) {
    new message[256];

    switch(type) {
        case NORMAL:    message[0] = 0x01;
        case GREEN:    message[0] = 0x04;
        default:    message[0] = 0x03;
    }

    vformat(message[1], 251, msg, 4);

    // Make sure message is not longer than 192 character. Will crash the server.
    message[192] = '^0';

    new team, ColorChange, index, MSG_Type;
    
    if(id) {
        MSG_Type = MSG_ONE;
        index = id;
    } else {
        index = FindPlayer();
        MSG_Type = MSG_ALL;
    }
    
    team = get_user_team(index);
    ColorChange = ColorSelection(index, MSG_Type, type);

    ShowColorMessage(index, MSG_Type, message);
        
    if(ColorChange)
        Team_Info(index, MSG_Type, TeamName[team]);
}

ShowColorMessage(id, type, message[]) {
    static bool:saytext_used;
    static get_user_msgid_saytext;
    if(!saytext_used) {
        get_user_msgid_saytext = get_user_msgid("
SayText");
        saytext_used = true;
    }
    message_begin(type, get_user_msgid_saytext, _, id);
    write_byte(id);
    write_string(message);
    message_end();    
}

Team_Info(id, type, team[]) {
    static bool:teaminfo_used;
    static get_user_msgid_teaminfo;
    if(!teaminfo_used) {
        get_user_msgid_teaminfo = get_user_msgid("
TeamInfo");
        teaminfo_used = true;
    }
    message_begin(type, get_user_msgid_teaminfo, _, id);
    write_byte(id);
    write_string(team);
    message_end();

    return 1;
}

ColorSelection(index, type, Color:Type) {
    switch(Type) {
        case RED:    return Team_Info(index, type, TeamName[1]);
        case BLUE:    return Team_Info(index, type, TeamName[2]);
        case GREY:    return Team_Info(index, type, TeamName[0]);
    }

    return 0;
}

FindPlayer(){
    new i = -1;

    while(i <= get_maxplayers())
        if(is_user_connected(++i))
            return i;
    
    return -1;




All times are GMT -4. The time now is 04:12.

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