HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Auslöser in einem Auslöserbereich (https://hx3.de/editing-scripting-167/ausloeser-ausloeserbereich-21273/)

spaccy 29.01.2012 22:39

Auslöser in einem Auslöserbereich
 
Hallo,

ich habe einen Auslöser "Trigger1" mit dem Radius 50 und einen "Trigger2" ohne Bereich.

Wie kann man in "Trigger2" Abfragen ob sich dieser in dem Auslöserbereich von "Trigger1" befindet. Wie z.B. "Trigger2 in list Trigger1" (Geht so nicht :().
(Trigger1 ist an Player angehängt.)

Danke für eure Hilfe schonmal.

Vienna 30.01.2012 00:52

Wird trigger2 erst während dem Spiel erstellt? Wenn trigger2 keinen Bereich hat, was hast du dann in seine "Bedingung" rein geschrieben?

spaccy 30.01.2012 10:17

Darum geht es ja.
Beide Trigger gibt es von anfang an.
"trigger1" ist ja an den Spieler angehängt (bewegt sich also immer mit).
In der Bedingung von "trigger2", das ist ja jetzt meine Frage, soll die Anfrage drin stehen ob sich er sich in dem Auslöserbereich von "Trigger1" befindet.

So in etwa: Bedingung von Trigger2: Trigger2 befindet sich im Bereich von Trigger1

Vienna 30.01.2012 13:52

Das Nachziehen des Auslösers zum Spieler musst du aber programmiert haben. Nur die Verbindung des Auslösers mit dem Spieler bewirkt das nicht.

Wenn du wissen willst ob der trigger2 im Trigger1-Bereich ist, dann erstelle beim trigger2 ein Logic-Objekt (das ist unsichtbar) und frage ab ob dieses Objekt in der Liste von trigger1 ist.

spaccy 30.01.2012 20:53

Klar, ich habe das Teil mit "attachto" drangeklebt, der Bereich von Trigger1 muss beweglich sein.

Meine Idee funktioniert leider nur wenn die Abfrage in Trigger2 steht.

Vienna 30.01.2012 22:22

Wenn trigger2 keinen Auslösebereich hat, dann lass ihn weg und steuere das über ein Skirpt. Erforderliche Positionen markiere mit Logic-Objekten.

Wolkenbeisser 01.02.2012 15:27

@spacy

Könntest Du nicht Trigger2 auch an ein Objekt, bzw. an eine Einheit (z.B. unsichtbar) attachen? Dann müsstest Du im Trigger1 nur noch abfragen, ob das Objekt im Triggerbereich von Trigger1 ist.

Falls Trigger2 (bzw. das damit verbundene Objekt) statisch ist, wird Trigger1 auslösen, sobald sich dessen Bereich über den Standort des Triggers2 (bzw. des damit verbundenen Objekts) schiebt.

Falls Trigger2 "beweglich" sein soll, kannst Du ihn trotzdem an ein Objekt attachen. Danach bewegst Du nur noch das Objekt mit set pos.

Wolkenbeisser 01.02.2012 15:41

Noch ein Gedanke: Warum brauchst Du überhaupt Trigger2. Frag doch einfach den Ort (Logic) oder ein Objekt ab. Sobald es im Bereich des Triggers1 ist löst Du damit all das aus, was Du via Trigger2 auslösen wolltest.

Ohne konkretes Beispiel, was Du bauen möchtest, ist es schwierig genauere Tips zu geben.

spaccy 02.02.2012 22:42

Ich hab das Problem mittlerweile anders gelöst, das hat mit meiner Anfrage nicht mehr viel zu tun.

Ziel war es auf einen großen Bereich der Karte statische Spawnpunkte zu setzen (Trigger2), min. 100 Stück oder mehr. Wenn der Spieler mit seiner angehängten Auslösezone über solch ein Statischtrigger läuft, spawnt dort ein Gegner (oder mehrere).

Ich habs jetzt so gelöst das ich überall unsichtbare Hs gesetzt habe. Die haben in der Init jeweils ein Auslösung einer Scriptdatei. Das Script prüft in einer While do Schleife ob der Player in der nähe ist und lößt bei true den Spawn aus.

Das gute ist an dieser Lösung das ich die Spawnpos in den Hs als "This" übergeben kann, so muss ich bei 100 Hs nicht jedem einen Namen vergeben.:naughty:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119