|Modo Boss| Problemas.. Aiuda!! :/
#1
Bueno, Yo Me Instale Un Plugin De Un boss Para Mi Zombie Apocalypse...
Pero El Error Es: Q Cuando Empieze La Ronda boss , No Quiero Zombies... Solo Humanos, Ps Ya que El Plugin Es Adaptado Para ZP , Alguien Q Me Aiude :´/
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <zombieapocalypse>

#define FLAG_ACESS     ADMIN_RCON

/*================================================================================
[Task e Defines do Boss]
=================================================================================*/
#define LIGHTZ_MODEL "models/CSO_Lightzombie/lightzombieboss.mdl"
#define BOMB_MODDEL "models/CSO_Lightzombie/lightzombieboss_bomb.mdl"
#define ATTACK_TENTACLE1 "models/CSO_Lightzombie/ef_tentacle_sign.mdl"
#define ATTACK_TENTACLE2 "models/CSO_Lightzombie/ef_tentacle.mdl"
new const LIGHTZ_HPSPR[] = "sprites/CSO_Lightzombie/LightZombie_Boss_HP.spr"


#define LIGHTZ_CLASS "LightZombie"
#define LIGHTZ_HEALTH 5000.0         // HP BOSS

#define HEALTH_OFFSET 0.0        // Don't Edit 

#define ROUND_START "CSO_LightZombie/Round_boss/Scenario_Ready.mp3"
#define ROUND_MUSIC "CSO_LightZombie/Round_boss/Scenario_Fight_v2.mp3"
#define ROUND_WIN "CSO_LightZombie/death_win_humans.wav"

/*================================================================================
[Sons e Animse e States]
=================================================================================*/
new const CSO_Lightzombie[17][] = 
{
    
"CSO_LightZombie/appear.wav",
    
"CSO_LightZombie/appear_end.wav",
    
"CSO_LightZombie/laugh.wav",
    
"CSO_LightZombie/zbs_attack1.wav",
    
"CSO_LightZombie/zbs_attack2.wav",
    
"CSO_LightZombie/zbs_bomb_nuke.wav",
    
"CSO_LightZombie/zbs_bomb_nuke_after.wav",
    
"CSO_LightZombie/zbs_bomb_nuke_after_idle1.wav",
    
"CSO_LightZombie/zbs_bomb_nuke_after_end.wav",
    
"CSO_LightZombie/zombi_bomb_crazy.wav",
    
"CSO_LightZombie/zombi_bomb_jump.wav",
    
"CSO_LightZombie/zombi_bomb_jump_idle.wav",
    
"CSO_LightZombie/zombi_bomb_normal1.wav",
    
"CSO_LightZombie/zombi_bomb_normal2.wav",
    
"CSO_LightZombie/death.wav",    
    
"CSO_LightZombie/walk1.wav",
    
"CSO_LightZombie/walk2.wav"
}
enum
{
    
ANIM_DUMMY 0,
    
ANIM_APPEAR,
    
ANIM_APPEAR_END,
    
ANIM_IDLE,
    
ANIM_WALK,
    
ANIM_RUN,
    
ANIM_INVISIBILITY,
    
ANIM_DEATH,
    
ANIM_ATTACK1,
    
ANIM_ATTACK3,
    
ANIM_ATTACK2,
    
ANIM_BOMB_NUKE,
    
ANIM_BOMB_NUKE_IDLE,
    
ANIM_BOMB_NUKE_EXPLOSION,
    
ANIM_BOMB_NUKE_CRAZY,
    
ANIM_BOMB_NUKE_END,
    
ANIM_ATK_BOMB_NORMAL,
    
ANIM_ATK_BOMB_NORMAL2,
    
ANIM_BOMB_JUMP,
    
ANIM_BOMB_JUMP_IDLE,
    
ANIM_BOMB_JUMP_END,
    
ANIM_BOMB_CRAZY_START,
    
ANIM_BOMB_CRAZY_LOOP,
    
ANIM_BOMB_CRAZY_LOOP2,
    
ANIM_BOMB_CRAZY_LOOP3,
    
ANIM_BOMB_CRAZY_END
}
enum 
{
    
STATE_APPEAR 0,
    
STATE_APPEAR_IDLE,
    
STATE_APPEAR_JUMP,
    
STATE_APPEAR_END,
    
STATE_IDLE,
    
STATE_SEARCHING,
    
STATE_CHASE,
    
STATE_ATTACK1,
    
STATE_ATTACK2,
    
STATE_ATTACK3,
    
STATE_BOMB_NUKE,
    
STATE_JUMP,
    
STATE_JUMP_FLY,
    
STATE_JUMP_END,
    
STATE_ATK_BOMB_NORMAL1,
    
STATE_ATK_BOMB_NORMAL2,
    
STATE_INVISIVILITY,
    
STATE_BOMB_CRAZY,
    
STATE_TENTACLES,
    
STATE_DEATH
}
/*================================================================================
[Defines do NPC]
=================================================================================*/
#define TASK_APPEAR 1
#define TASK_ATTACKS 2
#define TASK_ATTACK_SPECIAl 3
#define TASK_ATTACK_IVISIVEL 4
#define TASK_DEATH 5

/*================================================================================
[Cvars do boss]
=================================================================================*/
new boss_stateLightz_Entg_FootStepbooly_start_npcboolBoss_Create_FixboolFix_Config_Server
new FloatTime1FloatTime2FloatTime3FloatTime4FloatTime5boolinvisibilidade

//Adicionais
new g_MsgScreenShakeCameraCut1g_MaxPlayersexp_spr_idm_iBlood[2], y_hpbarMSGSYNCBombabool:Fix_Death_Boss
new g_damagedealt[33], cvar_dmg_ap_allowcvar_ammodamagecvar_ammo_quantitycvar_ammo_killed

/*================================================================================
[Plugin Init]
=================================================================================*/
public plugin_init() 
{
    
register_plugin("Light Zombie Fix","4.6.2","Skill Von Dragon")    
        
    
register_think(LIGHTZ_CLASS"Fw_Lightz_Think")
    
register_touch("Bomb_Zomibe_1""*""Bomb_1_Touch")
        
    
register_clcmd("say menuboss""Lightz_menu")    
    
register_clcmd("say /menuboss""Lightz_menu")
    
register_clcmd("say_team menuboss""Lightz_menu")
    
register_clcmd("say_team /menuboss""Lightz_menu")
    
    
//System Ammor Packs
    
cvar_dmg_ap_allow register_cvar("zp_lightz_dmg_ap_reward_allow""1")        // Ganhar Ammo Packs Por Dano
    
cvar_ammodamage register_cvar("zp_lightz_dmg_for_reward""245")             // Dmg Necessario Para Ganhar Ammo Packs
    
cvar_ammo_quantity  register_cvar("zp_lightz_reward_ap_quantity""2")         // Quantia de Ammo Packs que ira ganhar por dano    
    
cvar_ammo_killed register_cvar("zp_lightz_kill_reward_ap_quantity""1000")    // Quantia de Ammo Packs que ira ganhar ao matar o Boss
    
    
set_task(30.0"Creator_Plugin"100__"b")
        
    
g_MaxPlayers get_maxplayers()
    
g_MsgScreenShake get_user_msgid("ScreenShake")
    
MSGSYNC CreateHudSyncObj()
}
/*================================================================================
[Plugin Precache]
=================================================================================*/
public plugin_precache()
{
    
//Preacache do Lightz 
    
engfunc(EngFunc_PrecacheModelLIGHTZ_MODEL)
    
engfunc(EngFunc_PrecacheModelBOMB_MODDEL)
    
engfunc(EngFunc_PrecacheModelLIGHTZ_HPSPR)
    
precache_model(ATTACK_TENTACLE1)
    
precache_model(ATTACK_TENTACLE2)

    
precache_model("models/CSO_Lightzombie/camera.mdl")
                
    
//Precache dos Sons do Lightz
    
for(new 0sizeof(CSO_Lightzombie); i++)
        
engfunc(EngFunc_PrecacheSoundCSO_Lightzombie[i])        
        
    
//Precache Music Round 
    
engfunc(EngFunc_PrecacheSoundROUND_START)    
    
engfunc(EngFunc_PrecacheSoundROUND_MUSIC)            
    
engfunc(EngFunc_PrecacheSoundROUND_WIN)    
    
    
m_iBlood[0] = precache_model("sprites/blood.spr")
    
m_iBlood[1] = precache_model("sprites/bloodspray.spr")    
    
exp_spr_id precache_model("sprites/zerogxplode.spr")
}
/*================================================================================
[Round Boss]
=================================================================================*/
public Round_boss()
{
    
PlaySound(0ROUND_START)
    
set_task(19.0"Round_Music_Boss")
    
set_task(21.0"Camera_boss")
    
set_task(21.0"Game_Start")
    
Camera 0
}
public 
Round_Music_Boss() 
{
    
PlaySound(0ROUND_MUSIC)
    
set_task(113.0"Round_Music_Boss"1000__"b")
}
/*================================================================================
[Criar Camera do Boss]
=================================================================================*/
public Camera_boss()
{
    if(
pev_valid(Cut1)) remove_entity(Cut1)    
    
    new 
Float:Origin[3], Float:Angles[3]

    
// Watching Ent
    
static WatchWatch create_entity("info_target")
    
    if(
Camera == 0)
    {
        
Origin[0] = 1212.364624
        Origin
[1] = -355.708923
        Origin
[2] = 347.099670
    
}
    else
    {
        
Origin[0] = 4.827874
        Origin
[1] = -294.803100
        Origin
[2] = 276.031250
    
}
    
Angles[1] = 0.0

    set_pev
(Watchpev_classname"Cut1")
    
engfunc(EngFunc_SetModelWatch"models/CSO_Lightzombie/camera.mdl")
    
    
set_pev(Watchpev_originOrigin)
    
set_pev(Watchpev_anglesAngles)
    
set_pev(Watchpev_v_angleAngles)
    
entity_set_int(WatchEV_INT_rendermodekRenderTransTexture)
    
entity_set_float(WatchEV_FL_renderamt0.0)    
    
set_pev(Watchpev_solidSOLID_TRIGGER)
    
set_pev(Watchpev_movetypeMOVETYPE_FLY)    
    
    
Cut1 Watch
    
    
for(new 0g_MaxPlayersi++)
    {
        if(!
is_user_connected(i))
            continue
            
        
attach_view(iWatch)
        
client_cmd(i"hud_draw 0")
    }
}
/*================================================================================
[Criar Boss]
=================================================================================*/
public Game_Start()
{
    if(
pev_valid(Lightz_Ent))
        
engfunc(EngFunc_RemoveEntityLightz_Ent)
    
    new 
LightzFloat:Angles[3
    
Lightz engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))
    
    if(!
pev_valid(Lightz)) 
        return
    
    
Lightz_Ent Lightz
                
    
// Set Origin & Angles
    
set_pev(Lightzpev_origin, {2366.411376, -368.851348276.031250})    
    
Angles[1] = 180.0
    
    set_pev
(Lightzpev_anglesAngles)
    
set_pev(Lightzpev_v_angleAngles)        
            
    
// Setar Configuração
    
set_pev(Lightzpev_classnameLIGHTZ_CLASS)
    
engfunc(EngFunc_SetModelLightzLIGHTZ_MODEL)
    
set_pev(Lightzpev_modelindexengfunc(EngFunc_ModelIndexLIGHTZ_MODEL))
            
    
set_pev(Lightzpev_gamestate1)
    
set_pev(Lightzpev_solidSOLID_BBOX)
    
set_pev(Lightzpev_movetypeMOVETYPE_PUSHSTEP)
    
    
// Setar Tamanho do Lightz
    
new Float:maxs[3] = {70.070.0160.0}
    new 
Float:mins[3] = {-70.0, -70.00.0}    
    
entity_set_size(Lightzminsmaxs)    
    
    
// Setar Vida do Lightz Boss // E o Dano Tambem     
    
set_pev(Lightzpev_takedamageDAMAGE_YES)
    
set_pev(Lightzpev_healthHEALTH_OFFSET LIGHTZ_HEALTH)
    
    
// Setar o boss e criar o spawn
    
Set_EntAnim(LightzANIM_IDLE1.01)
    
PlaySound(0CSO_Lightzombie[0])    
    
set_pev(Lightzpev_skin3)    
    
boss_state STATE_APPEAR    
    
    
if(!y_start_npc)
    {
        
y_start_npc true
        invisibilidade 
false
        Fix_Death_Boss 
false
        RegisterHamFromEntity
(Ham_KilledLightz"Lightz_Killed")
        
RegisterHamFromEntity(Ham_TakeDamageLightz"fw_Lightz_Tracer_DMG"1)
    }    
    
y_hpbar create_entity("env_sprite")
    
set_pev(y_hpbarpev_scale0.6)
    
set_pev(y_hpbarpev_ownerLightz)
    
engfunc(EngFunc_SetModely_hpbarLIGHTZ_HPSPR)    
    
    
set_task(0.1"Code_Hp"Lightz+2000__"b")
                    
    
set_pev(Lightzpev_nextthinkget_gametime() + 1.0)    
    
engfunc(EngFunc_DropToFloorLightz)
}
public 
Code_Hp(Lightz)
{
    
Lightz -= 2000
    
    
if(!pev_valid(Lightz))
    {
        
remove_task(Lightz+2000)
        return
    }
    static 
Float:Origin[3], Float:Lightz_hp
    pev
(Lightzpev_originOrigin)
    
Origin[2] += 300.0    
    engfunc
(EngFunc_SetOriginy_hpbarOrigin)
    
pev(Lightzpev_healthLightz_hp)
    if(
LIGHTZ_HEALTH < (Lightz_hp 0.0))
    {
        
set_pev(y_hpbarpev_frame100.0)
    }
    else
    {
        
set_pev(y_hpbarpev_frame0.0 + ((((Lightz_hp 0.0) - ) * 100) / LIGHTZ_HEALTH))
    }

}
/*================================================================================
[Criar Sangue Ao Levar Tiro]
=================================================================================*/
public fw_Lightz_Tracer_DMG(victiminflictorattackerFloat:damagedamagebits)
{
    static 
Float:Origin[3]
    
fm_get_aimorigin(attackerOrigin)
    
    if(!
invisibilidade)
    {
        
create_blood(Origin)        
    }        
    if(
get_pcvar_num(cvar_dmg_ap_allow))
    {
        
// Store damage dealt
        
g_damagedealt[attacker] += floatround(damage)
            
        
// Reward ammo packs for every [ammo damage] dealt
        
while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
        {
            
g_damagedealt[attacker] = 0
            zp_set_user_ammo_packs
(attackerzp_get_user_ammo_packs(attacker) + get_pcvar_num(cvar_ammo_quantity)) 
            if(!
invisibilidade)
            {
                
set_hudmessage(02550, -1.00.3006.00.5 );
                
ShowSyncHudMsg(attackerMSGSYNC"[ + 2 Ammo Packs ]")
            }
        }
    }
}
/*------------------------------------------------------------------------------------------
Ham Killed do Boss
--------------------------------------------------------------------------------------------*/
public Lightz_Killed(Lightzattacker)
{
    if(!
is_valid_ent(Lightz))
        return 
HAM_IGNORED
        
    
if(!Fix_Death_Boss)
    {    
        
StopSound() 
        new 
name[32]; get_user_name(attackername31)        
        
Fix_Death_Boss true
        client_printcolor
(0"/g[ZP]/nO Player /g%s /n ganhou /g%d packs /npor matar o Light Zombie Boss"name,get_pcvar_num(cvar_ammo_killed))
        
zp_set_user_ammo_packs(attackerzp_get_user_ammo_packs(attacker) + get_pcvar_num(cvar_ammo_killed))
    }
    return 
HAM_SUPERCEDE
}
public 
Remove_boss(Lightz)
{
    
Lightz -= TASK_DEATH
    
if(!pev_valid(Lightz))
        return
    
    
PlaySound(0ROUND_WIN)
    
engfunc(EngFunc_RemoveEntityLightz_Ent)
    
remove_entity(y_hpbar)        
    
server_cmd("sv_restartround 20")    
    
client_printcolor(0"/g[ZP] /nAviso o Mapa Sera Reiniciado em 20 Secs Guardem os Seus Packs")
    
    
//Não Remover esta linha pode bugar o boss por completo ok
    
set_task(20.0"Restart_Map_antibug")

    
remove_task(Lightz+TASK_DEATH)
}
//Nunca Remover (Isso Evita bugs ao boss morrer)
public Restart_Map_antibug()
{
    
server_cmd("amx_map zs_light_zombie_boss")
}
/*================================================================================
[Think do Boss]
=================================================================================*/
public Fw_Lightz_Think(Lightz)
{
    if(!
pev_valid(Lightz))
        return
        
    if(
boss_state == STATE_DEATH
        return
    
    if(
pev(Lightzpev_health) - HEALTH_OFFSET <= 0.0)
    {    
        
boss_state STATE_DEATH
        set_pev
(Lightzpev_solidSOLID_NOT)    
        
set_pev(Lightzpev_movetypeMOVETYPE_NONE)
        
set_pev(Lightzpev_skin1)
        
set_rendering(LightzkRenderFxGlowShell000kRenderTransAlpha255)
        
        
Set_EntAnim(LightzANIM_DEATH1.01)
        
PlaySound(0CSO_Lightzombie[14])
        
        
//Remover Boss        
        
set_task(10.0"Remove_boss"Lightz+TASK_DEATH)
        
        
y_start_npc false
        invisibilidade 
false
        Fix_Death_Boss 
false
        Fix_Config_Server 
false
        
        remove_task
(Lightz+TASK_APPEAR)
        
remove_task(Lightz+TASK_ATTACKS)
        
remove_task(Lightz+TASK_ATTACK_SPECIAl)
        
remove_task(Lightz+TASK_ATTACK_IVISIVEL)
        
remove_task(1000)
        
remove_task(2000)
        
        return  
    }

    if(
get_gametime() - Time4 Time5)
    {
        static 
RandomNum
        RandomNum 
random_num(04)
        switch(
RandomNum)
        {
            case 
0
            {
                if(!
invisibilidade)
                {
                    
Attack_1_Special(Lightz+TASK_ATTACK_SPECIAl
                }
            }
            case 
1
            {
                
Attack_2_Special(Lightz+TASK_ATTACK_SPECIAl)
            }
            case 
2
            {
                
Attack_3_Special(Lightz+TASK_ATTACK_SPECIAl
            }
            case 
3:
            {
                
Attack_4_Special(Lightz+TASK_ATTACK_SPECIAl
            }
            case 
4
            {
                
Attack_5_Special(Lightz+TASK_ATTACK_SPECIAl
            }
        }
        
Time4 random_float(1.06.0)
        
Time5 get_gametime()
    }
    
    
// Set Next Think
    
set_pev(Lightzpev_nextthinkget_gametime() + 0.01)    
        
    switch(
boss_state)
    {    
        case 
STATE_IDLE:
        {
            if(
get_gametime() - 5.0 Time1)
            {
                
Set_EntAnim(LightzANIM_IDLE1.01)        
                
Time1 get_gametime()
            }
            if(
get_gametime() - 1.0 Time2)
            {
                
boss_state STATE_SEARCHING
                Time2 
get_gametime()
            }    
        }    
        case 
STATE_SEARCHING:
        {
            static 
Victim;
            
Victim FindClosetEnemy(Lightz1)
    
            if(
is_user_alive(Victim))
            {
                
set_pev(Lightzpev_enemyVictim)
                
boss_state STATE_CHASE
            

            else 
            {
                
set_pev(Lightzpev_enemy0)
                
boss_state STATE_IDLE
            
}
        }    
        case 
STATE_CHASE:
        {
            static 
EnemyEnemy pev(Lightzpev_enemy)
            static 
Float:EnemyOrigin[3]
            
pev(Enemypev_originEnemyOrigin)    
                        
            if(
is_user_alive(Enemy))
            {
                if(
entity_range(EnemyLightz) <= 250.0)
                {    
                    static 
Random_Attacks;
                    
Random_Attacks random_num(02)
    
                    
MM_Aim_To(LightzEnemyOrigin)
                    
                    switch(
Random_Attacks)
                    {
                        case 
0Attack_1_Start(Lightz+TASK_ATTACKS)
                        case 
1Attack_2_Start(Lightz+TASK_ATTACKS)
                        case 
2Attack_3_Start(Lightz+TASK_ATTACKS)
                    }                                                    
                } 
                else 
                {
                    if(
pev(Lightzpev_movetype) == MOVETYPE_PUSHSTEP)
                    {
                                        
                        static 
Float:OriginAhead[3]                                    
                        
MM_Aim_To(LightzEnemyOrigin
                        
get_position(Lightz300.00.00.0OriginAhead)                        
                        
hook_ent2(LightzOriginAhead260.0)    
                        
                        
Set_EntAnim(LightzANIM_RUN1.00)
                                                
                        if(
get_gametime() - 0.4 Time3)
                        {
                            if(
g_FootStep != 15g_FootStep 15
                            
else g_FootStep 16
                
                            PlaySound
(0CSO_Lightzombie[g_FootStep == 15 15 16])                            
                            
Time3 get_gametime()
                        }            
                    }                    
                }
            }             
            else 
            {
                
boss_state STATE_SEARCHING
            
}                
            
set_pev(Lightzpev_nextthinkget_gametime() + 0.1)
        }
        case 
STATE_APPEAR:
        {
            static 
Float:Target[3], Float:Origin[3]
            
            
pev(Lightzpev_originOrigin)
            
Target[0] = 1896.908691
            Target
[1] = -368.895904
            Target
[2] = 276.031250
            
if(pev(Lightzpev_movetype) == MOVETYPE_PUSHSTEP)
            {
                if(
get_distance_f(TargetOrigin) > 90.0)
                {
                    
MM_Aim_To(LightzTarget)
                    
hook_ent2(LightzTarget200.0)
                    
Set_EntAnim(LightzANIM_WALK1.00)
                    
                    if(
get_gametime() - 0.5 Time3)
                    {
                        if(
g_FootStep != 15g_FootStep 15
                        
else g_FootStep 16
                
                        PlaySound
(0CSO_Lightzombie[g_FootStep == 15 15 16])
                        
Time3 get_gametime()
                    }
                }
                else 
                {            
                    
boss_state STATE_APPEAR_IDLE
                    Set_EntAnim
(LightzANIM_IDLE1.01)
                    
Scene_Appear_Jump(Lightz+TASK_APPEAR)                                            
                }
            }                
        }    
        case 
STATE_APPEAR_JUMP:
        {
            static 
Float:Target[3], Float:Origin[3]
            
            
pev(Lightzpev_originOrigin)
            
Target[0] = 1117.921630
            Target
[1] = -348.132019
            Target
[2] = 979.544006
            
if(pev(Lightzpev_movetype) == MOVETYPE_PUSHSTEP)
            {
                if(
get_distance_f(TargetOrigin) > 90.0)
                {
                    
MM_Aim_To(LightzTarget)
                    
hook_ent2(LightzTarget550.0)
                }
                else 
                {        
                    
boss_state STATE_APPEAR_END
                    set_task
(0.4"Boss_NoClip"Lightz+TASK_APPEAR)                            
                }
            }                
        }
        case 
STATE_APPEAR_END:
        {
            static 
Float:Target[3], Float:Origin[3]
            
            
pev(Lightzpev_originOrigin)
            
Target[0] = 407.670867
            Target
[1] = -356.090850
            Target
[2] = 276.031250
            
if(pev(Lightzpev_movetype) == MOVETYPE_PUSHSTEP)
            {
                if(
get_distance_f(TargetOrigin) > 90.0)
                {
                    
MM_Aim_To(LightzTarget)
                    
hook_ent2(LightzTarget300.0)
                    
KickBack()
                }
                else 
                {    
                    
boss_state STATE_APPEAR_IDLE
                    Scene_Jump_End
(Lightz+TASK_APPEAR)                                    
                }
            }                
        }
    }            
}
/*================================================================================
[Cena de Entrada do NPC]
=================================================================================*/
public Boss_NoClip(Lightz)
{
    
Lightz -= TASK_APPEAR
    
    
if(!pev_valid(Lightz))
        return
        
    
set_pev(Lightzpev_movetypeMOVETYPE_NOCLIP)
    
    
set_task(0.6"Boss_Step"Lightz+TASK_APPEAR)        
}
public 
Boss_Step(Lightz)
{
    
Lightz -= TASK_APPEAR
    
    
if(!pev_valid(Lightz))
        return

    
set_pev(Lightzpev_movetypeMOVETYPE_PUSHSTEP)
}
public 
Scene_Appear_Jump(Lightz)
{
    
Lightz -= TASK_APPEAR
    
    
if(!pev_valid(Lightz))
        return

    
set_pev(Lightzpev_movetypeMOVETYPE_NONE)    
    
set_pev(Lightzpev_body1)        
    
Set_EntAnim(LightzANIM_BOMB_JUMP1.01)
    
    
PlaySound(0CSO_Lightzombie[5])
    
    
set_task(1.25"Scene_Jump_Exp"Lightz+TASK_APPEAR)
}
public 
Scene_Jump_Exp(Lightz)
{
    
Lightz -= TASK_APPEAR
    
    
if(!pev_valid(Lightz))
        return
    static 
Float:Origin[3]        
    
pev(Lightzpev_originOrigin)
    
    
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordOrigin[0])
    
engfunc(EngFunc_WriteCoordOrigin[1])
    
engfunc(EngFunc_WriteCoordOrigin[2])
    
write_short(exp_spr_id)    // sprite index
    
write_byte(45)    // scale in 0.1's
    
write_byte(30)    // framerate
    
write_byte(0)    // flags
    
message_end()
    
    
PlaySound(0CSO_Lightzombie[6])
    
set_pev(Lightzpev_body0)
    
set_task(0.1"Scene_Appear_Jump_Loop"Lightz+TASK_APPEAR)    
}
public 
Scene_Appear_Jump_Loop(Lightz)
{
    
Lightz -= TASK_APPEAR
    
    
if(!pev_valid(Lightz))
        return
    
    
set_pev(Lightzpev_movetypeMOVETYPE_PUSHSTEP)
    
Set_EntAnim(LightzANIM_APPEAR1.01)    
    
boss_state STATE_APPEAR_JUMP
    
    Camera 
1
    set_task
(1.0"Camera_boss")
}
//Jump END
public Scene_Jump_End(Lightz
{
    
Lightz -= TASK_APPEAR
    
    
if(!pev_valid(Lightz))
        return
    
    
set_pev(Lightzpev_skin0)
    
Set_EntAnim(LightzANIM_APPEAR_END1.01)
    
PlaySound(0CSO_Lightzombie[1])
    
    
set_task(0.8"Scene_End_Remove"Lightz+TASK_APPEAR)        
}
public 
Scene_End_Remove(Lightz)
{
    
Lightz -= TASK_APPEAR
    
    
if(!pev_valid(Lightz))
        return
        
    
remove_task(Lightz+TASK_APPEAR)
    
boss_state STATE_SEARCHING
    
    
for(new 0g_MaxPlayersi++)
    {
        if(!
is_user_connected(i))
            continue
            
        
attach_view(ii)
        
client_cmd(i"hud_draw 1")
    }
    if(
pev_valid(Cut1)) remove_entity(Cut1)    
}
/*================================================================================
[Ataque (1)]
=================================================================================*/
public Attack_1_Start(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return

    if(
boss_state == STATE_IDLE || boss_state == STATE_SEARCHING || boss_state == STATE_CHASE)
    {
        
Attack1_Loop(Lightz+TASK_ATTACKS)
        
boss_state STATE_ATTACK1
    
}            
}
public 
Attack1_Loop(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return
        
    
set_pev(Lightzpev_movetypeMOVETYPE_NONE)
    
Set_EntAnim(LightzANIM_ATTACK11.01)
    
PlaySound(0CSO_Lightzombie[3])
    
    
set_task(0.9"DMG_Attack1"Lightz+TASK_ATTACKS)
    
set_task(1.6"Remover_Attaques_Padroes"Lightz+TASK_ATTACKS)    
}
public 
DMG_Attack1(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return
        
    for(new 
0get_maxplayers(); i++)
    {
        if(
is_user_alive(i) && entity_range(Lightzi) <= 340.0)
        {
            
ExecuteHamB(Ham_TakeDamagei0i120.0DMG_BLAST)    
            
shake_screen(i)
            
ScreenFade(i2, {14000}, 120)    
            
Make_PlayerShake(i)
        }
    }
}
/*================================================================================
[Ataque (2)]
=================================================================================*/
public Attack_2_Start(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return

    if(
boss_state == STATE_IDLE || boss_state == STATE_SEARCHING || boss_state == STATE_CHASE)
    {
        
Attack2_Loop(Lightz+TASK_ATTACKS)
        
boss_state STATE_ATTACK2
    
}            
}
public 
Attack2_Loop(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return

    
set_pev(Lightzpev_movetypeMOVETYPE_NONE)        
    
Set_EntAnim(LightzANIM_ATTACK21.01)
    
PlaySound(0CSO_Lightzombie[4])
    
    
set_task(1.0"DMG_Attack2"Lightz+TASK_ATTACKS)
    
set_task(2.0"Remover_Attaques_Padroes"Lightz+TASK_ATTACKS)    
}
public 
DMG_Attack2(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return
        
    for(new 
0get_maxplayers(); i++)
    {
        if(
is_user_alive(i) && entity_range(Lightzi) <= 340.0)
        {
            
ExecuteHamB(Ham_TakeDamagei0i180.0DMG_BLAST)    
            
shake_screen(i)
            
ScreenFade(i2, {14000}, 120)    
            
Make_PlayerShake(i)
        }
    }
}
/*================================================================================
[Ataque (3)]
=================================================================================*/
public Attack_3_Start(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return

    if(
boss_state == STATE_IDLE || boss_state == STATE_SEARCHING || boss_state == STATE_CHASE)
    {
        
Attack3_Loop(Lightz+TASK_ATTACKS)
        
boss_state STATE_ATTACK3
    
}            
}
public 
Attack3_Loop(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return

    
set_pev(Lightzpev_movetypeMOVETYPE_NONE)        
    
Set_EntAnim(LightzANIM_ATTACK31.01)
    
PlaySound(0CSO_Lightzombie[3])
    
    
set_task(0.5"DMG_Attack3"Lightz+TASK_ATTACKS)
    
set_task(1.0"Remover_Attaques_Padroes"Lightz+TASK_ATTACKS)    
}
public 
DMG_Attack3(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return
        
    for(new 
0get_maxplayers(); i++)
    {
        if(
is_user_alive(i) && entity_range(Lightzi) <= 340.0)
        {
            
ExecuteHamB(Ham_TakeDamagei0i250.0DMG_BLAST)    
            
shake_screen(i)
            
ScreenFade(i2, {14000}, 120)    
            
Make_PlayerShake(i)
        }
    }
}
/*================================================================================
[Public Para Remover os Ataques Padrões do BOSS]
=================================================================================*/
public Remover_Attaques_Padroes(Lightz)
{
    
Lightz -= TASK_ATTACKS
    
    
if(!pev_valid(Lightz))
        return
        
    
set_pev(Lightzpev_movetypeMOVETYPE_PUSHSTEP)        
    
remove_task(Lightz+TASK_ATTACKS)
    
boss_state STATE_SEARCHING
    
    set_pev
(Lightzpev_skin0)
}
/*================================================================================
[Ataque Especial (1)    //Ficar Invisivel
=================================================================================*/
public Attack_1_Special(Lightz
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return

    if(
boss_state == STATE_IDLE || boss_state == STATE_SEARCHING || boss_state == STATE_CHASE)
    {
        
set_pev(Lightzpev_movetypeMOVETYPE_NONE)
        
Attack1_Special_Loop(Lightz+TASK_ATTACK_SPECIAl)
        
boss_state STATE_INVISIVILITY
    
}
}
public 
Attack1_Special_Loop(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return
        
    
set_pev(Lightzpev_skin4)
    
Set_EntAnim(LightzANIM_INVISIBILITY1.01)
    
PlaySound(0CSO_Lightzombie[2])
    
    
invisibilidade true
    
    set_rendering
(LightzkRenderFxGlowShell000kRenderTransAlpha150)
    
set_rendering(y_hpbarkRenderFxGlowShell000kRenderTransAlpha150)
    
set_task(0.5"Deixar_bossInvi1"Lightz+TASK_ATTACK_IVISIVEL)
    
set_task(0.7"Deixar_bossInvi2"Lightz+TASK_ATTACK_IVISIVEL)    
}
public 
Deixar_bossInvi1(Lightz)
{
    
Lightz -= TASK_ATTACK_IVISIVEL
    
    
if(!pev_valid(Lightz))
        return
    
    
set_rendering(LightzkRenderFxGlowShell000kRenderTransAlpha100)
    
set_rendering(y_hpbarkRenderFxGlowShell000kRenderTransAlpha100)
}
public 
Deixar_bossInvi2(Lightz)
{
    
Lightz -= TASK_ATTACK_IVISIVEL
    
    
if(!pev_valid(Lightz))
        return
    
    
set_rendering(LightzkRenderFxGlowShell000kRenderTransAlpha0)
    
set_rendering(y_hpbarkRenderFxGlowShell000kRenderTransAlpha0)
    
Set_EntAnim(LightzANIM_IDLE1.01)    
    
set_pev(Lightzpev_skin0)
        
    
set_task(1.5"Remover_Ataques_Especiais"Lightz+TASK_ATTACK_SPECIAl)
    
set_task(12.0"Tirar_invi1"Lightz+TASK_ATTACK_IVISIVEL)    
}
public 
Tirar_invi1(Lightz)
{
    
Lightz -= TASK_ATTACK_IVISIVEL
    
    
if(!pev_valid(Lightz))
        return
    
    
set_task(0.5"Tirar_invi2"Lightz+TASK_ATTACK_IVISIVEL)    
    
set_rendering(LightzkRenderFxGlowShell000kRenderTransAlpha50)
    
set_rendering(y_hpbarkRenderFxGlowShell000kRenderTransAlpha50)
}
public 
Tirar_invi2(Lightz)
{
    
Lightz -= TASK_ATTACK_IVISIVEL
    
    
if(!pev_valid(Lightz))
        return
    
    
set_task(0.5"Tirar_invi3"Lightz+TASK_ATTACK_IVISIVEL)    
    
set_rendering(LightzkRenderFxGlowShell000kRenderTransAlpha150)
    
set_rendering(y_hpbarkRenderFxGlowShell000kRenderTransAlpha150)
}
public 
Tirar_invi3(Lightz)
{
    
Lightz -= TASK_ATTACK_IVISIVEL
    
    
if(!pev_valid(Lightz))
        return

    
set_rendering(LightzkRenderFxGlowShell000kRenderTransAlpha255)
    
set_rendering(y_hpbarkRenderFxGlowShell000kRenderTransAlpha255)
    
remove_task(Lightz+TASK_ATTACK_IVISIVEL)    
    
invisibilidade false
}
/*================================================================================
[Ataque Especial (2)    //Jogar Bomba
=================================================================================*/
public Attack_2_Special(Lightz
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return

    if(
boss_state == STATE_IDLE || boss_state == STATE_SEARCHING || boss_state == STATE_CHASE)
    {
        
set_pev(Lightzpev_movetypeMOVETYPE_NONE)
        
Attack2_Special_Loop(Lightz+TASK_ATTACK_SPECIAl)
        
boss_state STATE_ATK_BOMB_NORMAL1
    
}
}
public 
Attack2_Special_Loop(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return
        
    
set_pev(Lightzpev_body1)
    
Set_EntAnim(LightzANIM_ATK_BOMB_NORMAL1.01)
    
PlaySound(0CSO_Lightzombie[12])
    
Bomba 0
    
    set_task
(0.5"Spawn_Bombs"Lightz+TASK_ATTACK_SPECIAl)
    
set_task(1.0"Remover_Ataques_Especiais"Lightz+TASK_ATTACK_SPECIAl)    
}
/*================================================================================
[Ataque Especial (3)    //Chutar Bomba
=================================================================================*/
public Attack_3_Special(Lightz
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return

    if(
boss_state == STATE_IDLE || boss_state == STATE_SEARCHING || boss_state == STATE_CHASE)
    {
        
set_pev(Lightzpev_movetypeMOVETYPE_NONE)
        
Attack3_Special_Loop(Lightz+TASK_ATTACK_SPECIAl)
        
boss_state STATE_ATK_BOMB_NORMAL2
    
}
}
public 
Attack3_Special_Loop(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return
        
    
set_pev(Lightzpev_body1)
    
Set_EntAnim(LightzANIM_ATK_BOMB_NORMAL21.01)
    
PlaySound(0CSO_Lightzombie[13])    
    
Bomba 1
    
    set_task
(0.5"Spawn_Bombs"Lightz+TASK_ATTACK_SPECIAl)
    
set_task(1.0"Remover_Ataques_Especiais"Lightz+TASK_ATTACK_SPECIAl)    
}
/*================================================================================
[Ataque Especial (4)    //Ficar louca
=================================================================================*/
public Attack_4_Special(Lightz
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return

    if(
boss_state == STATE_IDLE || boss_state == STATE_SEARCHING || boss_state == STATE_CHASE)
    {
        
set_pev(Lightzpev_movetypeMOVETYPE_NONE)
        
Attack4_Special_Loop(Lightz+TASK_ATTACK_SPECIAl)
        
boss_state STATE_BOMB_CRAZY
    
}
}
public 
Attack4_Special_Loop(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return
        
    
Set_EntAnim(LightzANIM_BOMB_CRAZY_START1.01)
    
PlaySound(0CSO_Lightzombie[9])

    
set_task(3.0"Attack4_Special_2Lopp"Lightz+TASK_ATTACK_SPECIAl)
    
set_task(3.5"Bombs_Random_Exps"Lightz)
    
set_task(5.0"Bombs_Random_Exps"Lightz)
    
set_task(6.0"Attack4_Special_3Lopp"Lightz+TASK_ATTACK_SPECIAl)
}
public 
Attack4_Special_2Lopp(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return
            
    
Set_EntAnim(LightzANIM_BOMB_CRAZY_LOOP1.01)
}
public 
Attack4_Special_3Lopp(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
if(!pev_valid(Lightz))
        return
        
    
Set_EntAnim(LightzANIM_BOMB_CRAZY_LOOP21.01)
    
set_pev(Lightzpev_skin2)
    
    
set_task(1.0"Attack4_Special_4Lopp"Lightz+TASK_ATTACK_SPECIAl)
}
public 
Attack4_Special_4Lopp(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return

    
Set_EntAnim(LightzANIM_BOMB_CRAZY_LOOP31.01)
    
PlaySound(0CSO_Lightzombie[7])
    
    
set_task(2.0"loop_sound")
    
set_task(4.0"loop_sound2")
    
set_task(6.0"Attack4_Special_5Lopp"Lightz+TASK_ATTACK_SPECIAl)
}
public 
loop_sound() PlaySound(0CSO_Lightzombie[7])
public 
loop_sound2() PlaySound(0CSO_Lightzombie[7])
public 
Attack4_Special_5Lopp(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return
        
    
Set_EntAnim(LightzANIM_BOMB_CRAZY_END1.01)
    
set_task(1.0"Remover_Ataques_Especiais"Lightz+TASK_ATTACK_SPECIAl)
}
public 
Bombs_Random_Exps(ent)
{
    static 
Float:RanOrigin[10][3]
    
    for(new 
010i++)
    {
        
RanOrigin[i][0] = 487.928771 random_float(-380.0380.0)
        
RanOrigin[i][1] = -12.379676 random_float(-380.0380.0)
        
RanOrigin[i][2] = 286.0
        
        Create_explosions
(entRanOrigin[i])
    }
}
public 
Create_explosions(entFloat:Origin[3])
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordOrigin[0])
    
engfunc(EngFunc_WriteCoordOrigin[1])
    
engfunc(EngFunc_WriteCoordOrigin[2])
    
write_short(exp_spr_id)
    
write_byte(50)
    
write_byte(30)
    
write_byte(0)  
    
message_end()    
    
    for(new 
0get_maxplayers(); i++)
    {
        if(
is_user_alive(i) && entity_range(enti) <= 340.0)
        {
            
ExecuteHamB(Ham_TakeDamagei0i150.0DMG_BLAST)    
            
shake_screen(i)
            
ScreenFade(i2, {14000}, 120)    
            
Make_PlayerShake(i)
        }
    }
}
/*================================================================================
[Ataque Especial (5)    //Invocar Bomba
=================================================================================*/
public Attack_5_Special(Lightz
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return

    if(
boss_state == STATE_IDLE || boss_state == STATE_SEARCHING || boss_state == STATE_CHASE)
    {
        
set_pev(Lightzpev_movetypeMOVETYPE_NONE)
        
Attack5_Special_Loop(Lightz+TASK_ATTACK_SPECIAl)
        
boss_state STATE_BOMB_NUKE
    
}
}
public 
Attack5_Special_Loop(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl

    
if(!pev_valid(Lightz))
        return
        
    
Set_EntAnim(LightzANIM_BOMB_NUKE1.01)
    
PlaySound(0CSO_Lightzombie[5])
    
    
set_task(1.0"Attack5_Special_idle"Lightz+TASK_ATTACK_SPECIAl)
    
set_task(2.0"make_bombs"Lightz+TASK_ATTACK_SPECIAl)
    
set_task(5.0"Attack5_Special_Exp"Lightz+TASK_ATTACK_SPECIAl)    
}
public 
Attack5_Special_idle(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return
    
    
Set_EntAnim(LightzANIM_BOMB_NUKE_IDLE1.01)    
}
public 
Attack5_Special_Exp(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return
        
    
Set_EntAnim(LightzANIM_BOMB_NUKE_EXPLOSION1.01)    
    
set_pev(Lightzpev_skin2)
    
PlaySound(0CSO_Lightzombie[6])    

    
set_task(1.0"Attack5_Special_Crazy"Lightz+TASK_ATTACK_SPECIAl)
}
public 
Attack5_Special_Crazy(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return

    
Set_EntAnim(LightzANIM_BOMB_NUKE_CRAZY1.01)    
    
PlaySound(0CSO_Lightzombie[7])
    
set_task(2.0"Sound_Idle_Nuke")
    
set_task(4.0"Attack5_Special_End"Lightz+TASK_ATTACK_SPECIAl)
}
public 
Sound_Idle_Nuke() PlaySound(0CSO_Lightzombie[7])
public 
Attack5_Special_End(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return

    
Set_EntAnim(LightzANIM_BOMB_NUKE_END1.01)    
    
PlaySound(0CSO_Lightzombie[8])    
    
set_pev(Lightzpev_skin0)
    
    
set_task(1.0"Remover_Ataques_Especiais"Lightz+TASK_ATTACK_SPECIAl)
}
public 
make_bombs(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return
        
    static 
Float:Origin[3], Float:beam_origin[30][3], Float:Angles[3]
    
    
entity_get_vector(LightzEV_VEC_originOrigin)
    
entity_get_vector(LightzEV_VEC_v_angleAngles)

    
// 1st
    
beam_origin[0][0] = Origin[0]
    
beam_origin[0][1] = Origin[1] + 100.0
    beam_origin
[0][2] = Origin[2]
    
    
// 2nd
    
beam_origin[1][0] = Origin[0]
    
beam_origin[1][1] = Origin[1] + 200.0
    beam_origin
[1][2] = Origin[2]

    
// 3rd 
    
beam_origin[2][0] = Origin[0]
    
beam_origin[2][1] = Origin[1] + 300.0
    beam_origin
[2][2] = Origin[2]

    
// 4th 
    
beam_origin[3][0] = Origin[0]
    
beam_origin[3][1] = Origin[1] + 400.0
    beam_origin
[3][2] = Origin[2]

    
// 5th 
    
beam_origin[4][0] = Origin[0]
    
beam_origin[4][1] = Origin[1] + 500.0
    beam_origin
[4][2] = Origin[2]

    
// 6th 
    
beam_origin[5][0] = Origin[0] + 100.0
    beam_origin
[5][1] = Origin[1] + 100.0
    beam_origin
[5][2] = Origin[2]

    
// 7th 
    
beam_origin[6][0] = Origin[0] + 200.0
    beam_origin
[6][1] = Origin[1] + 200.0
    beam_origin
[6][2] = Origin[2]

    
// 8th 
    
beam_origin[7][0] = Origin[0] + 300.0
    beam_origin
[7][1] = Origin[1] + 300.0
    beam_origin
[7][2] = Origin[2]
    
    
// 9th 
    
beam_origin[8][0] = Origin[0] + 400.0
    beam_origin
[8][1] = Origin[1] + 400.0
    beam_origin
[8][2] = Origin[2]
    
    
// 10th 
    
beam_origin[9][0] = Origin[0] + 500.0
    beam_origin
[9][1] = Origin[1] + 500.0
    beam_origin
[9][2] = Origin[2]
    
    
// 11th 
    
beam_origin[10][0] = Origin[0] - 100.0
    beam_origin
[10][1] = Origin[1] + 100.0
    beam_origin
[10][2] = Origin[2]

    
// 12th 
    
beam_origin[11][0] = Origin[0] - 200.0
    beam_origin
[11][1] = Origin[1] + 200.0
    beam_origin
[11][2] = Origin[2]

    
// 13th 
    
beam_origin[12][0] = Origin[0] - 300.0
    beam_origin
[12][1] = Origin[1] + 300.0
    beam_origin
[12][2] = Origin[2]

    
// 14th 
    
beam_origin[13][0] = Origin[0] - 400.0
    beam_origin
[13][1] = Origin[1] + 400.0
    beam_origin
[13][2] = Origin[2]
    
    
// 15th 
    
beam_origin[14][0] = Origin[0] - 500.0
    beam_origin
[14][1] = Origin[1] + 500.0
    beam_origin
[14][2] = Origin[2]
    
    
// II
    
    // 1st
    
beam_origin[15][0] = Origin[0]
    
beam_origin[15][1] = Origin[1] - 100.0
    beam_origin
[15][2] = Origin[2]
    
    
// 2nd
    
beam_origin[16][0] = Origin[0]
    
beam_origin[16][1] = Origin[1] - 200.0
    beam_origin
[16][2] = Origin[2]

    
// 3rd 
    
beam_origin[17][0] = Origin[0]
    
beam_origin[17][1] = Origin[1] - 300.0
    beam_origin
[17][2] = Origin[2]

    
// 4th 
    
beam_origin[18][0] = Origin[0]
    
beam_origin[18][1] = Origin[1] - 400.0
    beam_origin
[18][2] = Origin[2]

    
// 5th 
    
beam_origin[19][0] = Origin[0]
    
beam_origin[19][1] = Origin[1] - 500.0
    beam_origin
[19][2] = Origin[2]

    
// 6th 
    
beam_origin[20][0] = Origin[0] - 100.0
    beam_origin
[20][1] = Origin[1] - 100.0
    beam_origin
[20][2] = Origin[2]

    
// 7th 
    
beam_origin[21][0] = Origin[0] - 200.0
    beam_origin
[21][1] = Origin[1] - 200.0
    beam_origin
[21][2] = Origin[2]

    
// 8th 
    
beam_origin[22][0] = Origin[0] - 300.0
    beam_origin
[22][1] = Origin[1] - 300.0
    beam_origin
[22][2] = Origin[2]
    
    
// 9th 
    
beam_origin[23][0] = Origin[0] - 400.0
    beam_origin
[23][1] = Origin[1] - 400.0
    beam_origin
[23][2] = Origin[2]
    
    
// 10th 
    
beam_origin[24][0] = Origin[0] - 500.0
    beam_origin
[24][1] = Origin[1] - 500.0
    beam_origin
[24][2] = Origin[2]
    
    
// 11th 
    
beam_origin[25][0] = Origin[0] + 100.0
    beam_origin
[25][1] = Origin[1] - 100.0
    beam_origin
[25][2] = Origin[2]

    
// 12th 
    
beam_origin[26][0] = Origin[0] + 200.0
    beam_origin
[26][1] = Origin[1] - 200.0
    beam_origin
[26][2] = Origin[2]

    
// 13th 
    
beam_origin[27][0] = Origin[0] + 300.0
    beam_origin
[27][1] = Origin[1] - 300.0
    beam_origin
[27][2] = Origin[2]

    
// 14th 
    
beam_origin[28][0] = Origin[0] + 400.0
    beam_origin
[28][1] = Origin[1] - 400.0
    beam_origin
[28][2] = Origin[2]
    
    
// 15th 
    
beam_origin[29][0] = Origin[0] + 500.0
    beam_origin
[29][1] = Origin[1] - 500.0
    beam_origin
[29][2] = Origin[2]
    
    for(new 
i30i++) 
    {
        
make_bombs_lightz(beam_origin[i], Angles)
    }
}
public 
make_bombs_lightz(Float:Origin[3], Float:Angles[3])
{
    new 
ent create_entity("info_target")
    
    
Origin[2] += 5.0    
    entity_set_origin
(entOrigin)
    
entity_set_vector(entEV_VEC_v_angleAngles)    
    
entity_set_string(ent,EV_SZ_classname"Bomb_Nuke_Make")
    
entity_set_model(entATTACK_TENTACLE1)
    
entity_set_int(entEV_INT_solidSOLID_NOT)
    
entity_set_int(entEV_INT_movetypeMOVETYPE_NONE)
        
    new 
Float:maxs[3] = {1.0,1.0,1.0}
    new 
Float:mins[3] = {-1.0,-1.0,-1.0}
    
entity_set_size(entminsmaxs)
    
Set_EntAnim(ent01.01)
    
    
set_task(2.0"Spawns_Bombs_Nukes"ent)
    
    
drop_to_floor(ent)
}
public 
Spawns_Bombs_Nukes(ent)
{
    
entity_set_model(entBOMB_MODDEL)
    
entity_set_string(ent,EV_SZ_classname"Bomb_Nuke_Make2")
    
    new 
Float:maxs[3] = {26.0,26.0,36.0}
    new 
Float:mins[3] = {-26.0,-26.0,-36.0}
    
entity_set_size(entminsmaxs)
    
Set_EntAnim(ent01.01)
    
    
set_task(1.0"Bombs_Explosion"ent)
}
public 
Bombs_Explosion(ent)
{
    if(!
pev_valid(ent))
        return

    static 
Float:Origin[3];
    
pev(entpev_originOrigin)
    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordOrigin[0])
    
engfunc(EngFunc_WriteCoordOrigin[1])
    
engfunc(EngFunc_WriteCoordOrigin[2])
    
write_short(exp_spr_id)
    
write_byte(50)
    
write_byte(30)
    
write_byte(0)  
    
message_end()    
    
    for(new 
0get_maxplayers(); i++)
    {
        if(
is_user_alive(i) && entity_range(enti) <= 190.0)
        {
            
ExecuteHamB(Ham_TakeDamagei0i90.0DMG_BLAST)    
            
shake_screen(i)
            
ScreenFade(i2, {14000}, 120)    
            
Make_PlayerShake(i)
        }
    }
    
remove_entity(ent)
}
/*================================================================================
[Public Da Bomba]
=================================================================================*/
public Spawn_Bombs(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
if(!pev_valid(Lightz))
        return    
        
    static 
Float:StartOrigin[1][3], Float:TargetOrigin[1][3]
    if(
Bomba == 0)
    {
        
get_position(Lightz90.060.080.0StartOrigin[0]); get_position(Lightz120.0 4.0, -30.0 3.090.0TargetOrigin[0])
    }
    else if(
Bomba == 1)
    {
        
get_position(Lightz90.060.030.0StartOrigin[0]); get_position(Lightz120.0 4.0, -30.0 3.060.0TargetOrigin[0])
    }
    for(new 
01i++)
        
Create_Bomb(LightzStartOrigin[i], TargetOrigin[i])
}
public 
Create_Bomb(LightzFloat:Origin[3], Float:Target[3])
{
    static 
BombBomb engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite"))
    
    if(!
pev_valid(Bomb)) 
        return
        
    static 
Float:Vector[3];
    
pev(Lightzpev_anglesVector)
    
pev(Lightzpev_anglesVector)
        
    
engfunc(EngFunc_SetOriginBombOrigin)
    
set_pev(Bombpev_anglesVector)
        
    
// Set Config
    
set_pev(Bombpev_gamestate1)
    
set_pev(Bombpev_classname"Bomb_Zomibe_1")    
    
engfunc(EngFunc_SetModelBombBOMB_MODDEL)    
    
set_pev(Bombpev_solidSOLID_TRIGGER)
    
set_pev(Bombpev_movetypeMOVETYPE_FLY)
        
    
// Set Size
    
new Float:maxs[3] = {5.05.05.0}
    new 
Float:mins[3] = {-5.0, -5.0, -5.0}
    
entity_set_size(Bombminsmaxs)

    
set_pev(Bombpev_nextthinkget_gametime() + 0.75)    
    
Set_EntAnim(Bomb01.01)

    
// Target
    
hook_ent2(BombTarget1000.0)
    
MM_Aim_To(BombTarget)
    
    
set_pev(Bombpev_nextthinkget_gametime() + random_float(2.03.0))    
}
public 
Bomb_1_Touch(entTouched)
{
    if(!
pev_valid(ent))
        return
        
    if(
Touched == Lightz_Ent)
        return
        
    static 
Classname[32]; pev(Touchedpev_classnameClassname31)
    if(
equal(Classname"Bomb_Zomibe_1")) return
    
    static 
Float:Origin[3];
    
pev(entpev_originOrigin)
    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordOrigin[0])
    
engfunc(EngFunc_WriteCoordOrigin[1])
    
engfunc(EngFunc_WriteCoordOrigin[2])
    
write_short(exp_spr_id)
    
write_byte(50)
    
write_byte(30)
    
write_byte(0)  
    
message_end()    
    
    for(new 
0get_maxplayers(); i++)
    {
        if(
is_user_alive(i) && entity_range(enti) <= 340.0)
        {
            
ExecuteHamB(Ham_TakeDamagei0i150.0DMG_BLAST)    
            
shake_screen(i)
            
ScreenFade(i2, {14000}, 120)    
            
Make_PlayerShake(i)
        }
    }
    
remove_entity(ent)
}
/*================================================================================
[Public Para Remover os Ataques Especiais do BOSS]
=================================================================================*/
public Remover_Ataques_Especiais(Lightz)
{
    
Lightz -= TASK_ATTACK_SPECIAl
    
    
if(!pev_valid(Lightz))
        return
        
    
set_pev(Lightzpev_movetypeMOVETYPE_PUSHSTEP)        
    
remove_task(Lightz+TASK_ATTACK_SPECIAl)
    
boss_state STATE_SEARCHING
    
    set_pev
(Lightzpev_skin0)
}
/*================================================================================
[Stocks do Boss]
=================================================================================*/
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)
}
public 
FindClosetEnemy(Cronoboticscan_see)
{
    new 
Float:maxdistance 4980.0
    
new indexid 0    
    
new Float:current_dis maxdistance

    
for(new ;<= g_MaxPlayersi++)
    {
        if(
can_see)
        {
            if(
is_user_alive(i) && can_see_fm(Cronoboticsi) && entity_range(Cronoboticsi) < current_dis)
            {
                
current_dis entity_range(Cronoboticsi)
                
indexid i
            
}
        } else {
            if(
is_user_alive(i) && entity_range(Cronoboticsi) < current_dis)
            {
                
current_dis entity_range(Cronoboticsi)
                
indexid i
            
}            
        }
    }    
    
    return 
indexid
}

public 
bool:can_see_fm(entindex1entindex2)
{
    if (!
entindex1 || !entindex2)
        return 
false

    
if (pev_valid(entindex1) && pev_valid(entindex1))
    {
        new 
flags pev(entindex1pev_flags)
        if (
flags EF_NODRAW || flags FL_NOTARGET)
        {
            return 
false
        
}

        new 
Float:lookerOrig[3]
        new 
Float:targetBaseOrig[3]
        new 
Float:targetOrig[3]
        new 
Float:temp[3]

        
pev(entindex1pev_originlookerOrig)
        
pev(entindex1pev_view_ofstemp)
        
lookerOrig[0] += temp[0]
        
lookerOrig[1] += temp[1]
        
lookerOrig[2] += temp[2]

        
pev(entindex2pev_origintargetBaseOrig)
        
pev(entindex2pev_view_ofstemp)
        
targetOrig[0] = targetBaseOrig [0] + temp[0]
        
targetOrig[1] = targetBaseOrig [1] + temp[1]
        
targetOrig[2] = targetBaseOrig [2] + temp[2]

        
engfunc(EngFunc_TraceLinelookerOrigtargetOrig0entindex10//  checks the had of seen player
        
if (get_tr2(0TraceResult:TR_InOpen) && get_tr2(0TraceResult:TR_InWater))
        {
            return 
false
        

        else 
        {
            new 
Float:flFraction
            get_tr2
(0TraceResult:TR_flFractionflFraction)
            if (
flFraction == 1.0 || (get_tr2(0TraceResult:TR_pHit) == entindex2))
            {
                return 
true
            
}
            else
            {
                
targetOrig[0] = targetBaseOrig [0]
                
targetOrig[1] = targetBaseOrig [1]
                
targetOrig[2] = targetBaseOrig [2]
                
engfunc(EngFunc_TraceLinelookerOrigtargetOrig0entindex10//  checks the body of seen player
                
get_tr2(0TraceResult:TR_flFractionflFraction)
                if (
flFraction == 1.0 || (get_tr2(0TraceResult:TR_pHit) == entindex2))
                {
                    return 
true
                
}
                else
                {
                    
targetOrig[0] = targetBaseOrig [0]
                    
targetOrig[1] = targetBaseOrig [1]
                    
targetOrig[2] = targetBaseOrig [2] - 17.0
                    engfunc
(EngFunc_TraceLinelookerOrigtargetOrig0entindex10//  checks the legs of seen player
                    
get_tr2(0TraceResult:TR_flFractionflFraction)
                    if (
flFraction == 1.0 || (get_tr2(0TraceResult:TR_pHit) == entindex2))
                    {
                        return 
true
                    
}
                }
            }
        }
    }
    return 
false
}
public 
MM_Aim_To(entFloat:Origin[3]) 
{
    if(!
pev_valid(ent))    
        return
        
    static 
Float:Vec[3], Float:Angles[3]
    
pev(entpev_originVec)
    
    
Vec[0] = Origin[0] - Vec[0]
    
Vec[1] = Origin[1] - Vec[1]
    
Vec[2] = Origin[2] - Vec[2]
    
engfunc(EngFunc_VecToAnglesVecAngles)
    
Angles[0] = Angles[2] = 0.0 
    
    set_pev
(entpev_anglesAngles)
    
set_pev(entpev_v_angleAngles)
}
stock get_position(entFloat:forwFloat:rightFloat:upFloat:vStart[])
{
    new 
Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3]
    
pev(entpev_originvOrigin)
    
pev(entpev_view_ofs,vUp)
    
xs_vec_add(vOrigin,vUp,vOrigin)
    
pev(entpev_v_anglevAngle)
    
vAngle[0] = 0.0
    angle_vector
(vAngle,ANGLEVECTOR_FORWARD,vForward)
    
angle_vector(vAngle,ANGLEVECTOR_RIGHT,vRight)
    
angle_vector(vAngle,ANGLEVECTOR_UP,vUp)
    
vStart[0] = vOrigin[0] + vForward[0] * forw vRight[0] * right vUp[0] * up
    vStart
[1] = vOrigin[1] + vForward[1] * forw vRight[1] * right vUp[1] * up
    vStart
[2] = vOrigin[2] + vForward[2] * forw vRight[2] * right vUp[2] * up
}
stock hook_ent2(entFloat:VicOrigin[3], Float:speed)
{
    if(!
pev_valid(ent))
        return
    
    static 
Float:fl_Velocity[3], Float:EntOrigin[3], Float:distance_fFloat:fl_Time
    
    pev
(entpev_originEntOrigin)
    
    
distance_f get_distance_f(EntOriginVicOrigin)
    
fl_Time distance_f speed
        
    fl_Velocity
[0] = (VicOrigin[0] - EntOrigin[0]) / fl_Time
    fl_Velocity
[1] = (VicOrigin[1] - EntOrigin[1]) / fl_Time
    fl_Velocity
[2] = (VicOrigin[2] - EntOrigin[2]) / fl_Time

    set_pev
(entpev_velocityfl_Velocity)
}
/*------------------------------------------------------------------------------------------
Ler Animações
--------------------------------------------------------------------------------------------*/
stock Set_EntAnim(entanimFloat:framerateresetframe)
{
    if(!
pev_valid(ent))
        return
    
    if(!
resetframe)
    {
        if(
pev(entpev_sequence) != anim)
        {
            
set_pev(entpev_animtimeget_gametime())
            
set_pev(entpev_framerateframerate)
            
set_pev(entpev_sequenceanim)
        }
    } 
    else 
    {
        
set_pev(entpev_animtimeget_gametime())
        
set_pev(entpev_framerateframerate)
        
set_pev(entpev_sequenceanim)
    }
}
stock shake_screen(id)
{
    
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("ScreenShake"),{0,0,0}, id)
    
write_short(1<<14)
    
write_short(1<<13)
    
write_short(1<<13)
    
message_end()
}
stock ScreenFade(idTimerColors[3], Alpha) {    
    
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("ScreenFade"), _id);
    
write_short((1<<12) * Timer)
    
write_short(1<<12)
    
write_short(0)
    
write_byte(Colors[0])
    
write_byte(Colors[1])
    
write_byte(Colors[2])
    
write_byte(Alpha)
    
message_end()
}
stock Knockback_Player(idFloat:CenterOrigin[3], Float:PowerIncrease_High)
{
    if(!
is_user_alive(id)) return
    
    static 
Float:fl_Velocity[3], Float:EntOrigin[3], Float:distance_fFloat:fl_Time
    
    pev
(idpev_originEntOrigin)
    
distance_f get_distance_f(EntOriginCenterOrigin)
    
fl_Time distance_f Power
        
    fl_Velocity
[0] = (EntOrigin[0]- CenterOrigin[0]) / fl_Time
    fl_Velocity
[1] = (EntOrigin[0]- CenterOrigin[1]) / fl_Time
    
if(Increase_High)
        
fl_Velocity[2] = (((EntOrigin[0]- CenterOrigin[2]) / fl_Time) + random_float(10.050.0) * 1.5)
    else
        
fl_Velocity[2] = ((EntOrigin[0]- CenterOrigin[2]) / fl_Time) + random_float(1.53.5)
    
    
set_pev(idpev_velocityfl_Velocity)
}
public 
Make_PlayerShake(id)
{
    if(!
id
    {
        
message_begin(MSG_BROADCASTg_MsgScreenShake)
        
write_short(8<<12)
        
write_short(5<<12)
        
write_short(4<<12)
        
message_end()
    } else {
        if(!
is_user_connected(id))
            return
            
        
message_begin(MSG_BROADCASTg_MsgScreenShake_id)
        
write_short(8<<12)
        
write_short(5<<12)
        
write_short(4<<12)
        
message_end()
    }
}
stock create_blood(const Float:origin[3])
{
    
// Show some blood :)
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY
    
write_byte(TE_BLOODSPRITE)
    
engfunc(EngFunc_WriteCoordorigin[0])
    
engfunc(EngFunc_WriteCoordorigin[1])
    
engfunc(EngFunc_WriteCoordorigin[2])
    
write_short(m_iBlood[1])
    
write_short(m_iBlood[0])
    
write_byte(75)
    
write_byte(5)
    
message_end()
}
stock fm_get_aimorigin(indexFloat:origin[3])
{
    new 
Float:start[3], Float:view_ofs[3];
    
pev(indexpev_originstart);
    
pev(indexpev_view_ofsview_ofs);
    
xs_vec_add(startview_ofsstart);
    
    new 
Float:dest[3];
    
pev(indexpev_v_angledest);
    
engfunc(EngFunc_MakeVectorsdest);
    
global_get(glb_v_forwarddest);
    
xs_vec_mul_scalar(dest9999.0dest);
    
xs_vec_add(startdestdest);
    
    
engfunc(EngFunc_TraceLinestartdest0index0);
    
get_tr2(0TR_vecEndPosorigin);
    
    return 
1;
}  
public 
KickBack()
{
    static 
Float:Origin[3]
    
Origin[0] = 0.0
    Origin
[1] = 0.0
    Origin
[2] = 800.0

    Check_Knockback
(Origin0)
}
public 
Check_Knockback(Float:Origin[3], Damage)
{
    for(new 
0g_MaxPlayersi++)
    {
        if(!
is_user_alive(i))
            continue
            
        
fuck_ent(iOrigin5000.0)
    }
}
stock fuck_ent(entFloat:VicOrigin[3], Float:speed)
{
    if(!
pev_valid(ent))
        return
    
    static 
Float:fl_Velocity[3], Float:EntOrigin[3], Float:distance_fFloat:fl_Time
    
    pev
(entpev_originEntOrigin)
    
    
distance_f get_distance_f(EntOriginVicOrigin)
    
fl_Time distance_f speed
        
    fl_Velocity
[0] = (EntOrigin[0]- VicOrigin[0]) / fl_Time
    fl_Velocity
[1] = (EntOrigin[1]- VicOrigin[1]) / fl_Time
    fl_Velocity
[2] = (EntOrigin[2]- VicOrigin[2]) / fl_Time

    set_pev
(entpev_velocityfl_Velocity)
}
stock client_printcolor(const id,const input[], any:...)
{
    new 
msg[191], players[32], count 1;
    
vformat(msg,190,input,3);
    
replace_all(msg,190,"/g","^4");// green
    
replace_all(msg,190,"/n","^1");// normal
    
replace_all(msg,190,"/t","^3");// team
    
    
if (idplayers[0] = id; else get_players(players,count,"ch");
    for (new 
i=0;i<count;i++)
    if (
is_user_connected(players[i]))
    {
        
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i]);
        
write_byte(players[i]);
        
write_string(msg);
        
message_end();
    }
}
stock StopSound() 
{
    
client_cmd(0"mp3 stop; stopsound")
}
public 
Creator_Plugin()
{    
    
set_hudmessage(02550, -1.00.1710.05.01.01.0, -1)
    
show_hudmessage(0"Plugin LightZombie Editado Por: Skill Von Dragon^nMapa Convertido Por: [P]erfec[T][S]cr[@]s[H]")
}
/*------------------------------------------------------------------------------------------
Menu Light Zombie Boss
--------------------------------------------------------------------------------------------*/
public Lightz_menu(id)
{
    if (
get_user_flags(id) & FLAG_ACESS)
    {
         new 
menu menu_create("\yMenu Light Zombie Boss""lightz_boss_handle")
         
         
menu_additem(menu"Spawn Light Zombie Boss""1"0)
         
menu_additem(menu"Poderes do Light Zombie""2"0)
         
menu_additem(menu"Reviver os Jogadores""3"0)
         
menu_additem(menu"Configurar o Servidor""4"0
         
menu_additem(menu"Remover o Boss""5"0)  
         
menu_additem(menu"MAX HP \r[SOMENTE FUNDADORES]""6"0)          
         
         
menu_setprop(menuMPROP_EXITNAME"Sair")
         
menu_display(idmenu0
     }
         else
     {
         
client_printcolor(id"/g[ZP]/nLamento mais voce nao tem acesso a este comando")
     }    
}
public 
lightz_boss_handle(idmenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessdata,5iName63callback);

    new 
key str_to_num(data)

    switch(
key)
    {
        case 
1:
        {
            if(!
Boss_Create_Fix)
            {
                
Round_boss()
                
Boss_Create_Fix true
                client_printcolor
(0"/g[ZP]/nO Boss foi invocado...Tenha um Bom Jogo")
            }
            else 
            {
                
client_printcolor(id"/g[ZP]/nO Boss ja foi invocado apenas aguarde ok :/....")
            }
        }
        case 
2:
        {
            if(
y_start_npc)
            {
                
Lightz_menu_Poderes(id)
                
client_printcolor(id"/g[ZP]/nNeste menu voce encontra os poderes especiais deste boss")
            }
            else
            {
                
client_printcolor(id"/g[ZP]/nO Boss ainda nao esta no mapa")
            }
        }
        case 
3:
        {
            for (new 
id 1id <= get_maxplayers(); id++){zp_respawn_user(idZP_TEAM_HUMAN);}
             
client_print(idprint_center"Todos os Players Foram Revividos")
            
Lightz_menu(id)
        }
        case 
4:
        {    
            if(!
Fix_Config_Server)
            {                
                
set_cvar_num("zp_delay"9999)
                
set_cvar_num("mp_roundtime"9)
                
server_cmd("sv_restartround 5")
                
server_cmd("mp_timelimit 9999.0")
                 
client_print(idprint_center"O Servidor Foi Configurado..")    
                 
client_printcolor(id"/g[ZP]/nRound Time /n[/g9/n]")
                 
client_printcolor(id"/g[ZP]/nZP_DELAY /n[/g99999/n]")
                 
client_printcolor(id"/g[ZP]/nMP_TIMELIMIT /n[/g99999/n]")
                 
Lightz_menu(id)
                 
Fix_Config_Server true
             
}
             else
             {
                 
client_print(idprint_center"A configuracao so pode ser ativada uma vez")             
             }
        }
        case 
5:
        {
            if(
y_start_npc)
            {
                
remove_task(Lightz_Ent+TASK_APPEAR)
                
remove_task(Lightz_Ent+TASK_ATTACKS)
                
remove_task(Lightz_Ent+TASK_ATTACK_SPECIAl)
                
remove_task(Lightz_Ent+TASK_ATTACK_IVISIVEL)
                
remove_task(1000)
                
remove_task(2000)
                
engfunc(EngFunc_RemoveEntityLightz_Ent)
                
remove_entity(y_hpbar)        
                
client_printcolor(id"/g[ZP]/nVoce Removeu o Boss Light Zombie")
                
server_cmd("sv_restartround 5")
            }
            else
             {
                 
client_print(idprint_center"O boss Ainda nao apareceu no mapa aguarde")
             }
        }
        case 
6:
        {
            
set_user_health(idget_user_health(id) + 50000)
            
client_printcolor(id"/g[ZP]/nVoce Adicionou 50000 de vida para voce")
            
Lightz_menu(id)
        }    
    }
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
}
public 
Lightz_menu_Poderes(id)
{
    if (
get_user_flags(id) & FLAG_ACESS)
    {
         new 
menu menu_create("\yLight Zombie Boss \rPoderes""lightz_boss_poderes_handle")
         
         
menu_additem(menu"Ficar Invisivel""1"0)
         
menu_additem(menu"Jogar Bomba \r(1)""2"0)
         
menu_additem(menu"Jogar Bomba \r(2)""3"0)
         
menu_additem(menu"Invocar Bombas""4"0
         
menu_additem(menu"Ficar Louca""5"0)         
         
         
menu_setprop(menuMPROP_EXITNAME"Sair")
         
menu_display(idmenu0
     }
         else
     {
         
client_printcolor(id"/g[ZP]/nLamento mais voce nao tem acesso a este comando")
     }    
}
public 
lightz_boss_poderes_handle(idmenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessdata,5iName63callback);

    new 
key str_to_num(data)

    switch(
key)
    {
        case 
1:
        {
            if(!
invisibilidade)
            {
                
Attack_1_Special(Lightz_Ent+TASK_ATTACK_SPECIAl
                
Lightz_menu_Poderes(id)
            }
        }
        case 
2
        {
            
Attack_2_Special(Lightz_Ent+TASK_ATTACK_SPECIAl)
            
Lightz_menu_Poderes(id)
        }
        case 
3
        {
            
Attack_3_Special(Lightz_Ent+TASK_ATTACK_SPECIAl)
            
Lightz_menu_Poderes(id)
        }
        case 
4
        {
            
Attack_5_Special(Lightz_Ent+TASK_ATTACK_SPECIAl)
            
Lightz_menu_Poderes(id)
        }
        case 
5
        {
            
Attack_4_Special(Lightz_Ent+TASK_ATTACK_SPECIAl)    
            
Lightz_menu_Poderes(id)
        }
    }
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED

Responder
#2
Veo Bastantes Visualizaciones Y Ninguno Responde UuuuUUuuu CutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryWhatdone
Responder
#3
(13/08/2017, 11:52 PM)|D|eSerT* |M|aTr|i|x* escribió: Veo Bastantes Visualizaciones Y Ninguno Responde UuuuUUuuu CutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryWhatdone

Preferible que no respondan a que comenten pendejadas como la tuya.
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#4
(14/08/2017, 12:16 AM)kikizon2 escribió:
(13/08/2017, 11:52 PM)|D|eSerT* |M|aTr|i|x* escribió: Veo Bastantes Visualizaciones Y Ninguno Responde UuuuUUuuu CutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryWhatdone

Preferible que no respondan a que comenten pendejadas como la tuya.

uff 3200 post de los cuales el 99% mierda XD
Responder
#5
(14/08/2017, 06:32 AM)MongoSaurio escribió:
(14/08/2017, 12:16 AM)kikizon2 escribió:
(13/08/2017, 11:52 PM)|D|eSerT* |M|aTr|i|x* escribió: Veo Bastantes Visualizaciones Y Ninguno Responde UuuuUUuuu CutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryWhatdone

Preferible que no respondan a que comenten pendejadas como la tuya.

uff 3200 post de los cuales el 99% mierda XD

Si, por eso tengo 54 de reputación Trolleyes
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#6
(14/08/2017, 03:10 PM)kikizon2 escribió:
(14/08/2017, 06:32 AM)MongoSaurio escribió:
(14/08/2017, 12:16 AM)kikizon2 escribió:
(13/08/2017, 11:52 PM)|D|eSerT* |M|aTr|i|x* escribió: Veo Bastantes Visualizaciones Y Ninguno Responde UuuuUUuuu CutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryCutecryWhatdone

Preferible que no respondan a que comenten pendejadas como la tuya.

uff 3200 post de los cuales el 99% mierda XD

Si, por eso tengo 54 de reputación Trolleyes

[Imagen: xs83e2.jpg]

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)