SAIL - Informacje o hexie

Gotowe kody SAIL'a, informacje na temat moddingu, itd.

Moderator: zoNE

Post Reply
User avatar
zoNE
The Great Uniter & Site Administrator
The Great Uniter & Site Administrator
Posts: 2059
Joined: Fri Feb 17, 2006 3:44 pm
Location: Poland
Contact:

SAIL - Informacje o hexie

Post by zoNE »

Serpent wrote:W Original War wszystkie mapy zbudowane są z małych cegiełek tzw. hexów czyli symetrycznych sześcioboków.

Czasami może zajść potrzeba sprawdzenia co znajduje się na danym hexie (budynek, trawa czy czołg). Służy do tego specjalna funkcja:

Code: Select all

HexInfo(x, y); 
Jako parametry funkcja przyjmuje koordynaty. Zwraca natomiast "zawartość" hexa, czyli:

Code: Select all

-1: Na danym hexie znajdują się jakieś surowce lub element środowiska np. skrzynie, drzewa.
0: Hex jest pusty (może być na nim trawa).
>0: Hex jest zajęty.

Uwaga!
Funkcja nie uwzględnia rodzaju terenu czyli teren typu earth jak i dont enter są traktowane tak samo!
Funkcja ignoruje również miny i złoża.
Są to bardzo przydatne informacje zwłaszcza przy pisaniu skryptów dla komputera lub podkładaniu min w SAIL'u ;)

Poniżej dwa zastosowaia tej funkcji.
Spoiler:
Sprawdź czy dany hex jest pusty, następnie wyślij tam jednostkę.

Code: Select all

Every 0$01 trigger HexInfo(2, 2) = 0 do
begin
ComMoveXY(unit, 2, 2);
End;
Niech jednostka (side=1) która wejdzie na hex (2,2) wypowie dialog.
// Jeżeli funkcja zwróciła wart. >0 to wartością tą jest dana jednostka :D

Code: Select all

Every 0$01 trigger GetSide(HexInfo(2,2)) = 1 do
begin
Say(HexInfo(2,2), 'dialog1');
End;

Author: Serpent
Topic: https://forum.original-war.net/viewtopi ... =42&t=4481
Post Reply