Jump to content
Sign in to follow this  
joostsidy

How can I point weapon to specific x,y,Z(!) location

Recommended Posts

I noticed that some mods and scripts offer 'suppressive fire' abilities. I decided to script my own version but I can't get an AI to fire on a specific location. The usual BIS commands don't work well enough: setDir, setFormDir, doWatch, lookAt etc.

The most important problem is aiming along the vertical axis: if my suppression soldier is standing on a hill laying down fire on enemies in the valley, he shoots way above their heads, because he's shooting straight on, relative to the height of the hill he's standing on.

Is there a solution for this?

Share this post


Link to post
Share on other sites

A very simple and hacky way:

[color=#FF8040][color=#191970][b]while[/b][/color] [color=#8B3E2F][b]{[/b][/color][color=#191970][b]alive[/b][/color] [color=#1874CD]_unitTarget[/color][color=#8B3E2F][b]}[/b][/color] [color=#191970][b]do[/b][/color]
[color=#8B3E2F][b]{[/b][/color]
   [color=#1874CD]_positionShooter[/color]  [color=#8B3E2F][b]=[/b][/color] [color=#191970][b]getPosATL[/b][/color] [color=#1874CD]_unitShooter[/color][color=#8B3E2F][b];[/b][/color]
   [color=#1874CD]_positionTarget[/color]   [color=#8B3E2F][b]=[/b][/color] [color=#191970][b]getPosATL[/b][/color] [color=#1874CD]_unitTarget[/color][color=#8B3E2F][b];[/b][/color]
   [color=#1874CD]_direction[/color]        [color=#8B3E2F][b]=[/b][/color] [color=#8B3E2F][b][[/b][/color][color=#1874CD]_positionShooter[/color][color=#8B3E2F][b],[/b][/color] [color=#1874CD]_positionTarget[/color][color=#8B3E2F][b]][/b][/color] [color=#191970][b]call[/b][/color] BIS_fnc_dirTo[color=#8B3E2F][b];[/b][/color]
   [color=#1874CD]_positionObject[/color]   [color=#8B3E2F][b]=[/b][/color] [color=#8B3E2F][b][[/b][/color][color=#1874CD]_unitShooter[/color][color=#8B3E2F][b],[/b][/color] [color=#1874CD]_positionShooter[/color] [color=#191970][b]distance[/b][/color] [color=#1874CD]_positionTarget[/color][color=#8B3E2F][b],[/b][/color] [color=#1874CD]_direction[/color][color=#8B3E2F][b]][/b][/color] [color=#191970][b]call[/b][/color] BIS_fnc_relPos[color=#8B3E2F][b];[/b][/color]
   [color=#1874CD]_positionObject[/color] [color=#191970][b]set[/b][/color] [color=#8B3E2F][b][[/b][/color][color=#FF0000]2[/color][color=#8B3E2F][b],[/b][/color] [color=#8B3E2F][b]([/b][/color][color=#1874CD]_positionObject[/color] [color=#191970][b]select[/b][/color] [color=#FF0000]2[/color][color=#8B3E2F][b])[/b][/color] [color=#8B3E2F][b]+[/b][/color] [color=#FF0000]1[/color][color=#8B3E2F][b]][/b][/color][color=#8B3E2F][b];[/b][/color][/color] [color=#006400][i]//shooting 1 meter above the target unit's head assuming he's laying flat on the ground[/i][/color][color=#FF8040]

   [color=#1874CD]_targetObject[/color][color=#8B3E2F][b] =[/b][/color] [color=#191970][b]createVehicle[/b][/color] [color=#8B3E2F][b][[/b][/color][color=#7A7A7A]"TargetCenter"[/color][color=#8B3E2F][b],[/b][/color] [color=#1874CD]_positionObject[/color][color=#8B3E2F][b],[/b][/color] [color=#8B3E2F][b][[/b][/color][color=#8B3E2F][b]][/b][/color][color=#8B3E2F][b],[/b][/color] [color=#FF0000]0[/color][color=#8B3E2F][b],[/b][/color] [color=#7A7A7A]"CAN_COLLIDE"[/color][color=#8B3E2F][b]][/b][/color][color=#8B3E2F][b];[/b][/color]

   [color=#1874CD]_unitShooter[/color] [color=#191970][b]doTarget[/b][/color] [color=#1874CD]_targetObject[/color][color=#8B3E2F][b];[/b][/color]
   [color=#1874CD]_weaponShooter [/color][color=#8B3E2F][b]=[/b][/color] [color=#191970][b]currentWeapon[/b][/color] [color=#1874CD]_unitShooter[/color][color=#8B3E2F][b];[/b][/color]
   [color=#191970][b]sleep[/b][/color] [color=#FF0000]1[/color][color=#8B3E2F][b];[/b][/color]
   [color=#191970][b]for[/b][/color] [color=#7A7A7A]"_i"[/color] [color=#191970][b]from[/b][/color] [color=#FF0000]0[/color] [color=#191970][b]to[/b][/color] [color=#8B3E2F][b]([/b][/color][color=#191970][b]random[/b][/color] [color=#FF0000]10[/color][color=#8B3E2F][b])[/b][/color] [color=#191970][b]do[/b][/color]
   [color=#8B3E2F][b]{[/b][/color]
       [color=#1874CD]_unitShooter[/color] [color=#191970][b]forceWeaponFire[/b][/color] [color=#8B3E2F][b][[/b][/color][color=#1874CD]_weaponShooter[/color][color=#8B3E2F][b],[/b][/color] [color=#7A7A7A]"Single"[/color][color=#8B3E2F][b]][/b][/color][color=#8B3E2F][b];[/b][/color]
       [color=#191970][b]sleep[/b][/color] [color=#FF0000]0.2[/color][color=#8B3E2F][b];[/b][/color]
   [color=#8B3E2F][b]}[/b][/color][color=#8B3E2F][b];[/b][/color]

   [color=#191970][b]sleep[/b][/color] [color=#FF0000]3[/color][color=#8B3E2F][b];[/b][/color]
   [color=#191970][b]deleteVehicle[/b][/color] [color=#1874CD]_targetObject[/color][color=#8B3E2F][b];[/b][/color]
[color=#8B3E2F][b]}[/b][/color][color=#8B3E2F][b];[/b][/color][/color]

Kudos to Killzone_Kid for his SQF to BBCode Converter.

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  

×