Po rozpoczęciu rundy i wybraniu trybu gry wszystkie zombie/nemesis zostają zamrożone na określony czas i po tym czasie normalnie mogą się ruszać.
Początkowo plugin zamrażał tylko pierwsze zombie oraz nie odmrażał go, co udało mi się samemu naprawić.
Jednak w dalszym ciągu plugin nie działa poprawnie gdyż w trakcie rundy zarażony gracz zostaje zamrożony co nie powinno się dziać.
Zwracam się do was z prośbą o pomoc w naprawieniu tej usterki.
#include <amxmodx>
#include <zombieplague>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#include <fun>
#include <amxmisc>
#define PLUGIN "zombie_freeze"
#define VERSION "1.0"
#define AUTHOR "author"
new bool:zamrozony[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("runda",2,"1=Round_Start")
register_logevent("func_round",2,"1=Round_End")
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
}
public zp_user_infected_post(id)
{
if (zp_get_user_zombie(id))
{
zamrozony[id] = true
set_user_godmode(id, 1)
set_user_maxspeed(id, 1.0)
set_task(10.0, "reset", id)
}
}
public fw_PlayerPreThink(id)
{
if (!zamrozony[id]) return PLUGIN_CONTINUE
set_user_maxspeed(id, 1.0)
if( get_user_button(id) & IN_ATTACK && is_user_alive(id))
{
new buttons = pev(id,pev_button)
set_pev(id,pev_button,(buttons & ~IN_ATTACK));
return FMRES_HANDLED;
}
if( get_user_button(id) & IN_ATTACK2 && is_user_alive(id))
{
new buttons = pev(id,pev_button)
set_pev(id,pev_button,(buttons & ~IN_ATTACK2));
return FMRES_HANDLED;
}
return PLUGIN_CONTINUE
}
public reset(id)
{
zamrozony[id] = false
set_user_godmode(id, 0)
set_user_maxspeed(id, 255.0)
}
Użytkownik TheArek001 edytował ten post 30.04.2014 09:28