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

Compile errors...


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
aaa131
Junior Member
Join Date: May 2011
Location: Turkey
Old 07-03-2012 , 14:05   Compile errors...
Reply With Quote #1

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 :
Attached Files
File Type: inc engine.inc (8.9 KB, 71 views)
File Type: inc nrs_const.inc (2.3 KB, 120 views)
File Type: inc nrs_main.inc (3.1 KB, 110 views)

Last edited by aaa131; 07-03-2012 at 14:53.
aaa131 is offline
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 07-03-2012 , 14:27   Re: Compile errors...
Reply With Quote #2

Does the file include/svn_version.inc exist? If not, update your Scripting folder to the latest include files
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
aaa131
Junior Member
Join Date: May 2011
Location: Turkey
Old 07-03-2012 , 14:33   Re: Compile errors...
Reply With Quote #3

yes it is exist and still the same.
aaa131 is offline
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 07-03-2012 , 14:36   Re: Compile errors...
Reply With Quote #4

Is your engine.inc file modified? The base include files compile just fine with each other
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
aaa131
Junior Member
Join Date: May 2011
Location: Turkey
Old 07-03-2012 , 14:40   Re: Compile errors...
Reply With Quote #5

everything original
aaa131 is offline
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 07-03-2012 , 14:46   Re: Compile errors...
Reply With Quote #6

Please provide the nrs_main.inc and nrs_const.inc files so I can try to compile it
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
aaa131
Junior Member
Join Date: May 2011
Location: Turkey
Old 07-03-2012 , 14:53   Re: Compile errors...
Reply With Quote #7

attached, you can try..
aaa131 is offline
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 07-03-2012 , 15:00   Re: Compile errors...
Reply With Quote #8

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.
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
aaa131
Junior Member
Join Date: May 2011
Location: Turkey
Old 07-03-2012 , 15:10   Re: Compile errors...
Reply With Quote #9

So why you didn't attach amxx?
aaa131 is offline
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 07-03-2012 , 15:12   Re: Compile errors...
Reply With Quote #10

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
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
Reply



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

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

Forum Jump


All times are GMT -4. The time now is 06:30.


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