#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#define PLUGIN "
VIP plugin"
#define VERSION "1.0"
#define AUTHOR "mates15"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
register_event("DeathMsg", "Smierc", "a");
register_message(get_user_msgid("ScoreAttrib"), "NapisVIP");
register_clcmd("say /vips", "PokazVipow");
register_clcmd("say /
vip", "PokazOpcje");
}
public client_putinserver(id)
{
Vip[id] = bool:(get_user_flags(id) & 524288);
}
public Odrodzenie(id)
{
if(!is_user_alive(id)) return;
remove_task(id + 9101);
set_task(1.0, "menu_weapon", id + 9101);
}
public menu_weapon(id)
{
if(!is_user_alive(id-9101) || !
Vip[id-9101]) return;
new menu = menu_create("Wybierz zestaw broni", "handle_menu");
menu_additem(menu, "Granaty + USP");
menu_additem(menu, "Granaty + Deagle");
menu_additem(menu, "Granaty + Glock");
menu_setprop(menu, 4, "Zamknij");
menu_display(id-9101, menu);
}
public handle_menu(id, menu, item)
{
if(item == -3 || !is_user_alive(id) || !
Vip[id]) return;
switch(item)
{
case 0:
{
give_item(id, "weapon_hegreanade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_usp");
cs_set_user_bpammo(id, 16, 100);
}
case 1:
{
give_item(id, "weapon_hegreanade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, 26, 35);
}
case 2:
{
give_item(id, "weapon_hegreanade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_glock18");
cs_set_user_bpammo(id, 17, 120);
}
}
}
public Smierc()
{
new kid = read_data(1);
new id = read_data(2);
if(is_user_alive(kid) &&
Vip[kid] && get_user_team(kid) != get_user_team(id))
{
set_user_health(kid, get_user_health(kid) + read_data(3) ? 15 : 10);
}
}
public NapisVIP()
{
new id = get_msg_arg_int(1);
if(is_user_connected(id) &&
Vip[id])
{
set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? (1<<2) : (1<<0));
}
}
public PokazVipow(id)
{
new vipy[33][64], str[1024], count = 0, i;
for(i = 1; i <= get_maxplayers(); ++i)
{
if(is_user_connected(i) &&
Vip[i])
{
get_user_name(i, vipy[count], 63);
++count;
}
}
if(count)
{
format(str, 1023, "
VIP%s online:^x01 ", str, vipy[i], count > 1 ? "y" : "");
for(i = 0; i < count; ++i)
{
format(str, 1023, "%s%s%s", str, vipy[i], i < count-1 ? ", " : ".");
}
client_print(id, 3, str);
}
else
{
client_print(id, 3, "Brak VIPow online.");
}
return 1;
}
public PokazOpcje(id)
{
show_motd(id, "
vip.txt", "Informacje o Vipie");
return 1;
}