←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

prośba poprawienie pluginy


Najlepsza odpowiedź mordoryjacz 12.09.2024 20:37

#include <amxmodx>
#include <amxmisc>

public plugin_init() {
	register_plugin("Komendy Serwerowe", "1.0", "xxxxxxxx")

	register_clcmd("say /komendy","open_menu");
	register_clcmd("say_team komendy","open_menu");
}

public open_menu(id) {

	new menu = menu_create("\w[ \rKomendy \rSerwera \w] \w» \yby \rDD2.pl Rakietka", "cmd");
	
	menu_additem(menu, "\w» \y/skiny \w» Tutaj mozesz zarzadzac swoimi skinami do broni");
	menu_additem(menu, "\w» \y/skrzynie \w» Lista posiadanych skrzynek");
	menu_additem(menu, "\w» \y/klucze \w» Lista posiadanych kluczy");
	menu_additem(menu, "\w» \y/rynek \w» Rynek skinow/skrzyn/kluczy");
	menu_additem(menu, "\w» \y/wymiana \w» Menu wymian miedzy graczami");
	menu_additem(menu, "\w» \y/daj \w» Przekazywanie itemow");
	menu_additem(menu, "\w» \y/hud \w» Zarzadzanie hud");
	menu_additem(menu, "\w» \y/rangi \w» Spis rang serwera");
	menu_additem(menu, "\w» \y/konto \w» Zarzadzanie kontem");
	menu_additem(menu, "\w» \y/menu \w» Menu serwera");
	
	menu_display(id ,menu);
}

public cmd(id, item, menu) { 	
	if(item == MENU_EXIT) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item) {
		case 0:	client_cmd(id, "say /skiny");	
		case 1:	client_cmd(id, "say /skrzynie");
		case 2:	client_cmd(id, "say /klucze");
		case 3:	client_cmd(id, "say /rynek");
		case 4:	client_cmd(id, "say /wymiana");
		case 5:	client_cmd(id, "say /daj");
		case 6: client_cmd(id, "say /hud");
		case 7: client_cmd(id, "say /rangi");
		case 8: client_cmd(id, "say /konto");
		case 9: client_cmd(id, "say /menu");
	}
	
	return PLUGIN_CONTINUE;
}
Przejdź do postu

  • +
  • -
Asehov - zdjęcie Asehov 10.09.2024

Witam, mógłby ktoś poprawić mi ten plugin aby działał prawidłowo? Aktualnie jest problem typu wybieram 1 pozycje z menu - powinno wysyłać na say /skiny i otwierać menu z skinami, jednak wysyła komendę /daj, każdy punkt w menu odpowiada nie za to za co powinien, mógłby mi to ktoś poprawić, próbowałem i nie mogę ogarnąć.

#include <amxmodx>
#include <amxmisc>
#include <ColorChat>

#define PLUGIN "Komendy Serwerowe"
#define VERSION "1.0"
#define AUTHOR "xxxxxxxx"

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_clcmd("say /komendy","open_menu");
	register_clcmd("say_team komendy","open_menu");
}
public open_menu(id)
{
	new menu = menu_create("\w[ \rKomendy \rSerwera \w] \w» \yby \rDD2.pl Rakietka","cmd");
	menu_additem(menu,"\w» \y/skiny \w» Tutaj mozesz zarzadzac swoimi skinami do broni","1",0);
	menu_additem(menu,"\w» \y/skrzynie \w» Lista posiadanych skrzynek","2",1);
	menu_additem(menu,"\w» \y/klucze \w» Lista posiadanych kluczy","3",2);
	menu_additem(menu,"\w» \y/rynek \w» Rynek skinow/skrzyn/kluczy","4",3);
	menu_additem(menu,"\w» \y/wymiana \w» Menu wymian miedzy graczami","5",4);
	menu_additem(menu,"\w» \y/daj \w» Przekazywanie itemow","6",5);
	menu_additem(menu,"\w» \y/hud \w» Zarzadzanie hud","7",6);
	menu_additem(menu,"\w» \y/rangi \w» Spis rang serwera","8",7);
	menu_additem(menu,"\w» \y/konto \w» Zarzadzanie kontem","9",8);
	menu_additem(menu,"\w» \y/menu \w» Menu serwera","10",9);
	
	menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
	menu_display(id,menu,0);
}
public cmd(id, key, menu)
{ 	
	if(key == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new access, callback;
	
	menu_item_getinfo(menu, key, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key)
	{
		case 0:	client_cmd(id,"say /skiny");	
		case 1:	client_cmd(id,"say /skrzynie");
		case 2:	client_cmd(id,"say /klucze");
		case 3:	client_cmd(id,"say /rynek");
		case 4:	client_cmd(id,"say /wymiana");
		case 5:	client_cmd(id,"say /daj");
		case 6: client_cmd(id,"say /hud");
		case 7: client_cmd(id,"say /rangi");
		case 8: client_cmd(id,"say /konto");
		case 9: client_cmd(id,"say /menu");
	}
	return PLUGIN_CONTINUE;
}
Odpowiedz

  • +
  • -
Jessus - zdjęcie Jessus 10.09.2024

#include <amxmodx>
#include <amxmisc>


#define PLUGIN "Szybkie Menu"
#define VERSION "1.0"
#define AUTHOR "emu"




public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /menu", "szybkie_menu")
}


public szybkie_menu(id)
{
    new menu = menu_create("\yMenu \rSerwera\w:\d", "menu_wybierz")
    
    menu_additem(menu, "\ytest", "1", 0)
    menu_additem(menu, "\ytest", "2", 0)
    menu_additem(menu, "\ytest", "3", 0)
    menu_additem(menu, "\ytest", "4", 0)
    menu_additem(menu, "\ytest", "5", 0)
    menu_additem(menu, "\ytest", "6", 0)
    menu_additem(menu, "\ytest", "7", 0)
    menu_additem(menu, "\ytest", "8", 0)
    menu_additem(menu, "\ytest", "9", 0)
    menu_additem(menu, "\ytest", "10", 0)


        menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_setprop(menu, MPROP_EXITNAME, "\rWyjdz");
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    
    menu_display(id, menu, 0)
}


public menu_wybierz(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new acces, callback
    menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
    
    new key = str_to_num(data)
    
    switch(key)
    { 
       case 1 : client_cmd(id,"say /test") 
       case 2 : client_cmd(id,"say /test") 
       case 3 : client_cmd(id,"say /test") 
       case 4 : client_cmd(id,"say /test")
       case 5 : client_cmd(id,"say /test")
       case 6 : client_cmd(id,"say /test")
       case 7 : client_cmd(id,"say /test")
       case 8 : client_cmd(id,"say /test")
       case 9 : client_cmd(id,"say /test")
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
} 

Spróbuj to tylko tam gdzie masz test to daj swoje komendy

Odpowiedz

  • +
  • -
Boski Z Polski - zdjęcie Boski Z Polski 11.09.2024

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Server Menu"
#define VERSION "1.0.0"
#define AUTHOR "Boski Z Polski"

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR);

    register_clcmd("say /menu", "cmd_menu");
}

public cmd_menu(index) {
    if (!is_user_connected(index))
        return PLUGIN_CONTINUE;

    new menu = menu_create("\yMenu \rSerwera\w:\d", "menu_handle");

    menu_additem(menu, "\ytest"); // item 0
    menu_additem(menu, "\ytest"); // item 1
    menu_additem(menu, "\ytest"); // item 2

    menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
    menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
    menu_setprop(menu, MPROP_EXITNAME, "\rWyjdz");
    
    menu_display(index, menu);
    return PLUGIN_CONTINUE;
}

public menu_handle(index, menu, item) {
    if (item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }

    switch(item) { 
       case 0 : client_cmd(index, "say 1");
       case 1 : client_cmd(index, "say 2");
       case 2 : client_cmd(index, "say 3");
    }

    menu_destroy(menu);
    return PLUGIN_HANDLED;
} 

jak już to w ten sposób, nie ma sensu pobierać przez menu_item_getinfo

Odpowiedz

  • +
  • -
Asehov - zdjęcie Asehov 11.09.2024

#include <amxmodx>
#include <amxmisc>


#define PLUGIN "Szybkie Menu"
#define VERSION "1.0"
#define AUTHOR "emu"




public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /menu", "szybkie_menu")
}


public szybkie_menu(id)
{
    new menu = menu_create("\yMenu \rSerwera\w:\d", "menu_wybierz")
    
    menu_additem(menu, "\ytest", "1", 0)
    menu_additem(menu, "\ytest", "2", 0)
    menu_additem(menu, "\ytest", "3", 0)
    menu_additem(menu, "\ytest", "4", 0)
    menu_additem(menu, "\ytest", "5", 0)
    menu_additem(menu, "\ytest", "6", 0)
    menu_additem(menu, "\ytest", "7", 0)
    menu_additem(menu, "\ytest", "8", 0)
    menu_additem(menu, "\ytest", "9", 0)
    menu_additem(menu, "\ytest", "10", 0)


        menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_setprop(menu, MPROP_EXITNAME, "\rWyjdz");
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    
    menu_display(id, menu, 0)
}


public menu_wybierz(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new acces, callback
    menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
    
    new key = str_to_num(data)
    
    switch(key)
    { 
       case 1 : client_cmd(id,"say /test") 
       case 2 : client_cmd(id,"say /test") 
       case 3 : client_cmd(id,"say /test") 
       case 4 : client_cmd(id,"say /test")
       case 5 : client_cmd(id,"say /test")
       case 6 : client_cmd(id,"say /test")
       case 7 : client_cmd(id,"say /test")
       case 8 : client_cmd(id,"say /test")
       case 9 : client_cmd(id,"say /test")
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
} 

Spróbuj to tylko tam gdzie masz test to daj swoje komendy

 

 

 

Nie działa wali errorami

Odpowiedz

  • +
  • -
PANDA_2zl - zdjęcie PANDA_2zl 12.09.2024

menu_additem(menu, "\ytest", "1", 0)
Wywal te zera z każdego menu_additem
https://amxx.pl/doku...95/menu_additem
Odpowiedz

  • +
  • -
Najlepsza odpowiedź mordoryjacz - zdjęcie mordoryjacz 12.09.2024

#include <amxmodx>
#include <amxmisc>

public plugin_init() {
	register_plugin("Komendy Serwerowe", "1.0", "xxxxxxxx")

	register_clcmd("say /komendy","open_menu");
	register_clcmd("say_team komendy","open_menu");
}

public open_menu(id) {

	new menu = menu_create("\w[ \rKomendy \rSerwera \w] \w» \yby \rDD2.pl Rakietka", "cmd");
	
	menu_additem(menu, "\w» \y/skiny \w» Tutaj mozesz zarzadzac swoimi skinami do broni");
	menu_additem(menu, "\w» \y/skrzynie \w» Lista posiadanych skrzynek");
	menu_additem(menu, "\w» \y/klucze \w» Lista posiadanych kluczy");
	menu_additem(menu, "\w» \y/rynek \w» Rynek skinow/skrzyn/kluczy");
	menu_additem(menu, "\w» \y/wymiana \w» Menu wymian miedzy graczami");
	menu_additem(menu, "\w» \y/daj \w» Przekazywanie itemow");
	menu_additem(menu, "\w» \y/hud \w» Zarzadzanie hud");
	menu_additem(menu, "\w» \y/rangi \w» Spis rang serwera");
	menu_additem(menu, "\w» \y/konto \w» Zarzadzanie kontem");
	menu_additem(menu, "\w» \y/menu \w» Menu serwera");
	
	menu_display(id ,menu);
}

public cmd(id, item, menu) { 	
	if(item == MENU_EXIT) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item) {
		case 0:	client_cmd(id, "say /skiny");	
		case 1:	client_cmd(id, "say /skrzynie");
		case 2:	client_cmd(id, "say /klucze");
		case 3:	client_cmd(id, "say /rynek");
		case 4:	client_cmd(id, "say /wymiana");
		case 5:	client_cmd(id, "say /daj");
		case 6: client_cmd(id, "say /hud");
		case 7: client_cmd(id, "say /rangi");
		case 8: client_cmd(id, "say /konto");
		case 9: client_cmd(id, "say /menu");
	}
	
	return PLUGIN_CONTINUE;
}

Użytkownik mordoryjacz edytował ten post 12.09.2024 20:38
Odpowiedz