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

[ROZWIĄZANE] Scalenie pluginu do menu.


Najlepsza odpowiedź GT Team , 10.11.2013 11:08

/* Plugin generated by AMXX-Studio */

#include 
#include 
#include 

#define PLUGIN "Menu"
#define VERSION "1.0"
#define AUTHOR "Play"

new bool:dostal_przedmiot[33];
new oddaj_id[33];

new bool:dostal_przedmiots[33];
new oddaj_ids[33];

native cod_set_perk_durability(id, set); // Ustawia wytrzymalosc Perku
native cod_get_perk_durability(id); // Pobiera Wytrzymalosc Perku

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /menu","mymenu");
	
	register_clcmd("say /oddaj", "OddajPerk");
	register_clcmd("OddajPerk", "OddajPerk");
	register_clcmd("say /daj", "OddajPerk");
	register_clcmd("say /wymien", "ZamienPerks");
	register_clcmd("say /zamien", "ZamienPerks");
	register_event("ResetHUD", "cod_perk_changed", "abe");
}
public mymenu(id){
	new menu = menu_create("Co Chcesz Wybrac ?","cbMyMenu");
	
	menu_additem(menu, "\wDaj Perk");//item=0
	menu_additem(menu, "\yWymien Perk");//item=1
	
	menu_display(id, menu);
}
public cbMyMenu(id, menu, item){
	switch(item){
		case 0:{
			OddajPerk(id)
		}
		
		case 1:{
			ZamienPerk(id)
		}
	}
}

public OddajPerk(id)
{
	new menu = menu_create("Przekazywanie Perku", "OddajPerk_Handle");
	new cb = menu_makecallback("OddajPerk_Callback");
	for(new i=0, n=0; i<=32; i++)
	{
		if(!is_user_connected(i))
			continue;
		oddaj_id[n++] = i;
		new nazwa_gracza[64];
		get_user_name(i, nazwa_gracza, 63)
		menu_additem(menu, nazwa_gracza, "0", 0, cb);
	}
	menu_setprop(menu,MPROP_NUMBER_COLOR,"\y");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
}

public cod_perk_changed(id)
{
	dostal_przedmiot[id] = false;
	dostal_przedmiots[id] = false;
}

public OddajPerk_Handle(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_connected(oddaj_id[item]))
	{
		client_print(id, print_chat, "Nie odnaleziono zadanego gracza.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiot[id])
	{
		client_print(id, print_chat, "Musisz poczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	new wartosc_perku_dajacego;
	new perk_dajacego = cod_get_user_perk(id, wartosc_perku_dajacego);
	new wytrzymalosc_dajacego = cod_get_perk_durability(id);
	
	if(!perk_dajacego)
	{
		client_print(id, print_chat, "Nie masz zadnego perku.");
		return PLUGIN_CONTINUE;
	}
	
	new nazwa_dajacego[64];
	new nazwa_otrzymujacego[64];
	
	get_user_name(id, nazwa_dajacego, 63)
	get_user_name(oddaj_id[item], nazwa_otrzymujacego, 63)
	
	dostal_przedmiot[oddaj_id[item]] = true;
	cod_set_user_perk(oddaj_id[item], perk_dajacego, wartosc_perku_dajacego, 0);
	cod_set_perk_durability(oddaj_id[item], wytrzymalosc_dajacego);
	client_print(id, print_chat, "Przekazales perk graczowi %s.", nazwa_otrzymujacego);
	client_print(oddaj_id[item], print_chat, "Dostales perk od gracza %s.", nazwa_dajacego);
	cod_set_user_perk(id, 0);
	return PLUGIN_CONTINUE;
}

public OddajPerk_Callback(id, menu, item)
{
	if(oddaj_id[item] == id || !cod_get_user_class(oddaj_id[item]) || cod_get_user_perk(oddaj_id[item]))
		return ITEM_DISABLED;
	return ITEM_ENABLED;
}
/*===================================*/
public ZamienPerk(id)
{
	new menu = menu_create("Zamien sie perkiem", "ZamienPerk_Handle");
	new cb = menu_makecallback("OddajPerks_Callback");
	for(new i=0, n=0; i<=32; i++)
	{
		if(!is_user_connected(i))
			continue;
		oddaj_ids[n++] = i;
		new nazwa_gracza[64];
		get_user_name(i, nazwa_gracza, 63)
		menu_additem(menu, nazwa_gracza, "0", 0, cb);
	}
	menu_display(id, menu);
}

public ZamienPerk_Handle(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_connected(oddaj_ids[item])){
		client_print(id, print_chat, "Nie odnaleziono zadanego gracza.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiots[oddaj_ids[item]]){
		client_print(id, print_chat, "Wybrany gracz musi poczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiots[id]){
		client_print(id, print_chat, "Musisz poczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	if(!cod_get_user_perk(oddaj_ids[item])){
		client_print(id, print_chat, "Wybrany gracz nie mam zadnego perka.");
		return PLUGIN_CONTINUE;
	}
	
	if(!cod_get_user_perk(id)){
		client_print(id, print_chat, "Nie masz zadnego perka.");
		return PLUGIN_CONTINUE;
	}

	new nazwa_menu[128], nick[64];
	
	get_user_name(id, nick, charsmax(nick))
	formatex(nazwa_menu, charsmax(nazwa_menu), "Wymien sie perkiem z %s:", nick)
	
	new menu2 = menu_create(nazwa_menu, "menu_wymien");

	menu_additem(menu2, "Tak", nick);
	menu_addblank(menu2, 0)
	menu_additem(menu2, "Nie", nick);
	
	menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
	menu_display(oddaj_id[item], menu2);
	return PLUGIN_CONTINUE;
}

public menu_wymien(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	new access, callback, data[64];
	menu_item_getinfo(menu, item, access, data, charsmax(data), _, _, callback);
	new id2 = get_user_index(data) 
	
	switch(item)
	{
		case 0: 
		{ 
			new perk_oddajacego = cod_get_user_perk(id2)
			new perk_dajacego = cod_get_user_perk(id)
			new trim_oddajacego = cod_get_perk_durability(id2)
			new trim_dajacego = cod_get_perk_durability(id)
			
			cod_set_user_perk(id2, perk_dajacego);
			cod_set_user_perk(id, perk_oddajacego);
			cod_set_perk_durability(id2, trim_dajacego)
			cod_set_perk_durability(id, trim_oddajacego)
		
			dostal_przedmiots[id2] = true;
			dostal_przedmiots[id] = true;
					
			new nazwa_dajacego[64];
			
			get_user_name(id, nazwa_dajacego, charsmax(nazwa_dajacego))
					
			client_print(id, print_chat, "Wymieniles sie perkiem z %s.", data);
			client_print(id2, print_chat, "Wymieniles sie perkiem z %s.", nazwa_dajacego)
		}
		case 1: client_print(id2, print_chat, "Wybrany gracz nie zgodzil sie na wymiane perka.")
	}
	return PLUGIN_CONTINUE;
}

public OddajPerks_Callback(id, menu, item)
{
	if(oddaj_ids[item] == id || !cod_get_user_class(oddaj_ids[item]) || !cod_get_user_perk(oddaj_ids[item]))
		return ITEM_DISABLED;
	return ITEM_ENABLED;
}
;) Przejdź do postu


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 10.11.2013 10:44

Potrzebuję pomocy z dodaniem dalszej części kodu do menu.

 

Tyle stworzyłem :

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Menu"
#define VERSION "1.0"
#define AUTHOR "Play"
new gMyMenu;

public plugin_init()
    {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /menu","mymenu");
    gMyMenu=menu_create("Co Chcesz Wybrac ?","cbMyMenu");
    menu_additem(gMyMenu,
    "\wDaj Perk");//item=0
    menu_additem(gMyMenu,
    "\yWymien Perk");//item=1

    }
public mymenu(id){
  menu_display(id, gMyMenu,0);
  return PLUGIN_HANDLED
}
public cbMyMenu(id, menu, item){
    switch(item){
        case 0:{
            client_cmd(id, "say /Daj");
        }
    
        case 1:{
            client_cmd(id, "say /Wymien");
        }
    }
}

No i pytanie do was czy dałoby radę dodać kody czyli jak masz plugin /daj to tam masz kod itp i żeby to wszystko dodać w 1pluginie da radę ? :)

 

Pluginy jakie chce żeby były w tym menu:

http://amxx.pl/topic...obie-daj-oddaj/

http://amxx.pl/topic...ymiana-perkami/

 


Użytkownik Busta12 edytował ten post 10.11.2013 11:05

  • +
  • -
  • 0

#2 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 10.11.2013 11:08   Najlepsza odpowiedź

/* Plugin generated by AMXX-Studio */

#include 
#include 
#include 

#define PLUGIN "Menu"
#define VERSION "1.0"
#define AUTHOR "Play"

new bool:dostal_przedmiot[33];
new oddaj_id[33];

new bool:dostal_przedmiots[33];
new oddaj_ids[33];

native cod_set_perk_durability(id, set); // Ustawia wytrzymalosc Perku
native cod_get_perk_durability(id); // Pobiera Wytrzymalosc Perku

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /menu","mymenu");
	
	register_clcmd("say /oddaj", "OddajPerk");
	register_clcmd("OddajPerk", "OddajPerk");
	register_clcmd("say /daj", "OddajPerk");
	register_clcmd("say /wymien", "ZamienPerks");
	register_clcmd("say /zamien", "ZamienPerks");
	register_event("ResetHUD", "cod_perk_changed", "abe");
}
public mymenu(id){
	new menu = menu_create("Co Chcesz Wybrac ?","cbMyMenu");
	
	menu_additem(menu, "\wDaj Perk");//item=0
	menu_additem(menu, "\yWymien Perk");//item=1
	
	menu_display(id, menu);
}
public cbMyMenu(id, menu, item){
	switch(item){
		case 0:{
			OddajPerk(id)
		}
		
		case 1:{
			ZamienPerk(id)
		}
	}
}

public OddajPerk(id)
{
	new menu = menu_create("Przekazywanie Perku", "OddajPerk_Handle");
	new cb = menu_makecallback("OddajPerk_Callback");
	for(new i=0, n=0; i<=32; i++)
	{
		if(!is_user_connected(i))
			continue;
		oddaj_id[n++] = i;
		new nazwa_gracza[64];
		get_user_name(i, nazwa_gracza, 63)
		menu_additem(menu, nazwa_gracza, "0", 0, cb);
	}
	menu_setprop(menu,MPROP_NUMBER_COLOR,"\y");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu);
}

public cod_perk_changed(id)
{
	dostal_przedmiot[id] = false;
	dostal_przedmiots[id] = false;
}

public OddajPerk_Handle(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_connected(oddaj_id[item]))
	{
		client_print(id, print_chat, "Nie odnaleziono zadanego gracza.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiot[id])
	{
		client_print(id, print_chat, "Musisz poczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	new wartosc_perku_dajacego;
	new perk_dajacego = cod_get_user_perk(id, wartosc_perku_dajacego);
	new wytrzymalosc_dajacego = cod_get_perk_durability(id);
	
	if(!perk_dajacego)
	{
		client_print(id, print_chat, "Nie masz zadnego perku.");
		return PLUGIN_CONTINUE;
	}
	
	new nazwa_dajacego[64];
	new nazwa_otrzymujacego[64];
	
	get_user_name(id, nazwa_dajacego, 63)
	get_user_name(oddaj_id[item], nazwa_otrzymujacego, 63)
	
	dostal_przedmiot[oddaj_id[item]] = true;
	cod_set_user_perk(oddaj_id[item], perk_dajacego, wartosc_perku_dajacego, 0);
	cod_set_perk_durability(oddaj_id[item], wytrzymalosc_dajacego);
	client_print(id, print_chat, "Przekazales perk graczowi %s.", nazwa_otrzymujacego);
	client_print(oddaj_id[item], print_chat, "Dostales perk od gracza %s.", nazwa_dajacego);
	cod_set_user_perk(id, 0);
	return PLUGIN_CONTINUE;
}

public OddajPerk_Callback(id, menu, item)
{
	if(oddaj_id[item] == id || !cod_get_user_class(oddaj_id[item]) || cod_get_user_perk(oddaj_id[item]))
		return ITEM_DISABLED;
	return ITEM_ENABLED;
}
/*===================================*/
public ZamienPerk(id)
{
	new menu = menu_create("Zamien sie perkiem", "ZamienPerk_Handle");
	new cb = menu_makecallback("OddajPerks_Callback");
	for(new i=0, n=0; i<=32; i++)
	{
		if(!is_user_connected(i))
			continue;
		oddaj_ids[n++] = i;
		new nazwa_gracza[64];
		get_user_name(i, nazwa_gracza, 63)
		menu_additem(menu, nazwa_gracza, "0", 0, cb);
	}
	menu_display(id, menu);
}

public ZamienPerk_Handle(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_connected(oddaj_ids[item])){
		client_print(id, print_chat, "Nie odnaleziono zadanego gracza.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiots[oddaj_ids[item]]){
		client_print(id, print_chat, "Wybrany gracz musi poczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	if(dostal_przedmiots[id]){
		client_print(id, print_chat, "Musisz poczekac 1 runde.");
		return PLUGIN_CONTINUE;
	}
	
	if(!cod_get_user_perk(oddaj_ids[item])){
		client_print(id, print_chat, "Wybrany gracz nie mam zadnego perka.");
		return PLUGIN_CONTINUE;
	}
	
	if(!cod_get_user_perk(id)){
		client_print(id, print_chat, "Nie masz zadnego perka.");
		return PLUGIN_CONTINUE;
	}

	new nazwa_menu[128], nick[64];
	
	get_user_name(id, nick, charsmax(nick))
	formatex(nazwa_menu, charsmax(nazwa_menu), "Wymien sie perkiem z %s:", nick)
	
	new menu2 = menu_create(nazwa_menu, "menu_wymien");

	menu_additem(menu2, "Tak", nick);
	menu_addblank(menu2, 0)
	menu_additem(menu2, "Nie", nick);
	
	menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
	menu_display(oddaj_id[item], menu2);
	return PLUGIN_CONTINUE;
}

public menu_wymien(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	new access, callback, data[64];
	menu_item_getinfo(menu, item, access, data, charsmax(data), _, _, callback);
	new id2 = get_user_index(data) 
	
	switch(item)
	{
		case 0: 
		{ 
			new perk_oddajacego = cod_get_user_perk(id2)
			new perk_dajacego = cod_get_user_perk(id)
			new trim_oddajacego = cod_get_perk_durability(id2)
			new trim_dajacego = cod_get_perk_durability(id)
			
			cod_set_user_perk(id2, perk_dajacego);
			cod_set_user_perk(id, perk_oddajacego);
			cod_set_perk_durability(id2, trim_dajacego)
			cod_set_perk_durability(id, trim_oddajacego)
		
			dostal_przedmiots[id2] = true;
			dostal_przedmiots[id] = true;
					
			new nazwa_dajacego[64];
			
			get_user_name(id, nazwa_dajacego, charsmax(nazwa_dajacego))
					
			client_print(id, print_chat, "Wymieniles sie perkiem z %s.", data);
			client_print(id2, print_chat, "Wymieniles sie perkiem z %s.", nazwa_dajacego)
		}
		case 1: client_print(id2, print_chat, "Wybrany gracz nie zgodzil sie na wymiane perka.")
	}
	return PLUGIN_CONTINUE;
}

public OddajPerks_Callback(id, menu, item)
{
	if(oddaj_ids[item] == id || !cod_get_user_class(oddaj_ids[item]) || !cod_get_user_perk(oddaj_ids[item]))
		return ITEM_DISABLED;
	return ITEM_ENABLED;
}
;)

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#3 Dziobak?

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 10.11.2013 11:10

Dzięki, można zamknąć :)


  • +
  • -
  • 0




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

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