←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Plugin wywołuje error jak się...

Zablokowany

  • +
  • -
TaLoN - zdjęcie TaLoN 31.05.2015

Cześć, mam problem z pluginem na serwer [ZP] otóż co jakiś czas wywołuje on error, jest to plugin dla Ekwipunku "Zombie"

Plugin sprawdzał się dobrze tylko teraz jak ktoż kupi bombe rzuci ją to automatycznie serwer się zawiesza ze statusem: Sprawdzam 

 

Logi

L 05/30/2015 - 13:55:58: Start of error session.
L 05/30/2015 - 13:55:58: Info (map "zm_hs_horror") (file "addons/amxmodx/logs/error_20150530.log")
L 05/30/2015 - 13:55:58: [AMXX] Displaying debug trace (plugin "zp_extra_zombiebomb.amxx")
L 05/30/2015 - 13:55:58: [AMXX] Run time error 3: stack error 
L 05/30/2015 - 13:55:58: [AMXX]    [0] zp_extra_zombiebomb.sma::ham_strip_weapon (line 371)
L 05/30/2015 - 13:55:58: [AMXX]    [1] zp_extra_zombiebomb.sma::EV_DeathMsg (line 170)

proszę o pomoc

Odpowiedz

  • +
  • -
Z!3L0ny - zdjęcie Z!3L0ny 31.05.2015

dodaj debug do 

zp_extra_zombiebomb.amxx
Odpowiedz

  • +
  • -
TaLoN - zdjęcie TaLoN 31.05.2015

Właśnie tak mam:

zp_extra_zombiebomb.amxx debug

ale nadal jest error

 

Czy to zależy też, że nie ma średnika ?

zp_extra_zombiebomb.amxx ;debug
Odpowiedz

  • +
  • -
Z!3L0ny - zdjęcie Z!3L0ny 31.05.2015

Nie błąd jest w sma nigdy się nie dodaje średnika w debug

Odpowiedz

  • +
  • -
TaLoN - zdjęcie TaLoN 31.05.2015

Czyli co trzeba zrobić?

 

Znalazłem w tym pluginie error

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

zp_extra_zombiebomb.sma(1) : error 010: invalid function or declaration
include/engine.inc(16) : error 017: undefined symbol "AMXX_VERSION_NUM"
zp_extra_zombiebomb.sma(404) : error 001: expected token: "}", but found "-end of file-"

3 Errors.
Could not locate output file zp_extra_zombiebomb.amxx (compile failed).

Ktoś pomoze?

 


Użytkownik TaLoN edytował ten post 31.05.2015 19:16
Odpowiedz

  • +
  • -
Z!3L0ny - zdjęcie Z!3L0ny 31.05.2015

Czyli co trzeba zrobić?

 

Znalazłem w tym pluginie error

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

zp_extra_zombiebomb.sma(1) : error 010: invalid function or declaration
include/engine.inc(16) : error 017: undefined symbol "AMXX_VERSION_NUM"
zp_extra_zombiebomb.sma(404) : error 001: expected token: "}", but found "-end of file-"

3 Errors.
Could not locate output file zp_extra_zombiebomb.amxx (compile failed).

Ktoś pomoze?

Daj sma

Odpowiedz

  • +
  • -
TaLoN - zdjęcie TaLoN 31.05.2015

Proszę.

#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>
#include <zombieplague>

new const PLUGIN_INFO[] = 
{
	"[ZP] ZombieBomb",
	"2.0",
	"Zombie-rus/heka"
}

#pragma tabsize 0
new SayText

const g_item_cost = 3

#define ZOMBIE_BOMB_V 	 			"models/cz/v_zombibomb.mdl"
#define ZOMBIE_BOMB_P	 			"models/cz/p_zombibomb.mdl"
#define ZOMBIE_BOMB_W 	 			"models/cz/w_zombibomb.mdl"

#define ZOMBIE_BOMB_BUY 			"items/gunpickup2.wav"
#define ZOMBIE_BOMB_EXP 			"nst_zombie/zombi_bomb_exp.wav"

#define ZOMBIE_BOMB_EXP_SPR			"sprites/knockbackbomb/zombiebomb_exp.spr"

new const frogbomb_sound [ ] = { "nst_zombie/zombi_bomb_pull_1.wav", "nst_zombie/zombi_bomb_deploy.wav" }
new const frogbomb_sound_idle [ ] = { "nst_zombie/zombi_bomb_idle_1.wav", "nst_zombie/zombi_bomb_idle_2.wav", "nst_zombie/zombi_bomb_idle_3.wav", "nst_zombie/zombi_bomb_idle_4.wav" }

#define ZOMBIE_BOMB_EXP_RADIUS		300.0
#define ZOMBIE_BOMB_EXP_POWER		650.0

#define NADE_TYPE_ZOMBIEBOMB    	26517

new g_ZombieBomb_ExpSpr
new g_ZombieBombID
new g_ZombieBomb [33]
new g_ZombieBomb_Icon[33][32]

public plugin_init ()
{
	register_plugin(PLUGIN_INFO[0],PLUGIN_INFO[1],PLUGIN_INFO[2])

	RegisterHam(Ham_Item_Deploy,"weapon_smokegrenade","FwdItemDeployPost",1);
	register_event("DeathMsg","EV_DeathMsg","a")
	register_event("CurWeapon","grenade_icon","be","1=1")
	
	register_forward(FM_SetModel,"fw_SetModel")
	RegisterHam(Ham_Think, "grenade","fw_ThinkGrenade")
	SayText = get_user_msgid("SayText")
	
	g_ZombieBombID = zp_register_extra_item ( "ML_KNOCKBACK_BOMB", g_item_cost, ZP_TEAM_ZOMBIE )
	
	register_dictionary("zombie_plague.txt")
}

public plugin_precache ( )
{
	precache_model(ZOMBIE_BOMB_P)
	precache_model(ZOMBIE_BOMB_V)
	precache_model(ZOMBIE_BOMB_W)

	precache_sound(ZOMBIE_BOMB_BUY)
	precache_sound(ZOMBIE_BOMB_EXP)
	
	precache_sound ( frogbomb_sound )
	precache_sound ( frogbomb_sound_idle )
	
	precache_generic("sprites/weapon_knockback_shaxu.txt")
	precache_generic("sprites/knockbackbomb/640hud61x.spr")	
	precache_generic("sprites/knockbackbomb/640hud7x.spr")	

	g_ZombieBomb_ExpSpr = precache_model (ZOMBIE_BOMB_EXP_SPR)
	
	register_clcmd("weapon_knockback_shaxu","Hook_SelectWeapon")		
}

public zp_extra_item_selected(id, itemid)
{
		if (itemid != g_ZombieBombID)
		return;
	
		if (g_ZombieBomb[id] >= 1 )
		{
			zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + g_item_cost)
			ChatColor(id, "!g[ZP]!y %L", id, "KNOCKBACK_MAX" )
			return;
		}

		fm_give_item (id, "weapon_smokegrenade")
		emit_sound (id, CHAN_ITEM, ZOMBIE_BOMB_BUY, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

		message_begin(MSG_ONE,get_user_msgid( "AmmoPickup"), _,id)
		write_byte (13)
		write_byte (1)
		message_end ()	
		
		WeaponList_Change(id,true)
		
		g_ZombieBomb [id] = 1
}

public zp_user_infected_post(id)
{
	if(zp_get_user_nemesis(id) || zp_is_survivor_round() || zp_is_nemesis_round())
		return;
	
	fm_give_item(id, "weapon_smokegrenade")
	engclient_cmd(id, "weapon_knife")
	cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1)
	emit_sound (id,CHAN_ITEM,ZOMBIE_BOMB_BUY,VOL_NORM,ATTN_NORM,0,PITCH_NORM)
	
	message_begin(MSG_ONE,get_user_msgid( "AmmoPickup"), _,id)
	write_byte (13)
	write_byte (1)
	message_end ()	
	
	WeaponList_Change(id,true)
	
	g_ZombieBomb [id] = 1
}

public zp_user_humanized_post(id)
{
	WeaponList_Change(id,false)
	g_ZombieBomb [id] = 0	
}

public zp_round_ended(id) 
{
	for (new i = 1; i <= get_maxplayers(); i++) 
	{
		if (is_user_alive(i) && zp_get_user_zombie(i)) 
		{
			ham_strip_weapon(i , "weapon_smokegrenade")
			WeaponList_Change(i,false)
			g_ZombieBomb[i] = 0
		}
	}
}

public Hook_SelectWeapon(id) engclient_cmd(id,"weapon_smokegrenade")		
public client_connect(id) g_ZombieBomb[id] = 0

public FwdItemDeployPost(entity)
{
	static id;
	id = get_pdata_cbase(entity, 41, 4);
 
	if(zp_get_user_zombie(id))
	{
		set_pev(id,pev_viewmodel2,ZOMBIE_BOMB_V)
		set_pev(id,pev_weaponmodel2,ZOMBIE_BOMB_P)
	}
}

public EV_DeathMsg()
{
	new iVictim = read_data (2)

	if (!is_user_connected(iVictim))
		return;
		
	if(!zp_get_user_zombie(iVictim))
		return
		
	remove_grenade_icon(iVictim)		
	ham_strip_weapon(iVictim,"weapon_smokegrenade")
	WeaponList_Change(iVictim,false)
	g_ZombieBomb[iVictim] = 0
}

public fw_SetModel(Entity,const Model[])
{
	if (Entity < 0)
		return FMRES_IGNORED;

	if (pev(Entity,pev_dmgtime) == 0.0)
		return FMRES_IGNORED;

	new iOwner = entity_get_edict ( Entity, EV_ENT_owner )

	if ( g_ZombieBomb [ iOwner ] >= 1 && equal ( Model [ 7 ], "w_sm", 4 ) )
	{
		set_pev(Entity,pev_flTimeStepSound,0)
		set_pev(Entity,pev_flTimeStepSound,NADE_TYPE_ZOMBIEBOMB)

		g_ZombieBomb[iOwner]--
		entity_set_model(Entity, ZOMBIE_BOMB_W)

		fm_set_rendering(Entity,kRenderFxHologram,255,165,0,kRenderNormal,16)

		return FMRES_SUPERCEDE;
	}
	return FMRES_IGNORED;
}

public fw_ThinkGrenade(Entity)
{
	if (!pev_valid(Entity))
		return HAM_IGNORED;

	static Float:dmg_time
	pev (Entity,pev_dmgtime,dmg_time)

	if (dmg_time > get_gametime())
		return HAM_IGNORED;

	if (pev(Entity,pev_flTimeStepSound) == NADE_TYPE_ZOMBIEBOMB)
	{
		jumping_explode (Entity)
		return HAM_SUPERCEDE;
	}
	return HAM_IGNORED;
}

public jumping_explode (Entity)
{
	if(Entity < 0)
		return

	static Float:flOrigin [3]
	pev(Entity,pev_origin,flOrigin)

	engfunc(EngFunc_MessageBegin,MSG_PVS,SVC_TEMPENTITY,flOrigin,0)
	write_byte(TE_SPRITE)
	engfunc(EngFunc_WriteCoord,flOrigin [0])
	engfunc(EngFunc_WriteCoord,flOrigin [1])
	engfunc(EngFunc_WriteCoord,flOrigin [2] + 45.0)
	write_short( g_ZombieBomb_ExpSpr )
	write_byte(35)
	write_byte(186)
	message_end()

	emit_sound (Entity,CHAN_WEAPON,ZOMBIE_BOMB_EXP,VOL_NORM,ATTN_NORM,0,PITCH_NORM)

	for (new i = 1; i < get_maxplayers (); i++)
	{
		if (!is_user_alive(i))
			continue;

		new Float:flVictimOrigin [3]
		pev (i,pev_origin,flVictimOrigin)

		new Float:flDistance = get_distance_f(flOrigin,flVictimOrigin)

		if (flDistance <= ZOMBIE_BOMB_EXP_RADIUS)
		{
			static Float:flSpeed
			flSpeed = ZOMBIE_BOMB_EXP_POWER

			static Float:flNewSpeed
			flNewSpeed = flSpeed * (1.0 - ( flDistance / ZOMBIE_BOMB_EXP_RADIUS))

			static Float:flVelocity [3]
			get_speed_vector(flOrigin,flVictimOrigin,flNewSpeed,flVelocity)

			set_pev (i,pev_velocity,flVelocity)

			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenShake"), _, i)
			write_short((1<<12)*4) // amplitude
			write_short((1<<12)*10) // duration
			write_short((1<<12)*10) // frequency
			message_end()
			
			if(zp_get_user_zombie(i))
			{
				if (pev(i, pev_health) - 20.0 <= 0) ExecuteHamB(Ham_Killed, i, i, 1)
				else ExecuteHamB(Ham_TakeDamage, i, 0, i, 0.0, DMG_BLAST)
			}			
		}
	}
	engfunc(EngFunc_RemoveEntity,Entity)
}

public WeaponList_Change(id,bool:change)
{
	if (!is_user_connected(id))
		return;
	
	message_begin(MSG_ONE, get_user_msgid("WeaponList"), {0,0,0}, id)
	if (bool:change)
		write_string("weapon_knockback_shaxu")
	else
		write_string("weapon_smokegrenade")
	write_byte(13)
	write_byte(1)
	write_byte(-1)
	write_byte(-1)
	write_byte(3)
	write_byte(3)
	write_byte(9)
	write_byte(24)
	message_end()
}

public grenade_icon(id)
{
	remove_grenade_icon(id)

	if(is_user_bot(id))
		return

	static igrenade, grenade_sprite[16], grenade_color[3]
	igrenade = get_user_weapon(id)

	switch(igrenade)
	{
		case CSW_SMOKEGRENADE:
		{
			if(!is_user_alive(id) || zp_get_user_zombie(id))
			{
				grenade_sprite = "dmg_gas"
				grenade_color = {255, 165, 0}
			}
			else
			{
				grenade_sprite = ""
				grenade_color = {0, 0, 0}
			}
		}
		default: return
	}
	g_ZombieBomb_Icon[id] = grenade_sprite

	message_begin(MSG_ONE,get_user_msgid("StatusIcon"),{0,0,0},id)
	write_byte(1)
	write_string(g_ZombieBomb_Icon[id])
	write_byte(grenade_color[0])
	write_byte(grenade_color[1])
	write_byte(grenade_color[2])
	message_end()

	return
}

public remove_grenade_icon(id)
{
	message_begin(MSG_ONE,get_user_msgid("StatusIcon"),{0,0,0},id)
	write_byte(0)
	write_string(g_ZombieBomb_Icon[id])
	message_end()
}

stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
	new_velocity[0] = origin2[0] - origin1[0]
	new_velocity[1] = origin2[1] - origin1[1]
	new_velocity[2] = origin2[2] - origin1[2]
	new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
	new_velocity[0] *= num
	new_velocity[1] *= num
	new_velocity[2] *= num

	return 1;
}

stock ham_strip_weapon(id,weapon[])
{
	if(!equal(weapon,"weapon_",7)) return 0

    new wId = get_weaponid(weapon)
    if(!wId) return 0

    new wEnt
    while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
    if(!wEnt) return 0

    if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt)

    if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0
    ExecuteHamB(Ham_Item_Kill,wEnt);

    set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId))

    return 1
}

stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)

    replace_all(msg, 190, "!g", "^4") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!t", "^3") // Team Color
    replace_all(msg, 190, "!t2", "^0") // Team2 Color

    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }

Odpowiedz

  • +
  • -
Z!3L0ny - zdjęcie Z!3L0ny 31.05.2015

Zobacz to:

Spoiler
Odpowiedz

  • +
  • -
TaLoN - zdjęcie TaLoN 01.06.2015

Działa wielkie + dla cb!

Do zamknięcia.

Odpowiedz

  • +
  • -
MAGNET - zdjęcie MAGNET 04.06.2015

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany