Witam, czy moglby ktos w stanie wyciagnac sklep z tego sma, aby byl to osobny plugin i dodac przenikanie przez sciany (3-5sec)?
Spoiler
#include <amxmodx>
#include <jailbreak>
#include <fakemeta>
#include <fakemeta_util>
#include <colorchat>
#include <hamsandwich>
#include <sqlx>
#define PLUGIN "[Jail] Sklepik + menu + zyczenie + ??"
#define VERSION "1.0.0"
#define AUTHOR "Zjem Ci Noge + użycie kodu (po przerobieniu go) rewizji Cypisa"
enum _:Dane {MaxJump=0,Jump,Dmg,Los,BarTime,Dragi,Flagi}
enum _:Flags {Jumping = 1}
new Handle:Sql,bool:SqlOn[33]
new DaneGracza[33][Dane],zyczenie,StartRound,Sync,Money,HideWeapon
new Float:Speed[33]
new const Przedrostek[] = "[JAIL]"
new const Cena[] = {30,50,40,10,75,75,100,200,10,1000}
new const NameMenuItem[][] = {"","\r -- Nie zyjesz","\r -- Nie stac cie","\r -- Masz max Hp","\r -- Masz max Hp"}
native GetPlayerHat(i,o[],p)
//////////////////////Eventy Amxmodx
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "Damage")
RegisterHam(Ham_Killed, "player", "Killed", 1)
RegisterHam(Ham_Spawn, "player", "PlayerSpawn")
RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "ChangeSpeed", 1)
register_event("HLTV","event_hltv","ab","1=0","2=0")
register_logevent("Run", 2, "0=World triggered", "1=Round_Start");
zyczenie = jail_register_wish("+100 Dragow");
Sync = CreateHudSyncObj()
Money = get_user_msgid("Money")
HideWeapon = get_user_msgid("HideWeapon")
register_message(Money, "ChangeMoney")
register_message(HideWeapon,"HideWeaponMessage")
register_clcmd("+revision", "wlacz_rewizje");
register_clcmd("-revision", "wylacz_rewizje");
register_clcmd("say /menu", "MenuGraczy");
register_clcmd("say /sklep", "Sklep");
}
public Koniec_Niewidzialnosc(id)
{
id-=5100
set_pev(id, pev_rendermode, kRenderTransAlpha);
set_pev(id, pev_renderamt, 255.0);
}
public ChangeMoney(MsgId,MsgDest,id)
{
if(get_msg_arg_int(1) != DaneGracza[id][Dragi])
{
set_pdata_int(id, 115, DaneGracza[id][Dragi]);
set_msg_arg_int(1,get_msg_argtype(1),DaneGracza[id][Dragi])
set_msg_arg_int(2,get_msg_argtype(2),0)
}
}
public plugin_precache()
{
precache_sound("weapons/c4_disarm.wav");
precache_sound("weapons/c4_disarmed.wav");
}
HideWeaponUse(id)
{
emessage_begin(MSG_ONE_UNRELIABLE, HideWeapon, _, id);
ewrite_byte(128);
emessage_end();
}
SetUserMoney(id,widok = 1)
{
set_pdata_int(id, 115, DaneGracza[id][Dragi]);
emessage_begin(MSG_ONE_UNRELIABLE, Money, _, id);
ewrite_long(DaneGracza[id][Dragi]);
ewrite_byte(widok ? 1 : 0);
emessage_end();
}
public HideWeaponMessage(MsgId,MsgDest,id)
{
if(get_user_team(id) != 1 || !SqlOn[0] || !SqlOn[id])
{
new x = get_msg_arg_int(1)
if(!(x & 32)) set_msg_arg_int(1,get_msg_argtype(1),x+32)
}
}
public client_connect(id)
{
SqlOn[id] = false
Speed[id] = 0.0
}
public client_putinserver(i)
{
LoadSql(i)
DaneGracza[i][Dragi] = 0
SetUserMoney(i,0)
}
public client_disconnect(i) SaveSql(i)
public plugin_cfg()
{
StartSql()
server_cmd("sv_maxspeed 1500")
server_cmd("sv_airaccelerate 100")
}
public Run()
{
for(new i;i<33;i++) if(is_user_connected(i))
{
if(task_exists(i+5100))
{
remove_task(i+5100)
Koniec_Niewidzialnosc(i+5100)
}
DaneGracza[i][MaxJump] = 0
DaneGracza[i][Dmg] = 0
set_pev(i,pev_gravity,1.0)
fm_set_user_maxspeed(i,250.0)
Speed[i] = 250.0
HideWeaponUse(i)
}
StartRound = 1
}
public event_hltv()
{
jail_set_prisoners_micro(true,false)
StartRound = 0
}
//////////////////////Eventy Hamsandwich
public ChangeSpeed(id)
{
if(is_user_alive(id) && Speed[id] > 250.0)
{
new Float:x
pev(id,pev_maxspeed,x)
if(x != Speed[id]) fm_set_user_maxspeed(id,Speed[id])
}
}
public Killed(this, idattacker, sg)
{
if(0 < this < 33)
{
if(task_exists(this+5100))
{
remove_task(this+5100)
Koniec_Niewidzialnosc(this+5100)
}
}
if (!is_user_connected(idattacker)) return HAM_IGNORED
if(0 < idattacker < 33)
{
if(this != idattacker && get_user_team(idattacker) == 1)
{
if(jail_get_prowadzacy() == this) DaneGracza[idattacker][Dragi] += 2
else DaneGracza[idattacker][Dragi] += 1
SetUserMoney(idattacker)
}
}
return HAM_IGNORED
}
public PlayerSpawn(id)
{
DaneGracza[id][BarTime] = 0;
remove_task(5000+id);
}
public Damage(id, byt_zadajacy_dmg, attacker, Float:damage, damagebits)
{
if(is_user_alive(id) && DaneGracza[id][BarTime])
{
wylacz_rewizje(id);
}
if(DaneGracza[attacker][Dmg]) for(new i;i<(DaneGracza[attacker][Dmg]+1);i++) damage*=2.0
SetHamParamFloat(4, damage)
}
/////////////////////////// Eventy Jail
public OnLastPrisonerTakeWish(id, zycz)
{
if(zycz == zyczenie)
{
DaneGracza[id][Dragi] += 100
SetUserMoney(id)
ExecuteHamB(Ham_Killed, id, id, 1);
}
}
/////////////////////// Obsluga Sql
StartSql()
{
Sql = SQL_MakeDbTuple("sql.pukawka.pl", "310484", "xXljHp6QcqZ0DE", "310484_diablo");
SQL_ThreadQuery(Sql, "StartSql_Zwrot", "CREATE TABLE IF NOT EXISTS `JailTable` (`IdGracza` INT(15) NOT NULL PRIMARY KEY AUTO_INCREMENT,`Nick` VARCHAR(48) NOT NULL UNIQUE,`Dragi` INT(9) DEFAULT 0) DEFAULT CHARSET `utf8` COLLATE `utf8_general_ci`");
}
public StartSql_Zwrot(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
if(Errcode) log_to_file("Jail_Sql.log", "[StartSql]Blad: %s", Error);
else SqlOn[0] = true
}
public LoadSql(id)
{
if(!SqlOn[0] || SqlOn[id]) return
new Zapytanie[100]
formatex(Zapytanie, 99, "SELECT * FROM `JailTable` WHERE Nick = '%s'", GetUserName(id))
new data[1]
data[0] = id
SQL_ThreadQuery(Sql, "LoadSql_Zwrot", Zapytanie, data, 1);
}
public LoadSql_Zwrot(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
new id = Data[0]
if(Errcode) log_to_file("Jail_Sql.log", "[ZaladujSql]Blad: %s", Error);
else
{
SqlOn[id] = true
if(SQL_MoreResults(Query))
{
DaneGracza[id][Dragi] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dragi"));
SetUserMoney(id,0)
}
else
{
new Zapytanie[100]
formatex(Zapytanie,99,"INSERT INTO `JailTable` (Nick) VALUES ('%s')",GetUserName(id))
SQL_ThreadQuery(Sql, "SaveSql_Zwrot", Zapytanie);
}
}
}
GetUserName(id, Handle:Query = Empty_Handle)
{
new name[65]
if(Query == Empty_Handle)
{
get_user_name(id,name,32)
replace_all(name,64,"'","/'")
}
else
{
SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Nick"),name,64)
replace_all(name,64,"/'","'")
}
return name
}
SaveSql(id)
{
if(SqlOn[0] && SqlOn[id])
{
new Zapytanie[100]
formatex(Zapytanie,99,"UPDATE `JailTable` SET Dragi=%i WHERE Nick='%s'",DaneGracza[id][Dragi],GetUserName(id))
SQL_ThreadQuery(Sql, "SaveSql_Zwrot", Zapytanie);
}
}
public SaveSql_Zwrot(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) if(Errcode) log_to_file("Jail_Sql.log", "[SaveSql]Blad: %s", Error);
////////////// Sklepik
public Sklep(id)
{
if(!StartRound)
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Nie spiesz sie tak!!!",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
else if(!SqlOn[0] || !SqlOn[id])
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Poczekaj na dragi...",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
else if(!is_user_alive(id))
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci korzystaniaze sklepu podczas bycia widzem",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
else if(get_user_team(id) != 1)
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Sklep przeznaczony tylko dla wiezniow",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
new menu = menu_create( "Sklepik:^n\d(Moce tylko na runde)" , "Sklep_Zwrot");
new cb = menu_makecallback("Menu_Callback_Sklep");
new item[50]
new x = get_user_health(id)
formatex(item,49,"+%iHP \d(Max 200HP) \r30\w Dragow",(x+50) > 200 ? 200-x : 50)
menu_additem(menu,item,_,_,cb)
menu_additem(menu,"-50% Grawitacji \r50\w Dragow",_,_,cb)
menu_additem(menu,"+25% Speeda \r40\w Dragow",_,_,cb)
menu_additem(menu,"Zestaw Granatow \r10\w Dragow",_,_,cb)
menu_additem(menu,"+2 dodatkowe skoki \r75\w Dragow",_,_,cb)
menu_additem(menu,"+100% Dmg \r75\w Dragow",_,_,cb)
menu_additem(menu,"Deagl z 1 Ammo \r100\w Dragow",_,_,cb)
menu_additem(menu,"Niewidzialnosc na 10 sek \r200\w Dragow",_,_,cb)
menu_additem(menu,"Darmowy los w ruletce (Max 1) \r10\w Dragow",_,_,cb)
menu_additem(menu,"\rOtwarcie Cel 1000 \wDragow",_,_,cb)
menu_setprop(menu, MPROP_PERPAGE, 6)
menu_setprop(menu, MPROP_BACKNAME, "Cofnij")
menu_setprop(menu, MPROP_NEXTNAME, "Dalej")
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz^n^n\dSklep ten zostal stworzony specjalnie dla Cs-Wysypisko^nNa innych serwerowniach jest zabroniony")
menu_display(id, menu);
return PLUGIN_HANDLED_MAIN
}
public Sklep_Zwrot(id,menu,item)
{
if(item == MENU_EXIT || !is_user_alive(id)) return
DaneGracza[id][Dragi] -= Cena[item]
SetUserMoney(id)
new Float:x
switch(item)
{
case 0:
{
pev(id,pev_health,x)
set_pev(id,pev_health, ((x+50.0) > 200.0 ? 200.0 : x+50.0))
ColorChat(id,TEAM_COLOR,"^x4%s^03 Otrzymaes %i HP za %i Dragow",Przedrostek,((floatround(x,floatround_round)+50) > 200 ? 200-floatround(x,floatround_round) : 50),Cena[item])
}
case 1:
{
pev(id,pev_gravity,x)
set_pev(id,pev_gravity,x/2.0)
ColorChat(id,TEAM_COLOR,"^x4%s^03 Obnizyles o 50% swoja grawitacje za %i Dragow",Przedrostek,Cena[item])
}
case 2:
{
pev(id,pev_maxspeed,x)
x += 75
if(x > 950.0) x = 950.0
jail_set_user_speed(id,x)
fm_set_user_maxspeed(id,x)
Speed[id] = x
ColorChat(id,TEAM_COLOR,"^x4%s^03 Zwiekszyles swoja max predkosc o 25% za %i Dragow",Przedrostek,Cena[item])
}
case 3:
{
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_smokegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
ColorChat(id,TEAM_COLOR,"^x4%s^03 Dostales zestaw granatow za %i Dragow",Przedrostek,Cena[item])
}
case 4:
{
DaneGracza[id][MaxJump]+=2
ColorChat(id,TEAM_COLOR,"^x4%s^03 Zyskales dodatkowe 2 skoki w powietrzu za %i Dragow",Przedrostek,Cena[item])
}
case 5:
{
DaneGracza[id][Dmg]++
ColorChat(id,TEAM_COLOR,"^x4%s^03 Zwiekszyles swoje DMG o 100% za %i Dragow",Przedrostek,Cena[item])
}
case 6:
{
new ent = fm_find_ent_by_owner(-1,"weapon_deagle",id)
if(ent) set_pdata_int(ent,51,get_pdata_int(ent,51)+1)
else
{
new ent = fm_give_item(id, "weapon_deagle")
set_pdata_int(id,384,0)
set_pdata_int(ent,51,1)
}
ColorChat(id,TEAM_COLOR,"^x4%s^03 Dostales Deagla z 1 ammo za %i Dragow",Przedrostek,Cena[item])
}
case 7:
{
new data[2]
data[0] = id
data[1] = 9
set_pev(id, pev_rendermode, kRenderTransAlpha);
set_pev(id, pev_renderamt, 0.0);
set_task(10.0,"Koniec_Niewidzialnosc",id+5100)
set_task(1.0,"OdliczajNiewidzialnosc",id+5300,data,2)
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 1.1, 0.02, 0.02, -1)
ShowSyncHudMsg(id, Sync, "Niewidzialnosc skonczy sie za: 10 sek^nUwaga Czapki lub inne obiekty zalozone sa widoczne")
ColorChat(id,TEAM_COLOR,"^x4%s^03 Zdobyles niewidzialnosc na 10 sek za %i Dragow",Przedrostek,Cena[item])
}
case 8: Wywolaj(id,"ruletka_tt")
case 9:
{
jail_open_cele()
ColorChat(0,TEAM_COLOR,"^x4%s^03 %s otworzyl cele za dragi",Przedrostek,GetUserName(id))
}
}
}
public OdliczajNiewidzialnosc(data[])
{
if(!task_exists(data[0]+5100)) return
else
{
if(data[1]<1) return
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 1.1, 0.02, 0.02, -1)
ShowSyncHudMsg(data[0], Sync, "Niewidzialnosc skonczy sie za: %i sek^nUwaga Czapki lub inne obiekty zalozone sa widoczne",data[1])
data[1]--
set_task(1.0,"OdliczajNiewidzialnosc",data[0]+5300,data,2)
}
}
public client_PreThink( id )
{
if(!DaneGracza[id][MaxJump] || !is_user_alive(id)) return
if(pev(id,pev_flags) & FL_ONGROUND) DaneGracza[id][Jump] = 0
else
{
if((pev(id,pev_button) & IN_JUMP) && !(pev( id, pev_oldbuttons ) & IN_JUMP))
{
if(DaneGracza[id][MaxJump] > DaneGracza[id][Jump])
{
DaneGracza[id][Jump]++
DaneGracza[id][Flagi] += Jumping
}
}
}
}
public client_PostThink( id )
{
if(!DaneGracza[id][MaxJump] || !is_user_alive(id)) return
if(DaneGracza[id][Flagi] & Jumping)
{
new Float:velocity[3]
pev(id, pev_velocity, velocity)
velocity[2] = random_float(265.0,285.0)
set_pev(id, pev_velocity, velocity)
DaneGracza[id][Flagi] -= Jumping
}
}
public Menu_Callback_Sklep(id,menu,item)
{
static acces,callback,name[100],tryb,data[2]
menu_item_getinfo(menu,item,acces,data,1,name,99,callback)
tryb = 0
if(is_user_alive(id))
{
if(DaneGracza[id][Dragi] < Cena[item]) tryb = 2
else
{
switch(item)
{
case 0: if(get_user_health(id) > 199) tryb = 3
case 8: if(DaneGracza[id][Los]) tryb = 4
}
}
}
else tryb = 1
if(tryb)
{
if(contain(name, NameMenuItem[tryb]) == -1)
{
acces = strfind( name, " --")
if(acces != -1)
{
formatex(name[acces],99-acces,"")
trim(name)
}
acces = strlen(name)
formatex(name[acces],99-acces,NameMenuItem[tryb])
menu_item_setname(menu,item,name)
}
return ITEM_DISABLED
}
return ITEM_ENABLED
}
//////////// Menu (say /menu)
public MenuGraczy(id)
{
if(!StartRound)
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Nie spiesz sie tak!!!",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
new t = get_user_team(id)
new l = is_user_alive(id)
new menu = menu_create( (t == 1 ? "Menu Wieznia:" : (t == 2 ? "Menu Straznika:" : "Menu Widza")) , "Menu_Zwrot");//
new cb = menu_makecallback("Menu_Callback");
new Hat[26],item[51]
if(l)
{
formatex(item,50,"Czapki\r - \d(\y%s\d)",(GetPlayerHat(id,Hat,25) ? Hat : "Brak Czapki"))
if(t == 1)
{
menu_additem(menu,"Kradnij Bron",_, _, cb);
menu_additem(menu,"Sklep",_, _, cb);
menu_additem(menu,"Ruletka",_, _, cb);
menu_additem(menu,"Glosuj na otwarcie celi",_, _, cb);
}
else if(t == 2)
{
if(jail_get_prowadzacy() == id) menu_additem(menu,"Oddaj Prowadzenie",_, _, cb);
else menu_additem(menu,"Prowadz",_, _, cb);
menu_additem(menu,"Przeszukaj Wieznia",_, _, cb);
menu_additem(menu,"Otworz Cele");
menu_additem(menu,(jail_get_prisoners_fight() ? "Tryb Walki \r- \d(\yAktualnie:\rOn\d)" : "Tryb Walki \r- \d(\yAktualnie:\rOff\d)"),_, _, cb);
menu_additem(menu,"Zabawy",_, _, cb);
menu_additem(menu,"Manager FD i Duszek",_, _, cb);
menu_additem(menu,jail_get_prisoners_micro() ? "Mikro TT \r- \d(\yAktualnie:\rOn\d)" : "Mikro TT \r- \d(\yAktualnie:\rOff\d)",_, _, cb);
menu_additem(menu,"Ruletka");
}
menu_additem(menu,item);
}
menu_additem(menu,"Zmutuj Gracza");
menu_additem(menu,"Komendy");
menu_additem(menu,"wyłącz aktualny utwor");
if(get_user_flags(id) & ADMIN_LEVEL_A) menu_additem(menu,"Menu Admina")
menu_setprop(menu, MPROP_BACKNAME, "Cofnij")
menu_setprop(menu, MPROP_NEXTNAME, "Dalej")
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
return PLUGIN_HANDLED_MAIN
}
public Menu_Callback(id, menu, item)
{
static acces,callback,name[100],tryb,data[2],l,t
menu_item_getinfo(menu,item,acces,data,1,name,99,callback)
t = get_user_team(id)
l = is_user_alive(id)
tryb = 0
if(l)
{
if(t == 2)
{
switch(item)
{
case 0:
{
if(jail_get_prowadzacy() != id && jail_get_prowadzacy()) tryb = 5
else if(!jail_get_days()) tryb = 2
else if(jail_get_play_game_id() != jail_get_days()) tryb = 3
else if(jail_get_days() == 5) tryb = 4
}
case 1:
{
if(jail_get_play_game_id() != jail_get_days()) tryb = 3
else if(jail_get_days() == 5) tryb = 4
}
case 3,4:
{
if(!jail_get_days()) tryb = 2
else if(jail_get_prowadzacy() != id) tryb = 1
else if(jail_get_play_game_id() != jail_get_days()) tryb = 3
else if(jail_get_days() == 5) tryb = 4
}
case 5:
{
if(!jail_get_days()) tryb = 2
else if(jail_get_play_game_id() != jail_get_days()) tryb = 3
else if(jail_get_days() == 5) tryb = 4
}
case 6: if(!jail_get_days()) tryb = 2
}
}
else if(t == 1)
{
switch(item)
{
case 0:
{
if(jail_get_days() == 5) tryb = 4
else if(jail_get_play_game_id() != jail_get_days()) tryb = 3
}
case 1: if(!SqlOn[0] || !SqlOn[id]) tryb = 6
}
}
}
if(tryb)
{
acces = strfind( name, " --")
if(acces != -1)
{
formatex(name[acces],99-acces,"")
trim(name)
}
acces = strlen(name)
switch(tryb)
{
case 1: formatex(name[acces],99-acces,"\r -- Nie prowadzisz")
case 2: formatex(name[acces],99-acces,"\r -- Dzisiaj jest FD")
case 3: formatex(name[acces],99-acces,"\r -- Trwa Zabawa")
case 4: formatex(name[acces],99-acces,"\r -- Dzisiaj jest KD")
case 5: formatex(name[acces],99-acces,"\r -- Juz jest prowadzacy")
case 6: formatex(name[acces],99-acces,"\r -- Poczekaj na Dragi")
}
menu_item_setname(menu,item,name)
return ITEM_DISABLED
}
return ITEM_ENABLED
}
public Menu_Zwrot(id, menu, item)
{
new t,l
t = get_user_team(id)
l = is_user_alive(id)
if(l)
{
if(t == 1)
{
switch(item)
{
case 0: KradnijBron(id)
case 1:
{
if(!SqlOn[0]) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Poczekaj na dragi",Przedrostek)
else Sklep(id)
}
case 2: Wywolaj(id,"ruletka")
case 3: Wywolaj(id,"client_say_cele")
case 4: Wywolaj(id,"ShowMenu_Hats")
case 5: Wywolaj(id,"MenuMutowania")
case 6: show_motd(id, "komendy.txt", "Komendy");
case 7: client_cmd(id,"mp3 stop")
case 8: MenuAdmina(id)
}
}
else if(t == 2)
{
switch(item)
{
case 0:
{
if(jail_get_prowadzacy() == id) Wywolaj(id,"OddajProwadzenie")
else if(!jail_get_prowadzacy())
{
if(!jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Na FD nie mozna wybrac prowadzacego",Przedrostek)
else
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Podczas zabawy nie mozna wybrac prowadzacego",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Na KD nie mozna wybrac prowadzacego",Przedrostek)
else
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Zostales prowadzacym",Przedrostek)
jail_set_prowadzacy(id);
}
}
}
}
else ColorChat(id,TEAM_COLOR,"^x04%s^x03 Prowadzony zostal juz wybrany",Przedrostek)
}
case 1:
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Podczas zabawy nie mozna przeszukiwac wiezniow",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Na KD nie mozna przeszukiwac wiezniow",Przedrostek)
else DaneGracza[id][BarTime] ? wylacz_rewizje(id): wlacz_rewizje(id);
}
}
case 2: jail_open_cele();
case 3:
{
if(jail_get_prowadzacy() != id) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Tylko prowadzacy moze ingerowac w walke wiezniow",Przedrostek)
else
{
if(!jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci ingerencji w walke wiezniow na FD",Przedrostek)
else
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci ingerencji w walke wiezniow podczas zabawy",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci ingerencji w walke wiezniow na KD",Przedrostek)
else jail_set_prisoners_fight((jail_get_prisoners_fight() ? false:true),true,true)
}
}
}
}
case 4:
{
if(jail_get_prowadzacy() != id) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Tylko prowadzacy moze ustalic zabawe",Przedrostek)
else
{
if(!jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci wlaczenia zabawy na FD",Przedrostek)
else
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Juz trwa zabawa",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Juz trwa zabawa",Przedrostek)
else Wywolaj(id,"MenuZabaw")
}
}
}
}
case 5:
{
if(!jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci nagradzania wiezniow podczas FD",Przedrostek)
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci nagradzania wiezniow podczas zabawy",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci nagradzania wiezniow podczas KD",Przedrostek)
else MenuFreeday(id);
}
}
}
case 6: jail_set_prisoners_micro((jail_get_prisoners_micro() ? false:true))
case 7: Wywolaj(id,"ruletka")
case 8: Wywolaj(id,"ShowMenu_Hats")
case 9: Wywolaj(id,"MenuMutowania")
case 10: show_motd(id, "komendy.txt", "Komendy");
case 11: client_cmd(id,"mp3 stop")
case 12: MenuAdmina(id)
}
}
}
else
{
switch(item)
{
case 0: Wywolaj(id,"MenuMutowania")
case 1: show_motd(id, "komendy.txt", "Komendy");
case 2: client_cmd(id,"mp3 stop")
case 3: MenuAdmina(id)
}
}
}
//////////////// Menu Admina
public MenuAdmina(id)
{
new menu = menu_create("Menu Admina:", "MenuAdmina_Zwrot");
menu_additem(menu, "Przenies Gracza");
menu_additem(menu, "Ozyw Gracza");
menu_additem(menu,jail_get_prisoners_micro() ? "Mikro TT \r- \d(\yAktualnie:\rOn\d)" : "Mikro TT \r- \d(\yAktualnie:\rOff\d)");
menu_additem(menu, "Otworz Cele");
menu_additem(menu,(jail_get_prisoners_fight() ? "Tryb Walki \r- \d(\yAktualnie:\rOn\d)" : "Tryb Walki \r- \d(\yAktualnie:\rOff\d)"));
menu_additem(menu, "\rBan na CT");
menu_setprop(menu, MPROP_BACKNAME, "Cofnij")
menu_setprop(menu, MPROP_NEXTNAME, "Dalej")
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}
public MenuAdmina_Zwrot(id,menu,item)
{
switch(item)
{
case 0: client_cmd(id, "amx_teammenu", "Przenies TT\CT\SPEC");
case 1: Wywolaj(id,"pokaz_menu")
case 2: jail_set_prisoners_micro((jail_get_prisoners_micro() ? false:true))
case 3: jail_open_cele();
case 4: jail_set_prisoners_fight((jail_get_prisoners_fight() ? false:true),true,true)
case 5: client_cmd(id, "jail_menuban", "Ban na CT");
}
}
public Wywolaj(id,Func[])
{
new R,X
X = CreateMultiForward(Func,ET_IGNORE,FP_CELL);
ExecuteForward(X, R, id);
DestroyForward(X)
}
public KradnijBron(id)
{
if(jail_get_prisoner_free(id) || jail_get_user_block(id) || jail_get_play_game_id() != jail_get_days()) return;
new body, target;
get_user_aiming(id, target, body, 50);
if(target && get_user_team(target) == 1)
{
client_print(id,print_center,"Nie nacelowales na straznika")
return;
}
if(!is_user_alive(target)) return;
new weapons = Jaki_Pistolet(target);
if(!weapons)
{
client_print(id,print_center,"Straznik nie ma broni krotkiej")
return;
}
new weaponname[24];
get_weaponname(weapons, weaponname, 23);
ham_strip_weapon(target, weapons, weaponname);
fm_give_item(id, weaponname);
client_print(id,print_center,"Ukradles bron")
}
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_BACKNAME, "Cofnij")
menu_setprop(menu2, MPROP_NEXTNAME, "Dalej")
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) || get_user_team(i) != 1)
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_BACKNAME, "Cofnij")
menu_setprop(menu2, MPROP_NEXTNAME, "Dalej")
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%s ^x03%s ^x01%s freedaya ^x03%s",Przedrostek,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%s ^x03%s ^x01%s duszka ^x03%s",Przedrostek,szName[0], callback? "dal": "zabral",szName[1]);
}
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%s^x03 Nie nacelowales na wieznia",Przedrostek);
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);
DaneGracza[id][BarTime] = target;
DaneGracza[target][BarTime] = 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 || !DaneGracza[id][BarTime])
return PLUGIN_HANDLED;
remove_task(id+5000);
jail_set_user_speed(id, 250.0);
set_bartime(id, 0);
if(is_user_alive(DaneGracza[id][BarTime]))
{
jail_set_user_speed(DaneGracza[id][BarTime], 250.0);
set_bartime(DaneGracza[id][BarTime], 0);
}
if(taskid > 32)
Pokaz_bronie(id);
DaneGracza[DaneGracza[id][BarTime]][BarTime] = 0;
DaneGracza[id][BarTime] = 0;
return PLUGIN_HANDLED;
}
public Pokaz_bronie(id)
{
if(!is_user_alive(id) || !is_user_alive(DaneGracza[id][BarTime]))
return;
new weapons[32], numweapons, weaponname[32];
get_user_weapons(DaneGracza[id][BarTime], 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);
}
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();
}
#include <jailbreak>
#include <fakemeta>
#include <fakemeta_util>
#include <colorchat>
#include <hamsandwich>
#include <sqlx>
#define PLUGIN "[Jail] Sklepik + menu + zyczenie + ??"
#define VERSION "1.0.0"
#define AUTHOR "Zjem Ci Noge + użycie kodu (po przerobieniu go) rewizji Cypisa"
enum _:Dane {MaxJump=0,Jump,Dmg,Los,BarTime,Dragi,Flagi}
enum _:Flags {Jumping = 1}
new Handle:Sql,bool:SqlOn[33]
new DaneGracza[33][Dane],zyczenie,StartRound,Sync,Money,HideWeapon
new Float:Speed[33]
new const Przedrostek[] = "[JAIL]"
new const Cena[] = {30,50,40,10,75,75,100,200,10,1000}
new const NameMenuItem[][] = {"","\r -- Nie zyjesz","\r -- Nie stac cie","\r -- Masz max Hp","\r -- Masz max Hp"}
native GetPlayerHat(i,o[],p)
//////////////////////Eventy Amxmodx
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "Damage")
RegisterHam(Ham_Killed, "player", "Killed", 1)
RegisterHam(Ham_Spawn, "player", "PlayerSpawn")
RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "ChangeSpeed", 1)
register_event("HLTV","event_hltv","ab","1=0","2=0")
register_logevent("Run", 2, "0=World triggered", "1=Round_Start");
zyczenie = jail_register_wish("+100 Dragow");
Sync = CreateHudSyncObj()
Money = get_user_msgid("Money")
HideWeapon = get_user_msgid("HideWeapon")
register_message(Money, "ChangeMoney")
register_message(HideWeapon,"HideWeaponMessage")
register_clcmd("+revision", "wlacz_rewizje");
register_clcmd("-revision", "wylacz_rewizje");
register_clcmd("say /menu", "MenuGraczy");
register_clcmd("say /sklep", "Sklep");
}
public Koniec_Niewidzialnosc(id)
{
id-=5100
set_pev(id, pev_rendermode, kRenderTransAlpha);
set_pev(id, pev_renderamt, 255.0);
}
public ChangeMoney(MsgId,MsgDest,id)
{
if(get_msg_arg_int(1) != DaneGracza[id][Dragi])
{
set_pdata_int(id, 115, DaneGracza[id][Dragi]);
set_msg_arg_int(1,get_msg_argtype(1),DaneGracza[id][Dragi])
set_msg_arg_int(2,get_msg_argtype(2),0)
}
}
public plugin_precache()
{
precache_sound("weapons/c4_disarm.wav");
precache_sound("weapons/c4_disarmed.wav");
}
HideWeaponUse(id)
{
emessage_begin(MSG_ONE_UNRELIABLE, HideWeapon, _, id);
ewrite_byte(128);
emessage_end();
}
SetUserMoney(id,widok = 1)
{
set_pdata_int(id, 115, DaneGracza[id][Dragi]);
emessage_begin(MSG_ONE_UNRELIABLE, Money, _, id);
ewrite_long(DaneGracza[id][Dragi]);
ewrite_byte(widok ? 1 : 0);
emessage_end();
}
public HideWeaponMessage(MsgId,MsgDest,id)
{
if(get_user_team(id) != 1 || !SqlOn[0] || !SqlOn[id])
{
new x = get_msg_arg_int(1)
if(!(x & 32)) set_msg_arg_int(1,get_msg_argtype(1),x+32)
}
}
public client_connect(id)
{
SqlOn[id] = false
Speed[id] = 0.0
}
public client_putinserver(i)
{
LoadSql(i)
DaneGracza[i][Dragi] = 0
SetUserMoney(i,0)
}
public client_disconnect(i) SaveSql(i)
public plugin_cfg()
{
StartSql()
server_cmd("sv_maxspeed 1500")
server_cmd("sv_airaccelerate 100")
}
public Run()
{
for(new i;i<33;i++) if(is_user_connected(i))
{
if(task_exists(i+5100))
{
remove_task(i+5100)
Koniec_Niewidzialnosc(i+5100)
}
DaneGracza[i][MaxJump] = 0
DaneGracza[i][Dmg] = 0
set_pev(i,pev_gravity,1.0)
fm_set_user_maxspeed(i,250.0)
Speed[i] = 250.0
HideWeaponUse(i)
}
StartRound = 1
}
public event_hltv()
{
jail_set_prisoners_micro(true,false)
StartRound = 0
}
//////////////////////Eventy Hamsandwich
public ChangeSpeed(id)
{
if(is_user_alive(id) && Speed[id] > 250.0)
{
new Float:x
pev(id,pev_maxspeed,x)
if(x != Speed[id]) fm_set_user_maxspeed(id,Speed[id])
}
}
public Killed(this, idattacker, sg)
{
if(0 < this < 33)
{
if(task_exists(this+5100))
{
remove_task(this+5100)
Koniec_Niewidzialnosc(this+5100)
}
}
if (!is_user_connected(idattacker)) return HAM_IGNORED
if(0 < idattacker < 33)
{
if(this != idattacker && get_user_team(idattacker) == 1)
{
if(jail_get_prowadzacy() == this) DaneGracza[idattacker][Dragi] += 2
else DaneGracza[idattacker][Dragi] += 1
SetUserMoney(idattacker)
}
}
return HAM_IGNORED
}
public PlayerSpawn(id)
{
DaneGracza[id][BarTime] = 0;
remove_task(5000+id);
}
public Damage(id, byt_zadajacy_dmg, attacker, Float:damage, damagebits)
{
if(is_user_alive(id) && DaneGracza[id][BarTime])
{
wylacz_rewizje(id);
}
if(DaneGracza[attacker][Dmg]) for(new i;i<(DaneGracza[attacker][Dmg]+1);i++) damage*=2.0
SetHamParamFloat(4, damage)
}
/////////////////////////// Eventy Jail
public OnLastPrisonerTakeWish(id, zycz)
{
if(zycz == zyczenie)
{
DaneGracza[id][Dragi] += 100
SetUserMoney(id)
ExecuteHamB(Ham_Killed, id, id, 1);
}
}
/////////////////////// Obsluga Sql
StartSql()
{
Sql = SQL_MakeDbTuple("sql.pukawka.pl", "310484", "xXljHp6QcqZ0DE", "310484_diablo");
SQL_ThreadQuery(Sql, "StartSql_Zwrot", "CREATE TABLE IF NOT EXISTS `JailTable` (`IdGracza` INT(15) NOT NULL PRIMARY KEY AUTO_INCREMENT,`Nick` VARCHAR(48) NOT NULL UNIQUE,`Dragi` INT(9) DEFAULT 0) DEFAULT CHARSET `utf8` COLLATE `utf8_general_ci`");
}
public StartSql_Zwrot(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
if(Errcode) log_to_file("Jail_Sql.log", "[StartSql]Blad: %s", Error);
else SqlOn[0] = true
}
public LoadSql(id)
{
if(!SqlOn[0] || SqlOn[id]) return
new Zapytanie[100]
formatex(Zapytanie, 99, "SELECT * FROM `JailTable` WHERE Nick = '%s'", GetUserName(id))
new data[1]
data[0] = id
SQL_ThreadQuery(Sql, "LoadSql_Zwrot", Zapytanie, data, 1);
}
public LoadSql_Zwrot(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
new id = Data[0]
if(Errcode) log_to_file("Jail_Sql.log", "[ZaladujSql]Blad: %s", Error);
else
{
SqlOn[id] = true
if(SQL_MoreResults(Query))
{
DaneGracza[id][Dragi] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dragi"));
SetUserMoney(id,0)
}
else
{
new Zapytanie[100]
formatex(Zapytanie,99,"INSERT INTO `JailTable` (Nick) VALUES ('%s')",GetUserName(id))
SQL_ThreadQuery(Sql, "SaveSql_Zwrot", Zapytanie);
}
}
}
GetUserName(id, Handle:Query = Empty_Handle)
{
new name[65]
if(Query == Empty_Handle)
{
get_user_name(id,name,32)
replace_all(name,64,"'","/'")
}
else
{
SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Nick"),name,64)
replace_all(name,64,"/'","'")
}
return name
}
SaveSql(id)
{
if(SqlOn[0] && SqlOn[id])
{
new Zapytanie[100]
formatex(Zapytanie,99,"UPDATE `JailTable` SET Dragi=%i WHERE Nick='%s'",DaneGracza[id][Dragi],GetUserName(id))
SQL_ThreadQuery(Sql, "SaveSql_Zwrot", Zapytanie);
}
}
public SaveSql_Zwrot(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) if(Errcode) log_to_file("Jail_Sql.log", "[SaveSql]Blad: %s", Error);
////////////// Sklepik
public Sklep(id)
{
if(!StartRound)
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Nie spiesz sie tak!!!",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
else if(!SqlOn[0] || !SqlOn[id])
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Poczekaj na dragi...",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
else if(!is_user_alive(id))
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci korzystaniaze sklepu podczas bycia widzem",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
else if(get_user_team(id) != 1)
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Sklep przeznaczony tylko dla wiezniow",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
new menu = menu_create( "Sklepik:^n\d(Moce tylko na runde)" , "Sklep_Zwrot");
new cb = menu_makecallback("Menu_Callback_Sklep");
new item[50]
new x = get_user_health(id)
formatex(item,49,"+%iHP \d(Max 200HP) \r30\w Dragow",(x+50) > 200 ? 200-x : 50)
menu_additem(menu,item,_,_,cb)
menu_additem(menu,"-50% Grawitacji \r50\w Dragow",_,_,cb)
menu_additem(menu,"+25% Speeda \r40\w Dragow",_,_,cb)
menu_additem(menu,"Zestaw Granatow \r10\w Dragow",_,_,cb)
menu_additem(menu,"+2 dodatkowe skoki \r75\w Dragow",_,_,cb)
menu_additem(menu,"+100% Dmg \r75\w Dragow",_,_,cb)
menu_additem(menu,"Deagl z 1 Ammo \r100\w Dragow",_,_,cb)
menu_additem(menu,"Niewidzialnosc na 10 sek \r200\w Dragow",_,_,cb)
menu_additem(menu,"Darmowy los w ruletce (Max 1) \r10\w Dragow",_,_,cb)
menu_additem(menu,"\rOtwarcie Cel 1000 \wDragow",_,_,cb)
menu_setprop(menu, MPROP_PERPAGE, 6)
menu_setprop(menu, MPROP_BACKNAME, "Cofnij")
menu_setprop(menu, MPROP_NEXTNAME, "Dalej")
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz^n^n\dSklep ten zostal stworzony specjalnie dla Cs-Wysypisko^nNa innych serwerowniach jest zabroniony")
menu_display(id, menu);
return PLUGIN_HANDLED_MAIN
}
public Sklep_Zwrot(id,menu,item)
{
if(item == MENU_EXIT || !is_user_alive(id)) return
DaneGracza[id][Dragi] -= Cena[item]
SetUserMoney(id)
new Float:x
switch(item)
{
case 0:
{
pev(id,pev_health,x)
set_pev(id,pev_health, ((x+50.0) > 200.0 ? 200.0 : x+50.0))
ColorChat(id,TEAM_COLOR,"^x4%s^03 Otrzymaes %i HP za %i Dragow",Przedrostek,((floatround(x,floatround_round)+50) > 200 ? 200-floatround(x,floatround_round) : 50),Cena[item])
}
case 1:
{
pev(id,pev_gravity,x)
set_pev(id,pev_gravity,x/2.0)
ColorChat(id,TEAM_COLOR,"^x4%s^03 Obnizyles o 50% swoja grawitacje za %i Dragow",Przedrostek,Cena[item])
}
case 2:
{
pev(id,pev_maxspeed,x)
x += 75
if(x > 950.0) x = 950.0
jail_set_user_speed(id,x)
fm_set_user_maxspeed(id,x)
Speed[id] = x
ColorChat(id,TEAM_COLOR,"^x4%s^03 Zwiekszyles swoja max predkosc o 25% za %i Dragow",Przedrostek,Cena[item])
}
case 3:
{
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_smokegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
ColorChat(id,TEAM_COLOR,"^x4%s^03 Dostales zestaw granatow za %i Dragow",Przedrostek,Cena[item])
}
case 4:
{
DaneGracza[id][MaxJump]+=2
ColorChat(id,TEAM_COLOR,"^x4%s^03 Zyskales dodatkowe 2 skoki w powietrzu za %i Dragow",Przedrostek,Cena[item])
}
case 5:
{
DaneGracza[id][Dmg]++
ColorChat(id,TEAM_COLOR,"^x4%s^03 Zwiekszyles swoje DMG o 100% za %i Dragow",Przedrostek,Cena[item])
}
case 6:
{
new ent = fm_find_ent_by_owner(-1,"weapon_deagle",id)
if(ent) set_pdata_int(ent,51,get_pdata_int(ent,51)+1)
else
{
new ent = fm_give_item(id, "weapon_deagle")
set_pdata_int(id,384,0)
set_pdata_int(ent,51,1)
}
ColorChat(id,TEAM_COLOR,"^x4%s^03 Dostales Deagla z 1 ammo za %i Dragow",Przedrostek,Cena[item])
}
case 7:
{
new data[2]
data[0] = id
data[1] = 9
set_pev(id, pev_rendermode, kRenderTransAlpha);
set_pev(id, pev_renderamt, 0.0);
set_task(10.0,"Koniec_Niewidzialnosc",id+5100)
set_task(1.0,"OdliczajNiewidzialnosc",id+5300,data,2)
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 1.1, 0.02, 0.02, -1)
ShowSyncHudMsg(id, Sync, "Niewidzialnosc skonczy sie za: 10 sek^nUwaga Czapki lub inne obiekty zalozone sa widoczne")
ColorChat(id,TEAM_COLOR,"^x4%s^03 Zdobyles niewidzialnosc na 10 sek za %i Dragow",Przedrostek,Cena[item])
}
case 8: Wywolaj(id,"ruletka_tt")
case 9:
{
jail_open_cele()
ColorChat(0,TEAM_COLOR,"^x4%s^03 %s otworzyl cele za dragi",Przedrostek,GetUserName(id))
}
}
}
public OdliczajNiewidzialnosc(data[])
{
if(!task_exists(data[0]+5100)) return
else
{
if(data[1]<1) return
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 1.1, 0.02, 0.02, -1)
ShowSyncHudMsg(data[0], Sync, "Niewidzialnosc skonczy sie za: %i sek^nUwaga Czapki lub inne obiekty zalozone sa widoczne",data[1])
data[1]--
set_task(1.0,"OdliczajNiewidzialnosc",data[0]+5300,data,2)
}
}
public client_PreThink( id )
{
if(!DaneGracza[id][MaxJump] || !is_user_alive(id)) return
if(pev(id,pev_flags) & FL_ONGROUND) DaneGracza[id][Jump] = 0
else
{
if((pev(id,pev_button) & IN_JUMP) && !(pev( id, pev_oldbuttons ) & IN_JUMP))
{
if(DaneGracza[id][MaxJump] > DaneGracza[id][Jump])
{
DaneGracza[id][Jump]++
DaneGracza[id][Flagi] += Jumping
}
}
}
}
public client_PostThink( id )
{
if(!DaneGracza[id][MaxJump] || !is_user_alive(id)) return
if(DaneGracza[id][Flagi] & Jumping)
{
new Float:velocity[3]
pev(id, pev_velocity, velocity)
velocity[2] = random_float(265.0,285.0)
set_pev(id, pev_velocity, velocity)
DaneGracza[id][Flagi] -= Jumping
}
}
public Menu_Callback_Sklep(id,menu,item)
{
static acces,callback,name[100],tryb,data[2]
menu_item_getinfo(menu,item,acces,data,1,name,99,callback)
tryb = 0
if(is_user_alive(id))
{
if(DaneGracza[id][Dragi] < Cena[item]) tryb = 2
else
{
switch(item)
{
case 0: if(get_user_health(id) > 199) tryb = 3
case 8: if(DaneGracza[id][Los]) tryb = 4
}
}
}
else tryb = 1
if(tryb)
{
if(contain(name, NameMenuItem[tryb]) == -1)
{
acces = strfind( name, " --")
if(acces != -1)
{
formatex(name[acces],99-acces,"")
trim(name)
}
acces = strlen(name)
formatex(name[acces],99-acces,NameMenuItem[tryb])
menu_item_setname(menu,item,name)
}
return ITEM_DISABLED
}
return ITEM_ENABLED
}
//////////// Menu (say /menu)
public MenuGraczy(id)
{
if(!StartRound)
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Nie spiesz sie tak!!!",Przedrostek)
return PLUGIN_HANDLED_MAIN
}
new t = get_user_team(id)
new l = is_user_alive(id)
new menu = menu_create( (t == 1 ? "Menu Wieznia:" : (t == 2 ? "Menu Straznika:" : "Menu Widza")) , "Menu_Zwrot");//
new cb = menu_makecallback("Menu_Callback");
new Hat[26],item[51]
if(l)
{
formatex(item,50,"Czapki\r - \d(\y%s\d)",(GetPlayerHat(id,Hat,25) ? Hat : "Brak Czapki"))
if(t == 1)
{
menu_additem(menu,"Kradnij Bron",_, _, cb);
menu_additem(menu,"Sklep",_, _, cb);
menu_additem(menu,"Ruletka",_, _, cb);
menu_additem(menu,"Glosuj na otwarcie celi",_, _, cb);
}
else if(t == 2)
{
if(jail_get_prowadzacy() == id) menu_additem(menu,"Oddaj Prowadzenie",_, _, cb);
else menu_additem(menu,"Prowadz",_, _, cb);
menu_additem(menu,"Przeszukaj Wieznia",_, _, cb);
menu_additem(menu,"Otworz Cele");
menu_additem(menu,(jail_get_prisoners_fight() ? "Tryb Walki \r- \d(\yAktualnie:\rOn\d)" : "Tryb Walki \r- \d(\yAktualnie:\rOff\d)"),_, _, cb);
menu_additem(menu,"Zabawy",_, _, cb);
menu_additem(menu,"Manager FD i Duszek",_, _, cb);
menu_additem(menu,jail_get_prisoners_micro() ? "Mikro TT \r- \d(\yAktualnie:\rOn\d)" : "Mikro TT \r- \d(\yAktualnie:\rOff\d)",_, _, cb);
menu_additem(menu,"Ruletka");
}
menu_additem(menu,item);
}
menu_additem(menu,"Zmutuj Gracza");
menu_additem(menu,"Komendy");
menu_additem(menu,"wyłącz aktualny utwor");
if(get_user_flags(id) & ADMIN_LEVEL_A) menu_additem(menu,"Menu Admina")
menu_setprop(menu, MPROP_BACKNAME, "Cofnij")
menu_setprop(menu, MPROP_NEXTNAME, "Dalej")
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
return PLUGIN_HANDLED_MAIN
}
public Menu_Callback(id, menu, item)
{
static acces,callback,name[100],tryb,data[2],l,t
menu_item_getinfo(menu,item,acces,data,1,name,99,callback)
t = get_user_team(id)
l = is_user_alive(id)
tryb = 0
if(l)
{
if(t == 2)
{
switch(item)
{
case 0:
{
if(jail_get_prowadzacy() != id && jail_get_prowadzacy()) tryb = 5
else if(!jail_get_days()) tryb = 2
else if(jail_get_play_game_id() != jail_get_days()) tryb = 3
else if(jail_get_days() == 5) tryb = 4
}
case 1:
{
if(jail_get_play_game_id() != jail_get_days()) tryb = 3
else if(jail_get_days() == 5) tryb = 4
}
case 3,4:
{
if(!jail_get_days()) tryb = 2
else if(jail_get_prowadzacy() != id) tryb = 1
else if(jail_get_play_game_id() != jail_get_days()) tryb = 3
else if(jail_get_days() == 5) tryb = 4
}
case 5:
{
if(!jail_get_days()) tryb = 2
else if(jail_get_play_game_id() != jail_get_days()) tryb = 3
else if(jail_get_days() == 5) tryb = 4
}
case 6: if(!jail_get_days()) tryb = 2
}
}
else if(t == 1)
{
switch(item)
{
case 0:
{
if(jail_get_days() == 5) tryb = 4
else if(jail_get_play_game_id() != jail_get_days()) tryb = 3
}
case 1: if(!SqlOn[0] || !SqlOn[id]) tryb = 6
}
}
}
if(tryb)
{
acces = strfind( name, " --")
if(acces != -1)
{
formatex(name[acces],99-acces,"")
trim(name)
}
acces = strlen(name)
switch(tryb)
{
case 1: formatex(name[acces],99-acces,"\r -- Nie prowadzisz")
case 2: formatex(name[acces],99-acces,"\r -- Dzisiaj jest FD")
case 3: formatex(name[acces],99-acces,"\r -- Trwa Zabawa")
case 4: formatex(name[acces],99-acces,"\r -- Dzisiaj jest KD")
case 5: formatex(name[acces],99-acces,"\r -- Juz jest prowadzacy")
case 6: formatex(name[acces],99-acces,"\r -- Poczekaj na Dragi")
}
menu_item_setname(menu,item,name)
return ITEM_DISABLED
}
return ITEM_ENABLED
}
public Menu_Zwrot(id, menu, item)
{
new t,l
t = get_user_team(id)
l = is_user_alive(id)
if(l)
{
if(t == 1)
{
switch(item)
{
case 0: KradnijBron(id)
case 1:
{
if(!SqlOn[0]) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Poczekaj na dragi",Przedrostek)
else Sklep(id)
}
case 2: Wywolaj(id,"ruletka")
case 3: Wywolaj(id,"client_say_cele")
case 4: Wywolaj(id,"ShowMenu_Hats")
case 5: Wywolaj(id,"MenuMutowania")
case 6: show_motd(id, "komendy.txt", "Komendy");
case 7: client_cmd(id,"mp3 stop")
case 8: MenuAdmina(id)
}
}
else if(t == 2)
{
switch(item)
{
case 0:
{
if(jail_get_prowadzacy() == id) Wywolaj(id,"OddajProwadzenie")
else if(!jail_get_prowadzacy())
{
if(!jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Na FD nie mozna wybrac prowadzacego",Przedrostek)
else
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Podczas zabawy nie mozna wybrac prowadzacego",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Na KD nie mozna wybrac prowadzacego",Przedrostek)
else
{
ColorChat(id,TEAM_COLOR,"^x04%s^x03 Zostales prowadzacym",Przedrostek)
jail_set_prowadzacy(id);
}
}
}
}
else ColorChat(id,TEAM_COLOR,"^x04%s^x03 Prowadzony zostal juz wybrany",Przedrostek)
}
case 1:
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Podczas zabawy nie mozna przeszukiwac wiezniow",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Na KD nie mozna przeszukiwac wiezniow",Przedrostek)
else DaneGracza[id][BarTime] ? wylacz_rewizje(id): wlacz_rewizje(id);
}
}
case 2: jail_open_cele();
case 3:
{
if(jail_get_prowadzacy() != id) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Tylko prowadzacy moze ingerowac w walke wiezniow",Przedrostek)
else
{
if(!jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci ingerencji w walke wiezniow na FD",Przedrostek)
else
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci ingerencji w walke wiezniow podczas zabawy",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci ingerencji w walke wiezniow na KD",Przedrostek)
else jail_set_prisoners_fight((jail_get_prisoners_fight() ? false:true),true,true)
}
}
}
}
case 4:
{
if(jail_get_prowadzacy() != id) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Tylko prowadzacy moze ustalic zabawe",Przedrostek)
else
{
if(!jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci wlaczenia zabawy na FD",Przedrostek)
else
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Juz trwa zabawa",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Juz trwa zabawa",Przedrostek)
else Wywolaj(id,"MenuZabaw")
}
}
}
}
case 5:
{
if(!jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci nagradzania wiezniow podczas FD",Przedrostek)
{
if(jail_get_play_game_id() != jail_get_days()) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci nagradzania wiezniow podczas zabawy",Przedrostek)
else
{
if(jail_get_days() == 5) ColorChat(id,TEAM_COLOR,"^x04%s^x03 Brak mozliwosci nagradzania wiezniow podczas KD",Przedrostek)
else MenuFreeday(id);
}
}
}
case 6: jail_set_prisoners_micro((jail_get_prisoners_micro() ? false:true))
case 7: Wywolaj(id,"ruletka")
case 8: Wywolaj(id,"ShowMenu_Hats")
case 9: Wywolaj(id,"MenuMutowania")
case 10: show_motd(id, "komendy.txt", "Komendy");
case 11: client_cmd(id,"mp3 stop")
case 12: MenuAdmina(id)
}
}
}
else
{
switch(item)
{
case 0: Wywolaj(id,"MenuMutowania")
case 1: show_motd(id, "komendy.txt", "Komendy");
case 2: client_cmd(id,"mp3 stop")
case 3: MenuAdmina(id)
}
}
}
//////////////// Menu Admina
public MenuAdmina(id)
{
new menu = menu_create("Menu Admina:", "MenuAdmina_Zwrot");
menu_additem(menu, "Przenies Gracza");
menu_additem(menu, "Ozyw Gracza");
menu_additem(menu,jail_get_prisoners_micro() ? "Mikro TT \r- \d(\yAktualnie:\rOn\d)" : "Mikro TT \r- \d(\yAktualnie:\rOff\d)");
menu_additem(menu, "Otworz Cele");
menu_additem(menu,(jail_get_prisoners_fight() ? "Tryb Walki \r- \d(\yAktualnie:\rOn\d)" : "Tryb Walki \r- \d(\yAktualnie:\rOff\d)"));
menu_additem(menu, "\rBan na CT");
menu_setprop(menu, MPROP_BACKNAME, "Cofnij")
menu_setprop(menu, MPROP_NEXTNAME, "Dalej")
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}
public MenuAdmina_Zwrot(id,menu,item)
{
switch(item)
{
case 0: client_cmd(id, "amx_teammenu", "Przenies TT\CT\SPEC");
case 1: Wywolaj(id,"pokaz_menu")
case 2: jail_set_prisoners_micro((jail_get_prisoners_micro() ? false:true))
case 3: jail_open_cele();
case 4: jail_set_prisoners_fight((jail_get_prisoners_fight() ? false:true),true,true)
case 5: client_cmd(id, "jail_menuban", "Ban na CT");
}
}
public Wywolaj(id,Func[])
{
new R,X
X = CreateMultiForward(Func,ET_IGNORE,FP_CELL);
ExecuteForward(X, R, id);
DestroyForward(X)
}
public KradnijBron(id)
{
if(jail_get_prisoner_free(id) || jail_get_user_block(id) || jail_get_play_game_id() != jail_get_days()) return;
new body, target;
get_user_aiming(id, target, body, 50);
if(target && get_user_team(target) == 1)
{
client_print(id,print_center,"Nie nacelowales na straznika")
return;
}
if(!is_user_alive(target)) return;
new weapons = Jaki_Pistolet(target);
if(!weapons)
{
client_print(id,print_center,"Straznik nie ma broni krotkiej")
return;
}
new weaponname[24];
get_weaponname(weapons, weaponname, 23);
ham_strip_weapon(target, weapons, weaponname);
fm_give_item(id, weaponname);
client_print(id,print_center,"Ukradles bron")
}
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_BACKNAME, "Cofnij")
menu_setprop(menu2, MPROP_NEXTNAME, "Dalej")
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) || get_user_team(i) != 1)
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_BACKNAME, "Cofnij")
menu_setprop(menu2, MPROP_NEXTNAME, "Dalej")
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%s ^x03%s ^x01%s freedaya ^x03%s",Przedrostek,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%s ^x03%s ^x01%s duszka ^x03%s",Przedrostek,szName[0], callback? "dal": "zabral",szName[1]);
}
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%s^x03 Nie nacelowales na wieznia",Przedrostek);
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);
DaneGracza[id][BarTime] = target;
DaneGracza[target][BarTime] = 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 || !DaneGracza[id][BarTime])
return PLUGIN_HANDLED;
remove_task(id+5000);
jail_set_user_speed(id, 250.0);
set_bartime(id, 0);
if(is_user_alive(DaneGracza[id][BarTime]))
{
jail_set_user_speed(DaneGracza[id][BarTime], 250.0);
set_bartime(DaneGracza[id][BarTime], 0);
}
if(taskid > 32)
Pokaz_bronie(id);
DaneGracza[DaneGracza[id][BarTime]][BarTime] = 0;
DaneGracza[id][BarTime] = 0;
return PLUGIN_HANDLED;
}
public Pokaz_bronie(id)
{
if(!is_user_alive(id) || !is_user_alive(DaneGracza[id][BarTime]))
return;
new weapons[32], numweapons, weaponname[32];
get_user_weapons(DaneGracza[id][BarTime], 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);
}
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();
}
Oraz chcialbym aby bylo Dragi: w hud