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