HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Auslöser geht nicht. (https://hx3.de/editing-scripting-167/ausloeser-geht-21274/)

S@ndviper 30.01.2012 10:35

Auslöser geht nicht.
 
Moin,
ich habe in einer Mission mal einen Auslöser eingefügt, mit dem unsere Ts Daten angezeigt werden sollen, wenn sich diesem jemand nähert.
Nur bekomme ich ihn nicht dazu auch seinen Dienst zu tun.

Der Auslöser soll nachdem er einmal angezeigt hat, erst mach einem Intervall wieder auslösen laut meiner Bedingung, nur tut er dieses nicht. Trage ich in die Bedingungen "this" ein geht es, nur löst er immer aus wenn man sich nähert, was er aber nicht soll.

Kann mir jemand auf die Sprünge helfen, was falsch ist?

Ich habe mal ein Bild eingefügt, wo man es im Editor sehen kann.




http://www.bilder-hochladen.net/file...14-35-5f93.png


Ich hoffe es kann mir jemand helfen.

Gruß und Danke

Viper

Vienna 30.01.2012 10:58

Das Bild ist zu klein, um etwas zu erkennen.

S@ndviper 30.01.2012 11:14

Moin,einfach auf das Bild klicken!!

Danke

Vienna 30.01.2012 15:06

Ist klar, nur das Bild wird bei mir nicht größer angezeigt. Verwende die unten angeführt Seite für das Bild. Als Link den von Forum Code anführen.

ImageShack.us

Pfandgiraffe 30.01.2012 15:38

Bei mir funktioniert es wunderbar.

Zu deinem Auslöser:
Das kann vorn und hinten nicht funktionieren. Wofür fragst du die Distanz ab wenn du dem Auslöser auch einen Bereich geben kann? --> überflüssig.
Dann wird der Auslöser nie auslösen, da die Variable "interval" dem Auslöser unbekannt ist und erst definiert wird nachdem er einmal gefeuert wurde --> also nie.
Dann ist die Syntax deinen hintC falsch. Anführungszeichen in Abnführungszeichen funktionieren so nicht. Wenn dann so: hint """mein text1"", ""mein text2"" " oder hint " 'mein text 1', 'mein text 2'". Wobei du das auch gleich alles zusammen schreiben kannst...


Grüße

S@ndviper 30.01.2012 15:58

Hallo,versteh ich nicht so ganz!? Wenn ich das mit der distanz rausnehme,löst er direkt aus,wenn ich auf die map komme,obwohl ich nun einen bereich zugewiesen hab.....

Hier nochmal das Bild:

http://img585.imageshack.us/img585/8...2913372796.png

Uploaded with ImageShack.us

S@ndviper 30.01.2012 16:29

Zitat:

Zitat von Psychobastard (Beitrag 403958)
Bei mir funktioniert es wunderbar.

Zu deinem Auslöser:
Das kann vorn und hinten nicht funktionieren. Wofür fragst du die Distanz ab wenn du dem Auslöser auch einen Bereich geben kann? --> überflüssig.

Habe die nun rausgenommen,siehe Bild:
http://img11.imageshack.us/img11/664...3016175960.png


nun löst er aber direkt aus wenn ich auf die map kommme,was er nicht soll!
Zitat:

Zitat von Psychobastard (Beitrag 403958)
Dann ist die Syntax deinen hintC falsch. Anführungszeichen in Abnführungszeichen funktionieren so nicht. Wenn dann so: hint """mein text1"", ""mein text2"" " oder hint " 'mein text 1', 'mein text 2'". Wobei du das auch gleich alles zusammen schreiben kannst...

Warum ist es falsch? wir so wie auf dem Bild bei mir dargestellt:
http://img696.imageshack.us/img696/2...3016181971.png

Gruß

Pfandgiraffe 30.01.2012 16:44

Du must natürlich schon abfragen ob sich der Spieler im Auslösebereich befindet...

zu deiner hint-Syntax: kannst du da mal bitte den kompletten Code posten? Man sieht nicht die komplette Syntax. Entweder kommt da noch was oder ich kenn das noch nicht.


Grüße

Vienna 30.01.2012 16:47

Ich kann nur das Bild aus Post #6 öffnen. Die anderen Links dürften nicht aus Forum Code sein. Der Text im Bild ist aber schlecht zu lesen. Kopiere nur das Auslöserfenster und in guter Auflösung.

Wenn der Auslöser mehrmals reagieren soll, dann musst du ihn auf [Mehrfach] einstellen. Auch ist das notwendig, wenn "Bei Deak." zur Anwendung kommen soll.

Vielleicht solltest du JPG-Bilder senden.

S@ndviper 30.01.2012 16:50

Zitat:

Zitat von Psychobastard (Beitrag 403964)
Du must natürlich schon abfragen ob sich der Spieler im Auslösebereich befindet...

Ok,wie?
Zitat:

Zitat von Psychobastard (Beitrag 403964)
zu deiner hint-Syntax: kannst du da mal bitte den kompletten Code posten? Man sieht nicht die komplette Syntax. Entweder kommt da noch was oder ich kenn das noch nicht.


Grüße

Hier der code
Code:

class Item17
        {
            position[]={8244.5352,296.04001,2004.0366};
            a=10;
            b=10;
            activationBy="ANY";
            interruptable=1;
            age="UNKNOWN";
            name="ts3_2";
            expCond="(getpos player) distance (getpos ts3) <10 && getPos player select 2 <= 1 && interval <time";
            expActiv="If (local player) then {""S@ndfriends Teamspeak-Data"" hintC [""Name: ]-S@nd-[Shooter"",""Required version: 3.0"",""Adress: 89.202.196.105:9988"",""Passwort: cheyenne"",""Forum: www.sandfriends.de""]};";
            expDesactiv="interval = time + 2000;";
            class Effects
            {
            };
        };


S@ndviper 30.01.2012 16:59

Zitat:

Zitat von Vienna (Beitrag 403965)
Ich kann nur das Bild aus Post #6 öffnen. Die anderen Links dürften nicht aus Forum Code sein. Der Text im Bild ist aber schlecht zu lesen. Kopiere nur das Auslöserfenster und in guter Auflösung.

Wenn der Auslöser mehrmals reagieren soll, dann musst du ihn auf [Mehrfach] einstellen. Auch ist das notwendig, wenn "Bei Deak." zur Anwendung kommen soll.

Vielleicht solltest du JPG-Bilder senden.

Habe die links in dem post geändert,bilder sind nun in Groß dargestellt.

Gruß

Vienna 30.01.2012 23:24

Jetzt kann ich die Bilder öffnen.

Zu Post #7

Die Variable interval muss zu Spielbeginn wo initialisiert werden.

Im "Mehrfach"-Auslöser:

Bedingung: local player and time > interval

Bei Akt: interval = time + 2000; "...." hintC ["...","...",...]

Bei Deak: nichts

Bin mir nicht sicher, ob hintC im Multiplayermodus möglich ist.

S@ndviper 31.01.2012 09:40

Zitat:

Zitat von Vienna (Beitrag 403987)
Jetzt kann ich die Bilder öffnen.

Zu Post #7

Die Variable interval muss zu Spielbeginn wo initialisiert werden.

Im "Mehrfach"-Auslöser:

Bedingung: local player and time > interval

Bei Akt: interval = time + 2000; "...." hintC ["...","...",...]

Bei Deak: nichts

Bin mir nicht sicher, ob hintC im Multiplayermodus möglich ist.

trage ich es so ein wie du beschrieben hat,bekomme ich fehler das ";" fehlen usw.

Wenn ich den Auslöser auf einmal stelle geht es wunderbar, nur dann löst er ja nicht im intervall aus (+2000)

Gruß

Vienna 31.01.2012 11:10

Hast du in "Bei Deak:" was stehen? Diese Zeile wird nur bei [Mehrfach] vollzogen.

Wenn ich dort im Beispiel nichts angeführt habe, dann meinte ich, die Zeile soll leer sein, muss aber nicht. Hast du dort "nichts" stehen, dann ist das die Ursache für den Fehler. Diese Zeile wird ausgeführt, wenn die vorher wahre "Bedingung" wieder "falsch" ergibt.

S@ndviper 31.01.2012 13:24

Moin,
ich habe nun alles durch probiert,habe wieder bildchen dazu gemacht:

Bild 1: Der Auslöser geht immer sobald man in den Bereich eintritt!
http://img860.imageshack.us/img860/9...3113131645.png

Bild 2: Auslöser schlägt garnicht an wenn man in den Bereich kommt!
http://img59.imageshack.us/img59/902...3113165085.png

Bild 3: Auslöser schlägt garnicht an wenn man in den Bereich kommt!
http://img802.imageshack.us/img802/3...3113204463.png

Uploaded with ImageShack.us

Also,ich weiß da nicht weiter,es kommt mir vor als ob er ein problem mit dem Interval eintrag hat!!

S@ndviper 31.01.2012 14:40

So,nun habe ich es hin bekommen siehe Bid:

http://img571.imageshack.us/img571/6...3114363379.png

Dann mußte noch in die init.sqf der eintrag rein : interval = 0

Nun läuft der Auslöser wie er soll, und löst immer die eingestellten zeiten aus,die ich vor gegeben habe.

Ich bedanke mich für eure Mühe und Hilfe,werde mich wenn ich darf beim nächsten problem gerne wieder an euch wenden.....

Gruß Viper

Vienna 31.01.2012 15:54

Willst du wirklich, dass eine weiter Anzeige erst nach 20 Minuten möglich wird?

Es funktioniert zwar, aber "sauber" programmiert ist das nicht.

Um zu verstehen, solltest du das folgende Beispiel testen, welches in 10 Sekunden eine weitere Anzeige ermöglicht.


Mehrfachauslöser mit Namen test:

Bedingung: local player && player distance test < 10 && position player select 2 < 1 && interval < time

Bei Akt: interval = time + 10; player groupChat format["Test: Alle Bedingungen wahr! Aktuelle Zeit: %1",time]

Bei Deak: player groupChat "Test: Neue Zeit läuft!"


Beim Test wirst du sehen, dass die Zeit gleich neu zu laufen beginnt, auch wenn der Spieler noch im Bereich ist.

Verschiebe den Teil interval = time + 10; nach "Bei Deak:" und schau was dann passiert.

S@ndviper 31.01.2012 18:03

Habe beide beide varianten von dir probiert,bei mir hat er nicht ausgelöst.....

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 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