←  Problemy z pluginami

AMXX.pl: Support AMX Mod X i SourceMod

»

Nowa klasa, problem z grawitacją

Zablokowany

  • +
  • -
Slawekz - zdjęcie Slawekz 20.02.2011

Witam!
Tworzyłem nową klasę na COD moda, stworzyłem klasę ninja która zabija z noża i jest niewidzialna. Gdy chciałem zrobić aby wysoko skakała ustawiłem grawitację. Przy próbie kompilacji wyskoczyła masa błędów, więc tu kieruję się z prośbą do was abyście dodali do tej klasy wysoki skok.

Niżej podaję zawartość pliku *.sma klasy.


#include <amxmodx>
#include <engine>
#include <cstrike>
#include <codmod>
#include <hamsandwich>
#include <ColorChat>
#include <fun>

#define DMG_BULLET (1<<1)


new bool:ma_klase[33];

new const nazwa[] = "Ninja";
new const opis[] = "Natychmiastowe zabicie z noza(PPM)";
new const bronie = 1<<CSW_KNIFE;
new const zdrowie = -50;
new const kondycja = 70;
new const inteligencja = 10;
new const wytrzymalosc = 3;

public plugin_init() 
{
        register_plugin(nazwa, "1.0", "QTM_Peyote");
        
        cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
        
        RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
        register_event("CurWeapon","CurWeapon","be", "1=1");
}

public cod_class_enabled(id)
{
        if(!(get_user_flags(id) & ADMIN_LEVEL_H)) 
       {
        ColorChat(id, RED, "[Ninja] Nie masz uprawnien, aby korzystac z tej klasy. "); 
        return COD_STOP;
}
        
                ColorChat(id, RED, "[Ninja] Klasa premium ustawiona.") 
                ma_klase[id] = true;
                return COD_CONTINUE;
}
public cod_class_disabled(id)
        ma_klase[id] = false;

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_KNIFE && damagebits & DMG_BULLET && damage > 20.0)
                cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
                
        return HAM_IGNORED;
}

public CurWeapon(id)
{
        if(!ma_klase[id])
                return PLUGIN_CONTINUE; 
        
        if(get_user_weapon(id) == CSW_KNIFE)
                set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 35);
        else
                set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);

       if(ma_klase[id] && read_data(2) != CSW_KNIFE)
        {
                        set_task(0.1 ,"ma" ,id)
        }
}

public ma(id)
{
        strip_user_weapons(id);
        give_item(id, "weapon_knife");
}

Pozdrawiam i z góry dziękuję.

Załączone pliki


Użytkownik Slawekz edytował ten post 20.02.2011 17:07
Odpowiedz
Zablokowany