| Date | Author | Rating | Pages |
|---|---|---|---|
| 15.11.2009 | swot | Page 1 of 1 |
man kann dem game menü weitere funkionen zuweisen mit denen man dann konsolenbefehle ausführen kann, zb. auf einen bestimmten server connecten oder das demoui öffnen.
dazu mit GCFScape die datei "GameMenu.res" aus "half-life 2 deathmatch.gcf" exportieren.
zu finden in "/hl2mp/resource/"
"GameMenu.res" mit einem texeditor öffnen. das ganze sieht dann so aus:
Code:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. | "GameMenu" { "1" { "label" "#GameUI_GameMenu_ResumeGame" "command" "ResumeGame" "OnlyInGame" "1" } "2" { "label" "#GameUI_GameMenu_Disconnect" "command" "Disconnect" "OnlyInGame" "1" } "3" { "label" "#GameUI_GameMenu_PlayerList" "command" "OpenPlayerListDialog" "OnlyInGame" "1" } "4" { "label" "" "command" "" "OnlyInGame" "1" } "5" { "label" "#GameUI_GameMenu_FindServers" "command" "OpenServerBrowser" } "6" { "label" "#GameUI_GameMenu_CreateServer" "command" "OpenCreateMultiplayerGameDialog" } "7" { "label" "#GameUI_GameMenu_Friends" "command" "OpenFriendsDialog" } "10" { "label" "#GameUI_GameMenu_Options" "command" "OpenOptionsDialog" } "11" { "label" "#GameUI_GameMenu_Quit" "command" "Quit" } } |
die nummerierung, hier "1" bis "11" gibt die position des buttons an.
"label" ist die beschriftung den knopfes mit der man die funktion beschreibt
"command" ist der befehl, der beim anklicken ausgeführt wird
der parameter "OnlyInGame" legt fest wann der knopf zu sehen ist, immer oder nur wenn man ein spiel gestartet hat.
nun werden wir einen knopf für das demoui und jeweils einen zum connecten auf einen public-server und einen passwortgeschützten server dem game menü hinzufügen.
Code:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. | "GameMenu" { "1" { "label" "passwortgeschützter server" "command" "engine password private; wait; connect 127.0.0.1:27015" } "2" { "label" "public server" "command" "engine password password; wait; connect 127.0.0.1:28015" } "3" { "label" "#GameUI_GameMenu_ResumeGame" "command" "ResumeGame" "OnlyInGame" "1" } "4" { "label" "#GameUI_GameMenu_Disconnect" "command" "Disconnect" "OnlyInGame" "1" } "5" { "label" "#GameUI_GameMenu_PlayerList" "command" "OpenPlayerListDialog" "OnlyInGame" "1" } "6" { "label" "" "command" "" "OnlyInGame" "1" } "7" { "label" "#GameUI_GameMenu_FindServers" "command" "OpenServerBrowser" } "8" { "label" "#GameUI_GameMenu_CreateServer" "command" "OpenCreateMultiplayerGameDialog" } "9" { "label" "#GameUI_GameMenu_Friends" "command" "OpenFriendsDialog" } "10" { "label" "#GameUI_GameMenu_Options" "command" "OpenOptionsDialog" } "11" { "label" "DemoUI" "command" "engine demoui" } "12" { "label" "#GameUI_GameMenu_Quit" "command" "Quit" } } |
hier wurden nun position "1", "2" und "11" geändert.
um einen beliebigen konsolenbefehl auszuführen muss man in der zeile "command" vor dem eigentlichen befehl "engine" einfügen. in unserem beispiel war der gewünschte befehl "demoui"
Code:
1. 2. 3. 4. 5. | "11" { "label" "DemoUI" "command" "engine demoui" } |
wenn alle gewünschten änderungen vorgenommen wurden die datei speichern und schreibschützen,
und in "....\Steam\steamapps\username\half-life 2 deathmatch\hl2mp\resource" ablegen.
um den font des menüs zu ändern zuerst mit GCFScape die datei "SourceScheme.res" aus "base source engine 2.gcf" exportieren.
zu finden in "root/hl2/resource/"
"SourceScheme.res" mit einem texeditor öffnen und nach der zeile "MenuLarge" suchen.
Code:
1. 2. 3. 4. 5. 6. 7. 8. 9. | "MenuLarge" { "1" { "name" "Verdana" "tall" "16" "weight" "600" "antialias" "1" } |
hier kann nun der font und seine parameter bestimmt werden.
die farbe des menüs wird ebenfalls in der datei "SourceScheme.res" festgelegt.
nach fogender zeilen suchen:
Code:
MainMenu.TextColor legt die farbe des knopfes fest,1. 2. 3. | // scheme-specific colors MainMenu.TextColor "White" MainMenu.ArmedTextColor "200 200 200 255" |
MainMenu.ArmedTextColor legt die farbe fest, die angezeigt werden soll wenn der mauszeiger über dem knopf ist
um das menü in grün anzuzeigen, und wenn die maus über einem knopf ist rot, sollte das ganze so aussehen:
Code:
1. 2. 3. | // scheme-specific colors MainMenu.TextColor "0 255 0 255" MainMenu.ArmedTextColor "255 0 0 255" |
wenn alle gewünschten änderungen vorgenommen wurden die datei speichern und schreibschützen,
und in "....\Steam\steamapps\username\half-life 2 deathmatch\hl2mp\resource" ablegen.
You have to be registered and logged in to rate an article!