Proszę
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <cstrike>
#define MAX_DIST 8192.0
#define MAX 32
new const nazwa[] = "ProfesorX";
new const opis[] = "Widzi wrogów na radarze, posiada otumaniacz";
new const bronie = (1<<CSW_FAMAS)|(1<<CSW_DEAGLE);
new const zdrowie = 110;
new const kondycja = -10;
new const inteligencja = 10;
new const wytrzymalosc = 0;
new bool:ma_klase[33], bool:radar[2], bool:uav[MAX+1];
new emp_czasowe;
new ilosc_uzyc[33], oszolomienie[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "Alelluja");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("ResetHUD", "ResetHUD", "abe");
set_task (2.0,"radar_scan",_,_,_,"b");
}
public cod_class_enabled(id)
{
if(!emp_czasowe || (emp_czasowe && get_user_team(id) == get_user_team(emp_czasowe)))
CreateUVA(id);
ilosc_uzyc[id] = 2
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ilosc_uzyc[id] = 0;
ma_klase[id] = false;
uav[id] = false;
}
public cod_class_skill_used(id)
{
if(!ilosc_uzyc[id]) {
return PLUGIN_HANDLED;
}
new ofiara, body;
get_user_aiming(id, ofiara, body);
if(is_user_alive(ofiara)){
if(get_user_team(ofiara) == get_user_team(id)) {
return PLUGIN_HANDLED;
}
}
if(oszolomienie[id]+10.0>get_gametime()) {
client_print(id,print_chat,"Skilla mozesz uzyc raz na 10 sek.");
return PLUGIN_HANDLED;
}
oszolomienie[id] = floatround(get_gametime());
ilosc_uzyc[id]--;
przekrec_ekran(id, ofiara)
return PLUGIN_HANDLED;
}
public przekrec_ekran(id, ofiara)
{
new Float:badvec[3] = {-200.0, -200.0, -200.0};
for(new j = 0;j<6;j++)
{
set_pev(ofiara,pev_punchangle,badvec);
set_pev(ofiara,pev_punchangle,badvec);
set_pev(ofiara,pev_punchangle,badvec);
}
}
public ResetHUD(id) {
if(ma_klase[id] == true) {
ilosc_uzyc[id] = 2;
}
}
public CreateUVA(id)
{
static CzasUav[2];
new team = get_user_team(id) == 1? 0: 1;
uav[id] = false;
radar[team] = true;
new num, players[32];
get_players(players, num, "gh")
for(new a = 0; a < num; a++)
{
new i = players[a]
if(get_user_team(id) != get_user_team(i))
client_cmd(i, "spk sound/mw/uav_enemy.wav")
else
client_cmd(i, "spk sound/mw/uav_friend.wav")
}
radar_scan()
if(task_exists(7354+team))
{
new times = (CzasUav[team]-get_systime())+9999
change_task(7354+team, float(times));
CzasUav[team] = CzasUav[team]+times;
}
else
{
new data[1];
data[0] = team;
set_task(9999.0, "deluav", 7354+team, data, 1);
CzasUav[team] = get_systime()+9999;
}
}
public deluav(data[1])
{
radar[data[0]] = false;
}
public radar_scan()
{
new num, players[32];
get_players(players, num, "gh")
for(new i=0; i<num; i++)
{
new id = players[i];
if(!is_user_alive(id) || !ma_klase[id] || !radar[get_user_team(id) == 1? 0: 1])
continue;
if(!emp_czasowe)
radar_continue(id)
else if(get_user_team(id) == get_user_team(emp_czasowe))
radar_continue(id)
}
}
radar_continue(id)
{
new num, players[32], PlayerCoords[3]
get_players(players, num, "gh")
for(new a=0; a<num; a++)
{
new i = players[a]
if(!is_user_alive(i) || !ma_klase[id] || get_user_team(i) == get_user_team(id))
continue;
get_user_origin(i, PlayerCoords)
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id)
write_byte(id)
write_byte(i)
write_coord(PlayerCoords[0])
write_coord(PlayerCoords[1])
write_coord(PlayerCoords[2])
message_end()
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id)
write_byte(i)
message_end()
}
}