Üdv!
Lenne egy gondom, elkezdtem tovább fejleszteni a Zclass 3.0 -t Zclass 3.1 -re.
Raktam hozzá egy fal mászó zombit de egy 1error van és nemtudok rájönni hogy mi okozza.
// AMXXPC compile.exe
// by the AMX Mod X Dev Team
// zclass3.1.sma
// D:\Program Files\HLserver\cstrike\addons\amxmodx\scripting\zclass3.1.sma(17): fatal error 100: cannot read from file: "AMXX_VERSION_NUM"
//
// Compilation aborted.
// 1 Error.
// Could not locate outpot file compiled\zclass3.1.amx (compiled failed).
//
// Compilation Time: 0,02 sec
// ----------------------------------------------------------------------
A plugin:
Kód:
/*================================================================================
-----------------------------------
-*- [ZP] Zclass 3.1 Zombie Fajok -*-
-----------------------------------
~~~~~~~~~~~~~~~
- Leirás -
~~~~~~~~~~~~~~~
Falmászó zombi cvarrok:
zp_wallclimb 0
zp_wallclimb_nemesis 0
zp_wallclimb_survivor 0
================================================================================*/
#include <AMXX_VERSION_NUM> // Ezt itt ide kell irnom mert ha nem irom oda 2error lessz...
#include <cstrike>
#include <amxmodx>
#include <fakemeta>
#include <zombieplague.inc>
#define STR_T 33
#define fm_get_user_button(%1) pev(%1, pev_button)
#define fm_get_entity_flags(%1) pev(%1, pev_flags)
stock fm_set_user_velocity(entity, const Float:vector[3]) {
set_pev(entity, pev_velocity, vector);
return 1;
}
// Hunter V3
new const LG_nev[] = { "Hunter\r(V3) \wZombie" }
new const LG_info[] = { "Nagy ugras" }
new const LG_modell[] = { "zclass_hunter" }
new const LG_kezmodell[] = { "v_knife_hunter.mdl" }
const LG_elet = 8000
const LG_gyorsasag = 320
const Float:LG_gravitacio = 0.3
const Float:LG_visszalokodes = 1.5
const LG_infecthp = 200
// Death V1
new const LG1_nev[] = { "Death Zombie" }
new const LG1_info[] = { "Nem lokodik vissza" }
new const LG1_modell[] = { "zclass_death" }
new const LG1_kezmodell[] = { "death_kez.mdl" }
const LG1_elet = 3000
const LG1_gyorsasag = 530
const Float:LG1_gravitacio = 1.5
const Float:LG1_visszalokodes = 0.0
// Nemesis
new const LG2_nev[] = { "Nemesis Zombie" }
new const LG2_info[] = { "Nemesis" }
new const LG2_modell[] = { "zclass_nemesis" }
new const LG2_kezmodell[] = { "nemesis_kez.mdl" }
const LG2_elet = 150000
const LG2_gyorsasag = 880
const Float:LG2_gravitacio = 0.5
const Float:LG2_visszalokodes = 0.3
// Ember
new const LG3_nev[] = { "Ember Zombie" }
new const LG3_info[] = { "Ember kinezet+skill" }
new const LG3_modell[] = { "gsg9" }
new const LG3_kezmodell[] = { "v_knife.mdl" }
const LG3_elet = 300
const LG3_gyorsasag = 250
const Float:LG3_gravitacio = 2.3
const Float:LG3_visszalokodes = 2.3
//Falmaszo
new const LG4_nev[] = { "Falmaszo Zombi" }
new const LG4_info[] = { "Falontud maszni" }
new const LG4_modell[] = { "zclass_falmaszo" }
new const LG4_kezmodell[] = { "falmaszo_kez.mdl" }
const LG4_elet = 2500
const LG4_gyorsasag = 250
const Float:LG4_gravitacio = 0.75
const Float:LG4_visszalokodes = 1.25
/*============================================================================*/
new g_LG_hunter
new g_LG_falmaszo
new bool:g_WallClimb[33]
new Float:g_wallorigin[32][3]
new cvar_zp_wallclimb, cvar_zp_wallclimb_nemesis, cvar_zp_wallclimb_survivor
public plugin_precache()
{
register_plugin("[ZP] Zclass 3.1 Fajok", "3.1", "Dzsee")
g_LG_hunter = zp_register_zombie_class(LG_nev, LG_info, LG_modell, LG_kezmodell, LG_elet, LG_gyorsasag, LG_gravitacio, LG_visszalokodes)
zp_register_zombie_class(LG1_nev, LG1_info, LG1_modell, LG1_kezmodell, LG1_elet, LG1_gyorsasag, LG1_gravitacio, LG1_visszalokodes)
zp_register_zombie_class(LG2_nev, LG2_info, LG2_modell, LG2_kezmodell, LG2_elet, LG2_gyorsasag, LG2_gravitacio, LG2_visszalokodes)
zp_register_zombie_class(LG3_nev, LG3_info, LG3_modell, LG3_kezmodell, LG3_elet, LG3_gyorsasag, LG3_gravitacio, LG3_visszalokodes)
g_LG_falmaszo = zp_register_zombie_class(LG4_nev, LG4_info, LG4_modell, LG4_kezmodell, LG4_elet, LG4_gyorsasag, LG4_gravitacio, LG4_visszalokodes)
}
public zp_user_infected_post(id, infector)
{
if (zp_get_user_zombie_class(infector) == g_LG_hunter)
set_pev(infector, pev_health, float(pev(infector, pev_health) + LG_infecthp))
}
public plugin_init()
{
register_forward(FM_Touch, "fwd_touch")
register_forward(FM_PlayerPreThink, "fwd_playerprethink")
register_event("DeathMsg","EventDeathMsg","a")
cvar_zp_wallclimb = register_cvar("zp_wallclimb", "1")
cvar_zp_wallclimb_survivor = register_cvar("zp_wallclimb_survivor", "0")
cvar_zp_wallclimb_nemesis = register_cvar("zp_wallclimb_nemesis", "1")
}
{
public EventDeathMsg()
{
new id = read_data(2)
g_WallClimb[id] = true
return PLUGIN_HANDLED
}
public client_connect(id) {
g_WallClimb[id] = true
}
public fwd_touch(id, world)
{
if(!is_user_alive(id) || !g_WallClimb[id] || !pev_valid(id))
return FMRES_IGNORED
new player = STR_T
if (!player)
return FMRES_IGNORED
new classname[STR_T]
pev(world, pev_classname, classname, (STR_T))
if(equal(classname, "worldspawn") || equal(classname, "func_wall") || equal(classname, "func_breakable"))
pev(id, pev_origin, g_wallorigin[id])
return FMRES_IGNORED
}
public wallclimb(id, button)
{
static Float:origin[3]
pev(id, pev_origin, origin)
if(get_distance_f(origin, g_wallorigin[id]) > 25.0)
return FMRES_IGNORED
if(fm_get_entity_flags(id) & FL_ONGROUND)
return FMRES_IGNORED
if(button & IN_FORWARD)
{
static Float:velocity[3]
velocity_by_aim(id, 120, velocity)
fm_set_user_velocity(id, velocity)
}
else if(button & IN_BACK)
{
static Float:velocity[3]
velocity_by_aim(id, -120, velocity)
fm_set_user_velocity(id, velocity)
}
return FMRES_IGNORED
}
public fwd_playerprethink(id)
{
if(!g_WallClimb[id] || !zp_get_user_zombie_class(id))
return FMRES_IGNORED
if(zp_is_survivor_round() && get_pcvar_num(cvar_zp_wallclimb_survivor) == 0)
return FMRES_IGNORED
if(zp_is_nemesis_round() && get_pcvar_num(cvar_zp_wallclimb_nemesis) == 0)
return FMRES_IGNORED
new button = fm_get_user_button(id)
if((get_pcvar_num(cvar_zp_wallclimb) == 1) && (button & IN_USE) && (zp_get_user_zombie_class(id) == g_LG_falmaszo))
wallclimb(id, button)
else if((get_pcvar_num(cvar_zp_wallclimb) == 2) && (button & IN_JUMP) && button & IN_DUCK && (zp_get_user_zombie_class(id) == g_LG_falmaszo))
wallclimb(id, button)
return FMRES_IGNORED
}