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
 

Zdjęcie

[KOSZ] Prośba o przerobienie pluginuJeżeli zły dział, to bardzo przepraszam :/


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 Spr!Nt3R

    Życzliwy

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:37
  • Lokalizacja:Polska
Offline

Napisano 03.02.2015 21:31

Witam

 

 

 

Moja prośba tyczy się do przerobinia pluginu jail_menu (w załączniku).

Przerobienie polegałoby na dodanie jeszcze jednego menu o nazwie "Menu admina".

"Menu admina" byłoby dostępne i widoczne tylko dla admina na ADMIN_LEVEL_A.

Otwierało by się one w TT/CT/SPEC.

Znajdowałoby się w nim:

 

1. Przeniesies do TT/CT/SPEC (amx_teammenu)

2. Ozyw gracza             (/ozyw)

3. Mikro dla TT            (zanajduję się to  pluginie)

4. Otworz cele            (zanajduję się to  pluginie)

5. Tryb walki               (zanajduję się to  pluginie)

6. Menadzer FD i duszka               (zanajduję się to  pluginie)

7. Zabawy              ( FreeDay dla wszystkich, Killday, Ganiany, Chowany, Polowanie, Kaczki z AWP, Wojna gangów, ZombieDay, Dzieci wojny)

8. Ban na CT            (jail_menuban)

9. Unban na CT          (jail_delct "STEAM_ID/IP"   prosiłbym aby pod tą komendą wyświetlała się lista graczy a za nick'iem czy Zbanowany czy nie)

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
#include <jailbreak>

#define PLUGIN "Jail Menu"
#define VERSION "1.0.7m"
#define AUTHOR "Cypis"

new bool:menu_mikro, bool:menu_walka;
new w_trakcie[33];
new bool:zyczenie=false

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

public plugin_precache()
{
	precache_sound("weapons/c4_disarm.wav");
	precache_sound("weapons/c4_disarmed.wav");
}

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, "Wybierz Zyczenie", 		"3");
	menu_additem(menu, "Czapki", 		"4");
	menu_additem(menu, "Kradnij Bron", 	"5");
	
	menu_additem(menu, "Regulamin", 	"0");
	menu_additem(menu, "Zasady Gier", 	"1");
	menu_additem(menu, "Komendy", 		"2");
	
	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", 		"7", 1, cb);
	
	menu_additem(menu, "Przeszukaj Wieznia","6");
	
	menu_additem(menu, "Otworz Cele", 	"8", 2, cb);
	menu_additem(menu, "Tryb Walki", 	"9", 3, cb);
	menu_additem(menu, "Mikro dla TT", 	"10", 3, cb);
	menu_additem(menu, "Zabawy", 		"11", 3, cb);
	menu_additem(menu, "Manager FD i Duszek","12", 3, cb);
	
	menu_additem(menu, "Regulamin", 	"0");
	menu_additem(menu, "Zasady Gier", 	"1");
	menu_additem(menu, "Komendy", 		"2");
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
}

public MenuGraczaNieZywego(id)
{
	new menu = menu_create("Menu Widza:", "Handel_Menu");

	menu_additem(menu, "Regulamin", 	"0");
	menu_additem(menu, "Zasady Gier", 	"1");
	menu_additem(menu, "Komendy", 		"2");

	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, "regulamin.txt", "Regulamin Serwera"); 
	case 1: show_motd(id, "zasadygier.txt", "Zasady Gier");
	case 2: show_motd(id, "komendy.txt", "Komendy");
		
	case 3: client_cmd(id, "say /lr");
	case 4: client_cmd(id, "say /czapki");
	case 5:
		{
			if(jail_get_prisoner_free(id) || jail_get_user_block(id))
			return;
			
			if(zyczenie)
			return;
			
			if(jail_get_play_game_id() > 7 || jail_get_days() == KILLDAY_DAY)
			{
				ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Podczas zabawy nie mozesz krasc broni!");
				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 6:
		{				
			if(zyczenie) return; 
			
			if(jail_get_play_game_id() > 7 || jail_get_days() == KILLDAY_DAY)
			{
				ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Podczas zabawy nie mozna przeszukiwac!");
				return;
			}
			
			w_trakcie[id]? wylacz_rewizje(id): wlacz_rewizje(id);
		}
		
	case 7:{
			if(!jail_get_prowadzacy())
			jail_set_prowadzacy(id);
		}

	case 8: jail_open_cele();
	case 9: jail_set_prisoners_fight((menu_walka = !menu_walka), !menu_walka);
	case 10: jail_set_prisoners_micro((menu_mikro = !menu_mikro), true);
	case 11: client_cmd(id, "say /zabawy");
	case 12: MenuFreeday(id);
	}
}

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;
	zyczenie = false;
}

public OnLastPrisonerTakeWish(id)
zyczenie = true;


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;
	
	if(zyczenie)return PLUGIN_HANDLED;
	
	if(jail_get_play_game_id() > 7 || jail_get_days() == KILLDAY_DAY)
	{
		ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Podczas zabawy nie mozna przeszukiwac!");
		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) || jail_get_prisoner_free(target) || jail_get_prisoner_ghost(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();
}


  • +
  • -
  • 0

#2 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 04.02.2015 09:53

Nazywaj tematy zgodnie z ich treścią.
Napisz ponownie temat nazywając go tak, aby każdy wiedział o co chodzi.

Jednoznacznie określ problematykę tematu, wyróżniając go spośród reszty.
Nie dodawaj zbędnych informacji, znaków, ani emotikon w nazwie tematu.

Ten temat w ciągu 24 godzin zostanie przeniesiony do kosza.
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych