Raised This Month: $12 Target: $400
 3% 

[REQ] Add futures for CS Prop Hunt v1.1


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
5aloOod
Senior Member
Join Date: Jun 2013
Location: hell
Old 07-20-2014 , 18:37   [REQ] Add futures for CS Prop Hunt v1.1
Reply With Quote #1

Hello everyone

am requesting you guys to add two features CS Prop Hunt v1.1

1- red screenfade when CT players do a random hit/fire + show in HUD how many HP did CT players lose like this ->
[IMG]http://s7.************/zeo5u8a3v/2014_07_21_00001.jpg[/IMG]

2- menu for T players with all available models to choose and change their current model can be used any time

Plugin Code:
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>
#include <dhudmessage>

new const VERSION[] = "1.1";

new const 
g_pyrofireSpr_[] = "sprites/explode1.spr";

new const 
g_pmdl_flamethrower[] = "models/p_flamethrower.mdl";
new const 
g_vmdl_flamethrower[] = "models/v_flamethrower.mdl";

new const 
g_FtSound[] = "flamethrower.wav";

new const 
g_smokeSpr_[] = "sprites/black_smoke3.spr";
new const 
g_flameSpr_[] = "sprites/flame.spr";

new const 
g_CountdownSound[][] =
{
    
"fvox/time_is_now.wav",
    
"fvox/one.wav",
    
"fvox/two.wav",
    
"fvox/three.wav",
    
"fvox/four.wav",
    
"fvox/five.wav"
};

#define is_player_alive(%1) (1 <= %1 <= gMaxPlayers && g_bIsAlive[%1])
#define is_player_connected(%1) (1 <= %1 <= gMaxPlayers && g_bIsConnected[%1])
#define remove_prop(%1) (engfunc(EngFunc_RemoveEntity, g_iProp[%1]), g_iProp[%1]=0)

#define VectorAdd(%1,%2,%3) (%3[0] = %1[0] + %2[0], %3[1] = %1[1] + %2[1], %3[2] = %1[2] + %2[2])
#define VectorScale(%1,%2,%3) (%3[0] = %2 * %1[0], %3[1] = %2 * %1[1], %3[2] = %2 * %1[2])

new const g_sB[] = "b";
new const 
g_sA[] = "a";
new const 
g_sBE[] = "be";
new const 
g_sPlayer[] = "player";
new const 
g_sInfoTarget[] = "info_target";
//new const g_sClassName[] = "classname"
new const g_sBlank[] = "";
new const 
g_sCommandNotAvailable[] = "Command_Not_Available";
new const 
g_sMsgWins[][] =
{
    
"Terrorists_Win",
    
"Hostages_Not_Rescued",
    
"CTs_Win"
};

const 
OFFSET_PAINSHOCK 108

const HIDE_HUD = ( << );
//const HIDE_NONE = ( 1 << 7 );

enum (+= 200) { TASK_HIDETIME 9999TASK_HEALTASK_ZOOMTASK_BURNTASK_SCLIP };

enum HEAVY 1PYROSNIPER };

new const 
g_iClassAmmo[] = { -1200, -140 };

new const 
g_szSeekerWpns[][] = 
{
    
"",
    
"weapon_m249",
    
"weapon_xm1014",
    
"weapon_scout",
    
"weapon_knife"
};

enum HUD_BOARDHUD_ZOOMHUD_CROSSHAIRHUD_OBJ };
enum ICON_SPEEDBOOSTICON_BUYZONE };

new const 
g_iClassHealth[] = { -1200170150 };

new const 
g_szPlayerCamera[] = "Player_camera";
new const 
g_szHiderProp[] = "Hider_Prop";
new const 
g_bar[][] = { "|||||""_____" };
new const 
g_teamnum[][] = { "0""1""2""3" };
new const 
g_classnum[][] = { "1""2""3""4" };

enum TEAM_T 1TEAM_CT };

new const 
g_cTeamChars[] = { 'U''T''C''S' };
new const 
g_cmdTeam[][] = { "jointeam""chooseteam""joinclass" };

new const 
g_weapon_entity[][] =
{
    
"weaponbox",
    
"armoury_entity",
    
"weapon_shield"
};

new const 
g_sBuyCommands[][] =  

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

new const 
g_sRemoveEntities[][] =
{
    
"func_bomb_target",
    
"info_bomb_target",
    
"hostage_entity",
    
"monster_scientist",
    
"func_hostage_rescue",
    
"info_hostage_rescue",
    
"info_vip_start",
    
"func_vip_safetyzone",
    
"func_escapezone",
    
"armoury_entity"
};

new 
bool:g_bGameOn truebool:g_bInHideTime;
new Array:
g_sPropsModel;
new 
g_iProp[33], g_iCamera[33], g_iHunterClass[33], bool:g_bCameraOn[33];
new 
bool:g_bIsHider[33], bool:g_bIsAlive[33], bool:g_bIsConnected[33];
new 
g_CvarBlockteamg_CvarHidetimeg_CvarHealtimeg_CvarFlamedurag_CvarHpLostAmt,
    
g_CvarHiderspeedg_CvarSpeedBoostg_CvarFtFuel;
new 
gMaxPlayersgMsgStatusIcongMsgSayTextgMsgHideWeapon,
    
gMsgScreenFadegMsgCrossHairgMsgBarTimeg_hudmsg[4];
new 
g_pyrofireSprg_smokeSprg_flameSpr;
new 
g_iTeam[33], g_iPlayers[5];
new 
bool:g_bRoundEndg_iDoublejump[33], g_iCurWeapon[33], g_iFuel[33];
new 
g_iCountdownTimeFloat:g_fLastfire[33], g_bHasSpeedBoost[33];
new 
g_iZoomPower[33], g_iSniperDmg[33];
new 
Float:g_fGameStartTimeFloat:g_fFrags[33];
new 
g_iHostageg_iHideTime

public plugin_init() 
{
    if(!
g_bGameOn)
        return;
        
    
register_dictionary("csprophunt.txt");
    
    
RegisterHam(Ham_Spawng_sPlayer"fw_spawn_player_post"1);
    
RegisterHam(Ham_TakeDamageg_sPlayer"fw_TakeDamage");
    
RegisterHam(Ham_TakeDamageg_sPlayer"fw_TakeDamage_post"1);
    
RegisterHam(Ham_Killed"player""fw_killed_player");
    
    new 
sEventTouchWpn[] = "event_touch_weapon";
    for(new 
i3i++)
        
RegisterHam(Ham_Touchg_weapon_entity[i], sEventTouchWpn);
    
    
RegisterHam(Ham_Thinkg_sInfoTarget"fw_ent_think");
    
RegisterHam(Ham_Weapon_PrimaryAttackg_szSeekerWpns[1], "fw_WeaponAttack");
    
RegisterHam(Ham_Weapon_PrimaryAttackg_szSeekerWpns[3], "fw_WeaponAttack");
    
RegisterHam(Ham_Weapon_SecondaryAttackg_szSeekerWpns[4], "fw_WeaponAttack");
    
    
register_event("TeamInfo""event_TeamInfo"g_sA);
    
register_event("CurWeapon""event_curweapon"g_sBE"1=1");
    
register_event("SetFOV""Event_SetFOV""be")
//    register_event("HLTV", "EventNewRound", g_sA, "1=0", "2=0" );
    
register_logevent("EventRoundStart"2"1=Round_Start");
    
register_logevent("EventRoundEnd"2"1=Round_End" );
    
register_event("TextMsg""RestartRound"g_sA"2&#Game_C""2&#Game_w");
//    register_event("DeathMsg", "eventDeathMsg", g_sA, "2!0");
    
register_event("StatusIcon""Event_BuyZone"g_sB"2=buyzone");
    
//    register_message(get_user_msgid("StatusIcon"), "msgStatusIcon");
    
register_message(get_user_msgid("TextMsg"), "msg_textmsg");
    
register_message(get_user_msgid("WeapPickup"), "msg_weaponpickup");
    
register_message(get_user_msgid("AmmoPickup"), "msg_ammopickup");
    
    
register_forward(FM_GetGameDescription"fwd_GameDescription");
    
register_forward(FM_CmdStart"fwd_CmdStart");
    
register_forward(FM_UpdateClientData"fwd_UpdateClientData_Post"1);
    
register_forward(FM_PlayerPreThink"fwd_Player_PreThink");
    
register_forward(FM_PlayerPostThink"fwd_Player_PostThink");
    
register_forward(FM_ClientKill"fwd_ClientKill");
    
    new 
sBuyHandle[] = "cmd_buy";
    for(new 
0sizeof g_sBuyCommandsi++) 
        
register_clcmd(g_sBuyCommands[i], sBuyHandle);
    
    
register_clcmd("drop""cmd_drop");
    for(new 
i2i++)
        
register_clcmd(g_cmdTeam[i], "cmd_chooseteam", -1g_sBlank);
    
register_clcmd("say /class""cmd_choose_class");
    
    for(new 
04i++)
        
g_hudmsg[i] = CreateHudSyncObj();
    
    
set_task(2.0"show_hud"___g_sB);
    
    
set_cvar_num("mp_playerid"1); //hunter won't see hider'name when aiming
    
    
gMaxPlayers get_maxplayers();
    
gMsgStatusIcon get_user_msgid("StatusIcon");
    
gMsgSayText get_user_msgid("SayText");
    
gMsgHideWeapon get_user_msgid("HideWeapon");
    
gMsgScreenFade get_user_msgid("ScreenFade");
    
gMsgCrossHair get_user_msgid("Crosshair");
    
gMsgBarTime get_user_msgid("BarTime")
//    gMsgDeathmsg = get_user_msgid("DeathMsg");
}

public 
plugin_precache()
{
    
register_plugin("CS PropHunt"VERSION"Ryokin");
    
register_cvar("ph_version"VERSIONFCVAR_SPONLY|FCVAR_SERVER);
    
set_cvar_string("ph_version"VERSION);
    
    
g_CvarBlockteam register_cvar("ph_block_jointeam""1");
    
g_CvarHidetime register_cvar("ph_hide_time""20");
    
g_CvarHealtime register_cvar("ph_healing_time""30");
    
g_CvarFlamedura register_cvar("ph_flame_duration""10");
    
g_CvarHpLostAmt register_cvar("ph_wpnfire_hp_amount""5"); //hp losing when wpn fire
    
g_CvarHiderspeed register_cvar("ph_hider_speed""280.0");
    
g_CvarSpeedBoost register_cvar("ph_speed_boost""15.0");
    
g_CvarFtFuel register_cvar("ph_flamethrower_fuel""150");
    
    
g_sPropsModel ArrayCreate(321);
    
    static 
cfgdir[32], mapname[32], filepath[100];
    
get_configsdir(cfgdircharsmax(cfgdir));
    
get_mapname(mapnamecharsmax(mapname));
    
format(mapnamecharsmax(mapname), "[%s]"mapname);
    
formatex(filepathcharsmax(filepath), "%s/cs_prophunt.ini"cfgdir);
    
    if(!
file_exists(filepath))
    {
        
server_print("[PropHunt] WARNING: Can't find file %s"filepath);
        
g_bGameOn false;
        return;
    }
    
    static 
linedata[1024], key[64], value[960], buffer[100], bool:catch_mapbool:bHadCatchedMap false;

    new 
file fopen(filepath"rt");
    
    while(
file && !feof(file))
    {
        
fgets(filelinedatacharsmax(linedata));
        
        
replace(linedatacharsmax(linedata), "^n""");
        
        if(!
linedata[0] || linedata[0] == ';'
            continue;
            
        if(
linedata[0] == '[')
        {
            
strtok(linedatakeycharsmax(key), valuecharsmax(value));
            
trim(key);
            
trim(value);
            
            if(
equal(keymapname))
            {
                if(!
bHadCatchedMap
                    
bHadCatchedMap true//found map's name
                
catch_map true;
            }
            else 
catch_map false;
            
            continue;
        }
            
        if(!
catch_map)
            continue;
            
        
strtok(linedatakeycharsmax(key), valuecharsmax(value), '=');
        
        
trim(key)
        
trim(value)
        
        if(
equal(key"HIDE TIME"))
        {
            
g_iHideTime str_to_num(value);
            continue
        }
            
        
formatex(valuecharsmax(value), "%s"linedata);
        
        while(
value[0] != && value[10] != '=' && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
        {
            
trim(key);
            
trim(value);
                        
            
ArrayPushString(g_sPropsModelkey);
        }
    }
    if(
filefclose(file);
    
    if(!
bHadCatchedMap//can't find map in ini file
    
{
        
server_print("[PropHunt] WARNING: Can't find map's name %s in cs_prophunt.ini"mapname);
        
g_bGameOn false;
        return;
    }
    
    if(!
g_iHideTime)
        
g_iHideTime get_pcvar_num(g_CvarHidetime);
    
    for(new 
0ArraySize(g_sPropsModel); i++)
    {
        
ArrayGetString(g_sPropsModelibuffercharsmax(buffer));
        
format(buffercharsmax(buffer), "models/props/%s.mdl"buffer);
        
engfunc(EngFunc_PrecacheModelbuffer);
    }
    
    
precache_model(g_pmdl_flamethrower);
    
precache_model(g_vmdl_flamethrower);
    
precache_sound(g_FtSound);
    
    
g_pyrofireSpr precache_model(g_pyrofireSpr_);
    
g_smokeSpr precache_model(g_smokeSpr_);
    
g_flameSpr precache_model(g_flameSpr_);
    
    for(new 
06i++)
        
precache_sound(g_CountdownSound[i]);
        
    
register_forward(FM_Spawn"fwd_Spawn");
    
    new 
iHostage engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"hostage_entity"));
    
    if(
iHostage)
    {
        
engfunc(EngFunc_SetOriginiHostageFloat:{0.00.0, -55000.0});
        
engfunc(EngFunc_SetSizeiHostageFloat:{-1.0, -1.0, -1.0}, Float:{1.01.01.0});
        
dllfunc(DLLFunc_SpawniHostage);
        
g_iHostage iHostage
    
}
}

public 
client_putinserver(id)
{
    
g_bIsConnected[id] = true;
    
    
//create camera
    
new iEnt engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocStringg_sInfoTarget));      
    
set_pev(iEntpev_classnameg_szPlayerCamera);
    
engfunc(EngFunc_SetModeliEnt"models/w_usp.mdl");
    
set_pev(iEntpev_solidSOLID_TRIGGER);
    
set_pev(iEntpev_movetypeMOVETYPE_FLY);
    
set_pev(iEntpev_ownerid);
    
set_pev(iEntpev_rendermodekRenderTransTexture);
    
set_pev(iEntpev_renderamt0.0);
    
g_iCamera[id] = iEnt;
    
    
//create prop
    
new iProp engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocStringg_sInfoTarget));
    
set_pev(iProppev_classnameg_szHiderProp);
//    set_pev(iProp, pev_movetype, MOVETYPE_TOSS);
    
set_pev(iProppev_ownerid);
    
set_visible(iProp0);
    
g_iProp[id] = iProp;
}

public 
client_disconnect(id)
{
    
g_bIsAlive[id] = false;
    
g_bIsConnected[id] = false;
    
g_iHunterClass[id] = 0;
    
g_iCurWeapon[id] = 0;
    
    if(
g_iProp[id])
        
remove_prop(id);
        
    new 
iEnt g_iCamera[id];
    if(
iEntengfunc(EngFunc_RemoveEntityiEnt), g_iCamera[id] = 0;
        
    if(
task_exists(id+TASK_HEAL))
        
remove_task(id+TASK_HEAL);
        
    if(
task_exists(id+TASK_SCLIP))
        
remove_task(id+TASK_SCLIP);
        
    if(
task_exists(id+TASK_ZOOM))
        
remove_task(id+TASK_ZOOM);
}

public 
cmd_buy(id

    
client_print(idprint_center"%L"LANG_PLAYER"CANT_BUY_WPN");
    return 
PLUGIN_HANDLED;
}
    
public 
cmd_drop(id)
{
    
client_print(idprint_center"%L"LANG_PLAYER"CANT_DROP");
    return 
PLUGIN_HANDLED;
}
    
public 
cmd_chooseteam(id)
{
    if(!
get_pcvar_num(g_CvarBlockteam) || is_user_admin(id))
    {
        if(
g_iHunterClass[id])
            
g_iHunterClass[id] = 0;
            
        return 
PLUGIN_CONTINUE;
    }
        
    static 
CsTeams:team;
    
team cs_get_user_team(id);
    if(
team == CS_TEAM_SPECTATOR || team == CS_TEAM_UNASSIGNED)
    {
        new 
iteam get_new_team();
        
engclient_cmd(idg_cmdTeam[0], g_teamnum[iteam]);
        
engclient_cmd(idg_cmdTeam[2], g_classnum[random_num(0,3)]);
        if(
g_iHunterClass[id])
            
g_iHunterClass[id] = 0;
            
        return 
PLUGIN_HANDLED;
    }
    else
    {
        
client_print(idprint_center"%L"LANG_PLAYER"CHANGE_TEAM");
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
event_TeamInfo()
{
    if(!
get_pcvar_num(g_CvarBlockteam) || !g_bGameOn)
        return 
PLUGIN_CONTINUE;
        
    new 
id read_data(1);
    new 
sTeam[32], iTeam;
    
read_data(2sTeamsizeof(sTeam) - 1);
    for(new 
05i++)
    {
        if(
g_cTeamChars[i] == sTeam[0])
        {
            
iTeam i;
            break;
        }
    }
    
    if(
g_iTeam[id] != iTeam)
    {
        
g_iPlayers[g_iTeam[id]]--;
        
g_iTeam[id] = iTeam;
        
g_iPlayers[iTeam]++;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
camera_think(iEnt)
{
    new 
id pev(iEntpev_owner);
    
    if(!
g_bCameraOn[id])
        return;

    static 
Float:origin[3], Float:angle[3], Float:vBack[3], add_vec;
    
pev(idpev_originorigin);
    
pev(idpev_v_angleangle);

    
angle_vectorangleANGLEVECTOR_FORWARDvBack );

    
origin[2] += 20.0;
     
//    add_vec = 120.0;
    
add_vec get_add_vec(idoriginvBack);
        
    
origin[0] += (-vBack[0] * add_vec);
    
origin[1] += (-vBack[1] * add_vec);
    
origin[2] += (-vBack[2] * add_vec);

    
set_pev(iEntpev_originorigin);
    
set_pev(iEntpev_anglesangle);
        
    
set_pev(iEntpev_nextthinkget_gametime()+ 0.01);
}

get_add_vec(idFloat:origin[3], Float:back[3])
{
    static 
add_vecFloat:torigin[3], Float:flFraction;
    
add_vec 5;
    
    for(new 
200i--)
    {
        
torigin[0] = origin[0] + (-back[0] * add_vec *i);
        
torigin[1] = origin[1] + (-back[1] * add_vec *i);
        
torigin[2] = origin[2] + (-back[2] * add_vec *i);
        
engfunc(EngFunc_TraceLineorigintoriginIGNORE_MONSTERSid0);
        
get_tr2(0TR_flFractionflFraction);
        if(
flFraction == 1.0)
        {
            return (
add_vec*i);
        }
    }
    return 
0;
}

public 
fwd_GameDescription() 

    new 
szMsg[32];
    
formatex(szMsg31"CS-PropHunt v%s"VERSION);
    
forward_return(FMV_STRINGszMsg);
    return 
FMRES_SUPERCEDE;
}

public 
fwd_CmdStart(iduc_handleseed)
{
    if(!
g_bIsAlive[id] || !g_bGameOn)
        return 
FMRES_IGNORED;
    
    static 
buttonoldbutton;
    
button pev(idpev_button);
    
oldbutton pev(idpev_oldbuttons);
    
    if(
g_bIsHider[id])
    {
        if(
button IN_ATTACK2)
        {
            
set_pev(idpev_maxspeed1.0);
        }
        else if(
oldbutton IN_ATTACK2)
        {
            
set_pev(idpev_maxspeedget_pcvar_float(g_CvarHiderspeed));
        }
        
        new 
onground pev(idpev_flags) & FL_ONGROUND;
        if(
button IN_JUMP && !(oldbutton IN_JUMP) && !onground && !g_iDoublejump[id])
        {
            
g_iDoublejump[id] = 1;
        }
        
        new 
iEnt g_iProp[id];
        if(!
iEnt)
            return 
FMRES_IGNORED;
            
        static 
Float:origin[3], Float:angle[3];
        
pev(idpev_originorigin);

        if(
pev(idpev_flags) & FL_DUCKING)
            
origin[2] -= 18.0;
        else 
origin[2] -= 36.0;
        
        
engfunc(EngFunc_SetOriginiEntorigin);
        
        if(!(
button IN_ATTACK2))
        {
            
pev(idpev_v_angleangle);
            
angle[0] = 0.0;
            
set_pev(iEntpev_anglesangle);
        }
    }
    else
    {
        static 
ubuttoniCurWpn;
        
ubutton get_uc(uc_handleUC_Buttons);
        
iCurWpn g_iCurWeapon[id];
        
        if(
ubutton IN_ATTACK && ((iCurWpn == CSW_KNIFE) || (iCurWpn == CSW_XM1014)))
        {
            
ubutton &= ~IN_ATTACK;
            
            if(
iCurWpn == CSW_XM1014)
            {
                if(
g_iFuel[id] && (get_gametime() - g_fLastfire[id] > 0.1))
                    
fire_throw(id);
            }
            else if(
iCurWpn == CSW_KNIFE)
                
ubutton |= IN_ATTACK2;
            
            
set_uc(uc_handleUC_Buttonsubutton);
                
            return 
FMRES_SUPERCEDE;
        }
    }
    
    return 
FMRES_IGNORED;
}

public 
fire_throw(id)
{
    
fire_spr(id);
    
g_fLastfire[id] = get_gametime();
    
g_iFuel[id]--;
    
    
emit_sound(idCHAN_WEAPONg_FtSoundVOL_NORMATTN_NORM0PITCH_NORM);
    
    static 
health;
    
health get_user_health(id) - get_pcvar_num(g_CvarHpLostAmt);
    if(
health 0)
        
set_pev(idpev_healthfloat(health));
    else 
    {
        
user_kill(id);
        return;
    }
    
    if(!
g_bInHideTime && pev(idpev_button) & IN_JUMP)
    {
        new 
Float:velocity[3];
        
pev(idpev_velocityvelocity);
        
velocity[2] = 550.0;
        
set_pev(idpev_velocityvelocity);
    }
    
    
fire_target(id);
}

public 
fire_target(id)
{
    static 
targetbody;
    
get_user_aiming(idtargetbody250);
    
    if(!
is_player_alive(target) || !g_bIsHider[target])
        return;
    
    static 
iHealthdurationparam[2];
    
iHealth pev(targetpev_health) - random_num(1015);
    if(
iHealth <= 0)
    {
    
//    make_silentkill(target);
    //    make_DeathMsg(id, target, 0, "flame thrower");
        
ExecuteHamB(Ham_Killedtargetid0);
        return;
    }    
    else 
set_pev(targetpev_healthfloat(iHealth));
    
    if(
task_exists(target+TASK_BURN))
        
remove_task(target+TASK_BURN);
        
    
duration get_pcvar_num(g_CvarFlamedura)*2;
    
param[0] = duration;
    
param[1] = id;
    
set_task0.5"StartBurn"target+TASK_BURNparamsizeof param )
}

public 
StartBurn(param[2], taskid)
{
    static 
iddmgattackerdurationorigin[3];
    
id taskid TASK_BURN;
    
dmg 2;
    
duration param[0];
    
attacker param[1];
    
get_user_origin(idorigin);
    
    if(!
duration || !g_bIsAlive[id])
    {
        
create_smoke(origin);
        return;
    }
    
    
duration--;
    
    if(
pev(idpev_flags) & FL_ONGROUND)
    {
        static 
Float:velocity[3]
        
pev(idpev_velocityvelocity)
        
VectorScale(velocity0.5velocity)
        
set_pev(idpev_velocityvelocity)
    }

    static 
health;
    
health pev(idpev_health) - dmg;
            
    if(
health <= 0)
    {
    
//    make_silentkill(id);
    //    make_DeathMsg(attacker, id, 0, "flame thrower");
        
ExecuteHamB(Ham_Killedidattacker0);
        
create_smoke(origin);
        return;
    }    
    else 
set_pev(idpev_healthfloat(health));
    
    
message_beginMSG_PVSSVC_TEMPENTITYorigin0)
    
write_byte(TE_SPRITE// TE id
    
write_coord(origin[0]+random_num(-55)) // x
    
write_coord(origin[1]+random_num(-55)) // y
    
write_coord(origin[2]+random_num(-1010)) // z
    
write_short(g_flameSpr// sprite
    
write_byte(random_num(510)) // scale
    
write_byte(200// brightness
    
message_end()
    
    
param[0] = duration//update time
    
set_task0.5"StartBurn"id+TASK_BURNparamsizeof param )
}
    
fire_spr(id)
{
    static 
Float:fOrigin[3], Float:fVelocity[3];
    
    
velocity_by_aim(id35fVelocity);
    
pev(idpev_originfOrigin);
        
    for(new 
03i++)
        
fOrigin[i] += fVelocity[i];
    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_SPRAY);
    
engfunc(EngFunc_WriteCoordfOrigin[0]);
    
engfunc(EngFunc_WriteCoordfOrigin[1]);
    
engfunc(EngFunc_WriteCoordfOrigin[2]);
    
engfunc(EngFunc_WriteCoordfVelocity[0]);
    
engfunc(EngFunc_WriteCoordfVelocity[1]);
    
engfunc(EngFunc_WriteCoordfVelocity[2]+5.0);
    
write_short(g_pyrofireSpr);
    
write_byte(2); //count
    
write_byte(15); //speed
    
write_byte(1); //noise
    
write_byte(5); //render
    
message_end();
    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_SPRAY);
    
engfunc(EngFunc_WriteCoordfOrigin[0]);
    
engfunc(EngFunc_WriteCoordfOrigin[1]);
    
engfunc(EngFunc_WriteCoordfOrigin[2]);
    
engfunc(EngFunc_WriteCoordfVelocity[0]);
    
engfunc(EngFunc_WriteCoordfVelocity[1]);
    
engfunc(EngFunc_WriteCoordfVelocity[2]+8.0);
    
write_short(g_pyrofireSpr);
    
write_byte(1); //count
    
write_byte(8); //speed
    
write_byte(1); //noise
    
write_byte(5); //render
    
message_end();
}

public 
fwd_UpdateClientData_Postidsendweaponscd_handle )
{
    if(!
g_bGameOn || !g_bIsAlive[id] || g_iCurWeapon[id] != CSW_XM1014)
        return 
FMRES_IGNORED;

    
set_cd(cd_handleCD_ID0);        
    
    return 
FMRES_HANDLED;
}

public 
fwd_Player_PreThink(id)
{
    if(!
g_bGameOn || !g_bIsAlive[id] || !g_bIsHider[id])
        return 
FMRES_IGNORED;
        
    
set_pev(idpev_flTimeStepSound999);
    if(
g_iDoublejump[id] == && pev(idpev_flags) & FL_ONGROUND)
        
g_iDoublejump[id] = 0;
        
    return 
FMRES_IGNORED;
}

public 
fwd_Player_PostThink(id)
{
    if(!
g_bGameOn || !g_bIsAlive[id] || !g_bIsHider[id])
        return 
FMRES_IGNORED;
        
    if(
g_iDoublejump[id] == 1)
    {
        new 
Float:velocity[3];
        
pev(idpev_velocityvelocity);
        
velocity[2] = 285.0;
        
set_pev(idpev_velocityvelocity);
        
g_iDoublejump[id] = 2;
    }    
        
    return 
FMRES_IGNORED;
}

public 
fwd_Spawn(ent)
{
    if(!
pev_valid(ent) || ent == g_iHostage)
    {
        return 
FMRES_IGNORED;
    }
    
    new 
szClass[32];
    
pev(entpev_classnameszClass31);
    
    for(new 
0sizeof g_sRemoveEntitiesi++)
    {
        if(
equal(szClassg_sRemoveEntities[i]))
        {
            
engfunc(EngFunc_RemoveEntityent);
            return 
FMRES_SUPERCEDE;
        }
    }
    
    return 
FMRES_IGNORED;
}

public 
fwd_ClientKill(id)
{
    if(!
g_bGameOn)
        return 
FMRES_IGNORED;
        
    
ph_print(id"You are not allowed to kill urself !");
    
    return 
FMRES_SUPERCEDE;
}

public 
show_hud()
{
    if(!
g_bGameOn)
        return;
        
    static 
hider_counthunter_countcolor[3];
    
get_player_count(hider_counthunter_count);
    
    for(new 
0gMaxPlayersi++)
    {
        if(!
g_bIsAlive[i])
            continue;
            
        if(
g_bIsHider[i])
            
color = { 2502050 };
        else
        {
            
color = { 30100255 };
        
//    set_hudmessage( 0, 200, 0, -1.0, -1.0, 0, 6.0, 2.1, 0.0, 0.0, -1 );
        //    ShowSyncHudMsg( i, g_hudmsg[HUD_CROSSHAIR], "<+>" );
        
}
            
        
set_hudmessage(color[0], color[1], color[2], -1.00.020_2.1__, -1);
        
ShowSyncHudMsg(ig_hudmsg[HUD_BOARD], "Hider: %i^nHunter: %i"hider_counthunter_count);
    }
}

get_player_count(&hider_count, &hunter_count 0)
{
    static 
iHideriHunterid;
    
iHider iHunter 0;
    
    for(
id 1id <= gMaxPlayersid++)
    {
        if(!
g_bIsAlive[id])
            continue;
            
        if(
g_bIsHider[id]) iHider++;
        else 
iHunter++;
    }
    
    
hider_count iHiderhunter_count iHunter;
}

public 
task_show_clip(taskid)
{
    new 
id taskid TASK_SCLIP;
    
    if(
g_iCurWeapon[id] == CSW_KNIFE)
        return;
    
    
set_dhudmessage25025000.850.9606.00.20.00.0 );
    
    static 
iClassclipammo
    
iClass g_iHunterClass[id];
    
get_user_weapon(idclipammo);
    
    switch(
iClass)
    {
        case 
HEAVYSNIPERshow_dhudmessageid"Ammo: %i"clip );
        case 
PYROshow_dhudmessageid"Fuel: %i"g_iFuel[id] );
    }
}

public 
fw_ent_think(iEnt)
{
    if(!
pev_valid(iEnt))
        return;
        
    static 
szClassname[32];
    
pev(iEntpev_classnameszClassname31);
    if(
equal(szClassnameg_szPlayerCamera))
        
camera_think(iEnt);
}

public 
fw_spawn_player_post(id)
{
    if(!
g_bGameOn || !is_user_alive(id) || !cs_get_user_team(id))
        return;
        
    
g_bIsAlive[id] = true;
        
    
g_bIsHider[id] = cs_get_user_team(id) == CS_TEAM_T true false;
    
/*    message_begin(MSG_ONE, gMsgHideWeapon, _, id);
    write_byte(HIDE_HUD);
    message_end();*/
    
    
if(g_bIsHider[id])
    {
        
set_playerview(id);
        
set_pev(idpev_health125.0);
        
set_visible(id0);
        
//enable prop
        
static iPropszEntModel[64], rand_mdl;
        
iProp g_iProp[id]
        
set_visible(iProp);
        
rand_mdl random_num(0ArraySize(g_sPropsModel) - 1);
        
ArrayGetString(g_sPropsModelrand_mdlszEntModelcharsmax(szEntModel));
        
format(szEntModelcharsmax(szEntModel), "models/props/%s.mdl"szEntModel);
        
engfunc(EngFunc_SetModeliPropszEntModel);
    }
    else    
    {
        new 
iClass g_iHunterClass[id];
        
        if(!
iClassshow_class_menu(id);
        else 
        {
            if(
iClass == PYROg_iFuel[id] = get_pcvar_num(g_CvarFtFuel);
            else
            {
                new 
iEnt;
                
iEnt fm_find_ent_by_owner(-1g_szSeekerWpns[iClass], id);
                if(
iEntcs_set_weapon_ammo(iEntg_iClassAmmo[iClass]);
            }
                
            
set_pev(idpev_healthfloat(g_iClassHealth[iClass]));
        }
                
        if(!
task_exists(id+TASK_SCLIP))
            
set_task(0.1"task_show_clip"id+TASK_SCLIP__g_sB);
    }
}

public 
fw_TakeDamage(victiminflictorattackerFloat:damagedamage_bits)
{    
    if(
victim == attacker || !is_player_connected(attacker))
        return 
HAM_IGNORED;
        
    if(
g_iCurWeapon[attacker] == CSW_SCOUT)
    {
        new 
mutil_dmg g_iSniperDmg[attacker];
        
        if(
mutil_dmg == 5)
            
ExecuteHamB(Ham_Killedvictimattacker0);
        else 
        {
            
damage mutil_dmg*20.0;
            
SetHamParamFloat(4damage);
        }
        
        
g_iSniperDmg[attacker] = 0;
    }

    return 
HAM_IGNORED;
}

public 
fw_TakeDamage_post(victim)
{
    if(!
g_bIsHider[victim])
        return;
        
    
set_pdata_float(victimOFFSET_PAINSHOCK1.05//zp code
}

public 
fw_killed_player(victimkillershouldgib)
{
    
g_bIsAlive[victim] = false;
    
    if(
g_bIsHider[victim])
    {
        
set_visible(g_iProp[victim], 0);
            
    
//    set_playerview(id, 0);
        
set_visible(victim);
        
        if(!
g_bInHideTime)
        {
            new 
Float:fTime get_gametime() - g_fGameStartTime;
            
set_pev(victimpev_fragspev(victimpev_frags)+fTime);
            
ph_print(victim"^4[PropHunt]^1 You have earned^3 %i^4 frag(s)^1 for surviving !"floatround(fTime));
            
g_fFrags[victim] = fTime;
        }
        
        if(
is_player_alive(killer) && !g_bIsHider[killer])
        {
            new 
Float:fCvarSpeedBoost get_pcvar_float(g_CvarSpeedBoost);
            if(
fCvarSpeedBoost && !g_bHasSpeedBoost[killer])
                
give_speedboost(killerfCvarSpeedBoost);
            
            
give_frags(killervictim);
        }
    }
    else
    {
        if(
task_exists(victim+TASK_HEAL))
            
remove_task(victim+TASK_HEAL);
            
        
remove_task(victim+TASK_SCLIP);
    }
}

public 
fw_WeaponAttack(iWpn)
{
    if(!
g_bGameOn)
        return;
        
    static 
idhealth;
    
id get_pdata_cbase(iWpn414);
    
health get_user_health(id) - get_pcvar_num(g_CvarHpLostAmt);
    
    if(
health 0)
        
set_pev(idpev_healthfloat(health));
    else 
    {
        
user_kill(id);
        return;
    }
    
    if(!
g_bInHideTime && pev(idpev_button) & IN_JUMP)
    {
        new 
Float:velocity[3];
    
//    pev(id, pev_velocity, velocity);
        
velocity_by_aim(id50velocity)
        
velocity[2] += 450.0;
        
set_pev(idpev_velocityvelocity);
    }
    
    if(
g_iCurWeapon[id] == CSW_SCOUT && g_iZoomPower[id] != 0//for sniper
    
{
        
g_iSniperDmg[id] = g_iZoomPower[id];
        
        new 
mutil_dmg g_iSniperDmg[id];
        if(
mutil_dmg == 5)
            
client_print(idprint_center"One Shot One Kill");
        else 
client_print(idprint_center"Damage: %i"mutil_dmg*20);
        
        
g_iZoomPower[id] = 0;
    }
}

public 
cmd_choose_class(id)
{
    if(!
g_bGameOn)
        return 
PLUGIN_HANDLED;
        
    if(
g_bIsHider[id])
    {
        
ph_print(id"^4[PropHunt]^1 %L"LANG_PLAYER"C_CHOOSE_CLASS");
        return 
PLUGIN_HANDLED;
    }
    
    else if(!
g_bInHideTime)
    {
        
ph_print(id"^4[PropHunt]^1 %L"LANG_PLAYER"C_CHOOSE_CLASS2");
        return 
PLUGIN_HANDLED;
    }
    
    
show_class_menu(id);
    
    return 
PLUGIN_HANDLED;
}

public 
show_class_menu(id)
{
    static 
msg[3][64], menu;
    
    
formatex(msg[0], 63"\w Heavy\y  | %iHP + Minigun |"g_iClassHealth[1]);
    
formatex(msg[1], 63"\w Pyro\y   | %iHP + FlameThrower |"g_iClassHealth[2]);
    
formatex(msg[2], 63"\w Sniper\y | %iHP + Scout |"g_iClassHealth[3]);
    
    
menu menu_create("Hunter Class Menu:""menu_active");
    
menu_additem(menumsg[0], "1"0);
    
menu_additem(menumsg[1], "2"0);
    
menu_additem(menumsg[2], "3"0);

    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
}

public 
menu_active(idmenuitem)
{
    if(!
g_bIsAlive[id])
    {
        
ph_print(id"^4[PropHunt]^1 %L"LANG_PLAYER"C_NEED_ALIVE");
        return;
    }
    
    
ph_print(id"^4[PropHunt]^1 %L"LANG_PLAYER"C_TYPE_CLASS")
    
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return;
    }
    
    new 
iClass g_iHunterClass[id];
    if(
iClass != 0)
    {
        
fm_strip_user_weapons(id);
    }
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata5iName63callback);
    new 
key str_to_num(data);
    
    
g_iHunterClass[id] = key;
    
    
give_weapon(id);
}

give_weapon(id)
{
    static 
iClass;
    
iClass g_iHunterClass[id];
    
bacon_give_weapon(id"weapon_knife");
    
bacon_give_weapon(idg_szSeekerWpns[iClass]);
    
set_pev(idpev_healthfloat(g_iClassHealth[iClass]));
    
    if(
iClass == PYRO)
    {
        
g_iFuel[id] = get_pcvar_num(g_CvarFtFuel);
    }
    else 
    {
        new 
iEnt;
        
iEnt fm_find_ent_by_owner(-1g_szSeekerWpns[iClass], id);
        if(
iEntcs_set_weapon_ammo(iEntg_iClassAmmo[iClass]);
    }
}

give_speedboost(idFloat:fSpeedAdd)
{
    
g_bHasSpeedBoost[id] = true;
    
manage_icon(idICON_SPEEDBOOST);
    
set_pev(idpev_maxspeedpev(idpev_maxspeed)+fSpeedAdd);
    
ph_print(id"^4[PropHunt]^1 %L"LANG_PLAYER"C_GIVE_SPEEDBOOST");
}

give_frags(idvictim)
{
    new 
Float:fVicFrags g_fFrags[victim];
    if(
fVicFrags != 0.0)
        
set_pev(idpev_fragspev(idpev_frags)+fVicFrags);
}

public 
event_curweapon(id)
{
    if(!
g_bGameOn)
        return 
PLUGIN_CONTINUE;
        
    
message_begin(MSG_ONEgMsgHideWeapon_id);
    
write_byte(HIDE_HUD);
    
message_end();
        
    if(
g_bIsHider[id])
    {
        if(!
g_bRoundEnd)
        {
            
fm_strip_user_weapons(id);
            
set_pev(idpev_maxspeedget_pcvar_float(g_CvarHiderspeed));
        }
    }
    else
    {
        new 
Float:fCvarSpeedBoost get_pcvar_float(g_CvarSpeedBoost);
        
        if(
g_bInHideTime)
            
set_pev(idpev_maxspeed1.0);
        else if(
fCvarSpeedBoost && g_bHasSpeedBoost[id])
            
set_pev(idpev_maxspeedpev(idpev_maxspeed)+fCvarSpeedBoost);
            
        static 
weapon;
        
weapon read_data(2);
        
g_iCurWeapon[id] = weapon;
            
        if(
task_exists(id+TASK_ZOOM) && (weapon != CSW_SCOUT))
        {
            
g_iZoomPower[id] = 0;
            
remove_task(id+TASK_ZOOM);
        }
            
        if(
weapon == CSW_XM1014)
        {
            
set_pev(idpev_weaponmodel2g_pmdl_flamethrower);
            
set_pev(idpev_viewmodel2g_vmdl_flamethrower);
        }
        else if(
weapon == CSW_USP)
        {
            
fm_strip_user_weapons(id);
            if(
g_iHunterClass[id])
                
give_weapon(id);
        }
        else if(
weapon == CSW_M249)
        {
            static 
iEntFloat:wpn_rate;
            
iEnt fm_find_ent_by_owner(-1"weapon_m249"id);
            
wpn_rate 0.5;
            
            if(
iEnt)
            {
                static 
Float:Delay,Float:M_Delay;
                
Delay get_pdata_floatiEnt464) * wpn_rate;
                
M_Delay get_pdata_floatiEnt474) * wpn_rate;
                if(
Delay 0.0)
                {
                    
set_pdata_floatiEnt46Delay4);
                    
set_pdata_floatiEnt47M_Delay4);
                }
            }
        }
        
        
message_begin(MSG_ONEgMsgCrossHair, {0,0,0}, id);
        
write_byte(1);
        
message_end();
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
Event_SetFOV(id)
{
    if(
read_data(1) >= 90//zoom out
    
{
        if(
task_exists(id+TASK_ZOOM))
        {
            
g_iZoomPower[id] = 0;
            
remove_task(id+TASK_ZOOM);
        }
        
        return;
    }
        
    if(!
task_exists(id+TASK_ZOOM))
    {
        
task_zoom_power(id+TASK_ZOOM);
        
set_task(1.0"task_zoom_power"id+TASK_ZOOM__g_sB);
    }
}

public 
task_zoom_power(taskid)
{
    static 
idpowercolor
    
id taskid TASK_ZOOM;
    
power g_iZoomPower[id];
    
color 50 power 30;
    
    
set_hudmessage(colorcolor0, -1.00.75power == 0_1.1__, -1);
    
ShowSyncHudMsg(idg_hudmsg[HUD_ZOOM], "{%s%s}"g_bar[0][power], g_bar[1][power]);
    
    if(
power 5)
        
power++;
    
    
g_iZoomPower[id] = power;
}

public 
heal_hp(taskid)
{
    static 
id;
    
id taskid TASK_HEAL;
    
manage_icon(idICON_BUYZONE0);
    
set_pev(idpev_healthfloat(g_iClassHealth[g_iHunterClass[id]]))
    
ph_print(id"^4[PropHunt]^1 %L"LANG_PLAYER"C_HEALED");
}

//public EventNewRound()
public EventRoundStart()
{
    if(!
g_bGameOn)
        return;
        
    
g_bRoundEnd false;
    
ph_print(0"^4oO0^3 PropHunt-v%s by Ryokin^4 0Oo"VERSION); 
    
    new 
time g_iHideTime;
    
    for(new 
0gMaxPlayersi++)
    {
        if(!
g_bIsConnected[i] || g_bIsHider[i])
            continue;
            
        if(
task_exists(i+TASK_HEAL))
            
remove_task(i+TASK_HEAL);
            
        if(
g_bCameraOn[i])
            
set_playerview(i0);
            
        
g_bHasSpeedBoost[i] = false;
            
    
/*    set_pev(i, pev_maxspeed, 1.0);
        
        message_begin(MSG_ONE, gMsgScreenFade, {0, 0, 0}, i);
        write_short(floatround(4096.0 * 1.5, floatround_round));
        write_short(floatround(4096.0 * 1.5, floatround_round));
        write_short(4096);
        write_byte(0);
        write_byte(0);
        write_byte(0);
        write_byte(200);
        message_end();*/
    
}
    
    
g_bInHideTime true
    
    g_iCountdownTime 
time+1;
//    set_task(time, "end_hide_time", TASK_HIDETIME);
    
count_down();
    
set_task(1.0"count_down"TASK_HIDETIME__g_sAg_iCountdownTime);
}

public 
count_down()
{
    
g_iCountdownTime--
    
    for(new 
0gMaxPlayersi++)
    {
        if(!
g_bIsAlive[i] || g_bIsHider[i])
            continue;
            
        
set_pev(ipev_maxspeed1.0);
        
        
message_begin(MSG_ONEgMsgScreenFade, {000}, i);
        
write_short(floatround(4096.0 1.5floatround_round));
        
write_short(floatround(4096.0 1.5floatround_round));
        
write_short(4096);
        
write_byte(0);
        
write_byte(0);
        
write_byte(0);
        
write_byte(150);
        
message_end();
    }
    
    if(
g_iCountdownTime <= 5)
    {
        
client_cmd(0"spk %s"g_CountdownSound[g_iCountdownTime]);
        
        if(!
g_iCountdownTime)
        {
            
end_hide_time();
            return;
        }
    }
        
    
set_dhudmessage02000, -1.00.7506.01.00.00.0 );
    
show_dhudmessage0"Time to hide: %i"g_iCountdownTime );
}

end_hide_time()
{
    for(new 
0gMaxPlayersi++)
    {
        if(!
g_bIsAlive[i] || g_bIsHider[i])
            continue;
            
        
set_pev(ipev_maxspeed250.0);
        
        
message_begin(MSG_ONEgMsgScreenFade, {000}, i);
        
write_short(0);
        
write_short(0);
        
write_short(4096);
        
write_byte(0);
        
write_byte(0);
        
write_byte(0);
        
write_byte(150);
        
message_end();
    }
    
    
g_fGameStartTime get_gametime();
    
client_cmd(0"spk %s"g_CountdownSound[0]);
    
    
set_dhudmessage02000, -1.00.7506.03.00.00.0 );
    
show_dhudmessage0"Time's up !" );
    
    
g_bInHideTime false
}

public 
RestartRound()
{
    
EventRoundEnd();
}

public 
EventRoundEnd()
{
    
g_bRoundEnd true;
    if(
task_exists(TASK_HIDETIME))
        
remove_task(TASK_HIDETIME);
        
    static 
Float:fTimeiHiderCountwinmsg[32];
    
get_player_count(iHiderCount)
    
    if(
iHiderCount//hider win
    
{
        
formatex(winmsg31"%L"LANG_PLAYER"HIDER_WIN");
        
        for(new 
0gMaxPlayersi++)
        {
            if(!
g_bIsConnected[i])
                continue;
                
        
//    add_delay_switch_team(i);
            
set_dhudmessage(2502050, -1.00.250_4.0);
            
show_dhudmessage(iwinmsg);
        }
    }
    else 
    {
        
formatex(winmsg31"%L"LANG_PLAYER"SEEKER_WIN_SWITCH");
        
        for(new 
0gMaxPlayersi++)
        {
            if(!
g_bIsConnected[i])
                continue;
                
            
g_iHunterClass[i] = 0;
            
add_delay_switch_team(i);
            
set_dhudmessage(20100250, -1.00.250_4.0);
            
show_dhudmessage(iwinmsg);
        }
    }
    
    for(new 
0gMaxPlayersi++)
    {
        if(!
g_bIsAlive[i])
            continue;
        
        if(
g_bIsHider[i])
        {
            
set_visible(g_iProp[i], 0);
            
set_visible(i);
            
            if(!
g_bInHideTime)
            {
                
fTime get_gametime() - g_fGameStartTime;
                
set_pev(ipev_fragspev(ipev_frags)+fTime);
                
ph_print(i"^4[PropHunt]^1 You have earned^3 %i^4 frag(s)^1 for surviving !"floatround(fTime));
            }
            
g_fFrags[i] = 0.0;
        }
        else 
        {
            
manage_icon(iICON_BUYZONE0);
            
manage_icon(iICON_SPEEDBOOST0);
        }
    }
}

public 
Event_BuyZone(id
{
/*    if(cs_get_user_team(id) == CS_TEAM_T)
    {
        if(buyzone)
        {
            const OFFSET_BUYZONE = 235 //268
            set_pdata_int(id, OFFSET_BUYZONE, get_pdata_int(id, OFFSET_BUYZONE) & ~(1<<0));
            return PLUGIN_HANDLED;
        }
    }*/
    
if(g_bIsAlive[id] && !g_bIsHider[id] && !g_bRoundEnd && !g_bInHideTime)
    {
        new 
hp get_user_health(id);
        
        if(!
read_data(1))
        {
            if(
task_exists(id+TASK_HEAL))
            {
                
client_print(idprint_center"%L"LANG_PLAYER"STOP_HEAL");
                
manage_icon(idICON_BUYZONE0);
                
remove_task(id+TASK_HEAL);
                
manage_bar(id0)
                
ClearSyncHud(idg_hudmsg[HUD_OBJ])
            }
        }
        else if(
hp g_iClassHealth[g_iHunterClass[id]] && !task_exists(id+TASK_HEAL))
        {
            
client_print(idprint_center"%L"LANG_PLAYER"HEALING");
            new 
time get_pcvar_num(g_CvarHealtime);
            
set_task(float(time), "heal_hp"id+TASK_HEAL);
            
manage_icon(idICON_BUYZONE);
            
manage_bar(idtime)
            
set_hudmessage(2002000, -1.0, -1.006.0float(time), 0.00.0, -1);
            
ShowSyncHudMsg(idg_hudmsg[HUD_OBJ], "Healing >>");
        }
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
msg_textmsg(msgiddestid)
{
    if(!
g_bGameOn || get_msg_arg_int(1) != 4)
        return 
PLUGIN_CONTINUE;
    
    static 
txtmsg[25];
    
get_msg_arg_string(2txtmsg24);
    
    if(
equal(txtmsg[1], g_sMsgWins[0]) || equal(txtmsg[1], g_sMsgWins[1]) || equal(txtmsg[1], g_sMsgWins[2]))
    {
        
set_msg_arg_string(2g_sBlank);
    }
    else if(
equal(txtmsg[1], g_sCommandNotAvailable))
        return 
PLUGIN_HANDLED;
        
    return 
PLUGIN_CONTINUE;
}

add_delay_switch_team(id)
{
    new const 
szTaskChangeTeam[32] = "change_team";
    switch(
id)
    {
        case 
1..7set_task0.1szTaskChangeTeamid );
        case 
8..15set_task0.5szTaskChangeTeamid );
        case 
16..23set_task1.0szTaskChangeTeamid );
        case 
24..32set_task1.5szTaskChangeTeamid );
    }
}

public 
change_team(id)
{
    
cs_set_user_team(idg_bIsHider[id] ? CS_TEAM_CT CS_TEAM_T);
    
g_bIsHider[id] = (g_bIsHider[id] ? false true);
}

public 
event_touch_weapon(iEntid)
    return 
HAM_SUPERCEDE;
    
public 
msg_weaponpickup(msgiddestid)
    return 
PLUGIN_HANDLED;

public 
msg_ammopickup(msgiddestid)
    return 
PLUGIN_HANDLED;
    
ph_print(const id, const message[], any:...) 
{
    new 
szMessage[192];
    
vformat(szMessage191message3);
    
    
replace_all(szMessage191"\g""^4"); // Green Color
    
replace_all(szMessage191"\y""^1"); // Default Color
    
replace_all(szMessage191"\t""^3"); // Team Color
   
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTgMsgSayText_id);
    
write_byte(id id 1);
    
write_string(szMessage);
    
message_end();
}

stock bacon_give_weapon(indexweapon[])
{
    if(!
equal(weapon"weapon_"7))
        return 
0;

    new 
iEnt engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocStringweapon));
    if(!
pev_valid(iEnt))
        return 
0;

    new 
Float:origin[3];
    
pev(indexpev_originorigin);
    
set_pev(iEntpev_originorigin);
    
set_pev(iEntpev_spawnflagspev(iEntpev_spawnflags) | SF_NORESPAWN);
    
dllfunc(DLLFunc_SpawniEnt);

    new 
save pev(iEntpev_solid);
    
dllfunc(DLLFunc_TouchiEntindex);
    if(
pev(iEntpev_solid) != save)
        return 
iEnt;

    
engfunc(EngFunc_RemoveEntityiEnt);

    return -
1;
}

stock fm_strip_user_weapons(index
{
    new 
iEnt engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"player_weaponstrip"));
    if (!
pev_valid(iEnt))
        return 
0;

    
dllfunc(DLLFunc_SpawniEnt);
    
dllfunc(DLLFunc_UseiEntindex);
    
engfunc(EngFunc_RemoveEntityiEnt);

    return 
1;
}

stock fm_find_ent_by_owner(index, const classname[], ownerjghgtype 0)
{
    new 
strtype[11] = "classname"iEnt index
    
switch (jghgtype
    {
        case 
1strtype "target"
        
case 2strtype "targetname"
    
}
    
    while ((
iEnt engfunc(EngFunc_FindEntityByStringiEntstrtypeclassname)) && pev(iEntpev_owner) != owner) {}
    
    return 
iEnt
}

get_new_team()
{
    new 
iTCount g_iPlayers[TEAM_T];
    new 
iCTCount g_iPlayers[TEAM_CT];
    if(
iTCount iCTCount)
        return 
TEAM_T;
    else if(
iTCount iCTCount)
        return 
TEAM_CT;
    else
        return 
random_num(TEAM_TTEAM_CT);
    
    return -
1;
}

set_playerview(idmode 1)
{
    if(
mode)
    {
        new 
iEnt g_iCamera[id];
        
engfunc(EngFunc_SetViewidiEnt);
        
g_bCameraOn[id] = true;
    
//    set_pev(iEnt, pev_nextthink, get_gametime()); 
        
camera_think(iEnt);
    }
    else 
//disable camera
    
{
        
g_bCameraOn[id] = false;
        
engfunc(EngFunc_SetViewidid);
    }
}
/*
make_DeathMsg(killer, victim, headshot, const weapon[])
{
    message_begin(MSG_ALL, gMsgDeathmsg, {0,0,0}, 0);
    write_byte(killer);
    write_byte(victim);
    write_byte(headshot);
    write_string(weapon);
    message_end();

    return 1;
}

make_silentkill(id)
{
    static msgid, msgblock;
    msgid = gMsgDeathmsg;
    msgblock = get_msg_block(msgid);
    set_msg_block(msgid, BLOCK_ONCE);    
    user_kill(id, 1);
    set_msg_block(msgid, msgblock);

    return 1;
}*/

create_smoke(const origin[3])
{
    
message_begin(MSG_PVSSVC_TEMPENTITYorigin0)
    
write_byte(TE_SMOKE// TE id
    
write_coord(origin[0]) // x
    
write_coord(origin[1]) // y
    
write_coord(origin[2]-50// z
    
write_short(g_smokeSpr// sprite
    
write_byte(random_num(1520)) // scale
    
write_byte(random_num(1020)) // framerate
    
message_end()
}

manage_icon(idicon_kindstatus 1)
{
    
message_begin(MSG_ONEgMsgStatusIcon_id);
    
write_byte(status); // status (0=hide, 1=show, 2=flash)
    
if(icon_kindwrite_string("plus"); // sprite name
    
else write_string("dmg_rad");
    
write_byte(0); // red
    
write_byte(200); // green
    
write_byte(0); // blue
    
message_end();
}

manage_bar(idtime)
{
    
message_begin(MSG_ONE_UNRELIABLEgMsgBarTime_id)
    
write_short(time)
    
message_end()
}

set_visible(iEntVISIBLE 1)
    
set_pev(iEntpev_effectsVISIBLE pev(iEntpev_effects) & ~EF_NODRAW pev(iEntpev_effects) | EF_NODRAW); 
Help please
thanks for your attention
Attached Files
File Type: sma Get Plugin or Get Source (cs_prop_hunt.sma - 502 views - 40.7 KB)
__________________
اَشْهَدُ اَنْ لَّآ اِلٰهَ اِلَّا اللہُ وَحْدَه لَا شَرِيْكَ لَه وَ اَشْهَدُ اَنَّ مُحَمَّدًا عَبْدُه وَرَسُوْلُه

Last edited by 5aloOod; 07-21-2014 at 08:04.
5aloOod is offline
Awesome_man
Senior Member
Join Date: May 2014
Location: singapore
Old 07-21-2014 , 01:10   Re: [REQ] Add futures for CS Prop Hunt v1.1
Reply With Quote #2

Hmm.. I also want these features
Awesome_man is offline
5aloOod
Senior Member
Join Date: Jun 2013
Location: hell
Old 10-07-2014 , 07:50   Re: [REQ] Add futures for CS Prop Hunt v1.1
Reply With Quote #3

UP
__________________
اَشْهَدُ اَنْ لَّآ اِلٰهَ اِلَّا اللہُ وَحْدَه لَا شَرِيْكَ لَه وَ اَشْهَدُ اَنَّ مُحَمَّدًا عَبْدُه وَرَسُوْلُه
5aloOod is offline
bsparty
Member
Join Date: Sep 2014
Location: India
Old 10-11-2014 , 06:58   Re: [REQ] Add futures for CS Prop Hunt v1.1
Reply With Quote #4

Added ?

bsparty is offline
kelsonBR
Junior Member
Join Date: Apr 2016
Location: Sao Paulo Brasil
Old 04-07-2016 , 11:59   Re: [REQ] Add futures for CS Prop Hunt v1.1
Reply With Quote #5

Quote:
Originally Posted by Awesome_man View Post
Hmm.. I also want these features
Can the resource
???????????
kelsonBR is offline
Send a message via Skype™ to kelsonBR
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 04-07-2016 , 13:38   Re: [REQ] Add futures for CS Prop Hunt v1.1
Reply With Quote #6

Quote:
Originally Posted by kelsonBR View Post
Can the resource
???????????
Wut?
OciXCrom is offline
Send a message via Skype™ to OciXCrom
kelsonBR
Junior Member
Join Date: Apr 2016
Location: Sao Paulo Brasil
Old 04-07-2016 , 21:17   Re: [REQ] Add futures for CS Prop Hunt v1.1
Reply With Quote #7

Quote:
Originally Posted by OciXCrom View Post
Wut?

Ja did recurdo menu to do, paragraph Choose OR select items
kelsonBR is offline
Send a message via Skype™ to kelsonBR
Kooh
Junior Member
Join Date: Aug 2015
Old 04-08-2016 , 03:18   Re: [REQ] Add futures for CS Prop Hunt v1.1
Reply With Quote #8

I Also want that to
Kooh is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 16:45.


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