Portál AbcLinuxu, 4. července 2025 09:09
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:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.