SAIL - Eventy

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 - Eventy

Post by zoNE »

Serpent wrote:Eventy wywołują się wtedy gdy nastąpi dane zdarzenie. Przykładowo event(wydarzenie) BuildingComplete(b) wykona się za każdym razem gdy na mapie zostanie wybudowany budynek.


Przykład zastosowania eventu:

Code: Select all

// chcemy aby licznik naliczał nam zabójstwa jednostek nie będących jednostkami kontrolowanymi przez gracza

Export licznik;
Every 1 do
licznik := 0;

Every 0$01 do
begin
enable;
display_strings := licznik;
end;

On UnitDestroyed(un) do
begin

if GetSide(un) <> Your_Side then
   licznik = licznik + 1;
end;

Podsumowując, aby wykorzystać dany event należy wpisać do niego blok z if'em. Ilość if'ów wpisanych w event jest nieograniczona.

UWAGA: Dany event może być zadeklarowany tylko raz!
Spoiler:
Nie może być takiej sytuacji:
On BuildingComplete(b) do
begin
// kod
end;

On BuildingComplete(b) do
begin
// kod
end;
Budowę naszych warunków opieramy na parametrach danego eventu z tymże nie musimy wykorzystywać ich wszystkich - możemy nawet nie używać żadnego.

Przykład:

Code: Select all

// wyświetl komunikat po zbadaniu technologii (jakiejkolwiek i gdziekolwiek)
On ResearchComplete(a, b) do
begin
display_strings := 'Komunikat';
end;
Spis wszystkich event'ów można znaleźć w spisie funkcji.

Polecam zaznajomić się z tym zagadnieniem gdyż znacząco ułatwiają pracę każdemu modderowi.
Author: Serpent
Topic: viewtopic.php?f=42&t=4412
Post Reply