Hallöchen,
da mir Google und die SuFu nicht weiter helfen, frage ich nun hier.
Wie füge ich für ein bestimmtes Object eine Option im Context Menu (C-Menu) ein?
Danke im Voraus.
Gruß,
Neo.![]()
Hallöchen,
da mir Google und die SuFu nicht weiter helfen, frage ich nun hier.
Wie füge ich für ein bestimmtes Object eine Option im Context Menu (C-Menu) ein?
Danke im Voraus.
Gruß,
Neo.![]()
nimm dir beispiele aus den dateien in garrysmod\lua\autorun\properties
Code:properties.Add("objektname in lua",{ MenuLabel="name des eintrags", Order=999,--damit es automatisch eingereiht wird.. 1 wäre dauerhaft ganz oben MenuIcon="icon16/icon.png", -- das icon materials/icon16/icon.png Filter = function--prop protection und prüfungen ob das entity ok ist Action=function--wird auf dem Client ausgeführt Receive=function --wird auf dem Server ausgeführt. end, })
Hallöchen,
erstmal vielen Dank für deine Antwort.
Wie ist das, wenn ich nun eine neue Option hinzufügen möchte?
Muss ich dann im Autorun unter Properties ein neues .Lua Dokument erstellen, und es dort dann (ähnlich) machen wie in den "Beispielen"? Falls ja: Ist die Namensgebung der Datei an sich wichtig?
Sind Action und Receive im Prinzip das gleiche wie cl_init und init?
Welche Dateiendungen darf man bei dem Icon verwenden, und in welcher größe?
Gruß,
Neo.![]()
Die lua kannst du benennen wie du willst, am besten wäre es wenn du die den lua objektnamen deines eintrags verpasst
einfach eine im properties ordner erstellen
Action & Receive sind ungefähr das gleiche, wie init und cl_init bei einem Scripted Entity.. wird beides auch aufgerufen beim spawnen
.vtf (.vmt muss dabei sein) oder png
8x8 16x16 32x32 64x64 ...
Hallo,
So sieht mein Filter derzeit aus. Aber die Option wird mir dann im Spiel nicht angezeigt. Im Printer steht bei Init: self.IsSpecMoneyPrinter = trueCode:Filter = function( self, ent, ply ) -- A function that determines whether an entity is valid for this property if ( !IsValid( ent ) ) then return false end if ( ent:IsPlayer() ) then return false end if ( !ent.IsSpecMoneyPrinter ) then return false end return true end,
Gruß,
Neo.![]()
pack hinter die "then" ein print debug
wie zb. "print("IsSpecMoneyPrinter is false")
schonmal ingame die lua file aufgerufen, ob errors kommen?
lua_openscript und lua_openscript_cl
Hallo,
habe hinter jede Abfrage mal testweise ein Print gesetzt. Aber keines wird geprintet.
Die Datei via lua_openscript zu laden funktioniert nicht. (lua_openscript /autorun/properties/test.lua .. lua_openscript test.lua .. lua_openscript autorun/properties/test.lua). Jedesmal bekomme ich die Meldung, dass die angegebene Datei nicht zu finden sei.
€dit:
Editiere gerade einfach das Ignite um, da es ja mit meinem ja nicht gehen will. Habe es auf folgende weise jetzt gemacht:
ent:GetClass() != "my_money_printer"
€dit2:
Okay, habe es hin bekommen. Jetzt jedoch die Frage, wieso es nicht funktioniert, wenn ich da eins hinzufüge?
Geändert von DasNeo (17.08.2013 um 21:48 Uhr)