FarCry
[ Neue Beiträge · Teilnehmer · Forumregeln · Suche · RSS ]
  • Страница 1 из 1
  • 1
Архив - только для чтения
Events
EasyliteДата: Вторник, 01.01.2008, 21:33 | Сообщение # 1
Admin
Группа: Administratoren
Сообщений: 8
Репутация: 0
Статус: Offline
Events

Events sind das Nervensystem von Far Cry. Sie kontrollieren alles und können zu komplexen Verbindungen zusammengefügt werden die dann wie ein Skript oder Programm funktionieren und so einer Stage in Far Cry Leben verleihen. Wir haben Events schon mal angesprochen, aber sie können noch viel mehr, als nur eine AI Entity zu aktivieren oder eine Türe zu öffnen. Events können einen Spaziergang durch einen Tunnel in eine Art Indiana Jones Abenteuer verwandeln...Fallen ausweichen, Bomben platzieren, Seile zerschießen und riesigen Felsen entkommen. Events können für alle Entitys gebraucht werden: Entitys, Archetype Entitys, AI Entity, aber nicht für Brushes, Tag Points, areas etc. Entitys können beides sowohl "Eventsignale" empfangen als auch senden und die Signale die sie empfangen, sind auch die gleichen, die sie senden können. Wenn du also wissen willst, was für Events ein bestimmtes Objekt senden kann, musst du nur schauen auf was für Ereignisse es selbst reagieren kann. In den vorigen Kapiteln hast du ja schon gelernt, dass Events aktiviert werden können, indem man das Objekt, welches den Trigger aktivieren soll auswählt und dann das Objekt auswählt, welches geschaltet/aktiviert werden soll, indem man das "Pick new tool" unter der "Input/Output Events" in dem Rollbar benutzt. Du musst dir ein Eventsignal aussuchen, auf das dein gewähltes Objekt reagieren soll und dann noch das Ereignis das aktiviert werden soll. Z.B. Könntest du das "On Enter" Eventsignal von einem Proximitytrigger wählen und dann einen zerstörbaren Gasganister wählen, an den der "Explode" Event gesendet werden soll.

Simple Events (Einfacher Ereignisse)
Es gibt einige Events sowie Objekte die einfach zu verstehen und gebrauchen sind. Als erstes wären da die einfachen "enable" und "disable" events welche Entitys aktivieren und deaktivieren. Zum Beispiel, wenn du einen Proximitytrigger hast, der ein Gebäude zerstört, aber erst sobald der Spieler das Haus verlassen hat, musst du den Trigger deaktiviert haben und sobald der Spieler das Haus betritt den Proximitytrigger mit einem Eventsignal wieder aktivieren. Es ist auch empfehlenswert Objekte zu aktivieren bzw. deaktivieren, die nicht in der Sichtweite des Spielers liegen, da diese sich schwer auf den Prozessor auswirken können, wie zum Beispiel "dynamic lights". Der Explode event ist ein ganz einfacher und kann dafür verwendet werde um andere Events anzukündigen, zum Beispiel wenn du das Objekt in dem Haus zerstört hast, einen Missions- Tipp darauf folgen lässt.
Ein paar andere, einfache Events sind "hide" und "unhide". Diese Events machen auch genau das, nach was sie aussehen, nämlich Objekte von der Sicht des Spielers verstecken oder sichtbar machen. Die ist vor allem hilfreich, wenn man AI Entitys benutzt so wie Mercenaries (Söldner).Du möchtest, zum Beispiel, eine Stelle haben, an der der Spieler ein Haus verlässt, dass er gerade zerstört hat und dann von ein paar Söldnern abgefangen wird. Du möchtest nicht, das diese Söldner von dem Spieler gesehen werden, bis er das Haus zerstört hat. Daher solltest du sie verstecken und einen unhide-event Signal senden, sobald die Explosion statt gefunden hat. Mercenaries haben selber auch eine Reihe von einfachen simple events, zu denen welche zuvor schon in dem AI Kapitel erwähnt wurden. Man kann einen Gegner durch einen "Die event" töten, oder durch dessen tot ein Signal senden indem man seinen "On Death" event benutzt. Zum Beispiel könnte man so einen Mercenary sagen lassen
"What the .....", sobald er den Mercenary sterben sieht.

Triggers (Schalter)
Die komplexeren Mechanismen hinter den Events welche einem erlauben eher als ein Script oder Programm zu agieren als eine Reihe von verbundenen Aktionen, sind die Trigger. Trigger operieren unabhängig von Objekten und können aktiviert werden ohne, dass ein Objekt davon betroffen wird. Triggers können einfach aktiviert werden, wenn ein Spieler ein bestimmtes Gebiet betritt, es verlässt oder wenn ein Trigger einfach von einem anderen Trigger aktiviert wurde. Triggers können sich auch selbst aktivieren oder durch einen anderen Entity trigger aktiviert werden, sowie ein Mercenary der in einen AI Trigger läuft oder eine Explosion welche einen "Input" Trigger an einen "Delay Trigger" (Verspätungstrigger) sendet.

Der "Multiple Trigger" (Multiple=Mehrere) erlaubt es einem einen Trigger so lange zu verschieben, bis dieser ein Ereignis so oft erhalten hat, wie es in seinen Parametern angegeben ist. Zum Beispiel hast du mehre Aufgaben für den Spieler und jede sendet ein Event zu dem selben "Multiple" trigger und wenn jede Aufgabe erfüllt ist, kann der Multiple Trigger zb. die Türe in die nächste Stage öffnen. So wie der "Delay" Trigger, wird der Multiple Trigger durch den Input Trigger/Event aktiviert. Die Anzahl, wie oft ein Event an den Multiple Trigger gesendet werden muss, wird durch die Zahl definiert, welche neben "NumInputs" in den Eigenschaften steht. Wenn der Multiple Trigger so viele Input Triggers gezählt hat wie du angegeben hast, schaltet er sich aus und wird nicht weiter aktiv sein.

More Complex Events (Komplexere Ereignisse)
Manche Events, welche in dem Spiel benutzt werden, benötigen mehr Einstellungen als die, welche bisher besprochen wurden, sowie "AddImpulse" (Schub geben). Manche Objekte haben Ereignisse (Events) welche verbunden werden müssen damit alles funktioniert, sowie ein Aufzug. Manche Objekte, der Aufzug zum Beispiel, haben Events welche nicht sofort sichtbar sind. Wir werden ein paar schwerere und oft benutzte Events erklären, sowie diese hier aber den Rest müsst ihr selbst herausfinden indem ihr euch die fertigen Missionen anschaut. Da die Events sehr flexibel sind, wirst du bestimmt deine eigenen Wege finde sie zu nutzen.

Adding Impulse (Schub)
Mann kann einfach einen Impuls auf viele Objekte wirken lassen, indem man einfach den "AddImpulse" Event an die Objekte sendet, die diesen auch akzeptieren können. In dem meisten Fällen wie auch immer wird das Objekt nur etwas hüpfen oder sich gar nicht bewegen. Dies passiert, da der Standart Impuls für Objekte bei 1,2,3 auf den X,Y und Z Achsen liegt. Wenn man will, dass der AddImpulse Event besser und flexibler funktioniert und sich Objekte auch über große Distanzen katapultieren lassen, muss man die Objekte spezifizieren und in einer bestimmten Art einstellen. Um deine eigenen Impulse Parameter einzustellen, kannst du nicht einfach vorgemachte Entitys sowie Archetype gebrauchen, sondern du musst dir eine Entity aussuchen und die Physik selber einstellen.
Als erstes setzt du eine simple Entity auf die Mappe welche du bewegen/katapultieren willst, sowie ein locker (Schließfach) aus dem indore/furniture/cabinets Ordner. Nun ändere die Physik Eigenschaften um es in ein Objekt umzuwandeln welches auf der Mappe herumgeschoben werden kann. In den Parametern des Objektes aktiviere erst einmal die "RigidBody" (Rigid-star/steif)Box, damit das Objekt auch einen physischen Körper im Spiel hat und nun gebe dem Objekt eine Masse welche ihm entspricht. Das Standart Gewicht ist 700, was viel zu schwer für eine Kokosnuss ist, welche mit einem Gewicht von 2 besser dran wäre. Nun, damit es sich in eine Richtung bewegt, sobald man ihm einen Schub gibt (AddImpulse), sollte man die Werte auf der X,Y und Z Achse bei den Impulse Parametern ändern. Wenn man die Zahl für die Z Achse erhöht, wird das Objekt in die Luft geschleudert und die X und Y Achse gibt ihm dann einen horizontalen Schub/Momentum. Alles, was man nun noch machen muss, ist es mit etwas zu verbinden welches einen Impuls senden kann (Proximity Trigger zum Beispiel).

Der Aufzug Event braucht etwas mehr Erklärung, da vieles auf den ersten Blick nicht zu erkennen ist. Die Verwirrensten Events sind "Close" (Schließen), "Closed" (Geschlossen), "Open" (Offen) und "Opened" (Geöffnet) da es Anfangs den Anschein hat, als seien dies fast die selben Sachen. Um dies besser zu verstehen, solltet ihr euch in dem englischen Editor das Diagram 4.2 anschauen!!! Die Standartposition für den Aufzug ist stationär, auf dem Boden/Startpunkt. Wenn der Spieler den Aufzug aktiviert, wird der "Open" Event aktiviert und um den Aufzug zu bewegen muss man ihn mit einem "Open" Signal schalten (Triggern). Sobald der Aufzug seinen sekundären Punkt erreicht hat, welche über oder unter dem Startpunkt liegt (Je nach dem wie man ihn eingestellt hat),sendet er das "Opened" Signal. Sobald er sein Ziel erreicht hat, wird er eventuell zu seinem Startpunkt zurückkehren. Sobald es diese Rückreise antritt, wird er das "Close" Signal senden. Wieder kannst du den Aufzug diese reise antreten lassen indem du das Close Signal zu ihm sendest. Sobald der Aufzug am Ende an seinen Startpunkt zurückgekehrt ist, wird er das "Closed" Signal senden. Die "Open" und "Close" Signale sind genug um einfache Aufzugsbewegungen hinzubekommen, aber ein richtiger Aufzug braucht mehr als das. Richtige Aufzüge brauchen Knöpfe welche man drücken muss um sie zu aktivieren. Richtige Aufzüge starten nicht, bevor die Türe nicht komplett geschlossen ist. Man braucht Events (Ereignisse) um einen Aufzug wie einen echten agieren zu lassen. So möchtest du vielleicht die Türen so einstellen, dass sie einen "Open" und "Close" Event zu dem Aufzug senden wenn sie sich schließen, sodass der Aufzug sich erst bewegt, sobald sich die Türen schließen. Du kannst auch Knöpfe/Schalter auf jedem Flur anbringen welche die selben Signale/Events zu dem Aufzug schicken und ihn dazu bringen auf die Etage zu fahren, auf welcher sich der Spieler befindet. Man kann noch mehr mit einem Aufzug machen wie zum Beispiel das Material ändern, das Licht oder den Aufzug nur mit Keycard betrettbar machen.

Hinweis: Auf Standart ist der Aufzug so eingestellt, dass er sich automatisch zu dem nächsten Punkt bewegt, sobald der Spieler ihn betritt. Du musst die "Automatic" in den Eigenschaften des Aufzuges ausschalten, wenn du ihn mit Events kontrollieren willst.

 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2026Сайт управляется системой uCoz