Was brauch ein Trigger im GE und Lua?
Wie erstellt man einen Trigger?
-
-
Zunächst braucht ein Trigger das häckchen bei "trigger" in den Attributes. Ebenso muss er eine Kollision haben, also Rigid Body Static oder Kinematic.
Weiterhin ist wichtig welche Collision Mask er hat, weil dadurch festgelegt wird bei was er auslöst.
Ansonsten ist ein Trigger nichts anderes als n normales Objekt..(Nicht zu vergessen die "User Attributes" bei denen zumindest onCreate vorhanden sein muss..)
LG
-
Wenn ich den oben hochgeladenen skrip im mods ordner rein tu dann zeigt die log den Fehler: Physics: Add trigger callback failed, object persp is not a physics trigger an!
Welchen Collision Mask braut man für einen Tracktor?
-
Bist du dir sicher, dass du als Trigger ein Objekt, also einen Würfel o.ä angegeben hast? Object "Persp" deutet offensichtlich auf eine Kamera hin
MfG
-
Welchen Collision Mask braut man dass er bei einen Tracktor auslöst?
-
13
Der Knackpunkt an deinem Skript ist das kreiren der Klasse "Tra", die wird nämlich garnicht kreirt. Die Funktionien keyEvent werden auch nicht aufgerufen werden...
-
Warum wird die Klasse nich aufgerufen?
Muss ich es dann ohne die klasse "Tra" schreiben?
also so
[lua]
function keyEvent(unicode, sym, modifier, isDown)
...
[/lua] -
Der LS weis einfach garnicht, dass er mit der Klasse was anfangen soll. Guck Dir mal die onCreate function in Headys BGA Skripts an.
-
das oder?
[lua]
function onCreate(self, id)
--print("created MapBGABunker, id: ", id);
local instance = MapBGABunker:new(g_server ~= nil, g_client ~= nil);
local index = g_currentMission:addOnCreateLoadedObject(instance);
instance:load(id);
instance:register(true); -- add update routine,
table.insert(ModEvent.bunkers, instance);
end;[/lua]
-
Genau.
Die function MapBGABunker:new erstellt erst die (neue) Klasse. Ich würde Dir empfehlen, mal den Code von Heady zu kopieren und an dein Skript anzupassen. Du musst Heady halt nur um Erlaubnis fragen, wenn du das Skript veröffentlichen willst.
-
aber warum muss man das so machen? ls ruft doch den update teile in andern skrips auch auf ohne das man das von headys biogas-skript einbaut?
liegt das an der onCreate function?
-
ls ruft doch den update teile in andern skrips auch auf ohne das man das von headys biogas-skript einbaut
Ich vermute mal, dass du hier Spezis meinst. Die Spezis werden auch eingebaut, nur eben in der modDesc. Der LS liest dann die modDesc aus und "registriert" die Spezi dann. Beim Mapobjekt muss du das selbst machen. -
Ist der eintrag in der moddesc das entscheidende?
Wenn man es so einträgt,
dann ruft er immer nur die datei auf?
Und nicht die functionen!?Wenn man was so einträgt,
ist es nur für fahrzeuge? -
ist es nur für fahrzeuge?
Exakt, die Spezi Variante ist nur für Fahrzeuge. -
-
Damit wird das Script ins Spiel eingebunden und die update-Funktion daraus wie alle anderen update-Funktionen auch dauernd aufgerufen.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!