Warning: ob_start(): function 'compress_handler' not found or invalid function name in /www/htdocs/xfmantis/core.php on line 18
0002505: TGameFigure.ViewTo(Point: TPoint) - Mantis
Mantis - X-Skript
Viewing Issue Advanced Details
2505 Skripte im Bodeneinsatz tweak always 04.12.11 12:01 04.12.11 12:01
Kamor  
 
normal  
new V0.917a03  
open  
none    
none  
0002505: TGameFigure.ViewTo(Point: TPoint)
Diese Routine ist leider nicht praxistauglich. In der derzeitigen Form wird ein ViewTo erstmal nur in die Auftragsschleife gegeben. Eine direkte Abfrage danach, ob ein Ziel gesehen werden kann, ist somit unmöglich, bzw. reine Glückssache. Verstärken tut sich das Problem noch, wenn mehrere ViewTo´s vom Scripter eingesetzt werden, z.B. für eine LookAround-Routine. Dann scheinen sich die Viewto´s in der Auftragsschleife zu stapeln. Für einen brauchbaren Viewto, sollte man diese aber besser sofort abarbeiten. Ein sofortige Abarbeitung würde aus diesen nicht praxistauglichen Befehl, dann einen leistungsstarken Befehl für die BodenKI machen.
Hier noch mein Workaround, der aber eher eine Notlösung ist.
[code]
procedure viewto(Figure : TGameFigure ; FigureLookAt : TGameFigure);

begin
  // thisUnit.ViewTo(NearestEnemy.GetPosition);
  // viewto ist mangelhaft, da er nicht sofort ausgeführt wird
  // deshalb ein workaround mit ShootToUnit(NearestEnemy, stNichtSchiessen);
  // da shoot aber schiesst, wenn ziel in sicht, das erstmal abfragen

  if (Figure.CanSeeUnit(FigureLookAt)=false) then
  begin
    Figure.ShootToUnit(FigureLookAt, stNichtSchiessen);
  end;
end;
[/code]

There are no notes attached to this issue.