Re: Dynamic Script Usage
PostPosted: 22 Jun 2013, 18:35
Okay, so I continue my adventure. 
If I use States.PlayerGetAllGroups, nothing happens, if I use States.PlayerGetAllUnits, the AI seems to attack random targets? *Confused!*

- Code:
function ClosestUnit(aPlayer, X, Y: Integer): Integer; var Groups: array of Integer; i, BestDistanceSqr, ThisDistanceSqr, DX, DY: Integer; begin Result := -1; Groups := States.PlayerGetAllUnits(aPlayer); for i := 0 to Length(Groups) -1 do begin DX := X - States.UnitPositionX(States.GroupMember(Groups[i], 0)); DY := Y - States.UnitPositionY(States.GroupMember(Groups[i], 0)); ThisDistanceSqr := (DX*DX) + (DY*DY); if (Result = -1) or (ThisDistanceSqr < BestDistanceSqr) then begin BestDistanceSqr := ThisDistanceSqr; Result := Groups[i]; end; end; end;