←  Problemy z pluginami

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Bledy dwoch klas i pluginu po...


Best Answer Ogen Dogen 06.04.2014 12:30

set_task(600.0, "reklama", _, _, _, "b");

Odwołujesz się do funkcji "reklama" która nie istnieje , przez to plugin głupieje.

L 04/05/2014 - 20:23:53: [HAMSANDWICH] Function fwSpawn_Grawitacja not found.
L 04/05/2014 - 20:23:53: [HAMSANDWICH] Function TakeDamage not found.

I z tego co widzę to masz ten sam problem w reszcie klas ;)

Go to the full post
Locked

  • +
  • -
shajba.'s Photo shajba. 05.04.2014

Witam

 

Mam następujące błędy w logach, które pokazują mi się za każdym razem przy zmianie mapy:

L 04/05/2014 - 20:23:53: Start of error session.
L 04/05/2014 - 20:23:53: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20140405.log")
L 04/05/2014 - 20:23:53: Function is not present (function "reklama") (plugin "premium.amxx")
L 04/05/2014 - 20:23:53: [AMXX] Displaying debug trace (plugin "premium.amxx")
L 04/05/2014 - 20:23:53: [AMXX] Run time error 10: native error (native "set_task")
L 04/05/2014 - 20:23:53: [AMXX]    [0] premium.sma::plugin_init (line 16)
L 04/05/2014 - 20:23:53: [HAMSANDWICH] Function fwSpawn_Grawitacja not found.
L 04/05/2014 - 20:23:53: [AMXX] Run time error 10 (plugin "codclass_soap.amxx") (native "RegisterHam") - debug not enabled!
L 04/05/2014 - 20:23:53: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 04/05/2014 - 20:23:53: [HAMSANDWICH] Function TakeDamage not found.
L 04/05/2014 - 20:23:53: [AMXX] Displaying debug trace (plugin "codclass_pyro.amxx")
L 04/05/2014 - 20:23:53: [AMXX] Run time error 10: native error (native "RegisterHam")
L 04/05/2014 - 20:23:53: [AMXX]    [0] codclass_pyro.sma::plugin_init (line 32)

Plugin premium.amxx dotyczy komendy say /premium wtedy graczowi ukazuję się cennik klas. Dopisałem w plugins.ini debug po tym pluginie ale dalej nic nie dało. Wiem, że chodzi tu o następującą linijkę (set_task(600.0, "reklama", _, _, _, "b") ale jak to naprawić?

#include <amxmodx>
#include <amxmisc>
#include <colorchat>

#define PLUGIN "Premium"
#define VERSION "1.0.0"
#define AUTHOR "Lucas"


public plugin_init()

{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /premium", "motd1")
	register_clcmd("say_team /premium", "motd1")
	set_task(600.0, "reklama", _, _, _, "b");
}

public motd1(id)

{
	show_motd( id,"premium.txt","Premium")
}

Dołączam sma klas "Soap" i "Pyro" których także dotyczą te błędy.

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#include <codmod>

#define DMG_BULLET (1<<1)
new bool:ma_klase[33];

new const nazwa[] = "Soap";
new const opis[] = "Odporny na HeadShoty. Ma zwiekszone obrazenia z M4A1";
new const bronie = 1<<CSW_M4A1;
new const zdrowie = 25;
new const kondycja = 15;
new const inteligencja = 20;
new const wytrzymalosc = 5;

public plugin_init() {
		register_plugin(nazwa, "1.0", "Lucas");

		cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
		register_forward(FM_TraceLine, "TraceLine");
		register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1);
		RegisterHam(Ham_Spawn, "player", "fwSpawn_Grawitacja", 1);
}

public cod_class_enabled(id)
{
		ma_klase[id] = true;
		entity_set_float(id, EV_FL_gravity, 600.0/800.0);
}

public cod_class_disabled(id)
{
        entity_set_float(id, EV_FL_gravity, 1.0);
		set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
		ma_klase[id] = false;
}

public TraceLine(Float:start[3], Float:end[3], conditions, id, trace)
{
		if(get_tr2(trace, TR_iHitgroup) != HIT_HEAD)
				return FMRES_IGNORED;
	  
		new iHit = get_tr2(trace, TR_pHit);
		if(!is_user_connected(iHit))
				return FMRES_IGNORED;
		if(!ma_klase[iHit])
				return FMRES_IGNORED;
	  
		set_tr2(trace, TR_iHitgroup, 8);
		return FMRES_IGNORED;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_connected(idattacker))
		return HAM_IGNORED;
	
	if(!ma_klase[idattacker])
		return HAM_IGNORED;
	
	if(get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET)
		cod_inflict_damage(idattacker, this, 6.0, 0.5, idinflictor, damagebits);
	
	return HAM_IGNORED;
}
#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>
#include <amxmisc>
#include <codmod>
#include <hamsandwich>

#define MAX 32

new sprite_fire,
    sprite_smoke;

new ma_klase[MAX+1], wartosc_perku[MAX+1], palenie_gracza[MAX+1];

new const nazwa[]   = "Pyro";
new const opis[]    = "Posiada 1/3 na podpalenie gracza";
new const bronie    = (1<<CSW_AK47)|(1<<CSW_DEAGLE);
new const zdrowie   = 5;
new const kondycja  = 20;
new const inteligencja = 20;
new const wytrzymalosc = 35;
    
public plugin_init()
{
	register_plugin(nazwa, "1.0", "amxx.pl");

	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

	register_event("Damage", "Damage", "b", "2!=0");
	
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage2");
}


public plugin_precache()
{
	 sprite_fire = precache_model("sprites/fire.spr")
         sprite_smoke = precache_model("sprites/steam1.spr")
}

public cod_class_enabled(id, wartosc)
{
	
	ma_klase[id] = true;
	return COD_CONTINUE;
}

public cod_class_disabled(id)
	ma_klase[id] = false;

public Damage(id)
{
    new attacker = get_user_attacker(id);
     if(!is_user_alive(attacker) || get_user_team(id) == get_user_team(attacker))
        return PLUGIN_CONTINUE;
    
    if(ma_klase[attacker] && random_num(1, 3) == 1)
    {
        if(task_exists(id+2936))
            remove_task(id+2936);
        palenie_gracza[id] = 25;
        new data[2]
        data[0] = id
        data[1] = attacker
        set_task(0.2, "burning_flame", id+2936, data, 2, "b");
    }
    return PLUGIN_CONTINUE;
}

public burning_flame(data[2])
{
    new id = data[0]
    
    if(!is_user_alive(id))
    {
        palenie_gracza[id] = 0
        remove_task(id+2936);
        return PLUGIN_CONTINUE;
    }
    
    new origin[3], flags = pev(id, pev_flags)
    get_user_origin(id, origin)
    
    if(flags & FL_INWATER || palenie_gracza[id] < 1 || !get_user_health(id))
    {
        message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
        write_byte(TE_SMOKE)
        write_coord(origin[0])
        write_coord(origin[1])
        write_coord(origin[2]-50)
        write_short(sprite_smoke)
        write_byte(random_num(15,20))
        write_byte(random_num(10,20))
        message_end()
        
        remove_task(id+2936);
        return PLUGIN_CONTINUE;
    }
    
    if(flags & FL_ONGROUND)
    {
        static Float:velocity[3]
        pev(id, pev_velocity, velocity)
        xs_vec_mul_scalar(velocity, 0.5, velocity)
        set_pev(id, pev_velocity, velocity)
    }
    cod_inflict_damage(data[1], id, 1.0, 1.0, 0, 1<<24);
    
    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
    write_byte(TE_SPRITE)
    write_coord(origin[0]+random_num(-5,5))
    write_coord(origin[1]+random_num(-5,5))
    write_coord(origin[2]+random_num(-10,10))
    write_short(sprite_fire)
    write_byte(random_num(5,10))
    write_byte(200)
    message_end()
    
    palenie_gracza[id]--
    return PLUGIN_CONTINUE;
}   
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Dzięki

 

P.S. Dodałem całe kody dlatego, że nie mogę dodać załączników.

 


Edited by Maniana., 05.04.2014 19:47.
Quote

  • +
  • -
CzarnaDupa's Photo CzarnaDupa 05.04.2014

Dopisz debug do wszystkich 3 pluginów

Quote

  • +
  • -
Best Answer Ogen Dogen's Photo Ogen Dogen 06.04.2014

set_task(600.0, "reklama", _, _, _, "b");

Odwołujesz się do funkcji "reklama" która nie istnieje , przez to plugin głupieje.

L 04/05/2014 - 20:23:53: [HAMSANDWICH] Function fwSpawn_Grawitacja not found.
L 04/05/2014 - 20:23:53: [HAMSANDWICH] Function TakeDamage not found.

I z tego co widzę to masz ten sam problem w reszcie klas ;)

Quote

  • +
  • -
shajba.'s Photo shajba. 06.04.2014

Czyli jak to naprawić?
Quote

  • +
  • -
shajba.'s Photo shajba. 07.04.2014

Ok już naprawiłem.

 

W pluginie "premium" usunąłem:

set_task(600.0, "reklama", _, _, _, "b");

A w klasach:

 

Pyro

RegisterHam(Ham_TakeDamage, "player", "TakeDamage2");

Soap

 

plugin_init

register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1);
RegisterHam(Ham_Spawn, "player", "fwSpawn_Grawitacja", 1);

public cod_class_enabled(id)
      

entity_set_float(id, EV_FL_gravity, 600.0/800.0);

public cod_class_disabled(id)
 

entity_set_float(id, EV_FL_gravity, 1.0);
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
Quote
Locked