PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spawnmenu modifizieren



A.I.
26.05.2010, 19:17
http://stuff.aix0.eu/Pics/screenshots/Garrys%20Mod/stool%20search.png
wäre mein Ziel.

Dafür müssen die Dateien in garrysmod\gamemodes\sandbox\gamemode\spawnmenu modifiziert werden. Das ist jedoch das Problem, da Steam sie bei jedem Start erneuert.

Wie erstelle ein nun das Addon?


Benutze Google
Tu ich. Und wenn mir jemand beim Denken hilft, löst sich das Problem auch schneller.

Joker
26.05.2010, 19:40
Schon mal versucht, die modifizierten Dateien im Addon-Format hinzufügen, statt die Originale direkt zu ändern?

A.I.
26.05.2010, 19:46
Ja, als <Addonname>\lua\spawnmenu\ + "override" "1" in der info.txt
Hmm... Ich werde nochmal testen, aber \gamemode\ statt \lua\. :-?

Joker
26.05.2010, 19:50
Die Dateien, die im jeweiligen Addon-Ordner vorhanden sind, werden zur Laufzeit über den garrysmod-Ordner überspielt. Der richtige Pfad wäre somit ".../addons/asdf/sandbox/gamemode/spawnmenu/".

A.I.
26.05.2010, 22:46
OK, der Pfad wäre kein Problem mehr
(<addonname>\lua\sandbox\gamemode\spawnm...)

Nächstes Problem (reichlich größer):
Die LUA-Scripte im Addonordner werden nicht berücksichtigt.
Statt "<addon>/lua/sandbox/gamemode/spawnmenu/toolpanel.lua" wird nur "gamemode/sandbox/gamemode/spawnmenu/toolpanel.lua" gelesen.
Und override wurde in irgendeinem Update deaktiviert.

Zum 3.

--garrysmod\gamemodes\sandbox\gamemode\spawnmenu\too lpanel.lua
local PANEL = {}

function PANEL:Init()
--....
local Category = vgui.Create( "DCollapsibleCategory", self )
--...
local --...
local --...
local --...


Es gibt (wahrscheinlich) keine Möglichkeit Zugriff auf die Panels zu erhalten, da sie alle lokal erstellt und danach sofort registriert werden. :mad:

Joker
27.05.2010, 06:06
<addon>/lua/sandbox/gamemode/spawnmenu/toolpanel.lua

".../addons/asdf/sandbox/gamemode/spawnmenu/"
Asdf stellt den Addonordnernamen dar.

A.I.
27.05.2010, 07:00
So blöd bin ich nicht. ;)

Jeder Absatz im vorherigen stellt ein Problem dar und ist von den anderen unabhängig. Das erste Problem wurde gelöst.


Ich habe in <addonname>\lua\sandbox\gamemode\spawnmenu einen leeren Ordner erstellt und alle Dateien gelöscht.
Durch lua_openscript_cl konnte GMod sowohl auf den erstellten Ordner als auch auf die gelöschten Dateien zugreifen. Somit sind beide Pfade identisch.


Problem 2
Die gleichnamigen Dateien, die ich in <addonname>\lua\sandbox\gamemode\spawnmenu erstellt habe, werden
ignoriert, obwohl sie eigentlich dem gamemodes Ordner bevorzugt (?) werden sollten.

Problem 3
Da die zu verändernden Panels anonym und local erstellt werden,
habe ich weder die Möglichkeit das Spawnmenü als Parent zu benutzen noch die existierenden Elemente, die drauf liegen, zu verändern/löschen.