HX3 Foren  

  HX3 Foren > Games > Operation Flashpoint > Editing

Editing The world is a Script - write it!

Antwort
 
Themen-Optionen Ansicht
Alt 07.05.2005, 16:42   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.04.2005
Beiträge: 115
Standard Auslösung eines Loops

so, hier einmal das komplette script, damit der zusammenhang auch ersichtlich ist

Code:
;Airstrike_naplam an OFP script by Skumball
;(thanks to Viriato for making the bombs fall better :)
;(thanks to LCD for incorporating the script into the radio)
;requires OFP v1.85
;
;Modified by LCD to use napalm script and to call the Grid Location of the target
;
;This script will execute a bombing run wherever the player clicks on the map. The mission requires:
;Addon Called Napalm.pbo (attached in the Zip File)
;3 Markers: "spawn", "safe" and "target", all set to 'empty'.
;A trigger: Radius - 0, Activation: Radio Bravo set to Repeatedly, On Activation: onMapSingleClick 
{[_pos] exec "airstrike_naplam.sqs"}; strikePilot sideChat "Give me a target"
;A trigger: Radius - covering the whole island, Activation: Anybody Present set to Once, Named : Killzone
;It also needs a soldier called "strikePilot".
;A pilot waits at "safe". When Radio (0,0,2) is issued and the map is clicked a plane is created at "spawn" and the pilot is moved into the plane.
;A script named "gridcoordinates_pipe.sqs" is used to generate the grid location and give it when the target is called
;The pilot flies to the location and 4 LGB's are created at a small random radius beneath the plane.
;A script named "napalm.sqs" is used to detect When the LGB's are under the hight of 1M a NapalmBomb vehicle type is created to give it a look of napalm and a script "burn.sqs" is used to give dammage to all close units
;The pilot then flies back to "spawn" where the plane is deleted and the pilot is moved back to the "safe" location.

;Try changing the value of _num, *0.2 and ~0.3 to achieve different results.
;Comments/Suggestions - LCD344@Yahoo.com


onMapSingleClick {}
1 setRadioMsg "Null"
2 setRadioMsg "Null"

_pos = _this select 0
[_pos, "Terget at grid location ", ". Over.", ["SideChat", player]] exec "gridcoordinates_pipe.sqs"
~5
"target" setMarkerPos _pos
"target" setMarkerType "destroy"

strikePlane = "rktf4e" camCreate (getMarkerPos "spawn") Standard A10LGB durch footmunchs Phantom F4 ersetzt

strikePlane setPos [(getPos strikePlane select 0),(getPos strikePlane select 1),(getPos strikePlane 

select 2)+400]
strikePlane setDir 180

strikePilot assignAsDriver strikePlane
strikePilot moveInDriver strikePlane
strikePilot doMove _pos
strikePilot sideChat "On the way"

@ unitReady strikePilot
strikePilot sideChat "Target aquired"

_num = 4
_i = 0

#loop
_bomb = "laserGuidedBomb" camCreate [(getPos strikePlane select 0)+((random 10)-5),(getPos strikePlane 

select 1)+((random 10)-5),(getPos strikePlane select 2)-3]
_bomb setDir (getDir strikePlane)
_bomb setVelocity [(velocity strikePlane select 0)*0.2,(velocity strikePlane select 1)*0.2,(velocity 

strikePlane select 2)*0.2]
_i = _i + 1
[_bomb,killzone] exec "napalm.sqs"
~0.3
? _i < _num : goto "loop"

strikePilot doMove (getMarkerPos "spawn")
strikePilot sideChat "Heading back"

"target" setMarkerType "empty"

@ unitReady strikePilot
deleteVehicle strikePlane
strikePilot setVelocity [0,0,0]
strikePilot setPos (getMarkerPos "safe")
strikePilot sideChat "Ready"
1 setRadioMsg "Air Strike"
2 setRadioMsg "Air Strike Napalm"
exit
Okay... um was es hier geht dürfte ziemlich klar sein.. per Click auf der Map spawnt ein Flugzeug am Marker "spawn" mit der Flugrichtung Ziel.

Die bomben werden im Loop (fett) unter dem flugzeug einfach "hergezappt" damit sie zu 100% das Ziel treffen, jeder Loopdurchgang lässt eine Bombe spawnen bis i gleichgroß wie _num ist. ich denke mal ich habs bis jetzt richtig interpretiert.

nunja, dabei gibt es 1. punkt den ich überhaupt nicht verstehe, und zwar WIE "weiß" das Script wann es mit dem Loop beginnen soll? Durch die deutlich Höhere Geschwindigkeit der F4 gegenüber der A10 werden die Bomben nun immer zuweit hinten abgeworfen, daher müsste es doch irgendwie gehn den Loop ca. 2-3 sec früher auszulösen dann wird genau das Ziel gepflastert.

Nunja, gestern und heute rumprobiert, immer noch nicht hergebracht.. hilfe ...
Lonely ist offline   Mit Zitat antworten
Alt 07.05.2005, 17:06   #2 (permalink)
Imperator fori nocturni - This sucks more than anything that has ever sucked before 10 Jahre hx3
20.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 35
Beiträge: 32.269
Standard AW: Auslösung eines Loops

schonmal an
Zitat:

_num = 4
_i = 0

herumgespielt ?
__________________

burns ist offline   Mit Zitat antworten
Alt 07.05.2005, 17:14   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.04.2005
Beiträge: 115
Standard AW: Auslösung eines Loops

das ist nur die anzahl und die zählvariable der bomben.. nach jedem loop-durchgang wird i um 1 erhöht und wenn i = _num ist hört der loop auf... also werden 4 bomben abgeworfen bis i gleichgroß wie _num ist... das beschreibt nur die anzahl der bomben.

ich hab jetzt rausgefunden wie der loop ausgelöst wird, jetzt muss ichs nur noch richtig umschreiben...
Lonely ist offline   Mit Zitat antworten
Alt 07.05.2005, 17:52   #4 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.928
Standard AW: Auslösung eines Loops

Moin...

Das Script beginnt mit dem Loop, sobald der Wegmarker erreicht ist. Deutlich zu erkennen an der Zeile @ unitReady strikePilot. Das ist nämlich ebenfalls ein loop, der erst dann weitergeht bis unitReady true ist und das ist der Falll wenn das Flugzeug über dem Wegmarker ist.

Du kannst entweder die Geschwindigkeit des Flugzeugs mittels strikePilot setSpeedMode "LIMITED" heruntersetzen oder den Wegmarker halt etwas vor dem eigentlichen Ziel platzieren.

Buliwyf ist offline   Mit Zitat antworten
Alt 07.05.2005, 18:30   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.04.2005
Beiträge: 115
Standard AW: Auslösung eines Loops

edit: okay, ich habs nun herbekommen dass der trigger richtig verschoben wird.. jetzt wird nur das auslösen noch ein problem ...

mmh auch mit dem zeug aus murrays editing bibel komm ich nciht wirklich weiter da ja zuerst ein leeres flugzeug gespawnt wird und dann der strikepilot hineingebeamt... ich krieg den trigger einfach nicht dazu durch die simple präsenz des strikepilots ausgelöst zu werden..

also das einzige was ich jetzt noch wissen muss ist wie ichs herbekomme dass der trigger auf true schaltet wenn das flugzeug incl. strikepilot durchbrettert.

Geändert von Lonely (07.05.2005 um 18:53 Uhr).
Lonely ist offline   Mit Zitat antworten
Alt 08.05.2005, 11:38   #6 (permalink)
10 Jahre hx3
500 Beiträge
 
Benutzerbild von Atsche
 
Registriert seit: 06.07.2003
Beiträge: 600
Standard AW: Auslösung eines Loops

Hi

Hoffe das hilft

Zitat:

Stell den Auslöser auf die Seite des Piloten WEST/OST usw.

1: Bei Bedingung:

strikePilot in thislist or (vehicle strikePilot in thislist)

2: Bei Aktivierung:

AuktuelleAuslöserbedingung = true

z.B start = true

Einfacher und sicherer gehts glaub nicht

MFG Ace

Geändert von Atsche (23.05.2005 um 19:24 Uhr).
Atsche ist offline   Mit Zitat antworten
Antwort


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


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