Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Kerach - zdjęcie

Kerach

Rejestracja: 19.07.2014
Aktualnie: Nieaktywny
Poza forum Ostatnio: 03.02.2015 15:54
-----

Moje tematy

Prośba o napisanie pluginu "Ultra VIP" Jailbreak

28.01.2015 22:23

Posiada rezerwację slota
Dodatkowe 100-120 punktów życia w TT i 120-140 w CT
Dodatkowe 200 punktów kamizelki
W CT posiada dwie katany, a TT łom
45% obrażeń więcej ze wszystkich broni i noża
Tańsza ruletka o 40%
Może wylosować w ruletce Szybsze przeładowanie broni będąc w CT
Może wylosować w ruletce Zabierz broń strażnikowi będąc w TT
Nie może wylosować w ruletce 1HP bądź KILL''a, TT: Zatrucia i Spowolnienia, CT: Zamrożenia i Zabrania broni
W ruletce może wylosować Scout''a
Jeśli ma już scouta i ruletka wylosuje scouta to automatycznie zmienia nagrodę na niewidzialność
Możliwość wybrania modeli specjalnych i Ultra VIPa
Napis VIP w tabeli wyników
Amunicja po przeładowaniu nie zmniejsza się po stronie CT (nie dotyczy broni M249)
Automatyczne przywitanie/pożegnanie gracza w hud
Możliwość rysowania kolorowych lin w CT komendą w konsoli +maluj
Możliwość komunikacji głosowej z żywymi ze swojej drużyny komendą w konsoli +vipvoice
Możliwość korzystanie ze wszystkich apteczek na mapach podczas zabaw w których biorą udział tylko więźniowie
Darmowy granat dymny co rundę
Może zrobić 2 skoki w powietrzu
Jest w menu say /vips
Szybszy bieg o 50 unitów podczas zabaw "Ganiany" oraz "Łapany"
Darmowy noktowizor po stronie TT podczas zabawy "Chowany"
Dostęp do czapek: Kutas, Lolface, Mario oraz Sonic Ultra
Może korzystać z linki w CT, która przemieszcza gracza komendą w konsoli +linka
AK47/M4A1, które ma zooma i 2x większe obrażenia dla prowadzącego
Może kraść pistolety strażnikom (20% szansy) komendą w konsoli +kradnij
20% szansy na wybór flasha, tarczy lub auto bh w TT na początku rundy
20% szansy na wyświetlanie więźniów na radarze w CT od początku rundy
Regeneracja 1 HP co 5 sekund
Nie słychać kroków podczas biegania
Podczas strzelania do przeciwnika, widać ile zabrało mu życia
Możliwość robienia kupy komendą /sr**
Zniżka 20% na zakupy w sklepie
Dodatkowe $50 w wygranej w loterii
Menu Ultra VIPa, w którym może wybrać kilka rzeczy *wybór łoma z mocami* 3 do wyboru

Daje reputa :))))))) i może zaapłacę za dobrą pracę.


[KOSZ] problem z pluginem "daj ak47"

27.01.2015 23:15

Wyskakują mi errory.

 

L 01/27/2015 - 14:44:55: [AMXX] Displaying debug trace (plugin "ak47.amxx")
L 01/27/2015 - 14:44:55: [AMXX] Run time error 4: index out of bounds
L 01/27/2015 - 14:44:55: [AMXX]    [0] ak47_2704854.sma::menu_broni (line 44)

 

 

A to sma.

Problem z prefixem "VIP" w vipie

25.01.2015 21:28

Nie wyświetla mi prefixu, czemu?

 

Proszę o pomoc.

#include <amxmodx>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#define FL_ONGROUND (1<<9)
#define FL_WATERJUMP (1<<11)
#define IsPlayer(%1) (1<=%1<=maxPlayers)

forward amxbans_admin_connect(id);

new Array:g_Array, bool:g_FreezeTime, bool:g_Vip[33], g_Hudmsg, ioid,
maxPlayers, skoki[33];

new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};

public plugin_init(){
	register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
	RegisterHam(get_player_resetmaxspeed_func(), "player", "fw_Player_ResetMaxSpeed", 1);
	register_logevent("logevent_round_start", 2, "1=Round_Start");
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
	register_forward(FM_CmdStart, "CmdStartPre");
	RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
	RegisterHam(Ham_TakeDamage, "player", "takeDamage", 0);
	register_event("DeathMsg", "DeathMsg", "a");
	register_message(get_user_msgid("SayText"),"handleSayText");
	g_Array=ArrayCreate(64,32);
	for(new i;i<sizeof g_Langcmd;i++){
		register_clcmd(g_Langcmd[i], "ShowVips");
	}
	register_clcmd("say /vip", "ShowMotd");
	set_task(30.0, "ShowAdv",.flags = "b");
	register_message(get_user_msgid("SayText"),"handleSayText");
	g_Hudmsg=CreateHudSyncObj();
	register_logevent("RoundEnd", 2, "1=Round_End");
}
public client_authorized(id){
	if(get_user_flags(id) & 262144 == 262144){
		client_authorized_vip(id);
	}
}
public client_authorized_vip(id){
	g_Vip[id]=true;
	new g_Name[64];
	get_user_name(id,g_Name,charsmax(g_Name));
	
	new g_Size = ArraySize(g_Array);
	new szName[64];
	
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, szName, charsmax(szName));
		
		if(equal(g_Name, szName)){
			return 0;
		}
	}
	ArrayPushString(g_Array,g_Name);
	set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
	ShowSyncHudMsg(0, g_Hudmsg, "Vip %s wbija na serwer !",g_Name);
	
	return PLUGIN_CONTINUE;
}
public client_disconnect(id){
	if(g_Vip[id]){
		client_disconnect_vip(id);
	}
}
public client_disconnect_vip(id){
	g_Vip[id]=false;
	new Name[64];
	get_user_name(id,Name,charsmax(Name));
	
	new g_Size = ArraySize(g_Array);
	new g_Name[64];
	
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
		
		if(equal(g_Name,Name)){
			ArrayDeleteItem(g_Array,i);
			break;
		}
	}
}
Ham:get_player_resetmaxspeed_func(){
	#if defined Ham_CS_Player_ResetMaxSpeed
	return IsHamValid(Ham_CS_Player_ResetMaxSpeed)?Ham_CS_Player_ResetMaxSpeed:Ham_Item_PreFrame;
	#else
	return Ham_Item_PreFrame;
	#endif
}
public fw_Player_ResetMaxSpeed(id){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			fw_Player_ResetMaxSpeedVip(id);
		}
	}
}
public logevent_round_start(){
	g_FreezeTime=false;
}
public event_new_round(){
	g_FreezeTime=true;
}
public fw_Player_ResetMaxSpeedVip(id){
	if(!g_FreezeTime){
		set_user_maxspeed(id,get_user_maxspeed(id) + 50);
	}
}
public CmdStartPre(id, uc_handle){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			CmdStartPreVip(id, uc_handle);
		}
	}
}
public CmdStartPreVip(id, uc_handle){
	new flags = pev(id, pev_flags);
	if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
		--skoki[id];
		new Float:velocity[3];
		pev(id, pev_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		set_pev(id,pev_velocity,velocity);
	} else if(flags & FL_ONGROUND && skoki[id]!=-1){
		skoki[id] = 2;
	}
}
public SpawnedEventPre(id){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			SpawnedEventPreVip(id);
		}
	}
}
public SpawnedEventPreVip(id){
	skoki[id]=2;
	cs_set_user_model(id,"vip");
}
public plugin_cfg(){
	maxPlayers=get_maxplayers();
}
public takeDamage(this, idinflictor, idattacker, Float:damage, damagebits){
	if(((IsPlayer(idattacker) && is_user_connected(idattacker) && g_Vip[idattacker] && (ioid=idattacker)) ||
	(ioid=pev(idinflictor, pev_owner) && IsPlayer(ioid) && is_user_connected(ioid) && g_Vip[ioid]))){
		damage*=(100+10)/100;
	}
}
public DeathMsg(){
	new killer=read_data(1);
	new victim=read_data(2);
	
	if(is_user_alive(killer) && g_Vip[killer] && get_user_team(killer) != get_user_team(victim)){
		DeathMsgVip(killer,victim,read_data(3));
	}
}
public DeathMsgVip(kid,vid,hs){
	cs_set_user_money(kid, cs_get_user_money(kid)+(hs?500:300));
}
public VipStatus(){
	new id=get_msg_arg_int(1);
	if(is_user_alive(id) && g_Vip[id]){
		set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
	}
}
public ShowVips(id){
	return PLUGIN_CONTINUE;
}
public client_infochanged(id){
	if(g_Vip[id]){
		new szName[64];
		get_user_info(id,"name",szName,charsmax(szName));
		
		new Name[64];
		get_user_name(id,Name,charsmax(Name));
		
		if(!equal(szName,Name)){
			ArrayPushString(g_Array,szName);
			
			new g_Size=ArraySize(g_Array);
			new g_Name[64];
			for(new i = 0; i < g_Size; i++){
				ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
				
				if(equal(g_Name,Name)){
					ArrayDeleteItem(g_Array,i);
					break;
				}
			}
		}
	}
}
public plugin_end(){
	ArrayDestroy(g_Array);
}
public ShowMotd(id){
	show_motd(id, "vip.txt", "Informacje o vipie");
}
public ShowAdv(){
	ColorChat(0, NORMAL, "[VIP]^x04 Chcesz dowiedziec sie co posiada vip ? Napisz na say'u /vip");
}
public handleSayText(msgId,msgDest,msgEnt){
	new id = get_msg_arg_int(1);
	
	if(is_user_connected(id) && g_Vip[id]){
		new szTmp[256],szTmp2[256];
		get_msg_arg_string(2,szTmp, charsmax(szTmp))
		
		new szPrefix[64] = "^x04[VIP]";
		
		if(!equal(szTmp,"#Cstrike_Chat_All")){
	            add(szTmp2,charsmax(szTmp2),szPrefix);
		    add(szTmp2,charsmax(szTmp2)," ");
		    add(szTmp2,charsmax(szTmp2),szTmp);
		}
		else{
		    add(szTmp2,charsmax(szTmp2),szPrefix);
		    add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 :  %s2");
		}
		set_msg_arg_string(2,szTmp2);
	}
	return PLUGIN_CONTINUE;
}
public SetPlayerModel(id)
{

        if(cs_get_user_team(id) == CS_TEAM_T)

        {

                cs_set_user_model(id, "vip");

        }

        else

        {

                cs_set_user_model(id, "vipTT");

        }

        cs_set_user_model(id, "vipTT");

	return PLUGIN_CONTINUE;
}
public plugin_precache(){
      //precache_model("models/player/vip/vip.mdl");

	precache_model("models/player/vip/vip.mdl");
        precache_model("models/player/vip/vipTT.mdl");
}
public RoundEnd(){
	for(new i = 1; i <= maxPlayers; i++){
		if(is_user_alive(i) && g_Vip[i]){
			cs_set_user_money(i,cs_get_user_money(i) + 500);
		}
	}
}
public client_PreThink(id){
	if(g_Vip[id] && is_user_alive(id)){
		client_PreThinkVip(id);
	}
}
public client_PreThinkVip(id){
	entity_set_float(id, EV_FL_fuser2, 0.0);
	
	if(entity_get_int(id, EV_INT_button) & 2){
		new flags = entity_get_int(id, EV_INT_flags);
		
		if(flags & FL_WATERJUMP || entity_get_int(id, EV_INT_waterlevel) >= 2 || !(flags & FL_ONGROUND)){
			return PLUGIN_CONTINUE;
		}
		new Float:velocity[3];
		entity_get_vector(id, EV_VEC_velocity, velocity);
		
		velocity[2] += 250.0;
		entity_set_vector(id, EV_VEC_velocity, velocity);
		
		entity_set_int(id, EV_INT_gaitsequence, 6);
	}
	return PLUGIN_CONTINUE;
}
public amxbans_admin_connect(id){
	client_authorized(id);
}


Dodanie opcji do menu_jailbreak

20.01.2015 10:29


#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");
		
		
	}
	return;
}

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();
}

Chciałbym aby ktoś dodał mi do menu  CT

/deagle - daje deagla wybranemu wieźniowi z ilością ammo

[KOSZ] menu_jailbreak help!

19.01.2015 23:06

#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");
		
		
	}
	return;
}

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();
}

Chciałbym aby ktoś dodał mi do menu  CT

/deagle - daje deagla wybranemu wieźniowi z ilością ammo