Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 08.07.2012, 00:52   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard Funk + Script

Hello,

also ich möchte, dass der Spieler etwas suchen muss, er allerdings nach 60 Sekunden die Möglichkeit erhält Alpha anzufunken um um Abholung zu bitten.

Was brauche ich dafür? Einen Auslöser mit Countdown 60 Sek, der ein Script auslöst, welches einen weiteren Auslöser erstellt, der widerum durch Alpha aulösbar ist??

Gruß
killshot ist offline  
Alt 08.07.2012, 06:57   #2 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Die Abholung würde ich nicht über einen Funk-Auslöser, sondern über einen Aktionsmenüpunkt durchführen. Den Aktionsmenüpunkt erstellst und löscht du über einen "normalen" Auslöser.

Hier ein Beispiel einer Abholung mit Helikopter. Für die Anwendung lies dir die Info.txt durch. Dort ist auch beschrieben wie der Auslöser aussehen könnte. Die Auslöser-Bedingung musst du für deine Zwecke abändern.

http://hx3.de/385848-beitrag47.html
Vienna ist offline  
Alt 08.07.2012, 11:40   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Hallo Vienna, dank dir für deine Antwort.


Es geht mir hierbei nicht um die Abholung, sondern nur um den Funkverkehr.

Spieler soll innerhalb eines bestimmten Gebietes nach einem bestimmten Gegenstand suchen. Dieser Gegenstand ist allerdings gar nicht in diesem Gebiet auffindbar und deshalb soll nach 60Sekunden etwa im Funkmenü "Alpha" auswählbar sein (hint "Update Funk"). Und bei Aktivierung des Funkspruchs soll um Abholung gebeten werden. Diese Abholung wird vom Headquarter abgewiesen.

Also den angeforderten Helikopter brauche ich nicht, da er nicht genehmigt wird.


Ich habe jetzt einen Trigger der "alpha.sqf" nach 60 Sekunden ausführt.
[] exec "alpha.sqf";

Alpha.sqf sieht bisher so aus:

Code:
Funktr=createTrigger["EmptyDetector",[0,0,0]];
Funktr setTriggerArea[0,0,0,false];
Funktr setTriggerTimeout [60, 60, 60, false]
Funktr setTriggerActivation["ALPHA","PRESENT",false];
Funktr setTriggerStatements["this", "hint Update: Funk", hint "BlaBla"];
Funktr setTriggerText "Falkennest kontaktieren"
Das grünmarkierte funktioniert einwandfrei.
SetTriggerTimeout funktioniert irgendwie leider nicht. Sobald alpha.sqf aktiviert wird, ist der Funkspruch schon unmittelbar verfügbar.

und bei setTriggerStatement gilt doch ["Bedingung", "Aktivierung", "Deaktivierung"] oder nicht?

Warum zeigt er dann hint "blabla" bei Aktivierung und nicht hint "Update Funk" ?

Gruß
killshot ist offline  
Alt 08.07.2012, 11:59   #4 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Der Befehl setRadioMsg erlaubt Dir die Radio-Einträge zu deaktivieren...

Code:
1 setRadioMsg "NULL";
... deaktiviert den Eintrag "ALPHA".

Du brauchst dieses Kommando also nur nach 60 Sek. ausführen und der Eintrag ist weg...

__________________
Buliwyf ist offline  
Alt 08.07.2012, 12:04   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Hey Buliwyf,

da hast du glaube ich was falsch verstanden

Der Eintrag unter Funk soll bleiben.

Allerdings soll er erst nach 60 Sekunden angezeigt werden.

Also der per alpha.sqf erstellte Trigger (Funktr) soll einen Countdown von 60 haben, bevor der Eintrag im Funkmenü erscheint.


Oder steh ich jetzt aufm Schlauch? ^^

edit:

Ich hab auch schon probiert ~60 oder sleep 60; in der alpha.sqf zu benutzen, habs aber vielleicht falsch umgesetzt. Würde das am Anfang vom Script etwas bewirken können?

Geändert von killshot (08.07.2012 um 12:19 Uhr).
killshot ist offline  
Alt 08.07.2012, 12:44   #6 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Also ein sleep 60; vor dem Erstellen des Triggers bewirkt natürlich etwas! Nämlich das der Trigger erst nach Ablauf dieser 60 Sek. erstellt/angezeigt wird... warum also machst Du nicht so?!
__________________
Buliwyf ist offline  
Alt 08.07.2012, 12:50   #7 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Ich hatte es vorhin schonmal probiert, aber ich probier es dann nochmal aus, später.

sleep 60; ist der sqf befehl und ~60 ist der sqs befehl oder?


Gruß
killshot ist offline  
Alt 08.07.2012, 15:32   #8 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Also bevor noch mehr solche Fragen auftauchen, tue Dir selbst einen Gefallen und lese Dich in MrMurray`s Editing Guide ein.. das Thema ist ja bald schon 10 Jahre alt wie SQS und SQF sich unterscheiden... aber immer wieder tauchen solche Fragen auf...
__________________
Buliwyf ist offline  
Alt 08.07.2012, 17:28   #9 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Ich denke dadurch das das Alpha.sqf Script den Funk Trigger nach 60 Sec. Erstellt
Braucht man eigentlich im Trigger keinen Timeout mehr!
Es bringt auch nichts wenn man 2 hint Meldungen eingibt da nur eine angezeigt wird!
Code:
//Script aufruf über einen Trigger
null = [] execVM "Alpha.sqf";
Code:
//Alpha Funk Trigger
Funktr = createTrigger["EmptyDetector",position player];
Funktr setTriggerArea[0,0,0,false];
Funktr setTriggerTimeout [0, 0, 0, false];
Funktr setTriggerActivation["ALPHA","PRESENT",false];
Funktr setTriggerStatements["this", "hint 'Update: BlaBla'",""];
Funktr setTriggerText "Falkennest kontaktieren";
__________________
Ghost_AUT

Geändert von Ghost_Aut (08.07.2012 um 17:31 Uhr).
Ghost_Aut ist offline  
Alt 08.07.2012, 17:34   #10 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

hey,

also muss die alpha.sqf so aussehen?

Zitat:

sleep 60;
Funktr = createTrigger["EmptyDetector",position player];
Funktr setTriggerArea[0,0,0,false];
Funktr setTriggerTimeout [0, 0, 0, false];
Funktr setTriggerActivation["ALPHA","PRESENT",false];
Funktr setTriggerStatements["this", "hint 'Update: BlaBla'",""];
Funktr setTriggerText "Falkennest kontaktieren";

killshot ist offline  
Alt 08.07.2012, 17:37   #11 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Oder du erstellst den Trigger erst wenn du im brauchst!
__________________
Ghost_AUT
Ghost_Aut ist offline  
Alt 08.07.2012, 17:44   #12 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Tue ich doch auf diese Art und Weise oder nicht?

Wenn Ziel 1 erfüllt ist, dann wird alpha.sqf gestartet

und in der alpha.sqf wird doch der Trigger erstellt (zum Zeitpunkt an dem man ihn braucht)


Ich probier gleich mal aus, was du geschrieben hast. Wollte eigentlich heute mal Pause machen mit dem Spiel gestern hatte ich hart Kopfschmerzen ^^


gruß



edit: Du bekommst den Auftrag etwas zu suchen und nach 60Sek soll im Funkmenü "Falkennest kontaktieren" erscheinen, damit man die Suche abbrechen und um Abholung bitten kann. Diese Abholung wird nicht gewährt vom HQ.

Und soweit funktioniert auch alles, bis auf die 60Sekunden-Frist und der hint "Update Funk". Aber ich geh gleich nochmal eine Runde ingame. lol

Geändert von killshot (08.07.2012 um 17:50 Uhr).
killshot ist offline  
Alt 08.07.2012, 17:54   #13 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Also der Trigger Funktioniert schon so, wenn du Funk Alpha betätigst sollte auch die hint Meldung erscheinen, erstell nur mal den Trigger ohne sonst etwas!
__________________
Ghost_AUT
Ghost_Aut ist offline  
Alt 08.07.2012, 18:21   #14 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Ein kleines Beispiel!
Angehängte Dateien
Dateityp: zip FunkAlpha.utes.zip (1,1 KB, 47x aufgerufen)
__________________
Ghost_AUT
Ghost_Aut ist offline  
Alt 08.07.2012, 18:21   #15 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Danke für die Hilfe,


ich habs jetzt hinbekommen

hatte auch ein Semikolon vergessen, aber sleep 60; vor dem createtrigger funktioniert super.

edit: schau ich mir trotzdem mal an

ich glaube aber, wir haben leicht aneinander vorbeigeredet
killshot ist offline  
Alt 08.07.2012, 20:18   #16 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Zitat von killshot

ich glaube aber, wir haben leicht aneinander vorbeigeredet

Ich hatte eigentlich dann Problemschwerpunkt auf den Alpha Funk Trigger gelegt!
Zitat von killshot

Alpha.sqf sieht bisher so aus:

Code:
Funktr=createTrigger["EmptyDetector",[0,0,0]];
Funktr setTriggerArea[0,0,0,false];
Funktr setTriggerTimeout [60, 60, 60, false]
Funktr setTriggerActivation["ALPHA","PRESENT",false];Funktr setTriggerStatements["this", "hint Update: Funk", hint "BlaBla"];
Funktr setTriggerText "Falkennest kontaktieren"
Das grünmarkierte funktioniert einwandfrei.
SetTriggerTimeout funktioniert irgendwie leider nicht. Sobald alpha.sqf aktiviert wird, ist der Funkspruch schon unmittelbar verfügbar.

und bei setTriggerStatement gilt doch ["Bedingung", "Aktivierung", "Deaktivierung"] oder nicht?

Warum zeigt er dann hint "blabla" bei Aktivierung und nicht hint "Update Funk" ?
__________________
Ghost_AUT
Ghost_Aut ist offline  
Alt 08.07.2012, 22:18   #17 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Auf jeden Fall war mir dein 0 = [] execVM "alpha.sqf"; und deine setTriggerStatement-Zeile eine große Hilfe


Jetzt ist alles perfekt, ich komme an der Abschussstelle an, halte Funkkontakt zur Basis, die Basis lässt mich das Gebiet absuchen und nach 120 Sekunden gibt es den Eintrag "Falkennest kontaktieren" im Funkmenü


Jetzt muss nur noch was passieren, wenn man den Funk auslöst ^^
killshot ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Beta-Patch für OpA erschienen det99 Community 1429 18.07.2014 16:51
Day & Weather Script Moerderhoschi Editing & Scripting 13 02.12.2012 10:29
Ammobox Script problem G36Firestorm Editing & Scripting 11 18.07.2011 15:04
marker über script erzeugen hypercop Editing & Scripting 2 28.08.2010 22:40
Improved Bullet Cam Script miromanu Editing & Scripting 3 21.08.2010 01:01


Kontakt - HX3.de - Archiv - Nach oben

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