Chciałbym zrobić klasę ninja.
Chciałem połączyć umiejętności takie jak grawitacja, bardzo małą widoczność na nożu, 1/1 z kosy [ppm], 3 skoki i ciche chodzenie.
Miałem już prawie wszystko zapisane.. bez errorów, lecz gdy daję niewidzialność to się wszystko psuje..
Takie coś mam obecnie. Nie wychodzi mi ![]()
#include <amxmodx>
#include <fun>
#include <codmod>
#include <engine>
#include <ColorChat>
#include <fakemeta>
#include <hamsandwich>
#define DMG_BULLET (1<<1)
new const nazwa[] = "Ninja";
new const opis[] = "Posiada miecz samurajski , Deagle , 1/1 z noza (PPM) , Bardzo szybki, mało widoczny";
new const bronie = 1<<CSW_KNIFE | 1<<CSW_DEAGLE;
new const zdrowie = -30;
new const kondycja = 60;
new const inteligencja = 0;
new const wytrzymalosc = 10;
new bool:ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("CurWeapon", "CurWeapon", "be", "1=1")
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
set_user_footsteps(id, 1);
ma_klase[id] = true;
set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 40); // Zamiast 40 dajemy dowolną wartość w granicach 1-255
}
public cod_class_disabled(id)
{
set_user_footsteps(id, 0);
ma_klase[id] = false;
set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255); // Koniecznie 255, ustawia to pełną widzialność, jeżeli gracz zmieni klasę
}
public plugin_precache()
{
precache_model("models/knife/p_knife.mdl");
precache_model("models/knife/v_knife.mdl");
}
public CurWeapon(id)
{
new weapon = read_data(2);
if(ma_klase[id])
{
if(weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/knife/v_knife.mdl")
set_pev(id, pev_weaponmodel2, "models/knife/p_knife.mdl")
}
}
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);
if(weapon == CSW_KNIFE && damage > 20.0 && random_num(1,1) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}
return HAM_IGNORED;
}
Użytkownik PiesOreo edytował ten post 04.11.2014 10:32


Dodatki SourceMod




Temat jest zamknięty


codclass_ninja.amxx







