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.
|
[ROZWIĄZANE] Błędy w pluginie /menu
#1
Napisano 16.05.2012 18:22
Oto plug:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "menu_jail_imp-skill"
#define VERSION "2.0"
#define AUTHOR "Makale"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /menu", "menu")
register_clcmd("say_team /menu", "menu")
}
public menu(id)
{
if(get_user_team(id) == 2) {
new menu = menu_create("\rMenu dla Klawisza", "wybieranie_CT")
menu_additem(menu, "\wProwadz", "1", 0)
menu_additem(menu, "\wAresztuj wieznia /d(musisz do niego podejsc)", "2", 0)
menu_additem(menu, "\wFreeDay menu", "3", 0)
menu_additem(menu, "\wWalka wiezniow", "4", 0)
menu_additem(menu, "\wCzapki", "5", 0)
menu_additem(menu, "\wTransfer do TT", "6", 0)
menu_additem(menu, "\wNastepna mapa", "7", 0)
menu_additem(menu, "\wCzas do konca mapy", "8", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
if(get_user_team(id) == 1) {
new menu = menu_create("\rMenu dla Wieznia", "wybieranie_T")
menu_additem(menu, "\wCzapki", "1", 0)
menu_additem(menu, "\wCzas do konca mapy", "2", 0)
menu_additem(menu, "\wNastepna mapa", "3", 0)
menu_additem(menu, "\wWybierz zyczenie \d(dla ostatniego wieznia)", "4", 0)
menu_additem(menu, "\wOtowrz cele \d(cele sie otworza gdy 80% tt zrobi to samo co Ty)", "5", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
}
public wybieranie_CT(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 /simon")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 2: {
client_cmd(id,"say /arrest")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 3: {
client_cmd(id,"say /fd")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 4: {
client_cmd(id,"say /box")
client_print(id, print_chat,"Walka wlaczona!")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 5: {
client_cmd(id,"say /czapki")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 6: {
client_cmd(id,"say /nomic")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 7: {
client_cmd(id,"say timeleft")
return PLUGIN_CONTINUE
}
case 8: {
client_cmd(id,"say nextmap")
menu_destroy(menu)
return PLUGIN_HANDLED
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public wybieranie_T(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 /czapki")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 2: {
client_cmd(id,"say timeleft")
return PLUGIN_CONTINUE
}
case 3: {
client_cmd(id,"say nextmap")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 4: {
client_cmd(id,"say /duel")
client_print(id, print_chat,"Wybierz zyczenie!")
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 5: {
client_cmd(id,"say_team /cele")
menu_destroy(menu)
return PLUGIN_HANDLED
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
/* z - menu
/* x - puste (jb radio - robie)
/* c - puste (jb radio - robie)
/* v - rewizja
Za pomoc dzięki.
Poszukuję: serwerów do sieci, grafika do sieci oraz kilku stron WWW (prywatnych), adminów na serwery, itp.
Szukasz zajęcia na wolne chwile ? Pisz !
Zapraszam !
#2
Napisano 16.05.2012 18:37
case 5: {
client_cmd(id,"say_team /cele")
menu_destroy(menu)
return PLUGIN_HANDLED
}
musisz dać jeszcze jedną klamrę zamykającą
#3
Napisano 17.05.2012 03:18
2. brak klamry zamykającej
3. Kod SMA wstawia się w odpowiednich znacznikach [sma] na tym forum
4. Nieładnie jest komuś bindować klawisz z... Jest on używany do komend radiowych i nie tylko, więc gdy ktoś pójdzie na inny serwer CS, będzie miał Twojego binda i zamiast działania domyślnego tego klawisza będzie spamował w czacie /menu. Lepiej użyj klawisza V i binduj tam komendę bez say (dodatkowo dodaj deklarację komendy nie-say, np /menu samego) lub "podczep" się pod domyślną komendę znajdującą się pod klawiszem Z (komenda radio1, pamiętaj aby zwrócić plugin_handled, aby zablokować domyślne menu z CSa. Nie wiem, czy nie będziesz musiał dodatkowo przyblokować pojedyńczych komunikatów radiowych, jak coś to pytaj)
Użytkownik GwynBleidD edytował ten post 17.05.2012 03:18
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#4 Gość_21977_*
Napisano 18.05.2012 03:02
@UP Ingerowanie w ustawienia gracza, zwłaszcza autobindowanie jest niedość, że zabronione przez Regulamin forum AMXX.pl, to jeszcze bardzo irytujące dla graczy.
Nie wiem w ogóle, dlaczego NAKŁANIASZ DO BINDOWANIA Osobiście np. mam pod "V" spray i nie wyobrażam sobie, żeby mi ktoś miał cokolwiek tam bindować.
Każdy ma inną konfigurację klawiszy i nie można nakłaniać, żeby bindować komuś klawisz V, no halo?
#5
Napisano 18.05.2012 10:39
Użytkownik GwynBleidD edytował ten post 18.05.2012 10:39
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#6
Napisano 18.05.2012 20:54
GwynBleidD :
AD1.Zwróc uwagę, że co innego jest dla TT jak i CT, więc nie wiem jak te same komendy say ..
AD2 Podziękował
AD3 Sory, nie czytałem reg - pośpiech. Sory
AD4 Co to tego z to tylko pod testy. Zrobię pod V, gdy zmienie binda w innym pluginie.
Właśnie o co chodzi ? Wcześniej mi podobne menu chodziło ...Nie wiem, czy nie będziesz musiał dodatkowo przyblokować pojedyńczych komunikatów radiowych, jak coś to pytaj)
benio101 - to tylko pod testy bo mi się ot tak sobie z wpisało ...
Poszukuję: serwerów do sieci, grafika do sieci oraz kilku stron WWW (prywatnych), adminów na serwery, itp.
Szukasz zajęcia na wolne chwile ? Pisz !
Zapraszam !
#7
Napisano 19.05.2012 19:08
public menu(id) {
new menu
if(get_user_team(id) == 2) {
menu = menu_create("\rMenu dla Klawisza", "wybieranie")
menu_additem(menu, "\wProwadz", "/simon")
menu_additem(menu, "\wAresztuj wieznia /d(musisz do niego podejsc)", "/arrest")
menu_additem(menu, "\wFreeDay menu", "/fd")
menu_additem(menu, "\wWalka wiezniow", "/box")
menu_additem(menu, "\wCzapki", "/czapki")
menu_additem(menu, "\wTransfer do TT", "/nomic")
} else if(get_user_team(id) == 1) {
menu = menu_create("\rMenu dla Wieznia", "wybieranie")
menu_additem(menu, "\wCzapki", "/czapki")
menu_additem(menu, "\wWybierz zyczenie \d(dla ostatniego wieznia)", "/duel")
menu_additem(menu, "\wOtowrz cele \d(cele sie otworza gdy 80% tt zrobi to samo co Ty)", "/cele")
}
menu_additem(menu, "\wNastepna mapa", "nextmap");
menu_additem(menu, "\wCzas do konca mapy", "timeleft");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu);
}
public wybieranie(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new cmd[32], access;
menu_item_getinfo(menu, item, access, cmd, 31);
client_cmd(id, "say %s", cmd);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
Przy okazji opcje sprawdzenia next mapy i czasu do końca dałem dla obu teamów, będą one wyświetlane w menu również dla spectów dzięki temu No wylądowały one przez to na końcu menu, ale to chyba nie problem
Właśnie o co chodzi ? Wcześniej mi podobne menu chodziło ...
Tu nie jestem po prostu pewien, czy komendy radio1, radio2, radio3 są wykonywane po stronie serwera czy klienta. Jeśli po stronie klienta, to może się zdarzyć, że po nadpisaniu w serwerze tych komend będą one prawidłowo działały i będą wyświetlały odpowiednie menu, ale dodatkowo wybranie odpowiedniego numeru z tych menu również będzie emitowało komendę radiową, która domyślnie pod tym numerem jest zapisana (return PLUGIN_HANDLED tu może nie wystarczyć). Ale jak już pisałem, nie jestem pewien bo dawno tego nie stosowałem w pluginach. Póki nie sprawdzisz to się nie dowiesz Jeśli emitowałoby to komendy radiowe, będziesz musiał je ręcznie blokować.
Użytkownik GwynBleidD edytował ten post 19.05.2012 19:10
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#8
Napisano 20.05.2012 14:40
Podczas kompilacji mam błędy ;/
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team
menu_jail_imp-skill.sma(13) : warning 217: loose indentation
menu_jail_imp-skill.sma(32) : warning 217: loose indentation
menu_jail_imp-skill.sma(50) : error 088: number of arguments does not match definition
1 Error.
Could not locate output file menu_jail_imp-skill.amxx (compile failed).
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "menu_jail_imp-skill"
#define VERSION "2.0"
#define AUTHOR "Makale"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /menu", "menu")
register_clcmd("say_team /menu", "menu")
}
public menu(id) {
new menu
if(get_user_team(id) == 2) {
menu = menu_create("\rMenu dla Klawisza", "wybieranie")
menu_additem(menu, "\wProwadz", "/simon")
menu_additem(menu, "\wAresztuj wieznia /d(musisz do niego podejsc)", "/arrest")
menu_additem(menu, "\wFreeDay menu", "/fd")
menu_additem(menu, "\wWalka wiezniow", "/box")
menu_additem(menu, "\wCzapki", "/czapki")
menu_additem(menu, "\wTransfer do TT", "/nomic")
} else if(get_user_team(id) == 1) {
menu = menu_create("\rMenu dla Wieznia", "wybieranie")
menu_additem(menu, "\wCzapki", "/czapki")
menu_additem(menu, "\wWybierz zyczenie \d(dla ostatniego wieznia)", "/duel")
menu_additem(menu, "\wOtowrz cele \d(cele sie otworza gdy 80% tt zrobi to samo co Ty)", "/cele")
}
menu_additem(menu, "\wNastepna mapa", "nextmap");
menu_additem(menu, "\wCzas do konca mapy", "timeleft");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu);
}
public wybieranie(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new cmd[32], access;
menu_item_getinfo(menu, item, access, cmd, 31);
client_cmd(id, "say %s", cmd);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
Użytkownik Makale edytował ten post 20.05.2012 14:40
Poszukuję: serwerów do sieci, grafika do sieci oraz kilku stron WWW (prywatnych), adminów na serwery, itp.
Szukasz zajęcia na wolne chwile ? Pisz !
Zapraszam !
#9
Napisano 21.05.2012 03:09
new cmd[32], access, callback;
menu_item_getinfo(menu, item, access, cmd, 31, _, _, callback);
A te warningi to po prostu pomieszane wcięcia. Naprawisz wcięcia i wszystko będzie OK.
Użytkownik GwynBleidD edytował ten post 21.05.2012 03:10
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#11
Napisano 21.05.2012 18:34
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych