Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Blad w logachRun time error 10: native error


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 Aleksiej

    Pomocny

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:61
  • Imię:Abdul
  • Lokalizacja:
Offline

Napisano 19.07.2011 18:03

Blad:
L 07/19/2011 - 10:06:30: [ENGINE] Invalid entity 221
L 07/19/2011 - 10:06:30: [AMXX] Displaying debug trace (plugin "codclass_profesjonalnylekarz.amxx")
L 07/19/2011 - 10:06:30: [AMXX] Run time error 10: native error (native "entity_get_edict")
L 07/19/2011 - 10:06:30: [AMXX]    [0] codclass_profesjonalnylekarz_150437.sma::MedkitThink (line 106)

Kod:
#include <amxmodx>
#include <codmod>
#include <engine>

new sprite_white;
new ilosc_apteczek_gracza[33];
new bool:ma_klase[33];
new bool:moze_skoczyc[33];

new const nazwa[] = "Profesjonalny lekarz (Premium)";
new const opis[] = "Posiada piec apteczek, ma podwojny skok";
new const bronie = 1<<CSW_MP5NAVY | 1<<CSW_DEAGLE | 1<<CSW_SG552;
new const zdrowie = 20;
new const kondycja = 15;
new const inteligencja = 0;
new const wytrzymalosc = 20;

public plugin_init() 
{
	register_plugin(nazwa, "1.0", "QTM_Peyote");
	
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	
	register_think("medkit","MedkitThink");
	
	register_event("ResetHUD", "ResetHUD", "abe");
}

public plugin_precache()
{
	sprite_white = precache_model("sprites/white.spr");
	precache_model("models/w_medkit.mdl");
}

public cod_class_enabled(id)
{
	if(!(get_user_flags(id) & ADMIN_LEVEL_G))
	{
		client_print(id, print_chat, "[%s] Nie masz uprawnien, aby uzywac tej klasy.", nazwa)
		return COD_STOP;
	}
	ma_klase[id] = true;
	ilosc_apteczek_gracza[id] = 5;
	return COD_CONTINUE;
}
	
public cod_class_disabled(id)
	ma_klase[id] = false;

public cod_class_skill_used(id)
{
	if (!ilosc_apteczek_gracza[id])
	{
		client_print(id, print_center, "Wykorzystales juz wszystkie apteczki!");
		return PLUGIN_CONTINUE;
	}
		
	ilosc_apteczek_gracza[id]--;
	
	new Float:origin[3];
	entity_get_vector(id, EV_VEC_origin, origin);
	
	new ent = create_entity("info_target");
	entity_set_string(ent, EV_SZ_classname, "medkit");
	entity_set_edict(ent, EV_ENT_owner, id);
	entity_set_int(ent, EV_INT_solid, SOLID_NOT);
	entity_set_vector(ent, EV_VEC_origin, origin);
	entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
	
	
	entity_set_model(ent, "models/w_medkit.mdl");
	set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) 	;
	drop_to_floor(ent);
	
	entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
	
	return PLUGIN_CONTINUE;
}

public client_PreThink(id)
{
	if(!ma_klase[id])
		return PLUGIN_CONTINUE;
	
	new button = get_user_button(id);
	new oldbutton = get_user_oldbutton(id);
	new flags = get_entity_flags(id);
	if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && moze_skoczyc[id])
	{
		moze_skoczyc[id] = false;
		new Float:velocity[3];
		entity_get_vector(id, EV_VEC_velocity, velocity);
		velocity[2] = random_float(265.0,285.0);
		entity_set_vector(id, EV_VEC_velocity, velocity);
	}
	else if(flags & FL_ONGROUND)	
		moze_skoczyc[id] = true;
		
	return PLUGIN_CONTINUE;
}

public MedkitThink(ent)
{
	new id = entity_get_edict(ent, EV_ENT_owner);
	new dist = 300;
	new heal = 5+floatround(cod_get_user_intelligence(id)*0.5);

	if (entity_get_edict(ent, EV_ENT_euser2) == 1)
	{		
		new Float:forigin[3];
		entity_get_vector(ent, EV_VEC_origin, forigin);
		
		new entlist[33];
		new numfound = find_sphere_class(0,"player", float(dist),entlist, 32,forigin);
		
		for (new i=0; i < numfound; i++)
		{		
			new pid = entlist[i];
			
			if (get_user_team(pid) != get_user_team(id))
				continue;
			
			new maksymalne_zdrowie = 100+cod_get_user_health(pid);
			new zdrowie = get_user_health(pid);
			new Float:nowe_zdrowie = (zdrowie+heal<maksymalne_zdrowie)?zdrowie+heal+0.0:maksymalne_zdrowie+0.0;
			if (is_user_alive(pid)) entity_set_float(pid, EV_FL_health, nowe_zdrowie);	
		}
		
		entity_set_edict(ent, EV_ENT_euser2, 0);
		entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
		
		return PLUGIN_CONTINUE;
	}
	
	if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
	{
		remove_entity(ent);
		return PLUGIN_CONTINUE;
	}
	
	if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
		set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 );
		
	new Float:forigin[3];
	entity_get_vector(ent, EV_VEC_origin, forigin);
					
	new iOrigin[3];
	for(new i=0;i<3;i++)
		iOrigin[i] = floatround(forigin[i]);
		
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
	write_byte( TE_BEAMCYLINDER );
	write_coord( iOrigin[0] );
	write_coord( iOrigin[1] );
	write_coord( iOrigin[2] );
	write_coord( iOrigin[0] );
	write_coord( iOrigin[1] + dist );
	write_coord( iOrigin[2] + dist );
	write_short( sprite_white );
	write_byte( 0 ); // startframe
	write_byte( 0 ); // framerate
	write_byte( 10 ); // life
	write_byte( 10 ); // width
	write_byte( 255 ); // noise
	write_byte( 255 ); // r, g, b
	write_byte( 100 );// r, g, b
	write_byte( 100 ); // r, g, b
	write_byte( 128 ); // brightness
	write_byte( 0 ); // speed
	message_end();
	
	entity_set_edict(ent, EV_ENT_euser2 ,1);
	entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
	
	    
	return PLUGIN_CONTINUE;

}

public ResetHUD(id)
	ilosc_apteczek_gracza[id] = 5;

public client_disconnect(id)
{
	new ent = find_ent_by_class(0, "medkit");
	while(ent > 0)
	{
		if(entity_get_edict(id, EV_ENT_owner) == id)
			remove_entity(ent);
		ent = find_ent_by_class(ent, "medkit");
	}
}


Orientuje sie ktos jak to usunac? :)


Za pomoc oczywiscie +.
  • +
  • -
  • 0

#2 Dwdov

    Profesjonalista

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:172
  • Imię:Dawid
  • Lokalizacja:Jawor
Offline

Napisano 20.07.2011 11:35

Dodaj ta początku

public MedkitThink(ent)

to:

if(!is_valid_ent(ent))
return PLUGIN_HANDLED;

Nie pomagam na PW, tylko na forum.


#3 Aleksiej

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:61
  • Imię:Abdul
  • Lokalizacja:
Offline

Napisano 20.07.2011 18:06

dzięki wielkie, leci +.

Nastepny errory, tym razem w QTM_CodMod.amxx.

Error:
L 07/20/2011 - 00:14:10: [AMXX] Displaying debug trace (plugin "QTM_CodMod.amxx")
L 07/20/2011 - 00:14:10: [AMXX] Run time error 4: index out of bounds 
L 07/20/2011 - 00:14:10: [AMXX]    [0] QTM_CodMod_179955.sma::PobierzPerk (line 1394)
L 07/20/2011 - 00:14:10: Unhandled dynamic native error

L 07/20/2011 - 18:42:34: [AMXX] Displaying debug trace (plugin "QTM_CodMod.amxx")
L 07/20/2011 - 18:42:34: [AMXX] Run time error 3: stack error 
L 07/20/2011 - 18:42:34: [AMXX]    [0] QTM_CodMod_179955.sma::CurWeapon (line 995)

L 07/20/2011 - 18:49:05: [FAKEMETA] Undefined pev index: 255
L 07/20/2011 - 18:49:05: [AMXX] Displaying debug trace (plugin "QTM_CodMod.amxx")
L 07/20/2011 - 18:49:05: [AMXX] Run time error 10: native error (native "set_pev")
L 07/20/2011 - 18:49:05: [AMXX]    [0] QTM_CodMod_179955.sma::MessageHealth (line 443)


Kod:
public PobierzPerk(id, &wartosc)
{
wartosc = wartosc_perku_gracza[id];
return perk_gracza[id];
}


public CurWeapon(id)
{
if(!is_user_connected(id) || get_user_team(id) > 2)
return;

new bron = read_data(2);

new bronie = (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_druzyny[(get_user_team(id))] | bronie_dozwolone);

if(!(1<<bron & bronie))
{
new weaponname[22];

get_weaponname(bron, weaponname, 21);
if(!((1<<bron) & (1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_FLASHBANG)))
engclient_cmd(id, "drop", weaponname);
}

if(cs_get_user_shield(id) && !gracz_ma_tarcze[id])
engclient_cmd(id, "drop", "weapon_shield");

UstawSzybkosc(id);
}


public MessageHealth(msg_id, msg_dest, msg_entity)
{
new health = get_msg_arg_int(1);

if(health < 256)
return;

if (!(health % 256))
set_pev(msg_entity, pev(msg_entity, pev_health)-1);

set_msg_arg_int(1, get_msg_argtype(1), 255);
}




+ za pomoc oczywiscie.

W zalaczniku cale .sma.

Załączone pliki


Użytkownik Aleksiej edytował ten post 20.07.2011 18:24

  • +
  • -
  • 0

#4 Dwdov

    Profesjonalista

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:172
  • Imię:Dawid
  • Lokalizacja:Jawor
Offline

Napisano 20.07.2011 18:49

L 07/20/2011 - 18:49:05: [FAKEMETA] Undefined pev index: 255
L 07/20/2011 - 18:49:05: [AMXX] Displaying debug trace (plugin "QTM_CodMod.amxx")
L 07/20/2011 - 18:49:05: [AMXX] Run time error 10: native error (native "set_pev")
L 07/20/2011 - 18:49:05: [AMXX]    [0] QTM_CodMod_179955.sma::MessageHealth (line 443)
Nie powinno już występować.
L 07/20/2011 - 18:42:34: [AMXX] Displaying debug trace (plugin "QTM_CodMod.amxx")
L 07/20/2011 - 18:42:34: [AMXX] Run time error 3: stack error 
L 07/20/2011 - 18:42:34: [AMXX]    [0] QTM_CodMod_179955.sma::CurWeapon (line 995)
Nie mam pojęcia jak to obejść, prawdopodobnie interpretator czyta to jako zapętlenie funkcji przez samą siebie (engclient_cmd(id, "drop", "weapon_shield"); wywoła event curweapon - ale czy znowu on jest na tyle 'mądry' żeby to wykryć :P?) pomijając warunek if.
L 07/20/2011 - 00:14:10: [AMXX] Displaying debug trace (plugin "QTM_CodMod.amxx")
L 07/20/2011 - 00:14:10: [AMXX] Run time error 4: index out of bounds 
L 07/20/2011 - 00:14:10: [AMXX]    [0] QTM_CodMod_179955.sma::PobierzPerk (line 1394)
L 07/20/2011 - 00:14:10: Unhandled dynamic native error
A to jest pewnie spowodowane błędem w subpluginie, ale mogę się mylić - dopisz debug do wszystkich :D

Załączone pliki


Nie pomagam na PW, tylko na forum.





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych