pago por arreglar este modo PropHunt
#1
alguien que ayuda arreglar este modo CS Prop Hunt v1.1

bug principal que las voces se escuchan cortadas por rato

Código PHP:
#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); 
Responder
#2
Los bugs por las voces de los micrófonos tienen que ver con la cámara 3ra persona.
Responder
#3
y como se puede arreglar eso ?
Responder
#4
Por si te interesa: https://amxmodx-es.com/showthread.php?tid=21011
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#5
ya que pais eres ? dejame tu discord para hablar por privado
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)