Błąd ze spowolnieniem
Elder98
11.07.2013
Witam. Zrobiłem sobie klasę która spowalnia wrogów. Jednak znalazłem jeden błąd który mnie denerwuje.
A mianowicie jest to błąd, że gdy przeciwnik zostanie spowolniony to gdy zmieni bron to znów porusza się normalnie.
Podaję sma klasy
#include <amxmodx> #include <amxmisc> #include <fun> #include <codmod> #include <engine> #include <hamsandwich> #include <fakemeta> #define TASK_ID 128000 new const nazwa[] = "Lodowy Samuraj"; new const opis[] = "Samuraj posiada miecz samurajski , wyzej skaczy , jest prawie nie widzialny"; new const bronie = 0; new const zdrowie = 5; new const kondycja = 25; new const inteligencja = 0; new const wytrzymalosc = 15; new bool:ma_klase[32] new bool:spowolnij[33]; public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, "Zwykle"); RegisterHam(Ham_Spawn, "player", "fwSpawn_Grawitacja", 1); register_event("CurWeapon", "CurWeapon", "be", "1=1") register_event("CurWeapon", "eventKnife_Niewidzialnosc", "be", "1=1"); register_event("Damage", "Damage", "be", "2!0", "3=0", "4!0") register_event("ResetHUD", "ResetHUD", "abe"); register_forward(FM_PlayerPreThink, "client_PreThink"); } public cod_class_enabled(id) { entity_set_float(id, EV_FL_gravity, 350.0/800.0); ma_klase[id] = true; } public cod_class_disabled(id) { entity_set_float(id, EV_FL_gravity, 1.0); ma_klase[id] = false; set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); } public fwSpawn_Grawitacja(id) { if(ma_klase[id]) entity_set_float(id, EV_FL_gravity, 350.0/800.0); } public plugin_precache() { precache_model("models/knife/samuraj/p_knife.mdl"); precache_model("models/knife/samuraj/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/samuraj/v_knife.mdl") set_pev(id, pev_weaponmodel2, "models/knife/samuraj/p_knife.mdl") } } } public eventKnife_Niewidzialnosc(id) { if(!ma_klase[id]) return; if( read_data(2) == CSW_KNIFE ) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 35); } else { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); } } #define TASK_ZATRUCIE 64000 public Damage(id) { new attacker = get_user_attacker(id); if(!is_user_alive(attacker)) return; spowolnij[id] = true; set_pev(id, pev_maxspeed, pev(id, pev_maxspeed)*0.6); } public ResetHUD(id) { spowolnij[id] = false; } public MocZaladowana(id) { id -= TASK_ID; if(!ma_klase[id]) return; CurWeapon(id); }