AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [HELP] Error compile NEMESIS CLASS (https://forums.alliedmods.net/showthread.php?t=278148)

abood alnjjar 01-25-2016 15:08

[HELP] Error compile NEMESIS CLASS
 
Hi guys :D

i have just 1 Error in Combile my nemesis im plees help me

Massege Error:-
PHP Code:

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c1997-2013 ITB CompuPhaseAMX Mod X Team

Error
Must be a constant expressionassumed zero on line 315

1 Error
.
Could not locate output file C:\Users\MaDNeSS\Desktop\addons\zp50_class_nemesis.amx (compile failed). 

And this is cod sma my nemesis
PHP Code:

/*================================================================================  
      
    ---------------------------  
    -*- [ZoZ] Class: Nemesis -*-  
    ---------------------------  
      
    This plugin is part of Zombie Plague Mod and is distributed under the  
    terms of the GNU General Public License. Check ZP_ReadMe.txt for details.  
      
================================================================================*/  

#include <amxmodx>  
#include <fun>  
#include <fakemeta>  
#include <hamsandwich>  
#include <amx_settings_api>  
#include <cs_maxspeed_api>  
#include <cs_player_models_api>  
#include <cs_weap_models_api>  
#include <cs_ham_bots_api>  
#include <zp50_core>  
#define LIBRARY_GRENADE_FROST "zp50_grenade_frost"  
#include <zp50_grenade_frost>  
#define LIBRARY_GRENADE_FIRE "zp50_grenade_fire"  
#include <zp50_grenade_fire>  

// Settings file  
new const ZP_SETTINGS_FILE[] = "zombieplague.ini"  

// Default models  
new const models_nemesis_player[][] = { "zombie_source" }  
new const 
models_nemesis_claw[][] = { "models/zombie_plague/v_knife_zombie.mdl" }  

#define PLAYERMODEL_MAX_LENGTH 32  
#define MODEL_MAX_LENGTH 64  

// Custom models  
new Array:g_models_nemesis_player  
new Array:g_models_nemesis_claw  

#define TASK_AURA 100  
#define ID_AURA (taskid - TASK_AURA)  

#define flag_get(%1,%2) (%1 & (1 << (%2 & 31)))  
#define flag_get_boolean(%1,%2) (flag_get(%1,%2) ? true : false)  
#define flag_set(%1,%2) %1 |= (1 << (%2 & 31))  
#define flag_unset(%1,%2) %1 &= ~(1 << (%2 & 31))  

new g_MaxPlayers  
new g_IsNemesis  

new cvar_nemesis_healthcvar_nemesis_base_healthcvar_nemesis_speedcvar_nemesis_gravity  
new cvar_nemesis_glow  
new cvar_nemesis_auracvar_nemesis_aura_color_Rcvar_nemesis_aura_color_Gcvar_nemesis_aura_color_B  
new cvar_nemesis_kill_explode  
new cvar_nemesis_grenade_frostcvar_nemesis_grenade_fire  

public plugin_init()  
{  
    
register_plugin("[ZoZ] Class: Nemesis"ZP_VERSION_STRING"ZP Dev Team")  
      
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")  
    
RegisterHamBots(Ham_TakeDamage"fw_TakeDamage")  
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")  
    
RegisterHamBots(Ham_Killed"fw_PlayerKilled")  
    
register_forward(FM_ClientDisconnect"fw_ClientDisconnect_Post"1)  
      
    
g_MaxPlayers get_maxplayers()  
      
    
cvar_nemesis_health register_cvar("zp_nemesis_health""0")  
    
cvar_nemesis_base_health register_cvar("zp_nemesis_base_health""2000")  
    
cvar_nemesis_speed register_cvar("zp_nemesis_speed""1.05")  
    
cvar_nemesis_gravity register_cvar("zp_nemesis_gravity""0.5")  
    
cvar_nemesis_glow register_cvar("zp_nemesis_glow""1")  
    
cvar_nemesis_aura register_cvar("zp_nemesis_aura""1")  
    
cvar_nemesis_aura_color_R register_cvar("zp_nemesis_aura_color_R""150")  
    
cvar_nemesis_aura_color_G register_cvar("zp_nemesis_aura_color_G""0")  
    
cvar_nemesis_aura_color_B register_cvar("zp_nemesis_aura_color_B""0")  
    
cvar_nemesis_kill_explode register_cvar("zp_nemesis_kill_explode""1")  
    
cvar_nemesis_grenade_frost register_cvar("zp_nemesis_grenade_frost""0")  
    
cvar_nemesis_grenade_fire register_cvar("zp_nemesis_grenade_fire""1")  
}  

public 
plugin_precache()  
{  
    
// Initialize arrays  
    
g_models_nemesis_player ArrayCreate(PLAYERMODEL_MAX_LENGTH1)  
    
g_models_nemesis_claw ArrayCreate(MODEL_MAX_LENGTH1)  
      
    
// Load from external file  
    
amx_load_setting_string_arr(ZP_SETTINGS_FILE"Player Models""NEMESIS"g_models_nemesis_player)  
    
amx_load_setting_string_arr(ZP_SETTINGS_FILE"Weapon Models""V_KNIFE NEMESIS"g_models_nemesis_claw)  
      
    
// If we couldn't load from file, use and save default ones  
    
new index  
    
if (ArraySize(g_models_nemesis_player) == 0)  
    {  
        for (
index 0index sizeof models_nemesis_playerindex++)  
            
ArrayPushString(g_models_nemesis_playermodels_nemesis_player[index])  
          
        
// Save to external file  
        
amx_save_setting_string_arr(ZP_SETTINGS_FILE"Player Models""NEMESIS"g_models_nemesis_player)  
    }  
    if (
ArraySize(g_models_nemesis_claw) == 0)  
    {  
        for (
index 0index sizeof models_nemesis_clawindex++)  
            
ArrayPushString(g_models_nemesis_clawmodels_nemesis_claw[index])  
          
        
// Save to external file  
        
amx_save_setting_string_arr(ZP_SETTINGS_FILE"Weapon Models""V_KNIFE NEMESIS"g_models_nemesis_claw)  
    }  
      
    
// Precache models  
    
new player_model[PLAYERMODEL_MAX_LENGTH], model[MODEL_MAX_LENGTH], model_path[128]  
    for (
index 0index ArraySize(g_models_nemesis_player); index++)  
    {  
        
ArrayGetString(g_models_nemesis_playerindexplayer_modelcharsmax(player_model))  
        
formatex(model_pathcharsmax(model_path), "models/player/%s/%s.mdl"player_modelplayer_model)  
        
precache_model(model_path)  
        
// Support modelT.mdl files  
        
formatex(model_pathcharsmax(model_path), "models/player/%s/%sT.mdl"player_modelplayer_model)  
        if (
file_exists(model_path)) precache_model(model_path)  
    }  
    for (
index 0index ArraySize(g_models_nemesis_claw); index++)  
    {  
        
ArrayGetString(g_models_nemesis_clawindexmodelcharsmax(model))  
        
precache_model(model)  
    }  
}  

public 
plugin_natives()  
{  
    
register_library("zp50_class_nemesis")  
    
register_native("zp_class_nemesis_get""native_class_nemesis_get")  
    
register_native("zp_class_nemesis_set""native_class_nemesis_set")  
    
register_native("zp_class_nemesis_get_count""native_class_nemesis_get_count")  
      
    
set_module_filter("module_filter")  
    
set_native_filter("native_filter")  
}  
public 
module_filter(const module[])  
{  
    if (
equal(moduleLIBRARY_GRENADE_FROST) || equal(moduleLIBRARY_GRENADE_FIRE))  
        return 
PLUGIN_HANDLED;  
      
    return 
PLUGIN_CONTINUE;  
}  
public 
native_filter(const name[], indextrap)  
{  
    if (!
trap)  
        return 
PLUGIN_HANDLED;  
          
    return 
PLUGIN_CONTINUE;  
}  

public 
client_disconnect(id)  
{  
    if (
flag_get(g_IsNemesisid))  
    {  
        
// Remove nemesis glow  
        
if (get_pcvar_num(cvar_nemesis_glow))  
            
set_user_rendering(id)  
          
        
// Remove nemesis aura  
        
if (get_pcvar_num(cvar_nemesis_aura))  
            
remove_task(id+TASK_AURA)  
    }  
}  

public 
fw_ClientDisconnect_Post(id)  
{  
    
// Reset flags AFTER disconnect (to allow checking if the player was nemesis before disconnecting)  
    
flag_unset(g_IsNemesisid)  
}  

// Ham Take Damage Forward  
public fw_TakeDamage(victiminflictorattackerFloat:damagedamage_type)  
{  
    
// Non-player damage or self damage  
    
if (victim == attacker || !is_user_alive(attacker))  
        return 
HAM_IGNORED;  
      
    
// Nemesis attacking human  
    
if (flag_get(g_IsNemesisattacker) && !zp_core_is_zombie(victim))  
    {  
        
// Ignore nemesis damage override if damage comes from a 3rd party entity  
        // (to prevent this from affecting a sub-plugin's rockets e.g.)  
        
if (inflictor == attacker)  
        {  
            
// Set nemesis damage  
            
SetHamParamFloat(4250.0)  
            return 
HAM_HANDLED;  
        }  
    }  
      
    return 
HAM_IGNORED;  
}  

// Ham Player Killed Forward  
public fw_PlayerKilled(victimattackershouldgib)  
{  
    if (
flag_get(g_IsNemesisvictim))  
    {  
        
// Nemesis explodes!  
        
if (get_pcvar_num(cvar_nemesis_kill_explode))  
            
SetHamParamInteger(32)  
          
        
// Remove nemesis aura  
        
if (get_pcvar_num(cvar_nemesis_aura))  
            
remove_task(victim+TASK_AURA)  
    }  
}  

public 
zp_fw_grenade_frost_pre(id)  
{  
    
// Prevent frost for Nemesis  
    
if (flag_get(g_IsNemesisid) && !get_pcvar_num(cvar_nemesis_grenade_frost))  
        return 
PLUGIN_HANDLED;  
      
    return 
PLUGIN_CONTINUE;  
}  

public 
zp_fw_grenade_fire_pre(id)  
{  
    
// Prevent burning for Nemesis  
    
if (flag_get(g_IsNemesisid) && !get_pcvar_num(cvar_nemesis_grenade_fire))  
        return 
PLUGIN_HANDLED;  
      
    return 
PLUGIN_CONTINUE;  
}  

public 
zp_fw_core_spawn_post(id)  
{  
    if (
flag_get(g_IsNemesisid))  
    {  
        
// Remove nemesis glow  
        
if (get_pcvar_num(cvar_nemesis_glow))  
            
set_user_rendering(id)  
          
        
// Remove nemesis aura  
        
if (get_pcvar_num(cvar_nemesis_aura))  
            
remove_task(id+TASK_AURA)  
          
        
// Remove nemesis flag  
        
flag_unset(g_IsNemesisid)  
    }  
}  

public 
zp_fw_core_cure(idattacker)  
{  
    if (
flag_get(g_IsNemesisid))  
    {  
        
// Remove nemesis glow  
        
if (get_pcvar_num(cvar_nemesis_glow))  
            
set_user_rendering(id)  
          
        
// Remove nemesis aura  
        
if (get_pcvar_num(cvar_nemesis_aura))  
            
remove_task(id+TASK_AURA)  
          
        
// Remove nemesis flag  
        
flag_unset(g_IsNemesisid)  
    }  
}  

public 
zp_fw_core_infect_post(idattacker)  
{  
    
// Apply Nemesis attributes?  
    
if (!flag_get(g_IsNemesisid))  
        return;  
      
    
// Health  
    
if (get_pcvar_num(cvar_nemesis_health) == 0)  
        
set_user_health(idget_pcvar_num(cvar_nemesis_base_health) * GetAliveCount())  
    else  
        
set_user_health(idget_pcvar_num(cvar_nemesis_health))  
      
    
// Gravity  
    
set_user_gravity(idget_pcvar_float(cvar_nemesis_gravity))  
      
    
// Speed  
    
cs_set_player_maxspeed_auto(idget_pcvar_float(cvar_nemesis_speed))  
      
    
// Apply nemesis player model  
    
new player_model[PLAYERMODEL_MAX_LENGTH]  
    
ArrayGetString(g_models_nemesis_playerrandom_num(0ArraySize(g_models_nemesis_player) - 1), player_modelcharsmax(player_model))  
    
cs_set_player_model(idplayer_model)  
      
    
// Apply nemesis claw model  
    
new model[MODEL_MAX_LENGTH]  
    
ArrayGetString(g_models_nemesis_clawrandom_num(0ArraySize(g_models_nemesis_claw) - 1), modelcharsmax(model))  
    
cs_set_player_view_model(idCSW_KNIFEmodel)      
      
    
// Nemesis glow  
    
if (get_pcvar_num(cvar_nemesis_glow))  
        
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal25)  
      
    
// Nemesis aura task  
    
if (get_pcvar_num(cvar_nemesis_aura))  
        
set_task(0.1"nemesis_aura"id+TASK_AURA__"b")

// Freeze the nemesis. ;)
    // So, all humans can run away!
    
zp_grenade_frost_set(id)
        
    
// Set task to enable nemesis for not being frozen after X seconds
    
set_task(6.0"DisableFrozenForNemesis"id)
}

public 
DisableFrozenForNemesis(id)
{
    if (
is_user_alive(id) && flag_get(g_IsNemesisid))
    {
        
// Now nemesis cannot be frozen    
   
new   g_bCannotBeFrozen[id] = true
    
}  
}  

public 
native_class_nemesis_get(plugin_idnum_params)  
{  
    new 
id get_param(1)  
      
    if (!
is_user_connected(id))  
    {  
        
log_error(AMX_ERR_NATIVE"[ZP] Invalid Player (%d)"id)  
        return -
1;  
    }  
      
    return 
flag_get_boolean(g_IsNemesisid);  
}  

public 
native_class_nemesis_set(plugin_idnum_params)  
{  
    new 
id get_param(1)  
      
    if (!
is_user_alive(id))  
    {  
        
log_error(AMX_ERR_NATIVE"[ZP] Invalid Player (%d)"id)  
        return 
false;  
    }  
      
    if (
flag_get(g_IsNemesisid))  
    {  
        
log_error(AMX_ERR_NATIVE"[ZP] Player already a nemesis (%d)"id)  
        return 
false;  
    }  
      
    
flag_set(g_IsNemesisid)  
    
zp_core_force_infect(id)  
    return 
true;  
}  

public 
native_class_nemesis_get_count(plugin_idnum_params)  
{  
    return 
GetNemesisCount();  
}  

// Nemesis aura task  
public nemesis_aura(taskid)  
{  
    
// Get player's origin  
    
static origin[3]  
    
get_user_origin(ID_AURAorigin)  
      
    
// Colored Aura  
    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)  
    
write_byte(TE_DLIGHT// TE id  
    
write_coord(origin[0]) // x  
    
write_coord(origin[1]) // y  
    
write_coord(origin[2]) // z  
    
write_byte(20// radius  
    
write_byte(get_pcvar_num(cvar_nemesis_aura_color_R)) // r  
    
write_byte(get_pcvar_num(cvar_nemesis_aura_color_G)) // g  
    
write_byte(get_pcvar_num(cvar_nemesis_aura_color_B)) // b  
    
write_byte(2// life  
    
write_byte(0// decay rate  
    
message_end()  
}  

// Get Alive Count -returns alive players number-  
GetAliveCount()  
{  
    new 
iAliveid  
      
    
for (id 1id <= g_MaxPlayersid++)  
    {  
        if (
is_user_alive(id))  
            
iAlive++  
    }  
      
    return 
iAlive;  
}  

// Get Nemesis Count -returns alive nemesis number-  
GetNemesisCount()  
{  
    new 
iNemesisid  
      
    
for (id 1id <= g_MaxPlayersid++)  
    {  
        if (
is_user_alive(id) && flag_get(g_IsNemesisid))  
            
iNemesis++  
    }  
      
    return 
iNemesis;  


im know im noob plees help me :p

Bugsy 01-28-2016 21:49

Re: [HELP] Error compile NEMESIS CLASS
 
You need to declare g_bCannotBeFrozen[] globally and remove 'new' from the below.
PHP Code:

public DisableFrozenForNemesis(id

    if (
is_user_alive(id) && flag_get(g_IsNemesisid)) 
    { 
        
// Now nemesis cannot be frozen     
   
new   g_bCannotBeFrozen[id] = true 
    
}   



abood alnjjar 01-29-2016 08:09

Re: [HELP] Error compile NEMESIS CLASS
 
thank u is done :)


All times are GMT -4. The time now is 09:31.

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