q_phreak
Member-
Content Count
16 -
Joined
-
Last visited
Never -
Medals
Community Reputation
0 NeutralAbout q_phreak
-
Rank
Private First Class
-
New Version  I've been working on this mission for some time now and I'd like to think it's at a stage where I can leave it and move onto something more exciting - testing it gets too tedious  The latest version includes the following modifications: - added empty vehicles that can be used by the player at most of the towns and road intersections around the insertion point. - refined the player attack script that hones in on the player and fixed the trigger problem where the air support aircraft triggered the attacks. - added longer version for both the night and day missions with 15 more enemy squads (recommended only for beefy pc's and players that wish to use the secondary extraction point). - added seven, four-man spetznaz mobile squads that move in on the player near mission completion. - refined the majority of the scripts and triggers. Recon Down Have fun. Q
-
aside from giving every unit in the mission a text tag, or by setting up a giant trigger and doing a "in thislist" is there any other means to get a handle to a dead soldier? the "units" property only returns those units not dead in a group/leader. ideally i'd like something where i can get a handle to a squad (either group name or through leaders name) and then loop through ALL units in that group, dead or alive. thanks. Q
-
I've also noticed that given an M-60, most of the shots go over the enemys head. Bug with the game? Still, I arm one of my guys with it - it has a nice ring when you're surrounded and running low on ammo... Q
-
Any ideas on a more precise trigger?
q_phreak replied to q_phreak's topic in OFP : MISSION EDITING & SCRIPTING
Fantastic, Thanks for your help, I'll give it a try tonight. Q -
I need some help for a more precise trigger. Previously I had triggers that were set off with conditions of "West-Present" so that if the player moved out of the main field of play the enemy would be scripted to find him - basically to ensure that all enemies in the mission were utilised. It worked fine until I added some air support and my helos buzzing all over the place set off all these triggers and a flood of enemy troops from a number of flag conditions came flooding towards the player (great fun if you were lucky to be armed with the M-60 but even so eventually you run out of ammo) So what I was wondering is whether there is any other way to set off a trigger but for it to be triggered by the Player rather than just "West"? I've thought about a constantly running script that measures the distance between a point and the player but that would just chew up resources. Any ideas appreciated. Q
-
I played the mission *again*. I'm not happy with a few things but right now I do not have the time to fix it. The Air Support trigger conditions which initate enemies in other zones to move towards the player. This results in a massive wave of units moving onto the player. I managed to fight through it when I played (a few saves and loads) but then there wasn't anyone left to challenge me and the rest of the game was a walk through the country until I found the downed pilots. Another thing is that the extraction helo doesn't take off, something to do with the changes I made to ensure it doesn't turn off it's engines obviously. I also noticed that the mission briefing came up a bit screwy, I think because it's rather long OFP is throwing a wobbly. I'd hold off downloading it for the time being until I get these sorted. I'll work on the co-op version in the next few weeks. Cheers, Q
-
Thanks for the post. I have updated the mission and fixed some of the bugs and added a few other features. (see below). In hindsight it's not the most realistic mission since you, the player, are highly outnumbered. I'll work on that a little in my next versions or missions. Cheers, Q Updates: added air support (2 AH1s), added "hunt down" script and triggers for players who move around field of play - will result in enemy units chasing player, added 2 BMP-2, 2 T-72, 1 BMP, 1 Ural, changed ranks of units in squad, added 2 LAWs and 4 rounds, fixed the time compression problems with helo landings - the helo slowed down too much when landing and time compression, added radio trigger save.
-
Have a look at http://www.ofpeditingcenter.com/tutorials/camptutorial.htm Q
-
have a look at gepos/setpos in the command reference. maybe a script that's kicked off by the initialise property of the pallets that initially obtains the x,y,z coords of the pallets then loops with a setpos to those x,y,z coords. i haven't tested this and it may look jumpy so i'm not sure if it'll look good/work. it's also going to impact the performance of the game. best idea would be to make your own mod/addon. Q
-
D'oh. Apologies. Q
-
I've developed this single mission game - Recon Down. I've made it deliberately hard and long, so I don't think it's a good newbie game. It also requires a beefy spec'ed machine. There's two versions of the same mission Recon Down Day and Recon Down Night, the only difference between then is the time. You are a SAS officer sent to a forward base off Malden to spearhead a reconnaissance effort. No sooner than you've had time to unpack word of a reconnaissance bird that has gone down has spread and your men must rescue the crew. Call on support of Medics and Ammunition to your position by a support bird. Two alternate evacs - boat and bird. Two alternate times - day and night. Support for new weapons and over one hundred soft enemy targets... Q Recon Down
-
I've developed this single mission game - Recon Down. I've made it deliberately hard and long, so I don't think it's a good newbie game. It also requires a beefy spec'ed machine. There's two versions of the same mission Recon Down Day and Recon Down Night, the only difference between then is the time. You are a SAS officer sent to a forward base off Malden to spearhead a reconnaissance effort. No sooner than you've had time to unpack word of a reconnaissance bird that has gone down has spread and your men must rescue the crew. Call on support of Medics and Ammunition to your position by a support bird. Two alternate evacs - boat and bird. Two alternate times - day and night. Support for new weapons and over one hundred soft enemy targets... Q Recon Down
-
Thanks Intruder. That worked a treat.
-
Russian soldiers and choppers - ejecting
q_phreak replied to BillGatezSux's topic in OFP : MISSION EDITING & SCRIPTING
Try this: Q. ;_helo being the name of the helo ;_hunits being the name of the name of the leader of the group _helo = _this select 0 _leader = _this select 1 _leaderarray = units _leader _i = 0 _numunits = count _leaderarray #loop (_leaderarray select _i) action ["EJECT",_helo] unassignvehicle (_leaderarray select _i) _i=_i+1 ~1 ?_numunits>_i:goto "loop" exit -
For the past months I've been working on this script and I thought I'd share it. I love missions that are dynamic and I rely on scripts rather than waypoints to move my units. The way it works: I use a hidden h somewhere on the map and using the setpos function move it close to the player (x + 10 offset, y + 10 offset). I've found without the H the helo will land and then bounce back up. I then tell the helo to move towards the hidden h and when it gets within a close enough range i use the setpos function on the helo to control it's movements and guide it down onto the helipad. At this stage I have to thank Boomerang (boomerang333@rogers.com) for his HeloCargoTransport script which I butchered and use to learn the setpos and x,y,z grid functionality. To run: Create a helo name it "helo1" Create a unit, player, name it "sas1" Create a hidden H, name it "lz1" Create a trigger, Activation: Radio Alpha, Name: Extract, Text: Extract, on Activation:[helo1,sas1,lz1] exec "extract.sqs" The code: I set up a radio trigger for say extraction which comprises of three scripts: Extract.sqs: ; _helo is the name of the helo to be flown in ; _leader is the name of the player requesting the extraction ; _landzone is the name of the hidden h to be moved near the player ;helolanded,tmphelolanded,troopsloaded are global variables set to false initially _helo=_this select 1 _leader=_this select 2 _landzone=_this select 3 ?!(alive _helo): hint "Extraction Helo down. Make way to secondary extraction point."; exit hint "Helo - inbound for extraction" helolanded=false tmphelolanded=false troopsloaded=false ;get the position of the player to be extracted and offset x and y coords by 10 _landzonex = (getPos _leader select 0) + 10 _landzoney = (getPos _leader select 1) + 10 _landzonez = getPos _leader select 2 ;move the hidden h to that position _landzone setpos [_landzonex,_landzoney,_landzonez] ;fly in the helo _helo flyinheight 30 _helo domove getpos _landzone ;execute generic land script to land at extraction [_helo,_landzone,true,true] exec "heloland.sqs" ;wait until helo has landed @tmphelolanded ;execute load check - checks to see if all group members are in helo [_helo,_leader] exec "heloloadwait.sqs" ;wait until all troops loaded @troopsloaded ;return to base _waypoint=h1 tmphelolanded=false _helo domove getpos _waypoint ;land at base [_helo,_waypoint,false,false] exec "heloland.sqs" @tmphelolanded hint "helo - landed, on standby" ;set the global var indicating helo has landed helolanded=true exit Heloland.sqs: ;_helo is the helo to land ;_waypoint is the landing zone (lz) ;_distmessageflag is a boolean to whether display helo distance to lz ;_flareflag is a boolean to whether set smoke and flare when helo close to lz _helo = _this select 0 _waypoint = _this select 1 _distmessageflag = _this select 2 _flareflag = _this select 3 _waypointx = getpos _waypoint select 0 _waypointy = getpos _waypoint select 1 _waypointz = getpos _waypoint select 2 _messagecount=0 ; move to waypoint _helo domove getpos _waypoint ;if the helo is already close to the lz by pass the slow down etc ?(_helo distance _waypoint) <= 200: goto "movecloser1" ;slow down #moveloop1 ?(_helo distance _waypoint) <= 600: _helo setSpeedMode "LIMITED"; goto "mark" ~1 ?(_messagecount==10 && _distmessageflag): hint format["Inbound helo is %1m away", (_helo distance _waypoint)]; _messagecount=0 _messagecount=_messagecount+1 goto "moveloop1" #mark ?!(_flareflag): goto "moveloop2" _flare1 = "flarered" camCreate [_waypointx,_waypointy,_waypointz] _smoke1 = "SmokeShellRed" camCreate [_waypointx,_waypointy,_waypointz] ;wait for the helo to get close to the lz #moveloop2 ?(_helo distance _waypoint) <= 200: goto "movecloser1" ~0.1 goto "moveloop2" #movecloser1 _helox = getpos _helo select 0 _heloy = getpos _helo select 1 _heloz = getpos _helo select 2 ;determine how far in total to the x and y position of lz and divide it into 300 segments _movex = (_helox - _waypointx)/300 _movey = (_heloy - _waypointy)/300 _counter=0 ;this loop takes over the positioning of the helo on x + y coords and moves it over the lz by each 1/300th segment #moveloop3 _thismovex = _helox - (_movex * _counter) _thismovey = _heloy - (_movey * _counter) _helo setpos [_thismovex,_thismovey,_heloz] _counter = _counter + 1 ?(_counter==300):goto "movefinalise1" ~0.01 goto "moveloop3" ;if the helo is still moving around, ie second distance to lz is more than first distance redo positioning from "movecloser1" #movefinalise1 _dist1 = (_helo distance _waypoint) ~0.1 _dist2 = (_helo distance _waypoint) ?((_dist2-_dist1)>5): goto "movecloser1" ;determine how far in total to the z position of lz and divide it into 300 segments. issue a land command for helo which will land the helo, but the script will guide it down onto the lz. #movecloser2 _helo land "LAND" _helox = getpos _helo select 0 _heloy = getpos _helo select 1 _heloz = getpos _helo select 2 _movez = (_heloz - _waypointz)/300 _counter=0 ;start lowering the helo #landloop1 _thismovez = _heloz - (_movez * _counter) _helo setpos [_helox,_heloy,_thismovez] _counter = _counter + 1 ?(_counter==300):goto "movefinalise2" ~0.01 goto "landloop1" ;check whether it has bounced #movefinalise2 _dist1 = (_helo distance _waypoint) ~0.1 _dist2 = (_helo distance _waypoint) ?(((_dist2-_dist1)<=5) || (((getpos _helo select 2) - _waypointz) >2)): goto "successland" _retry=2 ;uneven land - helicopter bounced #trycloser _retry=_retry+2 _helo land "LAND" _helox = getpos _helo select 0 _heloy = getpos _helo select 1 _heloz = getpos _helo select 2 _movez = (_heloz - _waypointz)/300 _counter=_retry #landloop2 _thismovez = _heloz - (_movez * _counter) _helo setpos [_helox,_heloy,_thismovez] _counter = _counter + 1 ?(_counter==300):goto "movefinalise3" ~0.01 goto "landloop2" #movefinalise3 _dist1 = (_helo distance _waypoint) ~2 _dist2 = (_helo distance _waypoint) ?((_dist2-_dist1)<=(5+_retry)): goto "successland" ?(_retry>10): hint "Helo can't land, try another more even location."; goto "failedland" goto "trycloser" #failedland tmphelolanded=false exit #successland tmphelolanded=true exit Heloloadwait.sqs: ;_helo is the helo being loaded ;_leader is the group leader _helo = _this select 0 _leader = _this select 1 ;get all the units in the group _leaderArray = units group _leader ;count all the units in the group _numunits = count _leaderArray #loop1 ~0.5 _incount = 0 _tmp = 0 ;loop until all units are inside the helo #loop2 ? vehicle (_leaderArray select _tmp) == _helo : _incount = _incount + 1 ? _tmp < (_numunits - 1) : _tmp = _tmp + 1; goto "loop2" ? _incount != _numunits : goto "loop1" ;set the global var indicating all troops loaded troopsloaded=true exit That's it. The only problem is when time compression is on the helicopter movement isn't sped up. Any comments or ideas how to make it better appreciated. Q