Serpent pisze:Operatory mają za zadanie tworzyć jakąś korelacje pomiędzy warunkami, przykładowo jeśli chcemy aby kod wykonał się dopiero po osiągnięciu kilku warunków to operatory służą właśnie do tego.
Przykład #1:
Niech kod wykona się jeżeli zbadane są 3 technologie.Użyty tutaj został operator łączenia AND który blokuje kod dopóki wszystkie 3 warunki nie zostaną spełnione.Kod: Zaznacz cały
Every 0$01 trigger (GetTech(tech_sib1, 1) = state_researched and GetTech(tech_sib2, 1) = state_researched and GetTech(tech_sib3, 1) = state_researched) do begin // kod End;
Przykład #2
Niech kod wykona się jeśli jedna z dwóch osób nie żyje.Operator OR powoduje to że wystarczy spełnić przynajmniej jeden z warunków aby kod się wykonał.Kod: Zaznacz cały
Every 0$01 trigger IsDead(osoba1) or IsDead(osoba2) do begin ... end;
Przykład #3
Niech kod wykona się jeśli żyje osoba1.Zapis ten można zastąpić takim:Kod: Zaznacz cały
Every 0$01 trigger not IsDead(osoba1) do
Podsumowując:Kod: Zaznacz cały
Every 0$01 trigger IsDead(osoba1) = false do
AND - używamy go wtedy kiedy chcemy aby wszystkie warunki nim połączone były spełnione.
OR - spełniony musi być przynajmniej jeden warunek.
NOT - negacja warunku.
Author: SerpentSerpent pisze: ↑pn sie 07, 2017 1:10 am Update:
Odkryłem że w SAIL'u istnieje również operator XOR.
XOR to alternatywa wykluczająca, zwraca prawdę jeżeli tylko jeden z warunków jest spełniony.
Przykład:Zwróci prawdę tylko w przypadku gdy jedna z osób została zabita. Jeżeli obie postacie żyją lub obie nie żyją wówczas kod nie wykona się.Kod: Zaznacz cały
Every 0$01 trigger IsDead(osoba1) xor IsDead(osoba2) do
Topic: https://forum.original-war.net/viewtopi ... =42&t=4509