Chciałbym do menu dodać opcje /deagle - daje deagla graczowi i /ak47 - daje ak47 graczowi.
Dla menu w CT.
Proszę o pomoc
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
#include <jailbreak>
#define PLUGIN "Jail Menu"
#define VERSION "1.0.6"
#define AUTHOR "Cypis"
new bool:menu_mikro, bool:menu_walka;
new w_trakcie[33];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("Damage", "Damage", "b", "2!=0");
register_event("ResetHUD", "SpawnPlayer", "be")
register_clcmd("+revision", "wlacz_rewizje");
register_clcmd("-revision", "wylacz_rewizje");
register_clcmd("say /menu", "MenuGraczy");
register_clcmd("say /mp3stop", "MP3STOP");
}
public MP3STOP(id)
{
client_cmd(id, "mp3 stop");
}
public plugin_precache()
{
precache_sound("weapons/c4_disarm.wav");
precache_sound("weapons/c4_disarmed.wav");
precache_generic("sound/cs-b/boks2.mp3");
}
public SpawnPlayer(id)
{
w_trakcie[id] = 0;
remove_task(5000+id);
}
public MenuGraczy(id)
{
if(!is_user_alive(id))
{
MenuGraczaNieZywego(id);
return PLUGIN_HANDLED;
}
switch(get_user_team(id))
{
case 1: MenuGraczaTT(id);
case 2: MenuGraczaCT(id);
}
return PLUGIN_HANDLED;
}
public MenuGraczaTT(id)
{
new menu = menu_create("Menu Wieznia:", "Handel_Menu");
menu_additem(menu, "Gangi", "15");
menu_additem(menu, "Czapki", "3");
menu_additem(menu, "Kolor czapki", "14");
menu_additem(menu, "Kradnij Bron", "4");
menu_additem(menu, "Sklep", "1");
menu_additem(menu, "LoS", "2");
menu_additem(menu, "Misje", "17");
menu_additem(menu, "Wezwanie", "16");
menu_additem(menu, "Zatrzymaj muzyke /r/mp3stop", "12");
menu_additem(menu, "\yInformacje VIP", "0");
menu_additem(menu, "\yZbinduj menu serwera pod klawisz \r'V'", "13");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}
public MenuGraczaCT(id)
{
new menu = menu_create("Menu Straznika:", "Handel_Menu");
new cb = menu_makecallback("Menu_Callback");
menu_additem(menu, "Prowadz", "6", 1, cb);
menu_additem(menu, "Przeszukaj Wieznia","5");
menu_additem(menu, "Otworz Cele", "7", 2, cb);
menu_additem(menu, "Tryb Walki", "8", 3, cb);
menu_additem(menu, "Mikro dla TT", "9", 3, cb);
menu_additem(menu, "Zabawy", "10", 3, cb);
menu_additem(menu, "Manager FD i Duszek","11", 3, cb);
menu_additem(menu, "Czapki", "3");
menu_additem(menu, "Kolor czapki", "14");
menu_additem(menu, "LoS", "2");
menu_additem(menu, "Wezwanie", "16");
menu_additem(menu, "\yInformacje VIP", "0");
menu_additem(menu, "\yZbinduj menu serwera pod klawisz \r'V'", "13");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}
public MenuGraczaNieZywego(id)
{
new menu = menu_create("Menu Widza:", "Handel_Menu");
menu_additem(menu, "\yInformacje VIP", "0");
menu_additem(menu, "\yZbinduj menu serwera pod klawisz \r'V'", "13");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}
public Menu_Callback(id, menu, item)
{
static num[10], acces, callback;
menu_item_getinfo(menu, item, acces, num, 9, _, _, callback);
switch(acces)
{
case 1:{
if(jail_get_prowadzacy() || !jail_get_days()) {
return ITEM_DISABLED;
}
}
case 2:{
if(id != jail_get_prowadzacy() && jail_get_days()) {
return ITEM_DISABLED;
}
}
case 3:{
if(id != jail_get_prowadzacy()) {
return ITEM_DISABLED;
}
}
}
return ITEM_ENABLED;
}
public Handel_Menu(id, menu, item)
{
if(item == MENU_EXIT)
return;
new num[10], acces, callback;
menu_item_getinfo(menu, item, acces, num, 9, _, _, callback);
switch(str_to_num(num))
{
case 0: show_motd(id, "vip.txt", "Informacje - VIP");
case 1: client_cmd(id, "say /sklep");
case 2: client_cmd(id, "say /los");
case 3: client_cmd(id, "say /czapki");
case 4:
{
if(jail_get_prisoner_free(id) || jail_get_user_block(id))
return;
new body, target;
get_user_aiming(id, target, body, 50);
if(target && get_user_team(target) == 1)
{
ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Nie nacelowales na straznika");
return;
}
if(!is_user_alive(target))
return;
new weapons = Jaki_Pistolet(target);
if(!weapons)
{
ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Straznik nie ma broni krotkiej");
return;
}
new weaponname[24];
get_weaponname(weapons, weaponname, 23);
ham_strip_weapon(target, weapons, weaponname);
give_item(id, weaponname);
ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Gratulacje - Ukradles bron");
}
case 5: w_trakcie[id]? wylacz_rewizje(id): wlacz_rewizje(id);
case 6:{
if(!jail_get_prowadzacy())
jail_set_prowadzacy(id);
}
case 7: jail_open_cele();
case 8:
{
jail_set_prisoners_fight((menu_walka = !menu_walka), !menu_walka);
if(menu_walka)
client_cmd(0, "mp3 play sound/cs-b/boks2.mp3");
else
client_cmd(0, "mp3 stop");
}
case 9: jail_set_prisoners_micro((menu_mikro = !menu_mikro));
case 10: client_cmd(id, "say /zabawy");
case 11: MenuFreeday(id);
case 12: client_cmd(id, "say /mp3stop");
case 13: client_cmd(id,"bind ^"v^" ^"say /menu^"")
case 14: client_cmd(id, "say /kolor");
case 15: client_cmd(id, "say /gangi");
case 16: client_cmd(id, "say /wezwanie");
case 17: client_cmd(id, "say /misje");
}
}
public MenuFreeday(id)
{
new menu2 = menu_create("Manager FD i Duszek:", "Handel_ManagerFreeday");
menu_additem(menu2, "Daj Freeday");
menu_additem(menu2, "Daj Duszka^n");
menu_additem(menu2, "Zabierz Freeday");
menu_additem(menu2, "Zabierz Duszka");
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu2);
}
public Handel_ManagerFreeday(id, menu, item)
{
if(item == MENU_EXIT)
return;
new acces, callback, data[3], iname[32];
menu_item_getinfo(menu, item, acces, data, 2, iname, 31, callback);
replace(iname, 31, "^n", "");
new menu2 = menu_create(iname, (!item || item == 2)? "Handel_Menu_Freeday": "Handel_Menu_Duszek");
for(new i=1; i<=32; i++)
{
if(!is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T)
continue;
switch(item)
{
case 0,1:{
if(jail_get_prisoner_free(i) || jail_get_prisoner_ghost(i))
continue;
}
case 2:{
if(!jail_get_prisoner_free(i))
continue;
}
case 3:{
if(!jail_get_prisoner_ghost(i))
continue;
}
}
new name[32];
get_user_name(i, name, 31);
menu_additem(menu2, name, (!item || item == 1)? "1": "0");
}
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu2);
}
public Handel_Menu_Freeday(id, menu, item)
{
if(item == MENU_EXIT)
return;
new id2, callback, data[3], name[32];
menu_item_getinfo(menu, item, id2, data, 2, name, 31, callback);
callback = data[0]-'0';
id2 = get_user_index(name);
jail_set_prisoner_free(id2, bool:callback, false);
new szName[2][32];
get_user_name(id, szName[0], 31);
get_user_name(id2, szName[1], 31);
ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x03%s ^x01%s freedaya ^x03%s",szName[0], callback? "dal": "zabral",szName[1]);
}
public Handel_Menu_Duszek(id, menu, item)
{
if(item == MENU_EXIT)
return;
new id2, callback, data[3], name[32];
menu_item_getinfo(menu, item, id2, data, 2, name, 31, callback);
callback = data[0]-'0';
id2 = get_user_index(name);
jail_set_prisoner_ghost(id2, bool:callback, false);
new szName[2][32];
get_user_name(id, szName[0], 31);
get_user_name(id2, szName[1], 31);
ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x03%s ^x01%s duszka ^x03%s",szName[0], callback? "dal": "zabral",szName[1]);
}
public OnRemoveData(day)
{
menu_mikro = false;
menu_walka = false;
}
public Handel_Menu_Widza(id, menu, item)
{
if(item == MENU_EXIT)
return;
switch(item)
{
case 0: show_motd(id, "regulamin.txt", "Regulamin Serwera");
case 1: show_motd(id, "zasadygier.txt", "Zasady Gier");
case 2: show_motd(id, "komendy.txt", "Komendy");
}
}
public wlacz_rewizje(id)
{
if(get_user_team(id) != 2 || !is_user_alive(id))
return PLUGIN_HANDLED;
new body, target;
get_user_aiming(id, target, body, 50);
if(target && get_user_team(target) == 2)
{
ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Nie nacelowales na wieznia");
return PLUGIN_HANDLED;
}
if(!is_user_alive(target))
return PLUGIN_HANDLED;
if(jail_get_user_block(target))
return PLUGIN_HANDLED;
jail_set_user_speed(id, 0.1);
set_bartime(id, 5);
set_bartime(target, 5);
jail_set_user_speed(target, 0.1);
w_trakcie[id] = target;
w_trakcie[target] = id;
set_task(5.0, "wylacz_rewizje", 5000+id);
emit_sound(id, CHAN_WEAPON, "weapons/c4_disarm.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
return PLUGIN_HANDLED;
}
public wylacz_rewizje(taskid)
{
new id = taskid;
if(taskid > 32)
id -= 5000;
if(get_user_team(id) != 2 || !w_trakcie[id])
return PLUGIN_HANDLED;
remove_task(id+5000);
jail_set_user_speed(id, 250.0);
set_bartime(id, 0);
if(is_user_alive(w_trakcie[id]))
{
jail_set_user_speed(w_trakcie[id], 250.0);
set_bartime(w_trakcie[id], 0);
}
if(taskid > 32)
Pokaz_bronie(id);
w_trakcie[w_trakcie[id]] = 0;
w_trakcie[id] = 0;
return PLUGIN_HANDLED;
}
public Pokaz_bronie(id)
{
if(!is_user_alive(id) || !is_user_alive(w_trakcie[id]))
return;
new weapons[32], numweapons, weaponname[32];
get_user_weapons(w_trakcie[id], weapons, numweapons);
ColorChat(id, GREEN, "Znalazles:");
for(new i=0; i<numweapons; i++)
{
get_weaponname(weapons[i], weaponname, 31);
replace(weaponname, 32, "weapon_", "");
replace(weaponname, 32, "knife", "piesci");
ColorChat(id, BLUE, weaponname);
}
emit_sound(id, CHAN_WEAPON, "weapons/c4_disarmed.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
}
public Damage(id)
{
if(is_user_alive(id) && w_trakcie[id])
{
wylacz_rewizje(id);
}
}
stock Jaki_Pistolet(id)
{
if(!is_user_connected(id))
return 0;
new weapons[32], numweapons;
get_user_weapons(id, weapons, numweapons);
for(new i=0; i<numweapons; i++)
if((1<<weapons[i]) & 0x4030402)
return weapons[i];
return 0;
}
stock ham_strip_weapon(id, wid, szname[])
{
if(!wid)
return 0;
new ent;
while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", szname)) && pev(ent, pev_owner) != id) {}
if(!ent)
return 0;
if(get_user_weapon(id) == wid)
ExecuteHam(Ham_Weapon_RetireWeapon, ent);
if(ExecuteHam(Ham_RemovePlayerItem, id, ent))
{
ExecuteHam(Ham_Item_Kill, ent);
set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wid));
}
return 1;
}
stock set_bartime(id, czas)
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("BarTime"), _, id);
write_short(czas);
message_end();
}