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.
|
Guest Message by DevFuse
Zawartość użytkownika DaNceR
Odnotowano 3 pozycji dodanych przez DaNceR (Rezultat wyszukiwania ograniczony do daty: 27.06.2023 )
#682542 Niedziałające menu poradnika w war3menu
Napisano przez
DaNceR
w 12.01.2015 14:45
w
Problemy
Siemka, mam serwer z war3ft modem. Postanowiłem zrobić poradnik w formie menu i okien motd wyświetlanych w html. Menu to chciałem podczepić pod główne menu moda, czyli war3menu. Plugin skompilował się poprawnie. Problem jest taki, że część menu działa, ale pozostała część nie. No i chciałem zapytać gdzie wg Was jest błąd.
Wklejam tutaj dwie części menus.inl.
1. War3menu:
2. I tutaj mój kod z menu poradnika:
A tutaj fragment motd.inl (odpowiada za czytanie .txt w html):
menu_poradnik (pierwszy public) wyświetla się prawidłowo. Wygląda tak:
Wklejam tutaj dwie części menus.inl.
1. War3menu:
Spoiler
public MENU_War3Menu( id ) { static pos, szMenu[256], keys; keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<9); pos = 0; // Add the title pos += formatex( szMenu[pos], 255-pos, "%L^n^n", id, "MENU_WAR3MENU" ); // Add the actual options to the menu pos += formatex( szMenu[pos], 255-pos, "\w1. %L^n", id, "SKILLS_MENU" ); pos += formatex( szMenu[pos], 255-pos, "\w2. %L^n", id, "RACE_MENU" ); pos += formatex( szMenu[pos], 255-pos, "\w3. %L^n", id, "ITEM_MENU" ); pos += formatex( szMenu[pos], 255-pos, "\w4. %L^n", id, "HELP" ); pos += formatex( szMenu[pos], 255-pos, "\w5. %L^n", id, "ADMIN_MENU_TITLE" ); pos += formatex( szMenu[pos], 255-pos, "\r6. %L^n", id, "PORADNIK" ); pos += formatex( szMenu[pos], 255-pos, "\y7. %L^n", id, "INFO_VIP" ); pos += formatex( szMenu[pos], 255-pos, "^n\w0. %L", id, "WORD_EXIT" ); // Display the menu show_menu( id, keys, szMenu, -1 ); return; } public _MENU_War3Menu( id, key ) { if ( !WC3_Check() ) { return PLUGIN_HANDLED; } switch ( key ) { case 0: menu_Skill_Options( id ); case 1: menu_Race_Options( id ); case 2: menu_Item_Options( id ); case 3: MOTD_War3help( id ); case 4: menu_Admin_Options( id ); case 5: menu_Poradnik( id ); case 6: MOTD_Info_Vip( id ); } return PLUGIN_HANDLED; }
2. I tutaj mój kod z menu poradnika:
Spoiler
public menu_Poradnik( id ) { new pos = 0, i, menu_body[512], menuitems[4][32] new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<8)|(1<<9) format(menuitems[0],31,"%L",id,"OGOLNY_OPIS") format(menuitems[1],31,"%L",id,"PRZYDATNE_KOMENDY") format(menuitems[2],31,"%L",id,"OPIS_RAS") format(menuitems[3],31,"%L",id,"OPIS_RAS2") pos += format(menu_body[pos], 511-pos, "%L^n^n",id,"MENU_PORADNIK") for (i = 0; i<4; i++) { pos += format(menu_body[pos], 511-pos, "\w%d. %s^n",i+1,menuitems[i]) } pos += format(menu_body[pos], 511-pos, "^n^n\w9. %L",id,"BACK_STRING") pos += format(menu_body[pos], 511-pos, "^n\w0. %L",id,"WORD_EXIT") show_menu(id,keys,menu_body,-1) return PLUGIN_CONTINUE } public _menu_Poradnik( id, key ) { if ( !WC3_Check() ) { return PLUGIN_HANDLED; } switch ( key ) { case 0: MOTD_Ogolny_Opis( id ); case 1: MOTD_Przydatne_Komendy( id ); case 2: menu_Opis_Ras( id ); case 3: menu_Opis_Ras2( id ); case 8: MENU_War3Menu(id) } return PLUGIN_HANDLED; } public menu_Opis_Ras( id ) { new pos = 0, i, menu_body[512], menuitems[4][32] new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<8)|(1<<9) format(menuitems[0],31,"%L",id,"RACE_1") format(menuitems[1],31,"%L",id,"RACE_2") format(menuitems[2],31,"%L",id,"RACE_3") format(menuitems[3],31,"%L",id,"RACE_4") pos += format(menu_body[pos], 511-pos, "%L^n^n",id,"OPIS_RAS") for (i = 0; i<4; i++) { pos += format(menu_body[pos], 511-pos, "\w%d. %s^n",i+1,menuitems[i]) } pos += format(menu_body[pos], 511-pos, "^n^n\w9. %L",id,"BACK_STRING") pos += format(menu_body[pos], 511-pos, "^n\w0. %L",id,"WORD_EXIT") show_menu(id,keys,menu_body,-1) return PLUGIN_CONTINUE } public _menu_Opis_Ras( id, key ) { if ( !WC3_Check() ) { return PLUGIN_HANDLED; } switch (key) { case 0: MOTD_Nieumarly( id ); case 1: MOTD_Czlowiek( id ); case 2: MOTD_Ork( id ); case 3: MOTD_Elf( id ); case 8: MENU_War3Menu(id); } return PLUGIN_HANDLED; } public menu_Opis_Ras2( id ) { new pos = 0, i, menu_body[512], menuitems[5][32] new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<8)|(1<<9) format(menuitems[0],31,"%L",id,"RACE_5") format(menuitems[1],31,"%L",id,"RACE_6") format(menuitems[2],31,"%L",id,"RACE_7") format(menuitems[3],31,"%L",id,"RACE_8") format(menuitems[3],31,"%L",id,"RACE_9") pos += format(menu_body[pos], 511-pos, "%L^n^n",id,"OPIS_RAS2") for (i = 0; i<5; i++) { pos += format(menu_body[pos], 511-pos, "\w%d. %s^n",i+1,menuitems[i]) } pos += format(menu_body[pos], 511-pos, "^n^n\w9. %L",id,"BACK_STRING") pos += format(menu_body[pos], 511-pos, "^n\w0. %L",id,"WORD_EXIT") show_menu(id,keys,menu_body,-1) return PLUGIN_CONTINUE } public _menu_Opis_Ras2( id, key ) { if ( !WC3_Check() ) { return PLUGIN_HANDLED; } switch (key) { case 0: MOTD_Krwawy( id ); case 1: MOTD_Lowca( id ); case 2: MOTD_Wartownik( id ); case 3: MOTD_Krypt( id ); case 4: MOTD_Kameleon ( id ); case 8: MENU_War3Menu(id); } return PLUGIN_HANDLED; }
A tutaj fragment motd.inl (odpowiada za czytanie .txt w html):
Spoiler
public MOTD_Info_Vip(id) { show_motd(id, "vip.txt"); return; } public MOTD_Ogolny_Opis(id) { show_motd(id, "addons/amxmodx/configs/war3ft/opis.txt"); return; } public MOTD_Przydatne_Komendy( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/komendy.txt"); return; } public MOTD_Nieumarly( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/nieumarly.txt"); return; } public MOTD_Czlowiek( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/czlowiek.txt"); return; } public MOTD_Ork( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/ork.txt"); return; } public MOTD_Elf( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/elf.txt"); return; } public MOTD_Krwawy( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/krwawy.txt"); return; } public MOTD_Lowca( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/lowca.txt"); return; } public MOTD_Wartownik( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/wartownik.txt"); return; } public MOTD_Krypt( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/krypt.txt"); return; } public MOTD_Kameleon( id ) { show_motd(id, "addons/amxmodx/configs/war3ft/kameleon.txt"); return; }
menu_poradnik (pierwszy public) wyświetla się prawidłowo. Wygląda tak:
1. Ogólny opis 2. Przydatne komendy 3. Opis ras 4. Opis ras (2)Problem jest jednak z dalszą częścią menu. Kiedy klikam którąś z powyższych opcji, to nic się nie dzieje. Nie wyświetlają się okna MOTD ani dwa menu w tym menu, czyli opis ras i opis ras (2) (menu_Opis_Ras i menu_Opis_Ras2). Oczywiście wrzuciłem pliki .txt do FTP ("addons/amxmodx/configs/war3ft") i dodałem nowe wyrażenia słowne do War3FT.txt. Wydaje mi się, że wszystko zrobiłem dobrze. No i pytanie - czy tak jest rzeczywiście, czy jednak coś skopałem? Wkradł się jakiś błąd do mojego kodu?
#674554 War3ft.sma error 032: array index out of bounds
Napisano przez
DaNceR
w 10.12.2014 19:23
w
Prośby o kompilacje pluginów / Problemy z kompilacją
Problem rozwiązany, była zła definicja. Przepraszam za kłopot, proszę o usunięcie tematu.
- AMXX.pl: Support AMX Mod X i SourceMod
- → Zawartość użytkownika DaNceR
- Regulamin