#include <amxmodx>
#include <amxmisc>
#include <zombieplague>
#include <engine>
#include <fakemeta_util>
#include <fun>
#define PLUGIN "Plugin"
#define VERSION "0.1"
#define AUTHOR "aS"
new bool:uzyl[33], g_maxplayers
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(2.5, "sprawdz", _,_,_, "b")
register_clcmd("radio3", "sprawdz");
}
public sprawdz()
{
if(zp_is_survivor_round())
{
for(new id = 1; id <= g_maxplayers; id++)
{
if(is_user_alive(id) && zp_get_user_survivor(id) && !uzyl[id])
{
if(!is_user_alive(id))
return;
new Float:pusher[3],Float:pushed[3],Float:velocity[3]
pev(id,pev_origin,pusher)
for(new i = 1 ; i<=g_maxplayers ; i++)
{
if(!is_user_alive(id) || i==id || vector_distance(pusher,pushed)>500.0)
continue;
pev(i,pev_origin,pushed)
get_speed_vector(pusher,pushed,1200.0,velocity)
set_pev(i,pev_velocity,velocity)
}
uzyl[id] = true
}
}
}
}
public plugin_cfg(){
g_maxplayers = get_maxplayers()
}
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
new_velocity[0] = origin2[0] - origin1[0]
new_velocity[1] = origin2[1] - origin1[1]
new_velocity[2] = origin2[2] - origin1[2]
new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
new_velocity[0] *= num
new_velocity[1] *= num
new_velocity[2] *= num
return 1;
}
stock createBarTime(id, Float:fTime, startprogress = 0){
static barTime2;
if(!barTime2) barTime2 = get_user_msgid("BarTime2");
message_begin( id ? MSG_ONE : MSG_ALL, barTime2, _, id)
write_short( floatround( fTime ) );
write_short( startprogress );
message_end();
}