Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Triggerzonen?



Zamy
01.01.2010, 02:47
Entschuldigt diese vermutlich total dämliche Frage, aber ich komme mit LUA eher aus der Ecke Operation Flashpoint: Dragon Rising scripting. In dem genannten Spiel scriptete ich mit LUA zwei sehr beliebte, leider nie komplett fertig gestellte Kampagnen. Dort hatte ich die Möglichkeit sogenannte Triggerzonen zu erstellen, bzw abzufragen ob sich der Spieler in einer (und welcher) Triggerzone befindet.

Meine Frage: Gibt es eine solche Möglichtkeit/Funktion auch hier beim Gmod LUA? Irgendwie sieht mir das ziemlich anders aus als in OFP:DR.

xXGaunXx
01.01.2010, 04:33
In Garry's Mod gibt es sogenannte Vectoren, du müsstest zuerst diese "Triggerzonen" definieren (was gar nicht so einfach ist) und dann eine Abfrage schreiben, ob sich der Spieler in einer dieser Zonen befindet.
Ein Tutorial zu dieser Problematik kann ich dir leider nicht anbieten D:

Zamy
01.01.2010, 04:58
Ok, danke^^
Auch wenn du mir kein Tutorial anbieten kannst reicht es mir zu wissen dass es irgendwie geht :)

Pac_187
01.01.2010, 19:39
Du solltest dir darüber im Klaren sein, dass du Lua in GMod nicht mit dem Lua in OFP vergleichen kannst.

Der Aufbau wie z.B. das erstellen von Funktionen oder Variablen ist der selbe,
aber die Weise wie diese Sachen gehandhabt werden ist eine andere.

Du kannst z.B. nicht die Funktionen von OFP nutzen da diese gar nicht in GMod definiert sind.
Die Lua-Wiki für Garry's Mod findest du im übrigen unter folgendem Link:

http://wiki.garrysmod.com/?title=Lua

Dort sind alle Funktionen die du via Lua aufrufen kannst aufgelistet und auch teilweise Dokumentiert und mit Code-Beispielen versehen.
Unter anderem findest du dort auch diverse Einleitungen/Tutorials zur Erstellung von Gamemodes/Menu-Panels etc.

Zamy
02.01.2010, 00:03
So war die Hoffnung, aber ich habe schon gemerkt dass es nicht nur ein bisschen anders ist, sondern echt fast komplett anders :)

Danke für den Link^^. Gibt zwar auch ein deutsches Wiki dazu, aber die meisten Funktionen sind dort nicht erklärt.

BennyG
02.01.2010, 11:34
In Garry's Mod gibt es sogenannte Vectoren, du müsstest zuerst diese "Triggerzonen" definieren (was gar nicht so einfach ist) und dann eine Abfrage schreiben, ob sich der Spieler in einer dieser Zonen befindet.
Ein Tutorial zu dieser Problematik kann ich dir leider nicht anbieten D:


Hör auf son Müll zu reden Gaun D: :gmod:

Du kannst ganz einfach ein Brush-Entity erstellen, dass in Hammer platzieren, und dann per Funktion "ENT:Touch (http://wiki.garrysmod.com/?title=ENT.Touch)" des Brush-Entity das weitere machen.

Und hier ist das Base Brush Entity (http://luabin.foszor.com/code/gamemodes/base/entities/entities/base_brush/init.lua)

Mitsuma
02.01.2010, 11:45
Ja, wenn man es in der Map macht.
Jedoch ist es schwerer wenn man die Triggerzonen vllt. In-Game erstellen will.
(Mit eigener Länge, Breite, [Höhe])

Als Ersatz dafür gibt es im Addon "Wire Unofficial Extras" eine "Touchplate". Man könnte diese auf den Boden liegen und
als "Bodensensor" benutzen.

Nur so als Alternative.

xXGaunXx
02.01.2010, 13:21
Hör auf son Müll zu reden Gaun D: :gmod:

Du kannst ganz einfach ein Brush-Entity erstellen, dass in Hammer platzieren, und dann per Funktion "ENT:Touch (http://wiki.garrysmod.com/?title=ENT.Touch)" des Brush-Entity das weitere machen.

Und hier ist das Base Brush Entity (http://luabin.foszor.com/code/gamemodes/base/entities/entities/base_brush/init.lua)

Mit Vektoren klappt das aber alles auch ganz gut. Das wollte ich damit sagen, da ich kein Hammer mag.

BennyG
02.01.2010, 13:39
Mit Vektoren klappt das aber alles auch ganz gut. Das wollte ich damit sagen, da ich kein Hammer mag.

Find ich eben nicht, da du ohne noch komplizierte Formeln anzuwenden müssen nur die Spieler in Boxen ermitteln kannst.
Das Entity, so wie ich es vorschlage, kann man im Hammer jedoch nach seinen belieben Verformen.

Scarecrow
02.01.2010, 16:02
Da Hammer aber rein garnichts mit Lua in dem Sinne, wie es unser netter Kollege sich vorstellt, zu tun hat, braucht er natürlich die Variante mit den Vectoren, was meiner Meinung auch die eleganteste aller Lösungen ist.

Kompliziert ist das allemal nicht, die Rechengrundlagen kennt man erstaunlicherweise schon ab der 8 Klasse und mit ein bisschen logischem Nachdenken sollte man es auch in einer 3D-Umgebung gebacken bekommen. Die einzige Hürde, die grade für Zamy besteht, ist, dass er sich noch kaum mit Lua in Verbindung mit Gmod auskennt. Da hilft nur: Lesen, ausprobieren und fragen. ;)

PS: Interessant für das Vorhaben wäre diese Funktion: http://wiki.garrysmod.com/?title=Ents.FindInBox