AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Compile errors... (https://forums.alliedmods.net/showthread.php?t=189105)

aaa131 07-03-2012 14:05

Compile errors...
 
3 Attachment(s)
I tried to compile but had two errors. Can someone help me to fix?

PHP Code:

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>
#include <xs>

// NRS includes
#include <nrs_main>
#include <nrs_const>


#define PLUGIN                             "[NRS] : Oberon"
#define    TITLE                            "[NRS]"
#define VERSION                         "1.3"
#define AUTHOR                             "Good_Hash + Dias"
#define MAP_NEXT                        "cs_italy"
#define    MAX_ZOMBIE_ID                        4


#define OBERON_HEALTH                        150000.0
#define MONEY_DMG                        1000.0
#define MONEY_REWARD                        1000
#define CLASS_NAME                        "npc_oberon"
#define CLASS_TIP                        "Oberon Boss"
#define OBERON_ATTACK_WAITIME                     3.0
    
// Some defines for tasks
#define TASK_INIT                        1000
#define TASK_SPELL                        1001
#define TASK_RESET                        1002
#define TASK_BERSERKER                        1003
#define TASK_EFFECT                        1004
#define TASK_HOOKINGUP                        1005
#define TASK_HOOKINGDOWN                    1006
#define TASK_BOMBING                        1007
#define TASK_SWARM                        1008
#define TASK_CREATE                        1009

// Animations..
#define ANIMATION_SPAWN                        1
#define ANIMATION_SPAWN_TIME                    6.2

#define OBERON_ATTACK2_DAMAGE                    10.0
#define ANIMATION_ATTACK_2                    7
#define ANIMATION_ATTACK_2_TIME                    2.03
#define ANIMATION_ATTACK_2_BERSERKER                15
#define ANIMATION_ATTACK_2_BERSERKER_TIME            1.53

#define ANIMATION_ATTACK_3                    8
#define ANIMATION_ATTACK_3_TIME                    4.0
#define ANIMATION_ATTACK_3_BERSERKER                16
#define ANIMATION_ATTACK_3_BERSERKER_TIME            4.0

#define ANIMATION_ATTACK_BOMB                    9
#define ANIMATION_ATTACK_BOMB_TIME                11.2
#define ANIMATION_ATTACK_BOMB_BERSERKER                18
#define ANIMATION_ATTACK_BOMB_BERSERKER_TIME            11.2


#define ANIMATION_ATTACK_HOLE                    10
#define ANIMATION_ATTACK_HOLE_TIME                6.02
#define ANIMATION_ATTACK_HOLE_BERSERKER                19
#define ANIMATION_ATTACK_HOLE_BERSERKER_TIME            6.02

#define ANIMATION_BERSERKER                    11
#define ANIMATION_BERSERKER_TIME                8.7


                    // IMPALE STRIKE
new Float:g_poison_touch[33]
new const 
skill_tentacle[][] = { 
    
"models/dione/ef_tentacle_sign.mdl"
    
"models/dione/tentacle.mdl"
    
"models/dione/ef_tentacle.mdl" 

#define TENACLE_TASK        42141
                    // IMPALE STRIKE


new last_entg_npc_idg_Counter
new g_class_modelindexexp_spr_id
new g_class_pmodel[164] = "models/oberon/zbs_bossl_big02.mdl"
new const oberon_bomb_model[] = "models/oberon/zbs_bossl_big02_bomb.mdl"
new const oberon_hole_effect[] = "models/oberon/ef_hole.mdl"
new const oberon_knife_effect[] = "models/oberon/ef_knife.mdl"

new const oberon_appear_sound[] = "oberon/appear.wav"
new const oberon_attack1_sound[] = "oberon/attack1.wav"
new const oberon_attack2_sound[] = "oberon/attack2.wav"
new const oberon_berserk_attack1_sound[] = "oberon/knife_attack1.wav"
new const oberon_berserk_attack2_sound[] = "oberon/knife_attack2.wav"
new const oberon_berserker_sound[] = "oberon/knife.wav"
new const oberon_attack_hole_sound[] = "oberon/hole.wav"
new const oberon_bomb_sound[] = "oberon/attack_bomb.wav"

new const oberon_jump_sound[] = "oberon/attack3_jump.wav"
new const oberon_jumpdamage_sound[] = "oberon/attack3.wav"
new const oberon_bjump_sound[] = "oberon/knife_attack3_jump.wav"
new const oberon_bjumpdamage_sound[] = "oberon/knife_attack3.wav"

new bool:g_incast[516], bool:g_berserker[516], bool:g_already_bombingg_oberons_aliveFloat:zombie_timer[516], g_created_zombie
new Float:Damage_Money[33], g_damage_done[33]

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_touch("tentacle2""*""fw_tentacle_touch")
    
    
RegisterHam(Ham_TakeDamage"player""Block_Doing_Damage")
    
RegisterHam(Ham_Spawn"player""PlayerSpawn"1)
    
    
//register_clcmd("say /god", "test_attack2")
    
register_concmd("oberon_tentakle""test_tentakle")
    
register_concmd("oberon_hole""test_hole")
    
register_concmd("oberon_bomb""test_bomb")
}


FindBuyZones( ) {
    new 
iEntity = -1;
    
    while( ( 
iEntity find_ent_by_classiEntity"func_buyzone" ) ) > )
    {
        return 
iEntity
    
}
    return 
0
}


public 
event_gamestarted()
{
    
g_Counter 25
    
    
if ( task_exists(TASK_CREATE) )
    {
        
remove_task(TASK_CREATE)
    }
    
Start_Creating()
}

public 
Start_Creating()
{
    
g_Counter--
    if ( 
g_Counter )
    {
        
set_task(1.0"Start_Creating"TASK_CREATE)
        
set_hudmessage(02550, -1.0, -0.67)
        
show_hudmessage(0"Start in %i sec"g_Counter)
    }
    else
    {
        
set_task(1.0"Double_Oberon"TASK_CREATE)
        
set_hudmessage(25500, -1.0, -0.672)
        
show_hudmessage(0"SUPERNOVA IYI EGLENCELER DILER!!!!!!")
    }
}
    
public 
Double_Oberon()
{
    new 
Float:fOrigin[3]
    
create_npc(fOriging_npc_id)
    
create_npc(fOriging_npc_id)
    
g_oberons_alive 2
}


public 
PlayerSpawn(id)
    if ( 
is_user_alive(id) )
        
cs_set_user_money(id16000)
    
public 
Block_Doing_Damage(victiminflictorattackerFloat:damagedamagetype)
{
    if(
damagetype DMG_GENERIC || victim == attacker || !is_user_alive(victim) || !is_user_connected(attacker))
        return 
HAM_IGNORED
    
    
if ( is_user_connected(victim) && is_user_connected(attacker) )
        return 
HAM_SUPERCEDE
        
    
return HAM_IGNORED
}


public 
test_attack2(id)
{
    
set_pev(idpev_health1012.0)
}
public 
test_hole(id)
{
    if ( 
g_incast[last_ent] )
        return 
PLUGIN_HANDLED
    g_incast
[last_ent] = true
    set_task
(0.3"oberon_skill_hole"last_ent TASK_SPELL)
    return 
PLUGIN_HANDLED
}
public 
test_tentakle(id)
{
    if ( 
g_incast[last_ent] )
        return 
PLUGIN_HANDLED
    g_incast
[last_ent] = true
    set_task
(0.3"oberon_skill_impale"last_ent TASK_SPELL)
    return 
PLUGIN_HANDLED
}
public 
test_bomb(id)
{
    if ( 
g_incast[last_ent] )
        return 
PLUGIN_HANDLED
    g_incast
[last_ent] = true
    set_task
(0.3"oberon_skill_bombs"last_ent TASK_SPELL)
    return 
PLUGIN_HANDLED
}


public 
event_npc_damage_start(ent)
{
    if ( !
pev_valid(ent) )
        return 
PLUGIN_CONTINUE;
        
    if ( 
get_npc_id(ent) == g_npc_id )
    {
        if ( 
g_incast[ent] )
            return 
PLUGIN_HANDLED
            
        
if ( g_berserker[ent] )
            
emit_sound(entCHAN_BODYoberon_berserk_attack1_sound1.0ATTN_NORM0PITCH_NORM)
        else
            
emit_sound(entCHAN_BODYoberon_attack1_sound1.0ATTN_NORM0PITCH_NORM)
        
        
g_incast[ent] = true
        
new Float:timed;
        if ( !
g_berserker[ent] )
            
timed OBERON_ATTACK_WAITIME
        
else
            
timed 2.0
        
        set_task
(timed+0.3"oberon_reset"ent TASK_RESET)
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
event_npc_damage_delayed(ent)
    
oberon_berser_effects(ent)
    

public 
event_npc_damage(entattackerFloat:damage)
{
    if ( !
pev_valid(ent) )
        return;
    if ( 
get_npc_id(ent) != g_npc_id )
        return
        
    
Damage_Money[attacker] += damage;
    
g_damage_done[attacker] += floatround(damage)
        
    if(
Damage_Money[attacker] >= MONEY_DMG)
    {
        
Damage_Money[attacker] -= MONEY_DMG
                
        cs_set_user_money
(attackercs_get_user_money(attacker) + MONEY_REWARD)
    }
            
    if ( 
pev(entpev_health) <= get_npc_data(g_npc_idDATA_HEALTH)*0.5 )
        if ( !
g_berserker[ent] )
        {
            if ( 
g_incast[ent] )
            {
                
set_task(3.0"oberon_berserker_on"ent+TASK_BERSERKER__"b")
            }
            else
            {
                
oberon_berserker_on(ent)
            }
        }
}


public 
oberon_berserker_on(ent)
{
    if ( 
ent TASK_BERSERKER )
        
ent -= TASK_BERSERKER
    
if ( !pev_valid(ent) || g_incast[ent] )
        return
    
    
task_exists(ent TASK_BERSERKER) ? remove_task(ent TASK_BERSERKER) : 0
    g_incast
[ent] = true
    g_berserker
[ent] = true
    npc_reset_animation
(ent)
    
set_npc_events(entEVENT_CUSTOM)
    
npc_set_berserker(ent1)
    
npc_set_animation(entANIMATION_BERSERKERANIMATION_BERSERKER_TIME)
    
    
emit_sound(entCHAN_BODYoberon_berserker_sound1.0ATTN_NORM0PITCH_NORM)
    
set_task(ANIMATION_BERSERKER_TIME"oberon_reset"ent TASK_RESET)
}

    
public 
event_npc_init(ent)
{
    if ( !
pev_valid(ent) )
        return;
        
    if ( 
get_npc_id(ent) == g_npc_id )
    {
        
last_ent ent
        set_npc_boss
(enttrue)
        
npc_reset_move(ent)
        
g_berserker[ent] = false
        g_incast
[ent] = true
        set_npc_events
(entEVENT_CUSTOM)
        
npc_set_animation(entANIMATION_SPAWNANIMATION_SPAWN_TIME)
        
set_task(ANIMATION_SPAWN_TIME"npc_start"ent+TASK_INIT)
        
//set_task(30.0, "oberon_call_zombie", ent+TASK_SWARM, _,_,"b")
        
emit_sound(entCHAN_BODYoberon_appear_sound1.0ATTN_NORM0PITCH_NORM)
    }
}



public 
oberon_call_zombie(ent)
{
    
ent -= TASK_SWARM
    
if ( !pev_valid(ent) )
    {
        
remove_task(ent TASK_SWARM)
        return
    }
    
    if (
zombie_timer[ent] <= get_gametime() )
    {
        new 
zombie_calls random_num(1,10)*g_oberons_alive
        
new zombie_online 5*g_oberons_alive
        
new parm[3]
        
parm[0] = zombie_calls
        parm
[1] = zombie_online
        parm
[2] = ent
        set_task
(1.0"_oberon_call_zombie"ent+TASK_SWARMparm3)
        
    }
}

public 
_oberon_call_zombie(parm[3])
{
    new 
zombie_calls parm[0]
    new 
zombie_online parm[1]
    new 
ent parm[2]
    new 
random_zombie[50]
    
formatex(random_zombie49"npc_cso_zm%i"random_num(1,MAX_ZOMBIE_ID))
    if ( 
g_created_zombie zombie_online )
    {
        if ( 
zombie_calls )
        {
            new 
Float:fOrigin[3]
            
create_npc(fOriginget_npc_classname_id(random_zombie))
            
zombie_calls--
            
g_created_zombie++
            
            
parm[0] = zombie_calls
            parm
[1] = zombie_online
            set_task
(1.0"_oberon_call_zombie"ent+TASK_SWARMparm3)
        }
    }
}


public 
event_npc_death(entkiller)
{
    if ( 
get_npc_id(ent) == g_npc_id )
    {
        
g_oberons_alive--
        new 
kkname[33], biggest_damage 0biggest_damage_id
            
        
for (k=1k<33k++)
        {
            if ( 
g_damage_done[k] > biggest_damage )
            {
                
biggest_damage g_damage_done[k];
                
biggest_damage_id k;
            }
        }
        
get_user_name(biggest_damage_idkname32)
            
        if (
g_oberons_alive )
        {
            new 
name[33]
            
get_user_name(killername32)
            
client_print(0print_chat"%s Killer: %s | Damager: %s ( %i )"TITLEnameknamebiggest_damage)
            
            
#if defined WAR3FT_SUPPORT
            
for (new =033i++ )
                if  ( 
is_user_connected(i) )
                    
give_user_xp(iWIN_GAMEfalsetrue"GIFT")
            
#endif
        
}
        else
        {
            new 
name[33]
            
get_user_name(killername32)
            
client_print(0print_chat"%s Game end, thank you! Killer: %s | Damager: %s ( %i )"TITLEnameknamebiggest_damage)
            
client_print(0print_chat"Next map: %s"MAP_NEXT)
            
set_task(15.0"changelevel_pls")
            
            
#if defined WAR3FT_SUPPORT
            
for (new =033i++ )
                if  ( 
is_user_connected(i) )
                    
give_user_xp(iWIN_GAMEfalsetrue"GIFT")
            
#endif
        
}
        return
    }
    
// add award later!
    
g_created_zombie--
}

public 
changelevel_pls()
{
    
server_cmd("changelevel ^"%s^""MAP_NEXT)
}


public 
npc_start(ent)
{
    
ent -= TASK_INIT
    
if ( !pev_valid(ent) )
        return
        
    
g_incast[ent] = false
    set_npc_events
(entEVENT_AGRESSION)
    
set_task(random_float(1.010.0), "oberon_spell_casting"ent TASK_SPELL )
}


public 
oberon_reset(ent)
{
    
ent -= TASK_RESET
    
if ( !pev_valid(ent) )
        return
    
set_npc_events(entEVENT_AGRESSION)
    
g_incast[ent] = false;
    
task_exists(ent+TASK_HOOKINGDOWN) ? remove_task(ent+TASK_HOOKINGDOWN):0;
}


public 
oberon_spell_casting(ent)
{
    if ( 
ent TASK_SPELL )
        
ent -= TASK_SPELL
    
if ( !pev_valid(ent) || !pev(entpev_health))
        return
        
    
set_task(random_float(1.05.0), "oberon_spell_casting"ent TASK_SPELL )
    
    if ( 
g_incast[ent] )
    {
        return
    }
    
    
npc_reset_animation(ent)
    
npc_reset_move(ent)
    new 
SPELL_ID random_num(0,7)
    switch (
SPELL_ID)
    {
        case 
: return
        case 
:
        {
            if ( 
oberon_skill_attack2_check(ent) )
            {
                
g_incast[ent] = true
                set_task
(0.3"oberon_skill_attack2"ent TASK_SPELL)
            }
        }
        case 
2:
        {
            
g_incast[ent] = true
            set_task
(0.3"oberon_skill_hole"ent TASK_SPELL)
        }
        case 
3:
        {
            
g_incast[ent] = true
            set_task
(0.3"oberon_skill_impale"ent TASK_SPELL)
        }
        case 
4:
        {
            
g_incast[ent] = true
            
if ( g_already_bombing )
                
set_task(0.3"oberon_skill_impale"ent TASK_SPELL)
            else
            {
                
g_already_bombing true
                set_task
(0.3"oberon_skill_bombs"ent TASK_SPELL)
            }
        }
        case 
5:
        {
            
g_incast[ent] = true
            set_task
(0.3"oberon_skill_hole"ent TASK_SPELL)
        }
        case 
6..7:
        {
            
g_incast[ent] = true
            set_task
(0.3"oberon_skill_hole"ent TASK_SPELL)
            
//bad tests... not working yet! set_task(0.3, "oberon_skill_jump", ent + TASK_SPELL)
        
}
    }
}
/*
public oberon_skill_jump(ent)
{
    if ( ent > TASK_SPELL )
        ent -= TASK_SPELL
    if ( !pev_valid(ent) )
    {
        remove_task(ent + TASK_SPELL)
        return
    }
        
    set_npc_events(ent, EVENT_CUSTOM)
    new Float:timed;
    if ( !g_berserker[ent] )
    {
        emit_sound(ent, CHAN_BODY, oberon_jump_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
        timed = ANIMATION_ATTACK_3_TIME
        npc_set_animation(ent, ANIMATION_ATTACK_3, 0.01)
    }
    else
    {
        emit_sound(ent, CHAN_BODY, oberon_bjump_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
        timed = ANIMATION_ATTACK_3_BERSERKER_TIME
        npc_set_animation(ent, ANIMATION_ATTACK_3_BERSERKER, 0.01)
    }
    
    static Float:target[3]
    pev(get_npc_target(ent), pev_origin, target)
    npc_set_move(ent, target)
    
    set_task(0.01, "hookingup", ent+TASK_HOOKINGUP, _, _, "b")
    set_task(2.0, "hookingdown", ent+TASK_HOOKINGDOWN)
    set_task(2.0, "oberon_jump_damage", ent+TASK_SPELL)
    set_task(timed, "oberon_reset", ent + TASK_RESET)
}


public oberon_jump_damage(ent)
{
    if ( ent > TASK_SPELL )
        ent -= TASK_SPELL
    if ( !pev_valid(ent) )
        return
    
    static Float:Ent_orig[3], Float:Enemy[3], Float:Aim[3]
    velocity_by_aim(ent, 300, Aim)
    xs_vec_mul_scalar(Aim, 3.0, Aim) ; Aim[2] = 300.0
    pev(ent, pev_origin, Ent_orig)
    
    if ( !g_berserker[ent] )
    {
        emit_sound(ent, CHAN_BODY, oberon_jumpdamage_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    else
    {
        emit_sound(ent, CHAN_BODY, oberon_bjumpdamage_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
    }
    
    for(new i = 1; i <= get_maxplayers(); i++)
    {
        if(!is_user_alive(i)) continue
        
        pev(i, pev_origin, Enemy)
        if(get_distance_f(Ent_orig, Enemy) <= 300.0)
        {
            set_pev(i, pev_velocity, Aim)
            npc_do_damage(ent, i, OBERON_ATTACK2_DAMAGE)
            ScreenShake(i, ((1<<12) * 8), ((2<<12) * 7))
            ScreenFade(i, 6, 255, 0, 0, 90)
        }
    }
}


public hookingup(ent)
{
    ent -= TASK_HOOKINGUP
    
    if ( !pev_valid(ent) )
    {
        remove_task( ent+TASK_HOOKINGUP )
        return
    }
    
    static Float:Origin[3]
    pev(ent, pev_origin, Origin)
    
    Origin[2] += 1000.0
    
    hook_ent2(ent, Origin, 1000.0)    
}

public hookingdown(ent)
{
    ent -= TASK_HOOKINGDOWN
    
    remove_task(ent+TASK_HOOKINGUP)
    
    set_task(0.01, "hookingdown2", ent+TASK_HOOKINGDOWN, _, _, "b")
}

public hookingdown2(ent)
{
    ent -= TASK_HOOKINGDOWN
    
    static Float:target[3]
    pev(get_npc_target(ent), pev_origin, target)
    
    hook_ent2(ent, target, 1000.0)    
}
*/

public oberon_skill_bombs(ent)
{
    if ( 
ent TASK_SPELL )
        
ent -= TASK_SPELL
    
if ( !pev_valid(ent) )
    {
        
remove_task(ent TASK_SPELL)
        return
    }
        
    
set_npc_events(entEVENT_CUSTOM)
    new 
Float:timed;
    if ( !
g_berserker[ent] )
    {
        
emit_sound(entCHAN_BODYoberon_attack2_sound1.0ATTN_NORM0PITCH_NORM)
        
timed ANIMATION_ATTACK_BOMB_TIME
        npc_set_animation
(entANIMATION_ATTACK_BOMBtimed)
    }
    else
    {
        
emit_sound(entCHAN_BODYoberon_berserk_attack2_sound1.0ATTN_NORM0PITCH_NORM)
        
timed ANIMATION_ATTACK_BOMB_BERSERKER_TIME
        npc_set_animation
(entANIMATION_ATTACK_BOMB_BERSERKERtimed)
    }
    
    
set_task(3.0"do_skill_bomb"ent+TASK_BOMBING__"b")
    
set_task(timed-0.1"stop_skill_bomb"ent+TASK_RESET)
    
set_task(timed"oberon_reset"ent TASK_RESET)
}

public 
stop_skill_bomb(ent)
{
    if ( 
ent TASK_RESET )
        
ent -= TASK_RESET
    remove_task
(ent TASK_BOMBING)
    
g_already_bombing false
}

    
public 
do_skill_bomb(ent)
{
    if ( 
ent TASK_BOMBING )
        
ent -= TASK_BOMBING
    
if ( !pev_valid(ent) )
    {
        
remove_task(ent TASK_BOMBING)
        return
    }
        
    static 
Float:StartOrigin[3], Float:TempOrigin[6][3], Float:VicOrigin[6][3], Float:Random1
    
    pev
(entpev_originStartOrigin)
    
StartOrigin[2] += 50
    emit_sound
(entCHAN_BODYoberon_bomb_sound1.0ATTN_NORM0PITCH_NORM)
    
    
// 1st Bomb
    
Random1 random_float(100.0500.0)
    
VicOrigin[0][0] = StartOrigin[0] + Random1
    VicOrigin
[0][1] = StartOrigin[1]
    
VicOrigin[0][2] = StartOrigin[2]
    
    
TempOrigin[0][0] = VicOrigin[0][0] - (Random1 2.0)
    
TempOrigin[0][1] = VicOrigin[0][1]
    
TempOrigin[0][2] = VicOrigin[0][2] + 500.0
    
    
// 2nd Bomb
    
Random1 random_float(100.0500.0)
    
VicOrigin[1][0] = StartOrigin[0]
    
VicOrigin[1][1] = StartOrigin[1] + Random1
    VicOrigin
[1][2] = StartOrigin[2]
    
    
TempOrigin[1][0] = VicOrigin[1][0]
    
TempOrigin[1][1] = VicOrigin[1][1] - (Random1 2.0)
    
TempOrigin[1][2] = VicOrigin[1][2] + 500.0    
    
    
// 3rd Bomb
    
Random1 random_float(100.0500.0)
    
VicOrigin[2][0] = StartOrigin[0] - Random1
    VicOrigin
[2][1] = StartOrigin[1]
    
VicOrigin[2][2] = StartOrigin[2]
    
    
TempOrigin[2][0] = VicOrigin[2][0] - (Random1 2.0)
    
TempOrigin[2][1] = VicOrigin[2][1]
    
TempOrigin[2][2] = VicOrigin[2][2] + 500.0    
    
    
// 4th Bomb
    
VicOrigin[3][0] = StartOrigin[0]
    
VicOrigin[3][1] = StartOrigin[1] - Random1
    VicOrigin
[3][2] = StartOrigin[2]
    
    
TempOrigin[3][0] = VicOrigin[3][0]
    
TempOrigin[3][1] = VicOrigin[3][1] - (Random1 2.0)
    
TempOrigin[3][2] = VicOrigin[3][2] + 500.0
    
    
// 5th Bomb
    
VicOrigin[4][0] = StartOrigin[0] + Random1
    VicOrigin
[4][1] = StartOrigin[1] + Random1
    VicOrigin
[4][2] = StartOrigin[2]
    
    
TempOrigin[4][0] = VicOrigin[4][0] - (Random1 2.0)
    
TempOrigin[4][1] = VicOrigin[4][1] - (Random1 2.0)
    
TempOrigin[4][2] = VicOrigin[4][2] + 500.0
    
    
// 6th Bomb
    
VicOrigin[5][0] = StartOrigin[0] + Random1
    VicOrigin
[5][1] = StartOrigin[1] - Random1
    VicOrigin
[5][2] = StartOrigin[2]
    
    
TempOrigin[5][0] = VicOrigin[5][0] + (Random1 2.0)
    
TempOrigin[5][1] = VicOrigin[5][1] - (Random1 2.0)
    
TempOrigin[5][2] = VicOrigin[5][2] + 500.0    
    
    
for(new 06i++)
    {
        
make_bomb(StartOriginTempOrigin[i], VicOrigin[i])
    }    
}


public 
make_bomb(Float:StartOrigin[3], Float:TempOrigin[3], Float:VicOrigin[3])
{
    new 
ent create_entity("info_target")
    
    
StartOrigin[2] += 20.0
    
    entity_set_origin
(entStartOrigin)
    
    
entity_set_string(ent,EV_SZ_classname"oberon_bomb")
    
entity_set_model(entoberon_bomb_model)
    
entity_set_int(entEV_INT_solidSOLID_NOT)
    
entity_set_int(entEV_INT_movetypeMOVETYPE_BOUNCE)
    
    new 
Float:maxs[3] = {10.0,10.0,10.0}
    new 
Float:mins[3] = {-10.0,-10.0,-5.0}
    
entity_set_size(entminsmaxs)
    
    
entity_set_float(entEV_FL_animtimeget_gametime())
    
entity_set_float(entEV_FL_framerate1.0)    
    
entity_set_int(entEV_INT_sequence0)        
    
    static 
arg[4], arg2[4]
    
    
arg[0] = ent
    arg
[1] = floatround(TempOrigin[0])
    
arg[2] = floatround(TempOrigin[1])
    
arg[3] = floatround(TempOrigin[2])

    
arg2[0] = ent
    arg2
[1] = floatround(VicOrigin[0])
    
arg2[2] = floatround(VicOrigin[1])
    
arg2[3] = floatround(VicOrigin[2])    
    
    
set_task(0.01"do_hook_bomb_up"TASK_HOOKINGUPargsizeof(arg), "b")
    
set_task(1.0"do_hook_bomb_down"_arg2sizeof(arg2))
    
set_task(2.0"bomb_explode"ent)
}
public 
do_hook_bomb_up(arg[4])
{
    static 
entFloat:TempOrigin[3]
    
    
ent arg[0]
    if ( !
pev_valid(ent) )
    {
        
remove_task(TASK_HOOKINGUP)
        return
    }
    
TempOrigin[0] = float(arg[1])
    
TempOrigin[1] = float(arg[2])
    
TempOrigin[2] = float(arg[3])
    
    
hook_ent2(entTempOrigin500.0)
}
public 
do_hook_bomb_down(arg[4])
{
    
remove_task(TASK_HOOKINGUP)
    
set_task(0.01"do_hook_bomb_down2"TASK_HOOKINGDOWNargsizeof(arg), "b")
}
public 
do_hook_bomb_down2(arg[4])
{
    static 
entFloat:VicOrigin[3]
    
    
ent arg[0]
    if ( !
pev_valid(ent) )
    {
        
remove_task(TASK_HOOKINGUP)
        return
    }
    
VicOrigin[0] = float(arg[1])
    
VicOrigin[1] = float(arg[2])
    
VicOrigin[2] = float(arg[3])    
    
    
hook_ent2(entVicOrigin500.0)
}
public 
bomb_explode(ent)
{
    
remove_task(TASK_HOOKINGUP)
    
remove_task(TASK_HOOKINGDOWN)
    
    if ( !
pev_valid(ent) )
    {
        return
    }
    
    static 
Float:Origin[3]
    
pev(entpev_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(20)    // scale in 0.1's
    
write_byte(30)    // framerate
    
write_byte(0)    // flags
    
message_end()    
    
    for(new 
1get_maxplayers(); i++)
    {
        if(
is_user_alive(i) && entity_range(ient) <= 300.0)
        {
            static 
Float:Damage
            Damage 
random_float(30.060.0)
            
            if(
g_berserker[ent])
                
Damage *= 2.0
                
            npc_do_damage
(entiDamage)//ExecuteHam(Ham_TakeDamage, i, 0, i, Damage, DMG_BLAST)
            
ScreenShake(i, ((1<<12) * 3), ((2<<12) * 3))
            
ScreenFade(i3255255090)
        }
    }    
    
    
remove_entity(ent)
}


public 
oberon_skill_impale(ent)
{
    if ( 
ent TASK_SPELL )
        
ent -= TASK_SPELL
    
if ( !pev_valid(ent) )
        return
    
    static 
Float:Origin[3], Float:Angles[3
     
    
entity_get_vector(entEV_VEC_originOrigin
    
entity_get_vector(entEV_VEC_anglesAngles//EV_VEC_v_angle
    
    
set_npc_events(entEVENT_CUSTOM)
    new 
Float:timed;
    if ( !
g_berserker[ent] )
    {
        
emit_sound(entCHAN_BODYoberon_attack2_sound1.0ATTN_NORM0PITCH_NORM)
        
timed ANIMATION_ATTACK_2_TIME
        npc_set_animation
(entANIMATION_ATTACK_2timed)
    }
    else
    {
        
emit_sound(entCHAN_BODYoberon_berserk_attack2_sound1.0ATTN_NORM0PITCH_NORM)
        
timed ANIMATION_ATTACK_2_BERSERKER_TIME
        npc_set_animation
(entANIMATION_ATTACK_2_BERSERKERtimed)
    }
    
    
set_task(timed"oberon_reset"ent TASK_RESET)
    
//set_task(timed*0.3, "_oberon_skill_attack2", ent + TASK_SPELL)
        
    
Origin[2] -= 15 
    
for(new i=110i++)  
    { 
        
make_tentacle(entiOriginAngles
    }
}


public 
make_tentacle(idiFloat:Origin[3], Float:Angles[3])//), Float:Angles[3]) 

    new 
ent create_entity("info_target"

    
drop_to_floor(ent
    
    
Origin[2] += 5.0 
     
    entity_set_origin
(entOrigin
    
entity_set_vector(entEV_VEC_v_angleAngles
     
    
//new Float: flAngles[ 3 ];
    //pev( id, pev_angles, flAngles );    
    
new FloatConAngles];
    
ConAngles] = Angles];
    
ConAngles] = Angles];
    
entity_set_vectorentEV_VEC_anglesConAngles );
    
//set_pev(ent, pev_owner, id)
    
set_pev(entpev_v_angleConAngles)            
    
// addon
    
set_pev(entpev_anglesConAngles)
    
set_pev(entpev_view_ofsConAngles)
                
                
    
entity_set_string(ent,EV_SZ_classname"tentacle"
    
entity_set_model(entskill_tentacle[0]) 
    
entity_set_int(entEV_INT_solidSOLID_NOT
    
entity_set_int(entEV_INT_movetypeMOVETYPE_FLY
     
    new 
Float:maxs[3] = {1.0,1.0,1.0
    new 
Float:mins[3] = {-1.0,-1.0,-1.0
    
entity_set_size(entminsmaxs
     
    
entity_set_float(entEV_FL_animtimeget_gametime()) 
    
entity_set_float(entEV_FL_framerate2.0)     
    
entity_set_int(entEV_INT_sequence0)     
     
    
set_pev(entpev_rendermodekRenderTransAdd
    
set_pev(entpev_renderamt255.0)         
    
    static 
Float:Direction[3], Float:Endirection[3]
    
    
angle_vector(ConAnglesANGLEVECTOR_FORWARDDirection);
    
xs_vec_mul_scalar(Direction190.0*iDirection)
    
    
Endirection] = Direction]
    
Endirection] = Direction]
    
Endirection] = Direction]
    
    
set_pev(entpev_velocityEndirection)
     
    
set_task(0.3"tentacle_change"ent+TENACLE_TASK)


public 
tentacle_change(ent

    
ent -= TENACLE_TASK
    
if ( !pev_valid(ent) )
        return
        
    
entity_set_model(entskill_tentacle[1]) 
         
    
entity_set_string(ent,EV_SZ_classname"tentacle2"
    
    
entity_set_int(entEV_INT_solidSOLID_TRIGGER)
    
entity_set_int(entEV_INT_movetypeMOVETYPE_PUSH)
        
    new  
Float:Direction[3] = { 0.00.00.0 }
    
set_pev(entpev_velocityDirection)
        
    new 
Float:maxs[3] = {26.0,26.0,56.0
    new 
Float:mins[3] = {-26.0,-26.0,-56.0
    
entity_set_size(entminsmaxs)     
         
    
entity_set_float(entEV_FL_animtimeget_gametime()) 
    
entity_set_float(entEV_FL_framerate1.0)     
    
entity_set_int(entEV_INT_sequence0)     
         
    
set_pev(entpev_rendermodekRenderNormal
    
set_pev(entpev_renderamt255.0)         
             
    
set_task(1.0"tentacle_change2"ent+TENACLE_TASK


public 
tentacle_change2(ent

    
ent -= TENACLE_TASK
    
if ( !pev_valid(ent) )
        return
    
entity_set_model(entskill_tentacle[2]) 
    
entity_set_int(entEV_INT_solidSOLID_NOT
    
entity_set_string(ent,EV_SZ_classname"tentacle"
         
    new 
Float:maxs[3] = {1.0,1.0,1.0
    new 
Float:mins[3] = {-1.0,-1.0,-1.0
    
entity_set_size(entminsmaxs
         
    
entity_set_float(entEV_FL_animtimeget_gametime()) 
    
entity_set_float(entEV_FL_framerate1.0)     
    
entity_set_int(entEV_INT_sequence0)     
         
    
set_pev(entpev_rendermodekRenderTransAdd
    
set_pev(entpev_renderamt255.0)         
         
    
set_task(0.8"remove_tentacle"ent+TENACLE_TASK


public 
remove_tentacle(ent

    
ent -= TENACLE_TASK
    
if ( !pev_valid(ent) )
        return
    
remove_entity(ent


public 
fw_tentacle_touch(tentacletouch

    if(
is_user_alive(touch)) 
    { 
        static 
Float:CurTime 
        CurTime 
get_gametime() 

        
        if(
CurTime 0.1 g_poison_touch[touch]) 
        { 
            
/*ExecuteHamB(Ham_TakeDamage, touch, ent, touch, 5.0, DMG_BLAST)*/
            
static ent 
            ent 
find_ent_by_owner(-1"weapon_knife"touch)
            
npc_do_damage(enttouch35.0)
                 
            
g_poison_touch[touch] = CurTime 
                
            
new Float:vVelocity[3];
            
entity_get_vectortouchEV_VEC_velocityvVelocity );

            
vVelocity[0] = random_float30.090.0 );
            
vVelocity[1] = random_float30.090.0 );
            
vVelocity[2] = random_float250.0500.0 );

            
entity_set_vectortouchEV_VEC_velocityvVelocity );
        } 
        }     



public 
oberon_skill_hole(ent)
{
    if ( 
ent TASK_SPELL )
        
ent -= TASK_SPELL
    
if ( !pev_valid(ent) )
        return
    
    
set_npc_events(entEVENT_CUSTOM)
    new 
Float:timed;
    if ( !
g_berserker[ent] )
    {
        
timed ANIMATION_ATTACK_HOLE_TIME
        npc_set_animation
(entANIMATION_ATTACK_HOLEtimed)
    }
    else
    {
        
timed ANIMATION_ATTACK_HOLE_BERSERKER_TIME
        npc_set_animation
(entANIMATION_ATTACK_HOLE_BERSERKERtimed)
    }
    
    
emit_sound(entCHAN_BODYoberon_attack_hole_sound1.0ATTN_NORM0PITCH_NORM)
    
set_task(timed"oberon_reset"ent TASK_RESET)
    
set_task(5.0"_oberon_skill_hole"ent TASK_SPELL)
    
    new 
Hole create_entity("info_target")
    
    static 
Float:Origin[3]
    
pev(entpev_originOrigin)
    
    
Origin[2] -= 10.0
    
    entity_set_origin
(HoleOrigin)
    
    
entity_set_string(Hole,EV_SZ_classname"hole_hook")
    
entity_set_model(Holeoberon_hole_effect)
    
entity_set_int(HoleEV_INT_solidSOLID_NOT)
    
entity_set_int(HoleEV_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(Holeminsmaxs)
    
    
entity_set_float(HoleEV_FL_animtimeget_gametime())
    
entity_set_float(HoleEV_FL_framerate1.0)    
    
entity_set_int(HoleEV_INT_sequence0)    
    
    
set_pev(Holepev_rendermodekRenderTransAdd)
    
set_pev(Holepev_renderamt255.0)    
    
    
drop_to_floor(Hole)
    
    static 
arg[2]
    for(new 
0get_maxplayers(); i++)
    {
        if(
is_user_alive(i) && entity_range(enti) <= 1000.0)
        {
            
arg[0] = ent
            arg
[1] = i
            
            set_task
(0.01"do_hook_player"512512argsizeof(arg), "b")
        }
    }    
}

public 
do_hook_player(arg[2]) // thnx to dias
{
    static 
Float:Origin[3], Float:Speedenttarget
    ent 
arg[0]
    
target arg[1]
    if ( !
pev_valid(ent) || !is_user_connected(target))
    {
        
remove_task(512512)
        return
    }
    
    
pev(entpev_originOrigin)
    
    
Speed = (1000.0 entity_range(enttarget)) * 75.0
    
    hook_ent2
(targetOriginSpeed)
}
public 
hook_ent2(entFloat:VicOrigin[3], Float:speed)//credits to dias
{
    static 
Float:fl_Velocity[3]
    static 
Float:EntOrigin[3]

    
pev(entpev_originEntOrigin)
    
    static 
Float:distance_f
    distance_f 
get_distance_f(EntOriginVicOrigin)

    if (
distance_f 60.0)
    {
        new 
Float: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
    
} else
    {
        
fl_Velocity[0] = 0.0
        fl_Velocity
[1] = 0.0
        fl_Velocity
[2] = 0.0
    
}

    
entity_set_vector(entEV_VEC_velocityfl_Velocity)
}


public 
_oberon_skill_hole(ent)
{
    if ( 
ent TASK_SPELL )
        
ent -= TASK_SPELL
        
    
static hole
    hole 
find_ent_by_class(-1"hole_hook")
    if ( 
pev_valid(hole ) ) remove_entity(hole)
    
remove_task(512512)
    
    if ( !
pev_valid(ent) )
        return
    
    
oberon_berser_effects(ent)
    
    static 
Float:Ent_orig[3], Float:Enemy[3]
    
pev(entpev_originEnt_orig)
    for(new 
1<= get_maxplayers(); i++)
    {
        if(!
is_user_alive(i)) continue
        
        
pev(ipev_originEnemy)
        if(
get_distance_f(Ent_origEnemy) <= 250.0)
        {
            
npc_do_damage(entiOBERON_ATTACK2_DAMAGE)
            
ScreenShake(i, ((1<<12) * 8), ((2<<12) * 7))
            
ScreenFade(i62550090)
        }
    }
}

public 
oberon_skill_attack2(ent)
{
    if ( 
ent TASK_SPELL )
        
ent -= TASK_SPELL
    
if ( !pev_valid(ent) )
        return
    
    
set_npc_events(entEVENT_CUSTOM)
    new 
Float:timed;
    if ( !
g_berserker[ent] )
    {
        
emit_sound(entCHAN_BODYoberon_attack2_sound1.0ATTN_NORM0PITCH_NORM)
        
timed ANIMATION_ATTACK_2_TIME
        npc_set_animation
(entANIMATION_ATTACK_2timed)
    }
    else
    {
        
emit_sound(entCHAN_BODYoberon_berserk_attack2_sound1.0ATTN_NORM0PITCH_NORM)
        
timed ANIMATION_ATTACK_2_BERSERKER_TIME
        npc_set_animation
(entANIMATION_ATTACK_2_BERSERKERtimed)
    }
    
    
set_task(timed"oberon_reset"ent TASK_RESET)
    
set_task(timed*0.3"_oberon_skill_attack2"ent TASK_SPELL)
}

public 
_oberon_skill_attack2(ent)
{
    if ( 
ent TASK_SPELL )
        
ent -= TASK_SPELL
    
if ( !pev_valid(ent) )
        return
    
    static 
Float:Ent_orig[3], Float:Enemy[3], Float:Aim[3]
    
velocity_by_aim(ent300Aim)
    
xs_vec_mul_scalar(Aim3.0Aim) ; Aim[2] = 300.0
    pev
(entpev_originEnt_orig)
    for(new 
1<= get_maxplayers(); i++)
    {
        if(!
is_user_alive(i)) continue
        
        
pev(ipev_originEnemy)
        if(
get_distance_f(Ent_origEnemy) <= 250.0)
        {
            
set_pev(ipev_velocityAim)
            
npc_do_damage(entiOBERON_ATTACK2_DAMAGE)
            
ScreenShake(i, ((1<<12) * 8), ((2<<12) * 7))
            
ScreenFade(i62550090)
        }
    }
}

stock oberon_skill_attack2_check(ent)
{
    static 
Float:Ent_orig[3], Float:Enemy[3]
    
pev(entpev_originEnt_orig)
    for(new 
1<= get_maxplayers(); i++)
    {
        if(!
is_user_alive(i)) continue
        
        
pev(ipev_originEnemy)
        if(
get_distance_f(Ent_origEnemy) <= 250.0)
        {
            return 
1
        
}
    }
    return 
0
}



stock ScreenFade(idTimerColors1Colors2Colors3Alpha)
{
    if(!
is_user_connected(id)) return
    
    
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("ScreenFade"), _id);
    
write_short((1<<12) * Timer)
    
write_short(1<<12)
    
write_short(0)
    
write_byte(Colors1)
    
write_byte(Colors2)
    
write_byte(Colors3)
    
write_byte(Alpha)
    
message_end()
}

stock ScreenShake(iddurationfrequency)
{
    if(!
is_user_alive(id)) return
    
    
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("ScreenShake"), _id);
    
write_short(1<<14)
    
write_short(duration)
    
write_short(frequency)
    
message_end();
}



public 
plugin_precache()
{
    
Check_Map()
    
    
g_class_modelindex precache_model(g_class_pmodel);
    
exp_spr_id precache_model("sprites/zerogxplode.spr");
    
precache_model(oberon_bomb_model)
    
precache_model(oberon_hole_effect)
    
precache_model(oberon_knife_effect)
    
    
    
g_npc_id register_npc(CLASS_NAMECLASS_TIP)
    
precache_sound(oberon_appear_sound)
    
precache_sound(oberon_attack1_sound)
    
precache_sound(oberon_attack2_sound)
    
precache_sound(oberon_berserk_attack1_sound)
    
precache_sound(oberon_berserk_attack2_sound)
    
precache_sound(oberon_berserker_sound)
    
precache_sound(oberon_attack_hole_sound)
    
precache_sound(oberon_bomb_sound)
    
precache_sound(oberon_jump_sound)
    
precache_sound(oberon_jumpdamage_sound)
    
precache_sound(oberon_bjump_sound)
    
precache_sound(oberon_bjumpdamage_sound)

    
    for(new 
0sizeof(skill_tentacle); i++) 
    { 
        
engfunc(EngFunc_PrecacheModelskill_tentacle[i]) 
    }     
    
    if(
g_npc_id != -1)
    {
        
set_npc_data(g_npc_idDATA_HEALTHOBERON_HEALTH)
        
set_npc_data(g_npc_idDATA_SPEED250.0)
        
set_npc_data(g_npc_idDATA_ATTACK99.0)
        
set_npc_data(g_npc_idDATA_KNOCKBACK0.0)
        
set_npc_data(g_npc_idDATA_ANI_DEATH_HEADSHOT20.0)
        
set_npc_data(g_npc_idDATA_ANI_DEATH_NORMAL_SIMPLE20.0)
        
set_npc_data(g_npc_idDATA_ANI_DEATH_NORMAL_BACK20.0)
        
set_npc_data(g_npc_idDATA_ANI_DEATH_NORMAL_FORWARD20.0)
        
set_npc_data(g_npc_idDATA_ANI_DEATH_NORMAL_SPECIAL20.0)
        
set_npc_data(g_npc_idDATA_ANI_ATTACKED2.0)
        
set_npc_data(g_npc_idDATA_ANI_IDLE2.0)
        
set_npc_data(g_npc_idDATA_ANI_MADNESS2.0)//10.0)
        
set_npc_data(g_npc_idDATA_ANI_ATTACK6.0)
        
set_npc_data(g_npc_idDATA_ANI_RUN4.0)
        
set_npc_data(g_npc_idDATA_ANI_WALK3.0)
        
set_npc_data(g_npc_idDATA_EVENTEVENT_SLEEP)
        
set_npc_data(g_npc_idDATA_ATTACK_RELOADING2.7)
        
set_npc_data(g_npc_idDATA_MODEL_INDEXfloat(g_class_modelindex))
        
set_npc_data(g_npc_idDATA_ATTACK_WAITTIMEOBERON_ATTACK_WAITIME)
        
set_npc_data(g_npc_idDATA_ATTACK_DISTANCE250.0)
        
        
// New! Set Size!
        
set_npc_data(g_npc_idDATA_MIN_MAX_XY_MIN, -100.0)
        
set_npc_data(g_npc_idDATA_MIN_MAX_XY_MAX100.0)
        
set_npc_data(g_npc_idDATA_MIN_MAX_Z_MIN, -30.0)
        
set_npc_data(g_npc_idDATA_MIN_MAX_Z_MAX100.0)

        
// Berserker ability..
        
set_npc_data(g_npc_idDATA_MADANI_ATTACK14.0)
        
set_npc_data(g_npc_idDATA_MADANI_ATTACK_TIME1.8)
        
set_npc_data(g_npc_idDATA_MADANI_ATTACK_WAIT2.0)
        
set_npc_data(g_npc_idDATA_MADANI_IDLE12.0)
        
set_npc_data(g_npc_idDATA_MADANI_WALK13.0)
        
set_npc_data(g_npc_idDATA_MADANI_RUN13.0)
        
        
set_npc_model(g_npc_idg_class_pmodel)
    }
}


public 
Check_Map()
{
    new 
MapName[64]
    
get_mapname(MapName63)
    if(
contain(MapName"npc_dangerous" ) == -1)
    {
        
server_cmd("mp_roundtime 6")
        
server_cmd("mp_autoteambalance 1")
        
server_cmd("mp_limitteams 1")
        
pause("ad")
    }
    else
    {
        
server_cmd("mp_roundtime 9")
        
server_cmd("mp_autoteambalance 0")
        
server_cmd("mp_limitteams 0")
        new 
bz FindBuyZones( )
        new 
Float:absmin[3] = {-8191.0, -8191.0, -8191.0}
        new 
Float:absmax[3] = {8191.08191.08191.0}
        if ( !
bz )
        {
            new 
buyzone create_entity("func_buyzone"// create buyzone entity and set it max size of map
            
DispatchSpawn(buyzone)
            
entity_set_size(buyzoneabsminabsmax)
        }
        else
        {
            
entity_set_size(bzabsminabsmax)
        }
    }
}


public 
oberon_berser_effects(ent2)
{
    if ( !
g_berserker[ent2] )
        return
    
    new 
ent create_entity("info_target")
    
    static 
Float:Origin[3], Float:Angles[3]
    
pev(ent2pev_originOrigin)
    
pev(ent2pev_anglesAngles)
        
    
entity_set_origin(entOrigin)
    
entity_set_vector(entEV_VEC_anglesAngles)
        
    
entity_set_string(ent,EV_SZ_classname"knife_effect")
    
entity_set_model(entoberon_knife_effect)
    
entity_set_int(entEV_INT_solidSOLID_NOT)
    
entity_set_int(entEV_INT_movetypeMOVETYPE_NONE)
        
    new 
Float:maxs[3] = {40.040.01.0}
    new 
Float:mins[3] = {-40.0, -40.0, -1.0}
    
entity_set_size(entminsmaxs)
        
    
drop_to_floor(ent)
        
    
set_task(1.0"remove_knife_effect"ent+TASK_EFFECT)
}

public 
remove_knife_effect(ent)
{
    
ent -= TASK_EFFECT
    
if ( pev_valid(ent) )
        
remove_entity(ent)


These are errors.
[IMG]http://img51.**************/img51/6554/adszwhh.jpg[/IMG]

This is engine.inc and others :

YamiKaitou 07-03-2012 14:27

Re: Compile errors...
 
Does the file include/svn_version.inc exist? If not, update your Scripting folder to the latest include files

aaa131 07-03-2012 14:33

Re: Compile errors...
 
yes it is exist and still the same.

YamiKaitou 07-03-2012 14:36

Re: Compile errors...
 
Is your engine.inc file modified? The base include files compile just fine with each other

aaa131 07-03-2012 14:40

Re: Compile errors...
 
everything original

YamiKaitou 07-03-2012 14:46

Re: Compile errors...
 
Please provide the nrs_main.inc and nrs_const.inc files so I can try to compile it

aaa131 07-03-2012 14:53

Re: Compile errors...
 
attached, you can try..

YamiKaitou 07-03-2012 15:00

Re: Compile errors...
 
Compiled just fine, using the stock 1.8.1 includes
Code:

[yamik@localhost scripting]$ ./amxxpc Oberon.sma
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Header size:          3216 bytes
Code size:            37844 bytes
Data size:            15352 bytes
Stack/heap size:      16384 bytes; estimated max. usage=527 cells (2108 bytes)
Total requirements:  72796 bytes
Done.


aaa131 07-03-2012 15:10

Re: Compile errors...
 
So why you didn't attach amxx?

YamiKaitou 07-03-2012 15:12

Re: Compile errors...
 
Because there is a rule about attaching AMXX files and it compiled just fine uses the stock files, so you should have no problem compiling it yourself, just use a new scripting folder


All times are GMT -4. The time now is 15:25.

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