#1 2011-09-01 21:14:25

Grzechu

Administrator

Zarejestrowany: 2011-09-01
Posty: 8
Punktów :   

Edycja menu admina - "amxmodmenu"

W tym poradniku postaram się wytłumaczyć jak edytować menu admina - "amxmodmenu"

Nie sugeruj się długością poradnika! Tak na prawdę to się robi bardzo szybko, ja tylko dokładnie wytłumaczyłem jak to zrobić i tak wyszło

Załóżmy że mamy podstawowe menu admina:

http://amxx.pl/uploads/imgs/amxx_1298487128__amxmodmenu.png

Ale jednak ktoś pragnie dodać parę opcji np.: robienie screenshotów, odbanowanie kogoś lub najzwyklej usunąć bądź zmienić kolejność.

Otwieramy menufront.sma dowolnym edytorem tekstowym. Znajduje się on w addons/amxmodx/scripting
Jeżeli go tam nie ma, udostępniam w załączniku.

Zjeżdżamy trochę na dół i widzimy takie coś:


AddDefaultMenus()
{
new flags;
AddMenuLang("KICK_PLAYER", "amx_kickmenu", get_clcmd_flags("amx_kickmenu", flags) ? flags : ADMIN_KICK , "Players Menu")
AddMenuLang("BAN_PLAYER", "amx_banmenu", get_clcmd_flags("amx_banmenu", flags) ? flags : ADMIN_BAN, "Players Menu")
AddMenuLang("SLAP_SLAY", "amx_slapmenu", get_clcmd_flags("amx_slapmenu", flags) ? flags : ADMIN_SLAY, "Players Menu")
AddMenuLang("TEAM_PLAYER", "amx_teammenu", get_clcmd_flags("amx_teammenu", flags) ? flags : ADMIN_LEVEL_A, "Players Menu")
AddMenuLang("CHANGEL", "amx_mapmenu", get_clcmd_flags("amx_mapmenu", flags) ? flags : ADMIN_MAP, "Maps Menu")
AddMenuLang("VOTE_MAPS", "amx_votemapmenu", get_clcmd_flags("amx_votemapmenu", flags) ? flags : ADMIN_VOTE, "Maps Menu")
AddMenuLang("SPECH_STUFF", "amx_speechmenu", get_clcmd_flags("amx_speechmenu", flags) ? flags : ADMIN_MENU, "Commands Menu")
AddMenuLang("CLIENT_COM", "amx_clcmdmenu", get_clcmd_flags("amx_clcmdmenu", flags) ? flags : ADMIN_LEVEL_A, "Players Menu")
AddMenuLang("SERVER_COM", "amx_cmdmenu", get_clcmd_flags("amx_cmdmenu", flags) ? flags : ADMIN_MENU, "Commands Menu")
AddMenuLang("CVARS_SET", "amx_cvarmenu", get_clcmd_flags("amx_cvarmenu", flags) ? flags : ADMIN_CVAR, "Commands Menu")
AddMenuLang("CONFIG", "amx_cfgmenu", get_clcmd_flags("amx_cfgmenu", flags) ? flags : ADMIN_MENU, "Commands Menu")
AddMenuLang("LANG_SET", "amx_langmenu", get_clcmd_flags("amx_langmenu", flags) ? flags : ADMIN_CFG, "Multi-Lingual System")
AddMenuLang("STATS_SET", "amx_statscfgmenu", get_clcmd_flags("amx_statscfgmenu", flags) ? flags : ADMIN_CFG, "Stats Configuration")
AddMenuLang("PAUSE_PLUG", "amx_pausecfgmenu", get_clcmd_flags("amx_pausecfgmenu", flags) ? flags : ADMIN_CFG, "Pause Plugins")
AddMenuLang("RES_WEAP", "amx_restmenu", get_clcmd_flags("amx_restmenu", flags) ? flags : ADMIN_CFG, "Restrict Weapons")
AddMenuLang("TELE_PLAYER", "amx_teleportmenu", get_clcmd_flags("amx_teleportmenu", flags) ? flags : ADMIN_CFG, "Teleport Menu")
}

______________________________________________________________________________________


a początku zajmiemy się dodaniem menu (komendy) od UnBan menu - AMXX.pl: Support AMX Mod X a potem SSBan v2.6 [UPDATE:10.Jul.2010] - AlliedModders

Najpierw instalujemy oba pluginy.

Po wgraniu przechodzimy do edycji kodu źródłowego menufront.sma.

UnBan Menu
Załóżmy że UnBan menu chcemy mieć pod banowaniem.
Duplikujemy linijkę:

AddMenuLang("BAN_PLAYER", "amx_banmenu", get_clcmd_flags("amx_banmenu", flags) ? flags : ADMIN_BAN, "Players Menu")

Ma to wyglądać tak:

ddMenuLang("KICK_PLAYER", "amx_kickmenu", get_clcmd_flags("amx_kickmenu", flags) ? flags : ADMIN_KICK , "Players Menu")
AddMenuLang("BAN_PLAYER", "amx_banmenu", get_clcmd_flags("amx_banmenu", flags) ? flags : ADMIN_BAN, "Players Menu")
AddMenuLang("BAN_PLAYER", "amx_banmenu", get_clcmd_flags("amx_banmenu", flags) ? flags : ADMIN_BAN, "Players Menu")
AddMenuLang("SLAP_SLAY", "amx_slapmenu", get_clcmd_flags("amx_slapmenu", flags) ? flags : ADMIN_SLAY, "Players Menu")

I teraz zmieniamy wpis "BAN_PLAYER" na tekst który pokaże się w menu.
Wpiszmy np.: "Odbanuj gracza":

AddMenu("Odbanuj gracza", "amx_banmenu", get_clcmd_flags("amx_banmenu", flags) ? flags : ADMIN_BAN, "Players Menu")

Następnie edytujemy komendy aby wywołać menu unbana.
Zmieniamy


AddMenu("Odbanuj gracza", "amx_banmenu", get_clcmd_flags("amx_banmenu", flags) ? flags : ADMIN_BAN, "Players Menu")

Na

AddMenu("Odbanuj gracza", "amx_unbanmenu", get_clcmd_flags("amx_unbanmenu", flags) ? flags : ADMIN_BAN, "Players Menu")

Teraz definiujemy pod jaką flagą będzie można użyć tej opcji. Ja zostawie ADMIN_BAN

Ważne aby na końcu było "Players Menu" chyba że menu dotyczy czegoś innego.

Na koniec zapisujemy edytowany kod źródłowy, kompilujemy i podmieniamy na serwerze z oryginalnym plikiem.

Kompilować można tak:Kompilator - AMXX.pl: Support AMX Mod X
Skompilować lokalnie:Kompilacja lokalna - AMXX.pl: Support AMX Mod X

Efekt końcowy dodania UnBan Menu do amxmodmenu:

http://amxx.pl/uploads/imgs/amxx_1298489209__amxmodmenu2.png

Po wybraniu "Odbanuj gracza" wykonuje się komenda "amx_unbanmenu" czyli otwiera się już menu pluginu UnBan Menu

http://amxx.pl/uploads/imgs/amxx_1298489301__amxmodmenu3.png

______________________________________________________________________

UnBan menu dodane, teraz SSBan.

AMX SSBan

Dodamy dwa menu - same SS i SS + Ban

Załóżmy że chcemy mieć pod numerem 6 i 7
Myślałem że będzie koło siebie a reszte w takim odstępie jak na początku ale potem numer 8 się przyłączy...
Musimy teraz zduplikować dwa wpisy i dać nad oryginałem aby wyglądało to tak:

AddMenuLang("TEAM_PLAYER", "amx_teammenu", get_clcmd_flags("amx_teammenu", flags) ? flags : ADMIN_LEVEL_A, "Players Menu")
AddMenuLang("CHANGEL", "amx_mapmenu", get_clcmd_flags("amx_mapmenu", flags) ? flags : ADMIN_MAP, "Maps Menu")
AddMenuLang("VOTE_MAPS", "amx_votemapmenu", get_clcmd_flags("amx_votemapmenu", flags) ? flags : ADMIN_VOTE, "Maps Menu")
AddMenuLang("CHANGEL", "amx_mapmenu", get_clcmd_flags("amx_mapmenu", flags) ? flags : ADMIN_MAP, "Maps Menu")
AddMenuLang("VOTE_MAPS", "amx_votemapmenu", get_clcmd_flags("amx_votemapmenu", flags) ? flags : ADMIN_VOTE, "Maps Menu")
AddMenuLang("SPECH_STUFF", "amx_speechmenu", get_clcmd_flags("amx_speechmenu", flags) ? flags : ADMIN_MENU, "Commands Menu")

W sumie robimy jak poprzednio czyli zmieniamy AddMenuLang w obu przypadkach na AddMenu a potem "CHANGEL" i "VOTE_MAPS" zmieniamy na nasz tekst np.: "Menu screenshotow" i "Menu screenshotow + ban"

AddMenu("Menu screenshotow", "amx_mapmenu", get_clcmd_flags("amx_mapmenu", flags) ? flags : ADMIN_MAP, "Maps Menu")
AddMenu("Menu screenshotow + ban", "amx_votemapmenu", get_clcmd_flags("amx_votemapmenu", flags) ? flags : ADMIN_VOTE, "Maps Menu")

Teraz komendy, flage i końcowy napis:

AddMenu("Menu screenshotow", "amx_ssmenu", get_clcmd_flags("amx_ssmenu", flags) ? flags : ADMIN_KICK, "Commands Menu")
AddMenu("Menu screenshotow + ban", "amx_ssbanmenu", get_clcmd_flags("amx_ssbanmenu", flags) ? flags : ADMIN_BAN, "Commands Menu")

Dlaczego Commands Menu a nie Players Menu?
Nie wiem ale działa.
W pierwszym przypadku (UnBan menu) zaś nie działa Commands Menu.

Zapisujemy, kompilujemy (tak jak wcześniej) i podmieniamy plik (plugin).

Tak powinien wyglądać nasz edit:

AddDefaultMenus()
{
new flags;
AddMenuLang("KICK_PLAYER", "amx_kickmenu", get_clcmd_flags("amx_kickmenu", flags) ? flags : ADMIN_KICK , "Players Menu")
AddMenuLang("BAN_PLAYER", "amx_banmenu", get_clcmd_flags("amx_banmenu", flags) ? flags : ADMIN_BAN, "Players Menu")
AddMenu("Odbanuj gracza", "amx_unbanmenu", get_clcmd_flags("amx_unbanmenu", flags) ? flags : ADMIN_BAN, "Players Menu")
AddMenuLang("SLAP_SLAY", "amx_slapmenu", get_clcmd_flags("amx_slapmenu", flags) ? flags : ADMIN_SLAY, "Players Menu")
AddMenuLang("TEAM_PLAYER", "amx_teammenu", get_clcmd_flags("amx_teammenu", flags) ? flags : ADMIN_LEVEL_A, "Players Menu")
AddMenu("Menu screenshotow", "amx_ssmenu", get_clcmd_flags("amx_ssmenu", flags) ? flags : ADMIN_KICK, "Commands Menu")
AddMenu("Menu screenshotow + ban", "amx_ssbanmenu", get_clcmd_flags("amx_ssbanmenu", flags) ? flags : ADMIN_BAN, "Commands Menu")
AddMenuLang("CHANGEL", "amx_mapmenu", get_clcmd_flags("amx_mapmenu", flags) ? flags : ADMIN_MAP, "Maps Menu")
AddMenuLang("VOTE_MAPS", "amx_votemapmenu", get_clcmd_flags("amx_votemapmenu", flags) ? flags : ADMIN_VOTE, "Maps Menu")
AddMenuLang("SPECH_STUFF", "amx_speechmenu", get_clcmd_flags("amx_speechmenu", flags) ? flags : ADMIN_MENU, "Commands Menu")
AddMenuLang("CLIENT_COM", "amx_clcmdmenu", get_clcmd_flags("amx_clcmdmenu", flags) ? flags : ADMIN_LEVEL_A, "Players Menu")
AddMenuLang("SERVER_COM", "amx_cmdmenu", get_clcmd_flags("amx_cmdmenu", flags) ? flags : ADMIN_MENU, "Commands Menu")
AddMenuLang("CVARS_SET", "amx_cvarmenu", get_clcmd_flags("amx_cvarmenu", flags) ? flags : ADMIN_CVAR, "Commands Menu")
AddMenuLang("CONFIG", "amx_cfgmenu", get_clcmd_flags("amx_cfgmenu", flags) ? flags : ADMIN_MENU, "Commands Menu")
AddMenuLang("LANG_SET", "amx_langmenu", get_clcmd_flags("amx_langmenu", flags) ? flags : ADMIN_CFG, "Multi-Lingual System")
AddMenuLang("STATS_SET", "amx_statscfgmenu", get_clcmd_flags("amx_statscfgmenu", flags) ? flags : ADMIN_CFG, "Stats Configuration")
AddMenuLang("PAUSE_PLUG", "amx_pausecfgmenu", get_clcmd_flags("amx_pausecfgmenu", flags) ? flags : ADMIN_CFG, "Pause Plugins")
AddMenuLang("RES_WEAP", "amx_restmenu", get_clcmd_flags("amx_restmenu", flags) ? flags : ADMIN_CFG, "Restrict Weapons")
AddMenuLang("TELE_PLAYER", "amx_teleportmenu", get_clcmd_flags("amx_teleportmenu", flags) ? flags : ADMIN_CFG, "Teleport Menu")
}


Screen edytowanego "amxmodmenu":
http://amxx.pl/uploads/imgs/amxx_1298495138__amxmodmenu4.png

Dowód że działa:
http://amxx.pl/uploads/imgs/amxx_1298495168__amxmodmenu5.png
http://amxx.pl/uploads/imgs/amxx_1298495191__amxmodmenu6.png

Jeżeli nie dostałeś oczopląsu, zrozumiałeś poradnik i udało ci się edytować menu to gratuluję!

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.cs-dziupla.pun.pl www.weldenvarden.pun.pl www.tajemniczy-swiat.pun.pl www.narutosanhan.pun.pl www.acemu.pun.pl