Problem Z Działaniem Pluginu
daedhelil
28.12.2009
Witam! Mógłby może ktoś naprawić plugin? Chodzi o to że po wybraniu nie przekierowuje na wybrany serwer. W konsoli wyskakuje informacja:
A to kod:
PS. Dałoby się jeszcze dodać cvary?
amx_servername_1 "nazwa serwera"
amx_serverip_1 "ip serwera"
amx_serverport_1 "port serwera"
amx_serverpw_1 "hasło serwera"
i tak 3 razy
Plugin przydałby się nie tylko mi, ale też innym ludziom. Przynajmniej tak mi się wydaje :- )
Server tried to send invalid command:"connect jakiesip:jakisport "
A to kod:
#include <amxmodx> #include <amxmisc> #define PLUGIN "Menu serwerow" #define VERSION "1.0" #define AUTHOR "Mlody" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_dictionary("mservers.txt") register_clcmd("mservers","AwesomeMenu") } public AwesomeMenu(id) { new menu = menu_create("Menu serwerow:", "menu_handler") menu_additem(menu, "Strzelnica u Bota[TP]", "1", 0) menu_additem(menu, "Strzelnica u Bota[4Fun]", "2", 0) menu_additem(menu, "Strzelnica u Bota[DR]", "3", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public menu_handler(id, menu, item) { new name[32]; if (item == MENU_EXIT) { return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id, "connect ip:port") get_user_name(id, name, 31) cllient_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_1", name) menu_destroy(menu) return PLUGIN_HANDLED } case 2: { client_cmd(id, "connect ip:port") get_user_name(id, name, 31) cllient_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_2", name) menu_destroy(menu) return PLUGIN_HANDLED } case 3: { client_cmd(id, "connect ip:port") get_user_name(id, name, 31) cllient_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_3", name) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED }
PS. Dałoby się jeszcze dodać cvary?
amx_servername_1 "nazwa serwera"
amx_serverip_1 "ip serwera"
amx_serverport_1 "port serwera"
amx_serverpw_1 "hasło serwera"
i tak 3 razy
Plugin przydałby się nie tylko mi, ale też innym ludziom. Przynajmniej tak mi się wydaje :- )
daedhelil
28.12.2009
Witam! Mam już coś więcej - z cvarami, ale pojawiają się następne inne problemy
1. Po otworzeniu menu, nazwy nie są czytane z cvarów (nazwa każdego serwera to %s)
2. Po wybraniu jakiegoś serwera kieruje mnie na 153366968:157317840, a w cvarach mam ustawione inne..
Moglibyście naprawić mi ten plugin?
Edited by SatanSon, 28.12.2009 19:38.
1. Po otworzeniu menu, nazwy nie są czytane z cvarów (nazwa każdego serwera to %s)
2. Po wybraniu jakiegoś serwera kieruje mnie na 153366968:157317840, a w cvarach mam ustawione inne..
Moglibyście naprawić mi ten plugin?
#include <amxmodx> #include <amxmisc> #define PLUGIN "Menu serwerow" #define VERSION "1.0" #define AUTHOR "Mlody" new sn1; new sn2; new sn3; new ip1; new ip2; new ip3; new pt1; new pt2; new pt3; new pw1; new pw2; new pw3; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_dictionary("mservers.txt") register_clcmd("mservers","AwesomeMenu") sn1 = register_cvar("amx_servername_1", "nazwa serwera") sn2 = register_cvar("amx_servername_2", "nazwa serwera") sn3 = register_cvar("amx_servername_3", "nazwa serwera") ip1 = register_cvar("amx_serverip_1", "ip serwera") ip2 = register_cvar("amx_serverip_2", "ip serwera") ip3 = register_cvar("amx_serverip_3", "ip serwera") pt1 = register_cvar("amx_serverport_1", "port serwera") pt2 = register_cvar("amx_serverport_2", "port serwera") pt3 = register_cvar("amx_serverport_3", "port serwera") pw1 = register_cvar("amx_serverpw_1", "pw serwera") pw2 = register_cvar("amx_serverpw_2", "pw serwera") pw3 = register_cvar("amx_serverpw_3", "pw serwera") } public AwesomeMenu(id) { new menu = menu_create("Menu serwerow:", "menu_handler") menu_additem(menu, "%s", "1", 0, sn1) menu_additem(menu, "%s", "2", 0, sn2) menu_additem(menu, "%s", "3", 0, sn3) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public menu_handler(id, menu, item) { new name[32]; if (item == MENU_EXIT) { return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { client_cmd(id, "password %s;Connect %d:%d", pw1, ip1, pt1) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_1", name) menu_destroy(menu) return PLUGIN_HANDLED } case 2: { client_cmd(id, "password %s;Connect %d:%d", pw2, ip2, pt2) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_2", name) menu_destroy(menu) return PLUGIN_HANDLED } case 3: { client_cmd(id, "password %s;Connect %d:%d", pw3, ip3, pt3) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_3", name) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED }
Edited by SatanSon, 28.12.2009 19:38.
Miczu
28.12.2009
Przebież musi to byc liczba, bo przeciez w deklaracji jest tylko pojedyncza zmienna. Dajac %s dla LICZBY zostaje ta liczba najwyrazniej wyswietlona wartosc liczby.
Oczywiscie oczekiwales by to byl ip serwera, ale by to zadzialalo trzeba uzyc get_pcvar_string ( ZMIENNA, TABLICA_DOCELOWA, ROZMIAR-1 ), a dopiero TABLICE_DOCELOWA uzyc z %s.
Oczywiscie oczekiwales by to byl ip serwera, ale by to zadzialalo trzeba uzyc get_pcvar_string ( ZMIENNA, TABLICA_DOCELOWA, ROZMIAR-1 ), a dopiero TABLICE_DOCELOWA uzyc z %s.
Miczu
28.12.2009
Zamiast:
menu_additem(menu, "%s", "1", 0, sn1)Ma byc wszedzie w ten sposob:
new serw1[64] get_pcvar_string(sn1,serw1,63) menu_additem(menu, "%s", "1", 0, serw1)Oraz
client_cmd(id, "password %s;Connect %d:%d", pw1, ip1, pt1)na:
new port1[64],pass1[64],adress1[64] get_pcvar_string(pt1,port1,63) get_pcvar_string(pw1,pass1,63) get_pcvar_string(ip1,adress1,63) client_cmd(id, "password %s;Connect %s:%s", pass1, adress1, port1)
daedhelil
28.12.2009
Zrobiłem dokładnie według instrukcji i nie mogę skompilować..
Edited by SatanSon, 28.12.2009 22:30.
#include <amxmodx> #include <amxmisc> #define PLUGIN "Menu serwerow" #define VERSION "1.0" #define AUTHOR "Mlody" new sn1; new sn2; new sn3; new ip1; new ip2; new ip3; new pt1; new pt2; new pt3; new pw1; new pw2; new pw3; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_dictionary("mservers.txt") register_clcmd("mservers","AwesomeMenu") sn1 = register_cvar("amx_servername_1", "nazwa serwera") sn2 = register_cvar("amx_servername_2", "nazwa serwera") sn3 = register_cvar("amx_servername_3", "nazwa serwera") ip1 = register_cvar("amx_serverip_1", "ip serwera") ip2 = register_cvar("amx_serverip_2", "ip serwera") ip3 = register_cvar("amx_serverip_3", "ip serwera") pt1 = register_cvar("amx_serverport_1", "port serwera") pt2 = register_cvar("amx_serverport_2", "port serwera") pt3 = register_cvar("amx_serverport_3", "port serwera") pw1 = register_cvar("amx_serverpw_1", "pw serwera") pw2 = register_cvar("amx_serverpw_2", "pw serwera") pw3 = register_cvar("amx_serverpw_3", "pw serwera") } public AwesomeMenu(id) { new menu = menu_create("Menu serwerow:", "menu_handler") new serw1[64] get_pcvar_string(sn1,serw1,63) menu_additem(menu, "%s", "1", 0, serw1) new serw2[64] get_pcvar_string(sn2,serw2,63) menu_additem(menu, "%s", "1", 0, serw2) new serw3[64] get_pcvar_string(sn3,serw3,63) menu_additem(menu, "%s", "1", 0, serw3) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public menu_handler(id, menu, item) { new name[32]; if (item == MENU_EXIT) { return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { new port1[64],pass1[64],adress1[64] get_pcvar_string(pt1,port1,63) get_pcvar_string(pw1,pass1,63) get_pcvar_string(ip1,adress1,63) client_cmd(id, "password %s;Connect %s:%s", pass1, adress1, port1) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_1", name) menu_destroy(menu) return PLUGIN_HANDLED } case 2: { new port2[64],pass2[64],adress2[64] get_pcvar_string(pt2,port2,63) get_pcvar_string(pw2,pass2,63) get_pcvar_string(ip2,adress2,63) client_cmd(id, "password %s;Connect %s:%s", pass2, adress2, port2) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_2", name) menu_destroy(menu) return PLUGIN_HANDLED } case 3: { new port3[64],pass3[64],adress3[64] get_pcvar_string(pt3,port3,63) get_pcvar_string(pw3,pass3,63) get_pcvar_string(ip3,adress3,63) client_cmd(id, "password %s;Connect %s:%s", pass3, adress3, port3) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_3", name) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED }
Edited by SatanSon, 28.12.2009 22:30.
DarkGL
28.12.2009
#include <amxmodx> #include <amxmisc> #define PLUGIN "Menu serwerow" #define VERSION "1.0" #define AUTHOR "Mlody" new sn1; new sn2; new sn3; new ip1; new ip2; new ip3; new pt1; new pt2; new pt3; new pw1; new pw2; new pw3; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_dictionary("mservers.txt") register_clcmd("mservers","AwesomeMenu") sn1 = register_cvar("amx_servername_1", "nazwa serwera") sn2 = register_cvar("amx_servername_2", "nazwa serwera") sn3 = register_cvar("amx_servername_3", "nazwa serwera") ip1 = register_cvar("amx_serverip_1", "ip serwera") ip2 = register_cvar("amx_serverip_2", "ip serwera") ip3 = register_cvar("amx_serverip_3", "ip serwera") pt1 = register_cvar("amx_serverport_1", "port serwera") pt2 = register_cvar("amx_serverport_2", "port serwera") pt3 = register_cvar("amx_serverport_3", "port serwera") pw1 = register_cvar("amx_serverpw_1", "pw serwera") pw2 = register_cvar("amx_serverpw_2", "pw serwera") pw3 = register_cvar("amx_serverpw_3", "pw serwera") } public AwesomeMenu(id) { new menu = menu_create("Menu serwerow:", "menu_handler") new serw1[64] get_pcvar_string(sn1,serw1,63) menu_additem(menu, "%s", "1", 0, serw1[63]) new serw2[64] get_pcvar_string(sn2,serw2,63) menu_additem(menu, "%s", "1", 0, serw2[63]) new serw3[64] get_pcvar_string(sn3,serw3,63) menu_additem(menu, "%s", "1", 0, serw3[63]) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public menu_handler(id, menu, item) { new name[32]; if (item == MENU_EXIT) { return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { new port1[64],pass1[64],adress1[64] get_pcvar_string(pt1,port1,63) get_pcvar_string(pw1,pass1,63) get_pcvar_string(ip1,adress1,63) client_cmd(id, "password %s;Connect %s:%s", pass1, adress1, port1) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_1", name) menu_destroy(menu) return PLUGIN_HANDLED } case 2: { new port2[64],pass2[64],adress2[64] get_pcvar_string(pt2,port2,63) get_pcvar_string(pw2,pass2,63) get_pcvar_string(ip2,adress2,63) client_cmd(id, "password %s;Connect %s:%s", pass2, adress2, port2) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_2", name) menu_destroy(menu) return PLUGIN_HANDLED } case 3: { new port3[64],pass3[64],adress3[64] get_pcvar_string(pt3,port3,63) get_pcvar_string(pw3,pass3,63) get_pcvar_string(ip3,adress3,63) client_cmd(id, "password %s;Connect %s:%s", pass3, adress3, port3) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_3", name) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED }
daedhelil
28.12.2009
Przez to co dałeś, po wpisaniu w konsole komendy mservers, wyłącza serwer z błędem i trzeba go zrestartować..
Edited by SatanSon, 28.12.2009 23:17.
Edited by SatanSon, 28.12.2009 23:17.
daedhelil
29.12.2009
L 12/28/2009 - 03:32:16: Start of error session. L 12/28/2009 - 03:32:16: Info (map "awp_india") (file "addons/amxmodx/logs/error_20091228.log") L 12/28/2009 - 03:32:16: String formatted incorrectly - parameter 6 (total 5) L 12/28/2009 - 03:32:16: [AMXX] Run time error 25 (plugin "mservers.amxx") - debug not enabled! L 12/28/2009 - 03:32:16: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/28/2009 - 03:32:35: String formatted incorrectly - parameter 6 (total 5) L 12/28/2009 - 03:32:35: [AMXX] Run time error 25 (plugin "mservers.amxx") - debug not enabled! L 12/28/2009 - 03:32:35: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/28/2009 - 03:33:09: String formatted incorrectly - parameter 6 (total 5) L 12/28/2009 - 03:33:09: [AMXX] Run time error 25 (plugin "mservers.amxx") - debug not enabled! L 12/28/2009 - 03:33:09: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/28/2009 - 03:33:30: String formatted incorrectly - parameter 6 (total 5) L 12/28/2009 - 03:33:30: [AMXX] Run time error 25 (plugin "mservers.amxx") - debug not enabled! L 12/28/2009 - 03:33:30: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/28/2009 - 03:34:19: Start of error session. L 12/28/2009 - 03:34:19: Info (map "awp_india") (file "addons/amxmodx/logs/error_20091228.log") L 12/28/2009 - 03:34:19: String formatted incorrectly - parameter 6 (total 5) L 12/28/2009 - 03:34:19: [AMXX] Run time error 25 (plugin "mservers.amxx") - debug not enabled! L 12/28/2009 - 03:34:19: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/28/2009 - 18:43:55: Start of error session. L 12/28/2009 - 18:43:55: Info (map "de_perfect_inferno") (file "addons/amxmodx/logs/error_20091228.log") L 12/28/2009 - 18:43:55: String formatted incorrectly - parameter 7 (total 6) L 12/28/2009 - 18:43:55: [AMXX] Run time error 25 (plugin "mservers.amxx") - debug not enabled! L 12/28/2009 - 18:43:55: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/28/2009 - 23:15:30: Start of error session. L 12/28/2009 - 23:15:30: Info (map "de_perfect_inferno") (file "addons/amxmodx/logs/error_20091228.log")
A tu masz log z konsolki serwera u mnie na kompie bo też próbowałem tam odpalić
http://img136.images...34/tologzdc.png
Edited by SatanSon, 29.12.2009 14:18.
Miczu
29.12.2009
menu_additem(menu, serw1, "1", 0)Zamiast formatowac tekst "%s" daj bezposrednio zmienna (najwyrazniej menu_add nie pozwala na formatowanie tekstu).
DarkGL menu_additem(menu, "%s", "1", 0, serw1[63]) ?? Pozwol, ze nie skomentuje tej proby naprawienia...
daedhelil
29.12.2009
Ok, dzięki bardzo jak naprawie ten plugin to napisze czy działa
@Edit
Menu się normalnie otwiera, ale po wybraniu, zawsze kieruje na ten sam serwer a powinno na inny z amxx.cfg
Kawałek amxx.cfg
Kod pluginu
Edited by SatanSon, 29.12.2009 16:01.
@Edit
Menu się normalnie otwiera, ale po wybraniu, zawsze kieruje na ten sam serwer a powinno na inny z amxx.cfg
Kawałek amxx.cfg
amx_serverip_1 "91.203.133.202" amx_serverport_1 "27078" amx_serverpw_1 "" amx_serverip_2 "91.210.129.80" amx_serverport_2 "27052" amx_serverpw_2 "" amx_serverip_3 "91.210.129.210" amx_serverport_3 "27053" amx_serverpw_3 ""
Kod pluginu
#include <amxmodx> #include <amxmisc> #define PLUGIN "Menu serwerow" #define VERSION "1.0" #define AUTHOR "Mlody" new ip1; new ip2; new ip3; new pt1; new pt2; new pt3; new pw1; new pw2; new pw3; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_dictionary("mservers.txt") register_clcmd("mservers","AwesomeMenu") ip1 = register_cvar("amx_serverip_1", "ip serwera") ip2 = register_cvar("amx_serverip_2", "ip serwera") ip3 = register_cvar("amx_serverip_3", "ip serwera") pt1 = register_cvar("amx_serverport_1", "port serwera") pt2 = register_cvar("amx_serverport_2", "port serwera") pt3 = register_cvar("amx_serverport_3", "port serwera") pw1 = register_cvar("amx_serverpw_1", "pw serwera") pw2 = register_cvar("amx_serverpw_2", "pw serwera") pw3 = register_cvar("amx_serverpw_3", "pw serwera") } public AwesomeMenu(id) { new menu = menu_create("Menu serwerow:", "menu_handler") menu_additem(menu, "Strzelnica u Bota[TP]", "1", 0) menu_additem(menu, "Strzelnica u Bota[4Fun]", "1", 0) menu_additem(menu, "Strzelnica u Bota[DR]", "1", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public menu_handler(id, menu, item) { new name[32]; if (item == MENU_EXIT) { return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { new port1[64],pass1[64],adress1[64] get_pcvar_string(pt1,port1,63) get_pcvar_string(pw1,pass1,63) get_pcvar_string(ip1,adress1,63) client_cmd(id, "password %s;Connect %s:%s", pass1, adress1, port1) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_1", name) menu_destroy(menu) return PLUGIN_HANDLED } case 2: { new port2[64],pass2[64],adress2[64] get_pcvar_string(pt2,port2,63) get_pcvar_string(pw2,pass2,63) get_pcvar_string(ip2,adress2,63) client_cmd(id, "password %s;Connect %s:%s", pass2, adress2, port2) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_2", name) menu_destroy(menu) return PLUGIN_HANDLED } case 3: { new port3[64],pass3[64],adress3[64] get_pcvar_string(pt3,port3,63) get_pcvar_string(pw3,pass3,63) get_pcvar_string(ip3,adress3,63) client_cmd(id, "password %s;Connect %s:%s", pass3, adress3, port3) get_user_name(id, name, 31) client_print(0, print_chat, "%L",LANG_PLAYER,"MSG_INFO_3", name) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED }
Edited by SatanSon, 29.12.2009 16:01.
Miczu
29.12.2009
menu_additem(menu, "Strzelnica u Bota[TP]", "1", 0) menu_additem(menu, "Strzelnica u Bota[4Fun]", "1", 0) menu_additem(menu, "Strzelnica u Bota[DR]", "1", 0)
Jak kazdy "item" podpisujesz jako "1" to bedzie plug myslal ze to 1 klawisz :F
Adminek AMXX.PL 29.12.2009
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Problem rozwiązany
Jeśli się z tym nie zgadzasz, zgłoś ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Problem rozwiązany
Jeśli się z tym nie zgadzasz, zgłoś ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL