Portál AbcLinuxu, 17. listopadu 2025 12:47
Chvíli jsem pátral a dalo mi práci přijít na to, jak ve WML spustit event v určitém kole pro určitou stranu. Tak si to sem poznamenám a třeba se to hodí i někomu jinému.
#define IF_TURN_SIDE TURN SIDE ACTION
[if]
[variable]
name=turn_number
equals={TURN}
[/variable]
[and]
[variable]
name=side_number
equals={SIDE}
[/variable]
[/and]
[then]
{ACTION}
[/then]
[/if]
#enddef
[event]
name=side turn
first_time_only=no
{IF_TURN_SIDE 1 1 (
[message]
speaker=narrator
message = "Turn 1 + Side 1"
[/message]
)}
{IF_TURN_SIDE 2 2 (
[message]
speaker=narrator
message = "Turn 2 + Side 2"
[/message]
)}
[/event]
Protože je to vcelku dlouhý kód, který se ve scénáři může opakovaně objevit v počtu několika desítek, je vhodné si ho definovat jako makro, jehož zápis je kratší a přehlednější.
První část příkladu definice příslušného makra, které jsem pojmenoval IF_TURN_SIDE. Druhá část je příklad dvojnásobného použití tohoto makra.
Makro je nutno/možno použít pouze v eventu "side turn". Pomocí dvou vnitřních proměnných turn_number a side_number se testuje, zda jsme ve správném kole na správně straně a když ano, provede se zadaná akce.
Tiskni
Sdílej:
V mojom pripade pomohlo
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.