OFPEC Forum

Editors Depot - Mission Editing and Scripting => ArmA - Editing/Scripting General => Topic started by: Gnat on 26 Oct 2008, 10:55:53

Title: Just a hidden syntax error ... maybe
Post by: Gnat on 26 Oct 2008, 10:55:53
Pain o pain ....
Whats wrong with this code? It gives an error about string, expecting code right before the second DO (part of the FOR loop) ....
Its not making a whole lot of sense to me .... no matter how many times I adjust it.
Thanks for your help.

BTW, the idea is to detect if theres Shore/Land nearby (when in water) by spining a empty cam around at "ground" level to see if it rises above sea level.
Can't think of a better way :(

Quote
_soldier = _this Select 0;
_HLimit = _this select 1;
_iDis = _this select 2;

_TempPos = "camera" CamCreate [0, 0, 0];

while{alive _soldier}do
{
_TempPos setPos (getpos _soldier);
_FLand = 0;

for [{_idir=0}, {_idir<361}, {_idir=_idir+20}] do
{
   _NextBodyX = (_pos Select 0) + ((Sin _idir) * _iDis);
   _NextBodyY = (_pos Select 1) + ((Cos _idir) * _iDis);
   _TempPos SetPos [_NextBodyX, _NextBodyY, 0];
   if ((getposasl _TempPos select 2) => _HLimit) then {_FLand = 1};
};


if (_FLand == 1) then
{
   hint format["At Shore: %1", _FLand]
};
Sleep 1.046233;

};

camDestroy _TempPos;
Title: Re: Just a hidden syntax error ... maybe
Post by: Mandoble on 26 Oct 2008, 11:47:06
Try with a gamelogic:

Code: [Select]
private["_soldier", "_HLimit", "_iDis", "_asl_log", "_center", "_idir","_FLand"];
_soldier = _this Select 0;
_HLimit = _this select 1;
_iDis = _this select 2;

_asl_log = "logic" createVehicleLocal [0,0,0];

while{alive _soldier}do
{
   _FLand = 0;
   _center = getPos (vehicle _soldier);
   for [{_idir=0}, {_idir<359}, {_idir=_idir+20}] do
   {
      _asl_log setPos [(_center select 0)+sin(_idir)*_iDis, (_center select 1)+cos(_idir)*_iDis, 0];
      if ((getposASL _asl_log select 2) >= _HLimit) then
      {
         _FLand = 1
      };
   };


   if (_FLand == 1) then
   {
      hint format["At Shore: %1", _FLand]
   };
   Sleep 1.046233;
};

deleteVehicle _asl_log;
Title: Re: Just a hidden syntax error ... maybe
Post by: Gnat on 26 Oct 2008, 12:34:16
Thanks mandoble, probably heads of bad code there by me.
Works as it should, but with wave variance and shallow beaches I'm not getting enough resolution to properly detect the land-sea interface :(

Need to look for another trick.
... wonder if I can detect the seabed ...
Title: Re: Just a hidden syntax error ... maybe
Post by: Mandoble on 26 Oct 2008, 12:45:46
Use surfareIsWater (http://www.ofpec.com/COMREF/index.php?action=list&game=All&letter=s#788) command then.
Title: Re: Just a hidden syntax error ... maybe
Post by: Gnat on 26 Oct 2008, 14:36:36
HOLY CR@P ..... it was right in front of me the whole time ..... Thanks heaps Mandoble  :good: