Raised This Month: $32 Target: $400
 8% 

[HELP] Fix Bug! Please..... ZM Giant


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
D3XT3R
AlliedModders Donor
Join Date: Nov 2016
Location: Lithuania, Bomb A (Kauna
Old 03-05-2017 , 04:23   [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #1

hi i have this mod zombie giant and it show me in logs this errors
it causes craches so mutch to my server it crach every 5 min... :/
PHP Code:
L 03/04/2017 14:38:36: [AMXXDisplaying debug trace (plugin "Zombie_Giant.amxx"version "1.0")
L 03/04/2017 14:38:36: [AMXXRun time error 10native error (native "set_pev")
L 03/04/2017 14:38:36: [AMXX]    [0Zombie_Giant.sma::client_PreThink (line 687)
L 03/04/2017 14:38:36: [FAKEMETAInvalid entity
L 03
/04/2017 14:38:36: [AMXXDisplaying debug trace (plugin "Zombie_Giant.amxx"version "1.0")
L 03/04/2017 14:38:36: [AMXXRun time error 10native error (native "set_pev")
L 03/04/2017 14:38:36: [AMXX]    [0Zombie_Giant.sma::client_PreThink (line 687)
L 03/04/2017 14:38:36: [FAKEMETAInvalid entity
L 03
/04/2017 14:38:36: [AMXXDisplaying debug trace (plugin "Zombie_Giant.amxx"version "1.0")
L 03/04/2017 14:38:36: [AMXXRun time error 10native error (native "set_pev")
L 03/04/2017 14:38:36: [AMXX]    [0Zombie_Giant.sma::client_PreThink (line 687)
L 03/04/2017 14:38:36: [FAKEMETAInvalid entity
L 03
/04/2017 14:38:36: [AMXXDisplaying debug trace (plugin "Zombie_Giant.amxx"version "1.0")
L 03/04/2017 14:38:36: [AMXXRun time error 10native error (native "set_pev")
L 03/04/2017 14:38:36: [AMXX]    [0Zombie_Giant.sma::client_PreThink (line 687)
L 03/04/2017 14:38:36: [FAKEMETAInvalid entity 
and this is plugin:
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <cstrike>
#include <hamsandwich>
#include <gamemaster>
#include <fun>
#include <xs>

#define PLUGIN "Zombie Giant (Limited Edition)"
#define VERSION "1.0"
#define AUTHOR "Dias Pendragon"

#define LANG_FILE "zombie_giant.txt"
#define LANG_DEFAULT LANG_SERVER
#define GAMENAME "Zombie Giant"

// Task
#define TASK_COUNTDOWN 15110
#define TASK_ROUNDTIME 15111

// MACROS
#define Get_BitVar(%1,%2) (%1 & (1 << (%2 & 31)))
#define Set_BitVar(%1,%2) %1 |= (1 << (%2 & 31))
#define UnSet_BitVar(%1,%2) %1 &= ~(1 << (%2 & 31))

// HUD
#define HUD_WIN_X -1.0
#define HUD_WIN_Y 0.20
#define HUD_NOTICE_X -1.0
#define HUD_NOTICE_Y 0.25
#define HUD_NOTICE2_X -1.0
#define HUD_NOTICE2_Y 0.70

// Environment
#define ENV_RAIN 0
#define ENV_SNOW 0
#define ENV_FOG 1
#define ENV_FOG_DENSITY "0.0005"
#define ENV_FOG_COLOR "255 212 85"

new const Env_Sky[1][] =
{
    
"Des"
}

// Model Config
new const Model_Player[8][] =
{
    
"gign",
    
"gsg9",
    
"urban",
    
"sas",
    
"arctic",
    
"leet",
    
"guerilla",
    
"terror"
}

// Sound Config
new const Sound_RoundStart[1][] =
{
    
"zombie_giant/zombie_select.wav"
}

new const 
Sound_GameStart[1][] =
{
    
"zombie_giant/zombie_spawn.wav"
}

new const 
Sound_Ambience[3][] =
{
    
"zombie_giant/ambience/Continuing_Suspense.mp3",
    
"zombie_giant/ambience/L.O.T.B_The-Fiend.mp3",
    
"zombie_giant/ambience/Luminous_Sword.mp3"
}

new const 
Sound_Result[1][] =
{
    
"zombie_giant/zombie_result.wav"
}

new const 
Vox_Count[] = "zombie_giant/count/%i.wav"

new const Vox_WinHuman[] = "zombie_giant/win_human.wav"
new const Vox_WinBoss[] = "zombie_giant/win_zombie.wav"

// Next
const PDATA_SAFE 2

enum
{
    
TEAM_NONE 0,
    
TEAM_ZOMBIE,
    
TEAM_HUMAN,
    
TEAM_SPECTATOR
}

// Block Round Event
new g_BlockedObj_Forward
new g_BlockedObj[15][32] =
{
        
"func_bomb_target",
        
"info_bomb_target",
        
"info_vip_start",
        
"func_vip_safetyzone",
        
"func_escapezone",
        
"hostage_entity",
        
"monster_scientist",
        
"func_hostage_rescue",
        
"info_hostage_rescue",
        
"env_fog",
        
"env_rain",
        
"env_snow",
        
"item_longjump",
        
"func_vehicle",
        
"func_buyzone"
}

#define CAMERA_CLASSNAME "nikon_d810"
#define CAMERA_MODEL "models/winebottle.mdl"

// Cvars
new g_Cvar_MinPlayerg_Cvar_MapLightg_Cvar_CountTime
new g_Cvar_HumanHealthg_Cvar_HumanArmorg_Cvar_HumanGravity
new g_CvarPointer_RoundTime

// Main Cvars
new g_GameStartedg_RoundStartedg_GameEndedg_MaxPlayersg_Countdowng_CountTime
new g_IsZombieg_JoinedFloat:g_PassedTimeFloat:g_PassedTime2g_MaxHealth[33], g_ViewCamera
g_MyCamera[33], Float:g_CameraOrigin[33][3], g_MyClass[33], g_Has_NightVisiong_UsingNVG
new g_MsgSayTextg_SyncHud_HP[2], g_SyncHud_MPg_MsgScreenFadeg_TotalClassg_MyMana[33]
new 
Float:g_PlayerSpawn_Point[64][3], g_PlayerSpawn_Count
new Float:g_BossSpawn_Point[64][3], g_BossSpawn_Countg_BossSpawnCode

new Array:GiantBaseHP
new const SoundNVG[2][] = { "items/nvg_off.wav""items/nvg_on.wav"}

// Forwards
#define MAX_FORWARD 8

enum
{
    
FWD_ROUND_NEW 0,
    
FWD_ROUND_START,
    
FWD_GAME_START,
    
FWD_GAME_END,
    
FWD_BECOME_GIANT,
    
FWD_USER_KILL,
    
FWD_RUNTIME,
    
FWD_EQUIP
}

new 
g_Forwards[MAX_FORWARD], g_fwResult

// Safety
new g_HamBot
new g_IsConnectedg_IsAliveg_PlayerWeapon[33]

// =============== Changing Model ===============
#define MODELCHANGE_DELAY 0.1     // Delay between model changes (increase if getting SVC_BAD kicks)
#define ROUNDSTART_DELAY 2.0     // Delay after roundstart (increase if getting kicks at round start)
#define SET_MODELINDEX_OFFSET     // Enable custom hitboxes (experimental, might lag your server badly with some models)

#define MODELNAME_MAXLENGTH 32
#define TASK_CHANGEMODEL 1962

new const DEFAULT_MODELINDEX_T[] = "models/player/terror/terror.mdl"
new const DEFAULT_MODELINDEX_CT[] = "models/player/urban/urban.mdl"

new g_HasCustomModel
new Float:g_ModelChangeTargetTime
new g_CustomPlayerModel[MAX_PLAYERS+1][MODELNAME_MAXLENGTH]
#if defined SET_MODELINDEX_OFFSET
new g_CustomModelIndex[MAX_PLAYERS+1]
#endif

#define OFFSET_CSTEAMS 114
#define OFFSET_MODELINDEX 491 // Orangutanz
// ==============================================

// =============== Changing Team ================
#define TEAMCHANGE_DELAY 0.1

#define TASK_TEAMMSG 200
#define ID_TEAMMSG (taskid - TASK_TEAMMSG)

// CS Player PData Offsets (win32)
#define PDATA_SAFE 2
#define OFFSET_CSTEAMS 114

new const CS_TEAM_NAMES[][] = { "UNASSIGNED""TERRORIST""CT""SPECTATOR" }

new 
Float:g_TeamMsgTargetTime
new g_MsgTeamInfog_MsgScoreInfo
// ==============================================

// =============== Changing Speed ===============
#define Ham_CS_Player_ResetMaxSpeed Ham_Item_PreFrame 
#define SV_MAXSPEED 999.0

new g_HasCustomSpeed
// ==============================================

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_dictionary(LANG_FILE)
    
Register_SafetyFunc()
    
    
// Event
    
register_event("HLTV""Event_NewRound""a""1=0""2=0")
    
register_event("TextMsg""Event_GameRestart""a""2=#Game_will_restart_in")
    
register_event("DeathMsg""Event_Death""a")
    
register_logevent("Event_RoundStart"2"1=Round_Start")
    
register_logevent("Event_RoundEnd"2"1=Round_End")    
    
    
// Fakemeta
    
unregister_forward(FM_Spawng_BlockedObj_Forward)
    
register_forward(FM_StartFrame"fw_StartFrame")
    
register_forward(FM_GetGameDescription"fw_GetGameDesc")
    
register_forward(FM_SetClientKeyValue"fw_SetClientKeyValue")
    
register_forward(FM_AddToFullPack"fw_AddToFullPack_Post"1)
    
    
// Ham
    
RegisterHam(Ham_Spawn"player""fw_PlayerSpawn_Post"1)
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled_Post"1)
    
RegisterHam(Ham_TakeDamage"player""fw_PlayerTakeDamage")
    
RegisterHam(Ham_Use"func_tank""fw_UseStationary")
    
RegisterHam(Ham_Use"func_tankmortar""fw_UseStationary")
    
RegisterHam(Ham_Use"func_tankrocket""fw_UseStationary")
    
RegisterHam(Ham_Use"func_tanklaser""fw_UseStationary")
    
RegisterHam(Ham_Use"func_tank""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tankmortar""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tankrocket""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tanklaser""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Touch"weaponbox""fw_TouchWeapon")
    
RegisterHam(Ham_Touch"armoury_entity""fw_TouchWeapon")
    
RegisterHam(Ham_Touch"weapon_shield""fw_TouchWeapon")
    
RegisterHam(Ham_CS_Player_ResetMaxSpeed"player""fw_Ham_ResetMaxSpeed")
    
    
// Message
    
register_message(get_user_msgid("StatusIcon"), "Message_StatusIcon")
    
register_message(get_user_msgid("Health"), "Message_Health")
    
register_message(get_user_msgid("ClCorpse"), "Message_ClCorpse")
    
    
// Team Mananger
    
register_clcmd("chooseteam""CMD_JoinTeam")
    
register_clcmd("jointeam""CMD_JoinTeam")
    
register_clcmd("joinclass""CMD_JoinTeam")
    
register_clcmd("nightvision""CMD_NightVision")
    
    
// Collect Spawns Point
    
collect_spawns_ent("info_player_start")
    
collect_spawns_ent2("info_player_deathmatch")
    
    
// Forward
    
g_Forwards[FWD_ROUND_NEW] = CreateMultiForward("zg_round_new"ET_IGNORE)
    
g_Forwards[FWD_ROUND_START] = CreateMultiForward("zg_round_start"ET_IGNORE)
    
g_Forwards[FWD_GAME_START] = CreateMultiForward("zg_game_start"ET_IGNORE)
    
g_Forwards[FWD_GAME_END] = CreateMultiForward("zg_game_end"ET_IGNOREFP_CELL)
    
g_Forwards[FWD_BECOME_GIANT] = CreateMultiForward("zg_become_giant"ET_IGNOREFP_CELLFP_CELLFP_FLOATFP_FLOATFP_FLOAT)
    
g_Forwards[FWD_USER_KILL] = CreateMultiForward("zg_user_kill"ET_IGNOREFP_CELLFP_CELLFP_CELLFP_CELL)
    
g_Forwards[FWD_RUNTIME] = CreateMultiForward("zg_runningtime"ET_IGNORE)
    
g_Forwards[FWD_EQUIP] = CreateMultiForward("zg_equipment_menu"ET_IGNOREFP_CELL)

    
// Vars
    
g_MaxPlayers get_maxplayers()
    
    
g_CvarPointer_RoundTime get_cvar_pointer("mp_roundtime")
    
g_Cvar_MinPlayer register_cvar("zg_minplayer""2")
    
g_Cvar_MapLight register_cvar("zb_maplight""d")
    
g_Cvar_CountTime register_cvar("zg_counttime""12")
    
    
g_Cvar_HumanHealth register_cvar("zg_human_health""1000")
    
g_Cvar_HumanArmor register_cvar("zg_human_armor""100")
    
g_Cvar_HumanGravity register_cvar("zg_human_gravity""1.0")
    
    
g_MsgTeamInfo get_user_msgid("TeamInfo")
    
g_MsgScoreInfo get_user_msgid("ScoreInfo")    
    
g_MsgSayText get_user_msgid("SayText")
    
g_MsgScreenFade get_user_msgid("ScreenFade")
    
    
g_SyncHud_HP[0] = CreateHudSyncObj(1)
    
g_SyncHud_HP[1] = CreateHudSyncObj(2)
    
g_SyncHud_MP CreateHudSyncObj(3)
    
    
// First Setting
    
Round_Setting()
    
    
// Patch Round Infinity
    
GM_EndRound_Block(true)
}

public 
plugin_precache()
{
    
GiantBaseHP ArrayCreate(11)
    
    
// Register Forward
    
g_BlockedObj_Forward register_forward(FM_Spawn"fw_BlockedObj_Spawn")    
    
    
// Precache 
    
new iBufferB[128]
    
    
precache_model(CAMERA_MODEL)
    
    for(
0sizeof(Sound_RoundStart); i++)
        
precache_sound(Sound_RoundStart[i])
    for(
0sizeof(Sound_GameStart); i++)
        
precache_sound(Sound_GameStart[i])
    for(
0sizeof(Sound_Result); i++)
        
precache_sound(Sound_Result[i])
    for(
0sizeof(Sound_Ambience); i++)
        
precache_sound(Sound_Ambience[i])
        
    for(
1<= 10i++)
    {
        
formatex(BufferBcharsmax(BufferB), Vox_Counti); 
        
engfunc(EngFunc_PrecacheSoundBufferB); 
    }        
        
    
precache_sound(Vox_WinHuman)
    
precache_sound(Vox_WinBoss)
    
    
// Handle
    
Environment_Setting()
}

public 
plugin_natives()
{
    
register_native("zg_is_giant""Native_IsGiant"1)
    
register_native("zg_get_giantclass""Native_GetClass"1)
    
register_native("zg_get_maxhealth""Native_GetMaxHP"1)
    
register_native("zg_get_nightvision""Native_GetNVG"1)
    
register_native("zg_set_nightvision""Native_SetNVG"1)
    
register_native("zg_get_mana""Native_GetMP"1)
    
register_native("zg_set_mana""Native_SetMP"1)
    
    
register_native("zg_register_giantclass""Native_RegisterClass"1)
}

public 
plugin_cfg()
{
    
server_cmd("mp_roundtime 5")
    
server_cmd("mp_freezetime 3")
    
server_cmd("mp_flashlight 1")
    
server_cmd("mp_friendlyfire 0")
    
server_cmd("mp_limitteams 0")
    
server_cmd("mp_autoteambalance 0")
    
    
set_cvar_num("sv_maxspeed"999)
    
set_cvar_num("sv_skycolor_r"0)
    
set_cvar_num("sv_skycolor_g"0)
    
set_cvar_num("sv_skycolor_b"0)    
    
    
// Sky
    
set_cvar_string("sv_skyname"Env_Sky[random(sizeof(Env_Sky))])
    
    
// New Round
    
Event_NewRound()
}

public 
Native_IsGiant(id)
{
    if(!
is_connected(id))
        return 
0
        
    
return Get_BitVar(g_IsZombieid) ? 0
}

public 
Native_GetClass(id)
{
    if(!
is_connected(id))
    {
        
server_print("[ZG] Error: Get Class with unconnected User!")
        return -
1
    
}
    
    return 
g_MyClass[id]
}

public 
Native_GetMaxHP(id)
{
    if(!
is_connected(id))
        return 
0
        
    
return g_MaxHealth[id]
}

public 
Native_GetNVG(idHaveOn)
{
    if(
Have && !On)
    {
        if(
Get_BitVar(g_Has_NightVisionid) && !Get_BitVar(g_UsingNVGid))
            return 
1
    
} else if(!Have && On) {
        if(!
Get_BitVar(g_Has_NightVisionid) && Get_BitVar(g_UsingNVGid))
            return 
1
    
} else if(Have && On) {
        if(
Get_BitVar(g_Has_NightVisionid) && Get_BitVar(g_UsingNVGid))
            return 
1
    
} else if(!Have && !On) {
        if(!
Get_BitVar(g_Has_NightVisionid) && !Get_BitVar(g_UsingNVGid))
            return 
1
    
}
    
    return 
0
}

public 
Native_SetNVG(idGiveOnSoundIgnoredHad)
{
    if(!
is_connected(id))
        return
        
    if(
GiveSet_BitVar(g_Has_NightVisionid)
    
set_user_nightvision(idOnSoundIgnoredHad)
}

public 
Native_GetMP(id)
{
    if(!
is_connected(id))
        return 
0
        
    
return g_MyMana[id]
}

public 
Native_SetMP(idMP)
{
    if(!
is_connected(id))
        return
    
    
g_MyMana[id] = MP
}

public 
Native_RegisterClass(BaseHealth)
{
    
ArrayPushCell(GiantBaseHPBaseHealth)
    
    
g_TotalClass++
    return 
g_TotalClass 1
}

public 
fw_BlockedObj_Spawn(ent)
{
    if (!
pev_valid(ent))
        return 
FMRES_IGNORED
    
    
static Ent_Classname[64]
    
pev(entpev_classnameEnt_Classnamesizeof(Ent_Classname))
    
    for(new 
0sizeof g_BlockedObji++)
    {
        if (
equal(Ent_Classnameg_BlockedObj[i]))
        {
            
engfunc(EngFunc_RemoveEntityent)
            return 
FMRES_SUPERCEDE
        
}
    }
    
    return 
FMRES_IGNORED
}

public 
Round_Setting()
{
    
g_GameStarted 0
    g_GameEnded 
0
    g_RoundStarted 
0
}

public 
client_putinserver(id)
{
    
Safety_Connected(id)
    
Reset_Player(id1)
    
    
set_task(0.1"Set_LightStart"id)
    
set_task(0.25"Set_NewTeam"id)
    
    
remove_task(id+TASK_CHANGEMODEL)

    
UnSet_BitVar(g_HasCustomModelid)
    
UnSet_BitVar(g_HasCustomSpeedid)
    
    if(!
g_HamBot && is_user_bot(id))
    {
        
g_HamBot 1
        set_task
(0.1"Register_HamBot"id)
    }
}
 
public 
Register_HamBot(id)
{
    
Register_SafetyFuncBot(id)
    
    
RegisterHamFromEntity(Ham_Spawnid"fw_PlayerSpawn_Post"1)
    
RegisterHamFromEntity(Ham_Killedid"fw_PlayerKilled_Post"1)
    
RegisterHamFromEntity(Ham_TakeDamageid"fw_PlayerTakeDamage")
}
 
public 
client_disconnect(id)
{
    
Safety_Disconnected(id)
    
    if(
pev_valid(g_MyCamera[id])) set_pev(g_MyCamera[id], pev_flagsFL_KILLME)
    
    
remove_task(id+TASK_CHANGEMODEL)
    
remove_task(id+TASK_TEAMMSG)
    
    
UnSet_BitVar(g_HasCustomModelid)
    
UnSet_BitVar(g_HasCustomSpeedid)
}

public 
Environment_Setting()
{
    new 
BufferB[128]
    new 
Enable
    
    
// Weather & Sky
    
Enable ENV_RAIN; if(Enableengfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_rain"))
    
Enable ENV_SNOW; if(Enable)engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_snow"))    
    
Enable ENV_FOG
    if(
Enable)
    {
        
remove_entity_name("env_fog")
        
        new 
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_fog"))
        if (
pev_valid(ent))
        {
            
fm_set_kvd(ent"density"ENV_FOG_DENSITY"env_fog")
            
fm_set_kvd(ent"rendercolor"ENV_FOG_COLOR"env_fog")
        }
    }
    
    
// Sky
    
for(new 0sizeof(Env_Sky); i++)
    {
        
// Preache custom sky files
        
formatex(BufferBcharsmax(BufferB), "gfx/env/%sbk.tga"Env_Sky[i]); engfunc(EngFunc_PrecacheGenericBufferB)
        
formatex(BufferBcharsmax(BufferB), "gfx/env/%sdn.tga"Env_Sky[i]); engfunc(EngFunc_PrecacheGenericBufferB)
        
formatex(BufferBcharsmax(BufferB), "gfx/env/%sft.tga"Env_Sky[i]); engfunc(EngFunc_PrecacheGenericBufferB)
        
formatex(BufferBcharsmax(BufferB), "gfx/env/%slf.tga"Env_Sky[i]); engfunc(EngFunc_PrecacheGenericBufferB)
        
formatex(BufferBcharsmax(BufferB), "gfx/env/%srt.tga"Env_Sky[i]); engfunc(EngFunc_PrecacheGenericBufferB)
        
formatex(BufferBcharsmax(BufferB), "gfx/env/%sup.tga"Env_Sky[i]); engfunc(EngFunc_PrecacheGenericBufferB)        
    }        
}

public 
Event_Time()
{
    if(!
g_GameStartedclient_print(0print_center"%L"LANG_DEFAULT"NOTICE_WAITFORPLAYER")
    if(
g_GameStarted && (Get_TotalInPlayer(2) < get_pcvar_num(g_Cvar_MinPlayer)))
    {
        
g_GameStarted 0
        g_GameEnded 
0
        g_RoundStarted 
0
    
}
    if(!
g_GameStarted && (Get_TotalInPlayer(2) >= get_pcvar_num(g_Cvar_MinPlayer))) // START GAME NOW :D
    
{
        
g_GameStarted 1
        g_RoundStarted 
0
        
        End_Round
(5.01CS_TEAM_UNASSIGNED)
    }
    
    
// Show HUD
    
Show_ScoreHud()
    
Show_PlayerHUD()
    
    
// Check Gameplay
    
Check_Gameplay()
    
    
// Exe
    
ExecuteForward(g_Forwards[FWD_RUNTIME], g_fwResult)
}

public 
Event_Time2()
{
    
Show_StatusHud()
}

public 
Check_Gameplay()
{
    if(!
g_GameStarted || g_GameEnded || !g_RoundStarted)
        return
        
    if(
Get_PlayerCount(12) <= 0End_Round(5.00CS_TEAM_T)
    else if(
Get_ZombieAlive() <= 0End_Round(5.00CS_TEAM_CT)
}

public 
Set_NewTeam(id)
{
    if(!
is_connected(id))
        return
    if(
is_alive(id))
        return
        
    
Set_PlayerTeam(idCS_TEAM_CT)
}

public 
Show_ScoreHud()
{
    
}

public 
Show_PlayerHUD()
{
    for(new 
0g_MaxPlayersi++)
    {
        if(!
is_alive(i))
            continue
        if(
cs_get_user_team(i) != CS_TEAM_T)
            continue
        
        
    }
}

public 
Show_StatusHud()
{
    static 
TempText[61]; 
    
    for(new 
0g_MaxPlayersi++)
    {
        if(!
is_alive(i))
            continue
        if(
cs_get_user_team(i) != CS_TEAM_T)
            continue
            
        if(
g_MyMana[i] < 100)
            
g_MyMana[i] = min(g_MyMana[i] + 5100)
            
        if(!
g_MaxHealth[i])
            continue
            
        
        
// HP
        
set_hudmessage(255000.2250.1000.00.60.00.0)
        
ShowSyncHudMsg(ig_SyncHud_HP[0], "____________________________________________________________")

        
formatex(TempText60"____________________________________________________________")
        
TempText[(60 get_user_health(i)) / g_MaxHealth[i]] = EOS
        
        set_hudmessage
(25525500.2250.1000.00.60.00.0)
        
ShowSyncHudMsg(ig_SyncHud_HP[1], TempText)
        
        
// MP
        
formatex(TempText60"____________________________________________________________")
        
TempText[(60 g_MyMana[i]) / 100] = EOS
    
        set_hudmessage
(025500.2250.1200.00.60.00.0)
        
ShowSyncHudMsg(ig_SyncHud_MPTempText)
    }
}

public 
client_PreThink(id)
{
    if(!
is_user_alive(id))
        return
        
    
// Handle Camera
    
if(g_MyCamera[id] && Get_BitVar(g_ViewCameraid))
    {
        static 
Float:Origin[3], Float:CamOrigin[3]
        
pev(idpev_originOrigin)
        
        static 
Float:vAngle[3], Float:Angles[3]
        
pev(idpev_anglesAngles)
        
pev(idpev_v_anglevAngle)
        
        static 
Float:i
        
for(256.0>= 0.0-= 0.1)
        {
            
CamOrigin[0] = floatcos(vAngle], degrees) * -i
            CamOrigin
[1] = floatsin(vAngle], degrees) * -i
            CamOrigin
[2] = - (4)
            
CamOrigin[0] += Origin[0]
            
CamOrigin[1] += Origin[1]
            
CamOrigin[2] += Origin[2]
            
            if(
PointContents(CamOrigin) != CONTENTS_SOLID && PointContents(CamOrigin) != CONTENTS_SKY)
                break;
        }
        
        
vAngle[0] = 20.0
        
        set_pev
(g_MyCamera[id], pev_originCamOrigin)
        
set_pev(g_MyCamera[id], pev_anglesvAngle)
        
set_pev(g_MyCamera[id], pev_v_anglevAngle)
    }
}
    
public 
Create_Camera(id)
{
    if(
pev_valid(g_MyCamera[id]))
        return
    
    static 
Float:vAngle[3], Float:Angles[3]
    
    
pev(idpev_origing_CameraOrigin[id])
    
pev(idpev_v_anglevAngle)
    
pev(idpev_anglesAngles)

    static 
EntEnt engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))
    if(!
pev_valid(Ent)) return

    
set_pev(Entpev_classnameCAMERA_CLASSNAME)

    
set_pev(Entpev_solid0)
    
set_pev(Entpev_movetypeMOVETYPE_NOCLIP)
    
set_pev(Entpev_ownerid)
    
    
engfunc(EngFunc_SetModelEntCAMERA_MODEL)

    static 
Float:Mins[3], Float:Maxs[3]
    
    
Mins[0] = -1.0
    Mins
[1] = -1.0
    Mins
[2] = -1.0
    Maxs
[0] = 1.0
    Maxs
[1] = 1.0
    Maxs
[2] = 1.0

    entity_set_size
(EntMinsMaxs)

    
set_pev(Entpev_origing_CameraOrigin[id])
    
set_pev(Entpev_v_anglevAngle)
    
set_pev(Entpev_anglesAngles)

    
fm_set_rendering(EntkRenderFxGlowShell000kRenderTransAlpha0)
    
g_MyCamera[id] = Ent;
}

public 
View_Camera(idReset)
{
    if(!
is_valid_ent(g_MyCamera[id]))
        
Create_Camera(id)
    
    if(!
Reset
    {
        
attach_view(idg_MyCamera[id])
        
Set_BitVar(g_ViewCameraid)
    } else {
        
attach_view(idid)
        
UnSet_BitVar(g_ViewCameraid)
    }
}

public 
Set_PlayerNVG(idGiveOnOnSoundIgnored_HadNVG)
{
    if(
GiveSet_BitVar(g_Has_NightVisionid)
    
set_user_nightvision(idOnOnSoundIgnored_HadNVG)
}

public 
set_user_nightvision(idOnOnSoundIgnored_HadNVG)
{
    if(!
Ignored_HadNVG)
    {
        if(!
Get_BitVar(g_Has_NightVisionid))
            return
    }

    if(
OnSet_BitVar(g_UsingNVGid)
    else 
UnSet_BitVar(g_UsingNVGid)
    
    if(
OnSoundPlaySound(idSoundNVG[On])
    
set_user_nvision(id)
    
    return
}

public 
set_user_nvision(id)
{    
    static 
Alpha, Default[2]; get_pcvar_string(g_Cvar_MapLight, Default, 1)
    if(
Get_BitVar(g_UsingNVGid)) Alpha 75
    
else Alpha 0
    
    message_begin
(MSG_ONE_UNRELIABLEg_MsgScreenFade_id)
    
write_short(0// duration
    
write_short(0// hold time
    
write_short(0x0004// fade type
    
if(!Get_BitVar(g_IsZombieid))
    {
        
write_byte(0// r
        
write_byte(150// g
        
write_byte(0// b
    
} else {
        
write_byte(85// r
        
write_byte(85// g
        
write_byte(255// b
    
}
    
write_byte(Alpha// alpha
    
message_end()
    
    
//if(Get_BitVar(g_UsingNVG, id)) SetPlayerLight(id, "#")
    //else SetPlayerLight(id, Default)
}

// ======================== EVENT ========================
// =======================================================
public Event_NewRound()
{
    
// Player
    
g_ModelChangeTargetTime get_gametime() + ROUNDSTART_DELAY
    
    
for(new 0g_MaxPlayersi++)
    {
        
remove_task(i+TASK_TEAMMSG)
        
        if(
task_exists(i+TASK_CHANGEMODEL))
        {
            
remove_task(i+TASK_CHANGEMODEL)
            
fm_cs_user_model_update(i+TASK_CHANGEMODEL)
        }
        
        
UnSet_BitVar(g_HasCustomSpeedi)
    }
    
    
// System
    
remove_task(TASK_ROUNDTIME)
    
remove_task(TASK_COUNTDOWN)
    
    
g_GameEnded 0
    g_RoundStarted 
0
    g_Countdown 
0
    
    StopSound
(0)
    
    
// Gameplay Handle
    
Check_GameStart()
    
ExecuteForward(g_Forwards[FWD_ROUND_NEW], g_fwResult)
}

public 
Event_RoundStart()
{
    if(!
g_GameStarted || g_GameEnded)
        return
    
    
g_Countdown 1
    set_task
(get_pcvar_float(g_CvarPointer_RoundTime) * 60.0"Event_TimeUp"TASK_ROUNDTIME)
    
    
set_dhudmessage(2551270HUD_NOTICE_XHUD_NOTICE_Y00.15.00.010.5)
    
show_dhudmessage(0"%L"LANG_DEFAULT"NOTICE_ZOMBIESELECT")
    
    
PlaySound(0Sound_RoundStart[random(sizeof(Sound_RoundStart))])
    
ExecuteForward(g_Forwards[FWD_ROUND_START], g_fwResult)
}

public 
Check_GameStart()
{
    if(!
g_GameStarted || g_GameEnded)
        return
    
    
Start_Countdown()
}

public 
Event_TimeUp()
{
    if(!
g_GameStarted || g_GameEnded)
        return
        
    
End_Round(5.00CS_TEAM_CT)
}

public 
Event_RoundEnd()
{
    
g_GameEnded 1
    
    remove_task
(TASK_ROUNDTIME)
    
remove_task(TASK_COUNTDOWN)
    
    
PlaySound(0Sound_Result[random(sizeof(Sound_Result))])
}

public 
Event_GameRestart()
{
    
Event_RoundEnd()
}

public 
Event_Death()
{
    static 
AttackerVictimHeadshotWeapon[32], CSW
    
    Attacker 
read_data(1)
    
Victim read_data(2)
    
Headshot read_data(3)
    
read_data(4Weaponsizeof(Weapon))
    
    if(
equal(Weapon"grenade"))
        
CSW CSW_HEGRENADE
    
else { 
        static 
BukiNoNamae[64];
        
formatex(BukiNoNamae63"weapon_%s"Weapon)
        
        
CSW get_weaponid(BukiNoNamae)
    }
    
    
ExecuteForward(g_Forwards[FWD_USER_KILL], g_fwResultVictimAttackerHeadshotCSW)
}

public 
Start_Countdown()
{
    
g_CountTime get_pcvar_num(g_Cvar_CountTime)
    
    
remove_task(TASK_COUNTDOWN)
    
CountingDown()
}

public 
CountingDown()
{
    if(!
g_GameStarted || g_GameEnded)
        return
    if(
g_CountTime  <= 0)
    {
        
Start_Game_Now()
        return
    }
    
    
client_print(0print_center"%L"LANG_DEFAULT"NOTICE_COUNTING"g_CountTime)
    
    if(
g_CountTime <= 10)
    {
        static 
Sound[64]; format(Soundcharsmax(Sound), Vox_Countg_CountTime)
        
PlaySound(0Sound)
    } 
    
    if(
g_Countdowng_CountTime--
    
set_task(1.0"CountingDown"TASK_COUNTDOWN)
}

public 
Start_Game_Now()
{
    
Boss_SpawnInit()
    
    
// Play Sound
    
PlaySound(0Sound_GameStart[random(sizeof(Sound_GameStart))])
    
    static 
TotalPlayerTotalPlayer Get_TotalInPlayer(1)
    static 
ZombieNumberZombieNumber clamp(floatround(float(TotalPlayer) / 8.0floatround_ceil), 15)
    
    static 
PlayerList[32], PlayerNumPlayerNum 0
    
for(new 0ZombieNumberi++)
    {
        
get_players(PlayerListPlayerNum"a")
        
Set_PlayerZombie(PlayerList[random(PlayerNum)])
    }
    
    
g_RoundStarted 1
    
    
// Check Team & Show Message: Survival Time
    
for(new 0g_MaxPlayersi++)
    {
        if(!
is_alive(i))
            continue
        if(
is_user_zombie(i))
            continue
            
        
// Show Message
        
set_dhudmessage(0127255HUD_NOTICE_XHUD_NOTICE_Y00.15.00.010.5)
        
show_dhudmessage(i"%L"LANG_DEFAULT"NOTICE_ZOMBIEAPPEAR")
            
        
// Show Message
        
set_dhudmessage(8525585HUD_NOTICE2_XHUD_NOTICE2_Y20.13.00.010.5)
        
show_dhudmessage(i"%L"LANG_DEFAULT"NOTICE_ALIVETIME")

        
Make_PlayerShake(i)
        
        if(
cs_get_user_team(i) == CS_TEAM_CT)
            continue
            
        
// Set Team
        
Set_PlayerTeam(iCS_TEAM_CT)
    }
    
    
// Ambience
    
PlaySound(0Sound_Ambience[random(sizeof(Sound_Ambience))])
    
    
// Exec Forward
    
ExecuteForward(g_Forwards[FWD_GAME_START], g_fwResult)
}

public 
Set_PlayerZombie(id)
{
    static 
CodeTitan; if(CodeTitan >= g_TotalClassCodeTitan 0
    
static Float:StartOrigin[3]; pev(idpev_originStartOrigin)
    
    
// Set Info
    
Set_BitVar(g_IsZombieid)    
    
Set_PlayerTeam(idCS_TEAM_T)
    
Set_PlayerNVG(id1100)
    
    
g_MyMana[id] = 100
    g_MyClass
[id] = CodeTitan
    
    
// Player Origin
    
if(g_BossSpawnCode >= g_BossSpawn_Count)
        
g_BossSpawnCode 0
    
    Recheck_HumanPosition
(g_BossSpawn_Point[g_BossSpawnCode])
    
StartOrigin g_BossSpawn_Point[g_BossSpawnCode]
    
    
g_BossSpawnCode++
    
    
// Handle Player
    
fm_strip_user_weapons(id)
    
fm_give_item(id"weapon_knife")
    
    
set_pev(idpev_solidSOLID_NOT)
    
set_pev(idpev_movetypeMOVETYPE_NOCLIP)
    
fm_set_rendering(idkRenderFxGlowShell000kRenderTransAlpha0)
    
    
// HP
    
static HPHP ArrayGetCell(GiantBaseHPCodeTitan)
    static 
PlayerNumPlayerNum clamp(Get_TotalInPlayer(1), 132)
    
    
HP *= PlayerNum
    SetPlayerHealth
(idHP1)
    
    
// Camera
    
Create_Camera(id)
    
View_Camera(id0)
    
    
set_task(0.1"Second_Strip"id)
    
ExecuteForward(g_Forwards[FWD_BECOME_GIANT], g_fwResultidCodeTitanStartOrigin[0], StartOrigin[1], StartOrigin[2])
    
    
CodeTitan++
}

public 
Boss_SpawnInit()
{
    
g_BossSpawnCode random(g_BossSpawn_Count)
}

public 
Second_Strip(idfm_strip_user_weapons(id)

// ====================== FAKEMETA =======================
// =======================================================
public fw_GetGameDesc()
{
    
forward_return(FMV_STRINGGAMENAME)
    return 
FMRES_SUPERCEDE
}

public 
fw_StartFrame()
{
    static 
Float:TimeTime get_gametime()
    
    if(
Time 1.0 g_PassedTime)
    {
        
Event_Time()
        
g_PassedTime Time
    
}
    if(
Time 0.5 g_PassedTime2)
    {
        
Event_Time2()
        
g_PassedTime2 Time
    
}
}

public 
fw_SetClientKeyValue(id, const infobuffer[], const key[], const value[])
{
    if (
Get_BitVar(g_HasCustomModelid) && equal(key"model"))
    {
        static 
currentmodel[MODELNAME_MAXLENGTH]
        
fm_cs_get_user_model(idcurrentmodelcharsmax(currentmodel))
        
        if (!
equal(currentmodelg_CustomPlayerModel[id]) && !task_exists(id+TASK_CHANGEMODEL))
            
fm_cs_set_user_model(id+TASK_CHANGEMODEL)
        
#if defined SET_MODELINDEX_OFFSET
        
fm_cs_set_user_model_index(id)
#endif
        
        
return FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
fw_AddToFullPack_Post(eseenthosthostflagsplayerpSet)
{
    if(!
player)
        return 
FMRES_IGNORED
    
if(!is_alive(ent) || !is_alive(host))
        return 
FMRES_IGNORED
    
if(is_user_zombie(ent) || !is_user_zombie(host))
        return 
FMRES_IGNORED
        
    
static Float:CurHealthFloat:MaxHealth
    
static Float:PercentPercent2RealPercent
    
    pev
(entpev_healthCurHealth)
    
MaxHealth float(g_MaxHealth[ent])
    
    
Percent = (CurHealth MaxHealth) * 100.0
    Percent2 
floatround(Percent)
    
RealPercent clamp(Percent21100)
    
    static 
Color[3]
    
    switch(
RealPercent)
    {
        case 
1..49Color = {7500}
        case 
50..79Color = {75750}
        case 
80..100Color = {0750}
    }
    
    
set_es(esES_RenderFxkRenderFxGlowShell)
    
set_es(esES_RenderModekRenderNormal)
    
set_es(esES_RenderColorColor)
    
set_es(esES_RenderAmt16)
    
    return 
FMRES_HANDLED
}

// ===================== HAMSANDWICH =====================
// =======================================================
public fw_PlayerSpawn_Post(id)
{
    if(!
is_user_alive(id)) return
    
    
Set_BitVar(g_Joinedid)
    
    
Reset_Player(id0)
    
View_Camera(id1)
    
    
// Set Human
    
Do_RandomSpawn(id)
    
    
set_task(0.01"Set_LightStart"id)
    
fm_set_user_rendering(id)
    
set_user_nightvision(id000)
    
    
Set_PlayerTeam(idCS_TEAM_CT)
    
SetPlayerHealth(idget_pcvar_num(g_Cvar_HumanHealth), 1)
    
cs_set_user_armor(idget_pcvar_num(g_Cvar_HumanArmor), CS_ARMOR_KEVLAR)
    
set_pev(idpev_gravityget_pcvar_float(g_Cvar_HumanGravity))
    
    
Reset_PlayerSpeed(id)
    
    
// Start Weapon
    
fm_strip_user_weapons(id)
    
fm_give_item(id"weapon_knife")
    
fm_give_item(id"weapon_usp")
    
give_ammo(id1CSW_USP)
    
give_ammo(id1CSW_USP)

    
Set_PlayerModel(idModel_Player[random(sizeof(Model_Player))])
        
    
// Exec
    
ExecuteForward(g_Forwards[FWD_EQUIP], g_fwResultid)
}

public 
fw_PlayerKilled_Post(VictimAttacker)
{
    
    
    
// Check Gameplay
    
Check_Gameplay()
}

public 
fw_UseStationary(entitycalleractivatoruse_type)
{
    if (
use_type == && is_alive(caller) && is_user_zombie(caller))
        return 
HAM_SUPERCEDE
    
    
return HAM_IGNORED
}

public 
fw_UseStationary_Post(entitycalleractivatoruse_type)
{
    if(
use_type == && is_alive(caller) && is_user_zombie(caller))
    {
        
/*
        // Reset Claws
        static Claw[64], Claw2[64];
        
        if(Get_BitVar(g_IsZombie, caller)) ArrayGetString(ZombieClawModel, g_ZombieClass[caller], Claw, sizeof(Claw))
        //else if(Get_BitVar(g_IsNightStalker, caller)) Claw = g_HiddenClawModel
        
        formatex(Claw2, sizeof(Claw2), "models/%s/%s", GAME_FOLDER, Claw)
        
        set_pev(caller, pev_viewmodel2, Claw2)
        set_pev(caller, pev_weaponmodel2, "")*/
    
}
}

public 
fw_TouchWeapon(weaponid)
{
    if(!
is_connected(id))
        return 
HAM_IGNORED
    
if(is_user_zombie(id))
        return 
HAM_SUPERCEDE
    
    
return HAM_IGNORED
}

public 
fw_PlayerTakeDamage(VictimInflictorAttackerFloat:DamageDamageBits)
{
    if(!
g_GameStarted || g_GameEnded || !g_RoundStarted)
        return 
HAM_SUPERCEDE
    
if(Victim == Attacker || !is_connected(Attacker))
        return 
HAM_SUPERCEDE
    
    
return HAM_IGNORED
}

public 
fw_Ham_ResetMaxSpeed(id)
{
    return ( 
Get_BitVar(g_HasCustomSpeedid) ) ? HAM_SUPERCEDE HAM_IGNORED;
}  

public 
Make_PlayerShake(id)
{
    static 
MSG; if(!MSGMSG get_user_msgid("ScreenShake")
    
    if(!
id
    {
        
message_begin(MSG_BROADCASTMSG)
        
write_short(8<<12)
        
write_short(5<<12)
        
write_short(4<<12)
        
message_end()
    } else {
        if(!
is_user_connected(id))
            return
            
        
message_begin(MSG_BROADCASTMSG_id)
        
write_short(8<<12)
        
write_short(5<<12)
        
write_short(4<<12)
        
message_end()
    }
}

// ===================== MESSAGES ========================
// =======================================================
public Message_StatusIcon(msg_idmsg_destmsg_entity)
{
    static 
szMsg[8];
    
get_msg_arg_string(2szMsg ,7)
    
    if(
equal(szMsg"buyzone") && get_msg_arg_int(1))
    {
        if(
pev_valid(msg_entity) != PDATA_SAFE)
            return  
PLUGIN_CONTINUE;
    
        
set_pdata_int(msg_entity235get_pdata_int(msg_entity235) & ~(1<<0))
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
Message_Health(msg_idmsg_destid)
{
    
// Get player's health
    
static health
    health 
get_user_health(id)
    
    
// Don't bother
    
if(health 1
        return
    
    static 
Float:NewHealthRealHealthHealth
    
    NewHealth 
= (float(health) / float(g_MaxHealth[id])) * 100.0
    
RealHealth floatround(NewHealth)
    
Health clamp(RealHealth1255)

    
set_msg_arg_int(1get_msg_argtype(1), Health)
}

public 
Message_ClCorpse()
{
    static 
idid get_msg_arg_int(12)
    
set_msg_arg_string(1g_CustomPlayerModel[id])

    return 
PLUGIN_CONTINUE
}

// ====================== COMMAND ========================
// =======================================================
public CMD_JoinTeam(id)
{
    if(!
Get_BitVar(g_Joinedid))
        return 
PLUGIN_CONTINUE
        
    
return PLUGIN_HANDLED
}

public 
CMD_NightVision(id)
{
    if(!
Get_BitVar(g_Has_NightVisionid))
        return 
PLUGIN_HANDLED

    
if(!Get_BitVar(g_UsingNVGid)) set_user_nightvision(id110)
    else 
set_user_nightvision(id010)
    
    return 
PLUGIN_HANDLED;
}

// ======================== OTHER ========================
// =======================================================
public Reset_Player(idNewPlayer)
{
    
UnSet_BitVar(g_IsZombieid)
    
UnSet_BitVar(g_Has_NightVisionid)
    
UnSet_BitVar(g_UsingNVGid)
}

public 
Set_PlayerModel(id, const Model[])
{
    if(!
is_connected(id))
        return 
false
    
    remove_task
(id+TASK_CHANGEMODEL)
    
Set_BitVar(g_HasCustomModelid)
    
    
copy(g_CustomPlayerModel[id], charsmax(g_CustomPlayerModel[]), Model)
    
    
#if defined SET_MODELINDEX_OFFSET    
    
new modelpath[32+(2*MODELNAME_MAXLENGTH)]
    
formatex(modelpathcharsmax(modelpath), "models/player/%s/%s.mdl"ModelModel)
    
g_CustomModelIndex[id] = engfunc(EngFunc_ModelIndexmodelpath)
    
#endif
    
    
new currentmodel[MODELNAME_MAXLENGTH]
    
fm_cs_get_user_model(idcurrentmodelcharsmax(currentmodel))
    
    if (!
equal(currentmodelModel))
        
fm_cs_user_model_update(id+TASK_CHANGEMODEL)
    
    return 
true;
}

public 
Reset_PlayerModel(id)
{
    if(!
is_connected(id))
        return 
false;
    
    
// Player doesn't have a custom model, no need to reset
    
if(!Get_BitVar(g_HasCustomModelid))
        return 
true;
    
    
remove_task(id+TASK_CHANGEMODEL)
    
UnSet_BitVar(g_HasCustomModelid)
    
fm_cs_reset_user_model(id)
    
    return 
true;    
}

public 
Set_PlayerTeam(idCsTeams:Team)
{
    if(!
is_connected(id))
        return
    
    if(
pev_valid(id) != PDATA_SAFE)
        return
    
//if(cs_get_user_team(id) == Team)
    //    return

    // Remove previous team message task
    
remove_task(id+TASK_TEAMMSG)
    
    
// Set team offset
    
set_pdata_int(idOFFSET_CSTEAMS_:Team)
    
    
// Send message to update team?
    
fm_user_team_update(id)    
}

public 
Set_PlayerSpeed(idFloat:SpeedBlockChange)
{
    if(!
is_alive(id))
        return
        
    if(
BlockChangeSet_BitVar(g_HasCustomSpeedid)
    else 
UnSet_BitVar(g_HasCustomSpeedid)
        
    
set_pev(idpev_maxspeedSpeed)
}

public 
Reset_PlayerSpeed(id)
{
    if(!
is_alive(id))
        return
        
    
UnSet_BitVar(g_HasCustomSpeedid)
    
ExecuteHamB(Ham_CS_Player_ResetMaxSpeedid)
}

public 
give_ammo(idsilentCSWID)
{
    static 
AmountName[32]
        
    switch(
CSWID)
    {
        case 
CSW_P228: {Amount 13formatex(Namesizeof(Name), "357sig");}
        case 
CSW_SCOUT: {Amount 30formatex(Namesizeof(Name), "762nato");}
        case 
CSW_XM1014: {Amount 8formatex(Namesizeof(Name), "buckshot");}
        case 
CSW_MAC10: {Amount 12formatex(Namesizeof(Name), "45acp");}
        case 
CSW_AUG: {Amount 30formatex(Namesizeof(Name), "556nato");}
        case 
CSW_ELITE: {Amount 30formatex(Namesizeof(Name), "9mm");}
        case 
CSW_FIVESEVEN: {Amount 50formatex(Namesizeof(Name), "57mm");}
        case 
CSW_UMP45: {Amount 12formatex(Namesizeof(Name), "45acp");}
        case 
CSW_SG550: {Amount 30formatex(Namesizeof(Name), "556nato");}
        case 
CSW_GALIL: {Amount 30formatex(Namesizeof(Name), "556nato");}
        case 
CSW_FAMAS: {Amount 30formatex(Namesizeof(Name), "556nato");}
        case 
CSW_USP: {Amount 12formatex(Namesizeof(Name), "45acp");}
        case 
CSW_GLOCK18: {Amount 30formatex(Namesizeof(Name), "9mm");}
        case 
CSW_AWP: {Amount 10formatex(Namesizeof(Name), "338magnum");}
        case 
CSW_MP5NAVY: {Amount 30formatex(Namesizeof(Name), "9mm");}
        case 
CSW_M249: {Amount 30formatex(Namesizeof(Name), "556natobox");}
        case 
CSW_M3: {Amount 8formatex(Namesizeof(Name), "buckshot");}
        case 
CSW_M4A1: {Amount 30formatex(Namesizeof(Name), "556nato");}
        case 
CSW_TMP: {Amount 30formatex(Namesizeof(Name), "9mm");}
        case 
CSW_G3SG1: {Amount 30formatex(Namesizeof(Name), "762nato");}
        case 
CSW_DEAGLE: {Amount 7formatex(Namesizeof(Name), "50ae");}
        case 
CSW_SG552: {Amount 30formatex(Namesizeof(Name), "556nato");}
        case 
CSW_AK47: {Amount 30formatex(Namesizeof(Name), "762nato");}
        case 
CSW_P90: {Amount 50formatex(Namesizeof(Name), "57mm");}
    }
    
    if(!
silentemit_sound(idCHAN_ITEM"items/9mmclip1.wav"VOL_NORMATTN_NORM0PITCH_NORM)
    
ExecuteHamB(Ham_GiveAmmoidAmountName254)
}

public 
Do_RandomSpawn(id)
{
    if (!
g_PlayerSpawn_Count)
        return;    
    
    static 
hullsp_indexi
    
    hull 
= (pev(idpev_flags) & FL_DUCKING) ? HULL_HEAD HULL_HUMAN
    sp_index 
random_num(0g_PlayerSpawn_Count 1)
    
    for (
sp_index 1/*no condition*/i++)
    {
        if(
>= g_PlayerSpawn_Count0
        
        
if(is_hull_vacant(g_PlayerSpawn_Point[i], hull))
        {
            
engfunc(EngFunc_SetOriginidg_PlayerSpawn_Point[i])
            break
        }

        if (
== sp_index) break
    }
}

public 
Recheck_HumanPosition(Float:Origin[3])
{
    static 
Float:MyOrigin[3]
    for(new 
0g_MaxPlayersi++)
    {
        if(!
is_alive(i))
            continue
        if(
is_user_zombie(i))
            continue
        
pev(ipev_originMyOrigin)
        if(
get_distance_f(OriginMyOrigin) > 480.0)
            continue
            
        
Do_RandomSpawn(i)
    }
}

public 
SetPlayerHealth(idHealthFullHealth)
{
    
fm_set_user_health(idHealth)
    if(
FullHealth
    {
        
g_MaxHealth[id] = Health
        set_pev
(idpev_max_healthfloat(Health))
    }
}

public 
Set_LightStart(id)
{
    static 
Light[2]; get_pcvar_string(g_Cvar_MapLightLight1)
    
SetPlayerLight(idLight)
}

public 
End_Round(Float:EndTimeRoundDrawCsTeams:Team)
// RoundDraw: Draw or Team Win
// Team: 1 - T | 2 - CT
{
    if(
g_GameEnded) return
    if(
RoundDraw
    {
        
GM_TerminateRound(EndTimeWINSTATUS_DRAW)
        
ExecuteForward(g_Forwards[FWD_GAME_END], g_fwResultCS_TEAM_UNASSIGNED)
    
        
client_print(0print_center"%L"LANG_DEFAULT"NOTICE_GAMESTART")
    } else {
        if(
Team == CS_TEAM_T
        {
            
GM_TerminateRound(6.0WINSTATUS_TERRORIST)
            
ExecuteForward(g_Forwards[FWD_GAME_END], g_fwResultCS_TEAM_T)
            
            
PlaySound(0Vox_WinBoss)
            
            
set_dhudmessage(20000HUD_WIN_XHUD_WIN_Y06.06.00.01.5)
            
show_dhudmessage(0"%L"LANG_DEFAULT"NOTICE_WINZOMBIE")
        } else if(
Team == CS_TEAM_CT) {
            
            
GM_TerminateRound(6.0WINSTATUS_CT)
            
ExecuteForward(g_Forwards[FWD_GAME_END], g_fwResultCS_TEAM_CT)
            
            
PlaySound(0Vox_WinHuman)
        
            
set_dhudmessage(02000HUD_WIN_XHUD_WIN_Y06.06.00.01.5)
            
show_dhudmessage(0"%L"LANG_DEFAULT"NOTICE_WINHUMAN")
        }
    }
    
    
g_GameEnded 1
    Event_RoundEnd
()
}

public 
is_user_zombie(id)
{
    if(!
is_connected(id))
        return 
0
    
    
return Get_BitVar(g_IsZombieid) ? 0
}

stock Get_ZombieAlive()
{
    new 
Count
    
for(new 0g_MaxPlayersi++)
    {
        if(!
is_connected(i))
            continue
        if(
is_alive(i) && is_user_zombie(i))
            
Count++
    }
    
    return 
Count
}

stock SetPlayerLight(id, const LightStyle[])
{
    if(
id != 0)
    {
        
message_begin(MSG_ONE_UNRELIABLESVC_LIGHTSTYLE, .player id)
        
write_byte(0)
        
write_string(LightStyle)
        
message_end()        
    } else {
        
message_begin(MSG_BROADCASTSVC_LIGHTSTYLE)
        
write_byte(0)
        
write_string(LightStyle)
        
message_end()    
    }
}

stock Get_PlayerCount(AliveTeam)
// Alive: 0 - Dead | 1 - Alive | 2 - Both
// Team: 1 - T | 2 - CT
{
    new 
Flag[4], Flag2[12]
    new 
Players[32], PlayerNum

    
if(!Aliveformatex(Flagsizeof(Flag), "%sb"Flag)
    else if(
Alive == 1formatex(Flagsizeof(Flag), "%sa"Flag)
    
    if(
Team == 1
    {
        
formatex(Flagsizeof(Flag), "%se"Flag)
        
formatex(Flag2sizeof(Flag2), "TERRORIST"Flag)
    } else if(
Team == 2
    {
        
formatex(Flagsizeof(Flag), "%se"Flag)
        
formatex(Flag2sizeof(Flag2), "CT"Flag)
    }
    
    
get_players(PlayersPlayerNumFlagFlag2)
    
    return 
PlayerNum
}

stock Get_TotalInPlayer(Alive)
{
    return 
Get_PlayerCount(Alive1) + Get_PlayerCount(Alive2)
}

stock is_hull_vacant(Float:Origin[3], hull)
{
    
engfunc(EngFunc_TraceHullOriginOrigin0hull00)
    
    if (!
get_tr2(0TR_StartSolid) && !get_tr2(0TR_AllSolid) && get_tr2(0TR_InOpen))
        return 
true
    
    
return false
}

stock collect_spawns_ent(const classname[])
{
    static 
entent = -1
    
while ((ent engfunc(EngFunc_FindEntityByStringent"classname"classname)) != 0)
    {
        
// get origin
        
static Float:originF[3]
        
pev(entpev_originoriginF)
        
        
g_PlayerSpawn_Point[g_PlayerSpawn_Count][0] = originF[0]
        
g_PlayerSpawn_Point[g_PlayerSpawn_Count][1] = originF[1]
        
g_PlayerSpawn_Point[g_PlayerSpawn_Count][2] = originF[2]
        
        
// increase spawn count
        
g_PlayerSpawn_Count++
        if(
g_PlayerSpawn_Count >= sizeof g_PlayerSpawn_Point) break;
    }
}

stock collect_spawns_ent2(const classname[])
{
    static 
entent = -1
    
while ((ent engfunc(EngFunc_FindEntityByStringent"classname"classname)) != 0)
    {
        
// get origin
        
static Float:originF[3]
        
pev(entpev_originoriginF)
        
        
g_BossSpawn_Point[g_BossSpawn_Count][0] = originF[0]
        
g_BossSpawn_Point[g_BossSpawn_Count][1] = originF[1]
        
g_BossSpawn_Point[g_BossSpawn_Count][2] = originF[2]
        
        
// increase spawn count
        
g_BossSpawn_Count++
        if(
g_BossSpawn_Count >= sizeof g_BossSpawn_Point) break;
    }
}

stock Get_RandomArray(Array:ArrayName)
{
    return 
random_num(0ArraySize(ArrayName) - 1)
}

stock PlaySound(id, const sound[])
{
    if(
equal(sound[strlen(sound)-4], ".mp3")) client_cmd(id"mp3 play ^"sound/%s^""sound)
    else 
client_cmd(id"spk ^"%s^""sound)
}

stock StopSound(idclient_cmd(id"mp3 stop; stopsound")
stock EmitSound(idChannel, const Sound[]) emit_sound(idChannelSoundVOL_NORMATTN_NORM0PITCH_NORM)
stock client_printc(index, const text[], any:...)
{
    static 
szMsg[128]; vformat(szMsgsizeof(szMsg) - 1text3)

    
replace_all(szMsgsizeof(szMsg) - 1"!g""^x04")
    
replace_all(szMsgsizeof(szMsg) - 1"!n""^x01")
    
replace_all(szMsgsizeof(szMsg) - 1"!t""^x03")

    if(!
index)
    {
        for(new 
0g_MaxPlayersi++)
        {
            if(!
is_connected(i))
                continue
                
            
message_begin(MSG_ONE_UNRELIABLEg_MsgSayText_i);
            
write_byte(i);
            
write_string(szMsg);
            
message_end();    
        }        
    } else {
        
message_begin(MSG_ONE_UNRELIABLEg_MsgSayText_index);
        
write_byte(index);
        
write_string(szMsg);
        
message_end();
    }


public 
fm_cs_set_user_model(taskid)
{
    static 
idid taskid TASK_CHANGEMODEL
    set_user_info
(id"model"g_CustomPlayerModel[id])
}

stock fm_cs_set_user_model_index(id)
{
    if (
pev_valid(id) != PDATA_SAFE)
        return;
    
    
set_pdata_int(idOFFSET_MODELINDEXg_CustomModelIndex[id])
}

stock fm_cs_reset_user_model_index(id)
{
    if (
pev_valid(id) != PDATA_SAFE)
        return;
    
    switch(
cs_get_user_team(id))
    {
        case 
CS_TEAM_Tset_pdata_int(idOFFSET_MODELINDEXengfunc(EngFunc_ModelIndexDEFAULT_MODELINDEX_T))
        case 
CS_TEAM_CTset_pdata_int(idOFFSET_MODELINDEXengfunc(EngFunc_ModelIndexDEFAULT_MODELINDEX_CT))
    }
}

stock fm_cs_get_user_model(idmodel[], len)
{
    
get_user_info(id"model"modellen)
}

stock fm_cs_reset_user_model(id)
{
    
// Set some generic model and let CS automatically reset player model to default
    
copy(g_CustomPlayerModel[id], charsmax(g_CustomPlayerModel[]), "gordon")
    
fm_cs_user_model_update(id+TASK_CHANGEMODEL)
#if defined SET_MODELINDEX_OFFSET
    
fm_cs_reset_user_model_index(id)
#endif
}

stock fm_cs_user_model_update(taskid)
{
    new 
Float:current_time
    current_time 
get_gametime()
    
    if(
current_time g_ModelChangeTargetTime >= MODELCHANGE_DELAY)
    {
        
fm_cs_set_user_model(taskid)
        
g_ModelChangeTargetTime current_time
    
} else {
        
set_task((g_ModelChangeTargetTime MODELCHANGE_DELAY) - current_time"fm_cs_set_user_model"taskid)
        
g_ModelChangeTargetTime g_ModelChangeTargetTime MODELCHANGE_DELAY
    
}
}


// Send User Team Message (Note: this next message can be received by other plugins)
public fm_cs_set_user_team_msg(taskid)
{
    
// Tell everyone my new team
    
emessage_begin(MSG_ALLg_MsgTeamInfo)
    
ewrite_byte(ID_TEAMMSG// player
    
ewrite_string(CS_TEAM_NAMES[_:cs_get_user_team(ID_TEAMMSG)]) // team
    
emessage_end()
    
    
// Fix for AMXX/CZ bots which update team paramater from ScoreInfo message
    
emessage_begin(MSG_BROADCASTg_MsgScoreInfo)
    
ewrite_byte(ID_TEAMMSG// id
    
ewrite_short(pev(ID_TEAMMSGpev_frags)) // frags
    
ewrite_short(cs_get_user_deaths(ID_TEAMMSG)) // deaths
    
ewrite_short(0// class?
    
ewrite_short(_:cs_get_user_team(ID_TEAMMSG)) // team
    
emessage_end()
}

// Update Player's Team on all clients (adding needed delays)
stock fm_user_team_update(id)
{    
    new 
Float:current_time
    current_time 
get_gametime()
    
    if (
current_time g_TeamMsgTargetTime >= TEAMCHANGE_DELAY)
    {
        
set_task(0.1"fm_cs_set_user_team_msg"id+TASK_TEAMMSG)
        
g_TeamMsgTargetTime current_time TEAMCHANGE_DELAY
    
}
    else
    {
        
set_task((g_TeamMsgTargetTime TEAMCHANGE_DELAY) - current_time"fm_cs_set_user_team_msg"id+TASK_TEAMMSG)
        
g_TeamMsgTargetTime g_TeamMsgTargetTime TEAMCHANGE_DELAY
    
}
}


/* ===============================
------------- SAFETY -------------
=================================*/
public Register_SafetyFunc()
{
    
register_event("CurWeapon""Safety_CurWeapon""be""1=1")
    
    
RegisterHam(Ham_Spawn"player""fw_Safety_Spawn_Post"1)
    
RegisterHam(Ham_Killed"player""fw_Safety_Killed_Post"1)
}

public 
Register_SafetyFuncBot(id)
{
    
RegisterHamFromEntity(Ham_Spawnid"fw_Safety_Spawn_Post"1)
    
RegisterHamFromEntity(Ham_Killedid"fw_Safety_Killed_Post"1)
}

public 
Safety_Connected(id)
{
    
Set_BitVar(g_IsConnectedid)
    
UnSet_BitVar(g_IsAliveid)
    
    
g_PlayerWeapon[id] = 0
}

public 
Safety_Disconnected(id)
{
    
UnSet_BitVar(g_IsConnectedid)
    
UnSet_BitVar(g_IsAliveid)
    
    
g_PlayerWeapon[id] = 0
}

public 
Safety_CurWeapon(id)
{
    if(!
is_alive(id))
        return
        
    static 
CSWCSW read_data(2)
    if(
g_PlayerWeapon[id] != CSWg_PlayerWeapon[id] = CSW
}

public 
fw_Safety_Spawn_Post(id)
{
    if(!
is_user_alive(id))
        return
        
    
Set_BitVar(g_IsAliveid)
}

public 
fw_Safety_Killed_Post(id)
{
    
UnSet_BitVar(g_IsAliveid)
}

public 
is_connected(id)
{
    if(!(
<= id <= 32))
        return 
0
    
if(!Get_BitVar(g_IsConnectedid))
        return 
0

    
return 1
}

public 
is_alive(id)
{
    if(!
is_connected(id))
        return 
0
    
if(!Get_BitVar(g_IsAliveid))
        return 
0
        
    
return 1
}

public 
get_player_weapon(id)
{
    if(!
is_alive(id))
        return 
0
    
    
return g_PlayerWeapon[id]
}

/* ===============================
--------- END OF SAFETY  ---------
=================================*/ 
__________________

Last edited by D3XT3R; 03-05-2017 at 04:27.
D3XT3R is offline
Send a message via Skype™ to D3XT3R
D3XT3R
AlliedModders Donor
Join Date: Nov 2016
Location: Lithuania, Bomb A (Kauna
Old 03-05-2017 , 04:25   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #2

this is line of 687 please fix guys! and thanx.
Quote:
set_pev(g_MyCamera[id], pev_origin, CamOrigin)
__________________
D3XT3R is offline
Send a message via Skype™ to D3XT3R
D3XT3R
AlliedModders Donor
Join Date: Nov 2016
Location: Lithuania, Bomb A (Kauna
Old 03-05-2017 , 06:42   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #3

any one help ://// ???
__________________
D3XT3R is offline
Send a message via Skype™ to D3XT3R
wilianmaique
BANNED
Join Date: Nov 2016
Old 03-05-2017 , 10:15   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #4

TESTE

Change: public client_PreThink

for:


PHP Code:
public client_PreThink(id)
{
    if(!
is_user_alive(id) || !pev_valid(id))
        return
        
    
// Handle Camera
    
if(g_MyCamera[id] && Get_BitVar(g_ViewCameraid))
    {
        static 
Float:Origin[3], Float:CamOrigin[3]
        
pev(idpev_originOrigin)
        
        static 
Float:vAngle[3], Float:Angles[3]
        
pev(idpev_anglesAngles)
        
pev(idpev_v_anglevAngle)
        
        static 
Float:i
        
for(256.0>= 0.0-= 0.1)
        {
            
CamOrigin[0] = floatcos(vAngle], degrees) * -i
            CamOrigin
[1] = floatsin(vAngle], degrees) * -i
            CamOrigin
[2] = - (4)
            
CamOrigin[0] += Origin[0]
            
CamOrigin[1] += Origin[1]
            
CamOrigin[2] += Origin[2]
            
            if(
PointContents(CamOrigin) != CONTENTS_SOLID && PointContents(CamOrigin) != CONTENTS_SKY)
                break;
        }
        
        
vAngle[0] = 20.0
        
        set_pev
(g_MyCamera[id], pev_originCamOrigin)
        
set_pev(g_MyCamera[id], pev_anglesvAngle)
        
set_pev(g_MyCamera[id], pev_v_anglevAngle)
    }

wilianmaique is offline
Send a message via Skype™ to wilianmaique
D3XT3R
AlliedModders Donor
Join Date: Nov 2016
Location: Lithuania, Bomb A (Kauna
Old 03-05-2017 , 11:44   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #5

stile same crach :/
__________________
D3XT3R is offline
Send a message via Skype™ to D3XT3R
wilianmaique
BANNED
Join Date: Nov 2016
Old 03-05-2017 , 19:52   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #6

PHP Code:
public client_PreThink(id

    if(!
is_user_alive(id)) 
        return 
         
    
// Handle Camera 
    
if(g_MyCamera[id] && Get_BitVar(g_ViewCameraid)) 
    { 
        static 
Float:Origin[3], Float:CamOrigin[3
        
pev(idpev_originOrigin
         
        static 
Float:vAngle[3], Float:Angles[3
        
pev(idpev_anglesAngles
        
pev(idpev_v_anglevAngle
         
        static 
Float:
        
for(256.0>= 0.0-= 0.1
        { 
            
CamOrigin[0] = floatcos(vAngle], degrees) * -
            CamOrigin
[1] = floatsin(vAngle], degrees) * -
            CamOrigin
[2] = - (4
            
CamOrigin[0] += Origin[0
            
CamOrigin[1] += Origin[1
            
CamOrigin[2] += Origin[2
             
            if(
PointContents(CamOrigin) != CONTENTS_SOLID && PointContents(CamOrigin) != CONTENTS_SKY
                break; 
        } 
         
        
vAngle[0] = 20.0 
        
        
if(!pev_valid(id)) return;

        
set_pev(g_MyCamera[id], pev_originCamOrigin
        
set_pev(g_MyCamera[id], pev_anglesvAngle
        
set_pev(g_MyCamera[id], pev_v_anglevAngle
    } 

wilianmaique is offline
Send a message via Skype™ to wilianmaique
D3XT3R
AlliedModders Donor
Join Date: Nov 2016
Location: Lithuania, Bomb A (Kauna
Old 03-06-2017 , 05:55   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #7

st ile crach with same error ://////////////////////////
__________________
D3XT3R is offline
Send a message via Skype™ to D3XT3R
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 03-06-2017 , 07:21   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #8

Code:
public client_PreThink(id) {     if(!is_user_alive(id))         return             // Handle Camera     if(g_MyCamera[id] && Get_BitVar(g_ViewCamera, id))     {         static Float:Origin[3], Float:CamOrigin[3]         pev(id, pev_origin, Origin)                 static Float:vAngle[3], Float:Angles[3]         pev(id, pev_angles, Angles)         pev(id, pev_v_angle, vAngle)                 static Float:i         for(i = 256.0; i >= 0.0; i -= 0.1)         {             CamOrigin[0] = floatcos(vAngle[ 1 ], degrees) * -i             CamOrigin[1] = floatsin(vAngle[ 1 ], degrees) * -i             CamOrigin[2] = i - (i / 4)             CamOrigin[0] += Origin[0]             CamOrigin[1] += Origin[1]             CamOrigin[2] += Origin[2]                         if(PointContents(CamOrigin) != CONTENTS_SOLID && PointContents(CamOrigin) != CONTENTS_SKY)                 break;         }                 vAngle[0] = 20.0                 if(pev_valid(id) != 2) return;                 set_pev(g_MyCamera[id], pev_origin, CamOrigin)         set_pev(g_MyCamera[id], pev_angles, vAngle)         set_pev(g_MyCamera[id], pev_v_angle, vAngle)     } }
__________________
edon1337 is offline
D3XT3R
AlliedModders Donor
Join Date: Nov 2016
Location: Lithuania, Bomb A (Kauna
Old 03-06-2017 , 09:59   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #9

stile crach and same error maybe ther is other reason like modules or some thing ....
and errors are spawn with millions same erorr in logs millions line!!!
any one could fix :/// ???
__________________
D3XT3R is offline
Send a message via Skype™ to D3XT3R
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 03-06-2017 , 14:59   Re: [HELP] Fix Bug! Please..... ZM Giant
Reply With Quote #10

Try this again
Code:
public client_PreThink(id) {     if(!is_user_alive(id) || !is_valid_ent(id))         return             // Handle Camera     if(g_MyCamera[id] && Get_BitVar(g_ViewCamera, id))     {         static Float:Origin[3], Float:CamOrigin[3]         pev(id, pev_origin, Origin)                 static Float:vAngle[3], Float:Angles[3]         pev(id, pev_angles, Angles)         pev(id, pev_v_angle, vAngle)                 static Float:i         for(i = 256.0; i >= 0.0; i -= 0.1)         {             CamOrigin[0] = floatcos(vAngle[ 1 ], degrees) * -i             CamOrigin[1] = floatsin(vAngle[ 1 ], degrees) * -i             CamOrigin[2] = i - (i / 4)             CamOrigin[0] += Origin[0]             CamOrigin[1] += Origin[1]             CamOrigin[2] += Origin[2]                         if(PointContents(CamOrigin) != CONTENTS_SOLID && PointContents(CamOrigin) != CONTENTS_SKY)                 break;         }                 vAngle[0] = 20.0                 set_pev(g_MyCamera[id], pev_origin, CamOrigin)         set_pev(g_MyCamera[id], pev_angles, vAngle)         set_pev(g_MyCamera[id], pev_v_angle, vAngle)     } }
__________________
edon1337 is offline
Reply



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 03:16.


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