Witam.
Mam otóż taki problem.
Zrobiłem klasę, która może podpalić wroga. Nie wiem, co zrobić, by podpalenie zadawało 200 obrażeń. Wpisałem niewidzialność klasy na 60 pkt. i jest całkowicie widzialny.
Proszę o jak najszybszą pomoc w sprawie podpalenia i widoczności.
#include <amxmodx> #include <codmod> #include <fakemeta> #include <xs> #include <hamsandwich> #include <fun> #include <engine> #define DMG_BULLET (1<<1) #define MAX 32 new const nazwa[] = "(Premium)HellBoy"; new const opis[] = "Masz 1/5 na podpalenie wroga, 1/6 z M4A1, Widocznosc spada do 60, +2 skoki"; new const bronie = 1<<CSW_M4A1; new const zdrowie = 20; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 20; new sprite_fire, sprite_smoke; new skoki[33]; new ma_klase[MAX+1], palenie_gracza[MAX+1]; public plugin_init() { register_plugin(nazwa, "1.0", "Lajon"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_event("Damage", "Damage", "b", "2!=0"); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); register_forward(FM_CmdStart, "fwCmdStart_MultiJump"); } public plugin_precache() { sprite_fire = precache_model("sprites/fire.spr") sprite_smoke = precache_model("sprites/steam1.spr") } public cod_class_enabled(id) { if(!(get_user_flags(id) & ADMIN_LEVEL_E)) { client_print(id, print_chat, "[(Premium)HellBoy] Nie masz uprawnien, aby uzywac tej klasy.") return COD_STOP; set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 60); } ma_klase[id] = true; return COD_CONTINUE; } public cod_class_disabled(id) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); ma_klase[id] = false; } public Damage(id) { new attacker = get_user_attacker(id); if(!is_user_alive(attacker)) return PLUGIN_CONTINUE; if(id == attacker) return PLUGIN_CONTINUE; if(ma_klase[attacker] && random_num(1, 5) == 1) { if(task_exists(id+2936)) remove_task(id+2936); palenie_gracza[id] = 500; 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, DMG_BURN); 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; } 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 && random_num(1,6) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; } public fwCmdStart_MultiJump(id, uc_handle) { if(!is_user_alive(id) || !ma_klase[id]) return FMRES_IGNORED; new flags = pev(id, pev_flags); if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]) { skoki[id]--; new Float:velocity[3]; pev(id, pev_velocity,velocity); velocity[2] = random_float(265.0,285.0); set_pev(id, pev_velocity,velocity); } else if(flags & FL_ONGROUND) skoki[id] = 2; return FMRES_IGNORED; }