Jump to content
Sign in to follow this  
gunterlund

Formation changer Script

Recommended Posts

Wanted to find out if anyone remembers a script that was done in OFP to allow you to create custom formations and add the link to your action menu. It had a config file where you would create the formation based on positions relative to the squad leaders. I wanted to implement it in to Arma if possible.

Share this post


Link to post
Share on other sites

Well if you do find something post a link, that sound a superb thing to have.

Share this post


Link to post
Share on other sites

No it wasnt general Barron. he had the hand signal system. This was much smaller and compact.

Share this post


Link to post
Share on other sites

Okay, I poked around my OFP directory. General barron did have a formation script within handsignals, but you're right, it was much bigger.

Turns out the simple follow was by toadlife. This might be what you're looking for? I remember this one being pretty useful for me, too...

Follow example mission\nby toadlife

http://toadlife.net

call with:

[units gw1,[man1],5,180,5,0.5,"careless","auto"] exec "follow.sqs"

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">requiredversion "1.85"

; This script will cause unit or group of units to follow another unit or group of units without joining

; any group

; Initialize this script with the string below:

; [[leaders],[followers],distance,degree,leeway,checkinterval,behaviour,position] exec "follow_toadlife.sqs"

;

; ** [leaders] = an array of units which will be followed, can be only one unit. Must be in array format!

; ** Example: [soldier1,soldier2,soldier3]

; ** [followers] = an array of units that will follow the leaders, can be only one unit. Must be in array format!

; ** Example: [man1,man2,man3]

; ** distance = Distance followers must stay from leaders

; ** degree = position relative to leaders followers will stay relative to the direction the leader is facing

; ** Example: 0 = directly in front of leader / 90 to the right of leader

; ** leeway = distance followers can be from their currently assigned position before they must move again

; ** checkinterval = how often the followers check their position releative to the leaders position

; ** behaviour = the behaviour of the followers ("careless", "safe", "aware", "combat", "stealth")

; ** position = position the followers will assume ("auto", "up", "down")

;

_leaders = _this select 0

_followers = _this select 1

_dis = _this select 2

_degree = _this select 3

_leeway = _this select 4

_checkinterval = _this select 5

_behaviour = _this select 6

_position = _this select 7

"_x setbehaviour ""_behaviour""" foreach _followers

"_x setunitpos ""_position""" foreach _followers

goto "move"

~1

#check

{if (!alive _x) then {_followers = _followers - [_x]}} foreach _followers

{if (!alive _x) then {_leaders = _leaders - [_x]}} foreach _leaders

?count _followers == 0:exit

?count _leaders == 0:exit

?((_leaders select 0) distance (_followers select 0) > (_dis + _leeway)): goto "move"

?((_leaders select 0) distance (_followers select 0) < ((_dis + _leeway) * 0.5)): goto "move"

~_checkinterval

goto "check"

#move

_lpos = getpos (_leaders select 0)

_ldir = getdir (_leaders select 0)

_lposx = _lpos select 0

_lposy = _lpos select 1

_moveto = [_lposx + ((sin (_ldir + (_this select 3))) * _dis), _lposy + ((cos (_ldir + (_this select 3))) * _dis), 0]

"_x Move _moveto" foreach _followers

~4

goto "check"

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×