Difference between revisions of "BuildingScenariosSamples"
m (Reverted edit of GrabberBot, changed back to last version by WikiSysop) |
m (categorizing) |
||
| Line 158: | Line 158: | ||
* [[BuildingScenarios]] | * [[BuildingScenarios]] | ||
* [[UsefulWMLFragments]] | * [[UsefulWMLFragments]] | ||
| + | |||
| + | [[Category:Create]] | ||
Revision as of 04:24, 24 February 2008
This page contains basic examples of WML. For more examples, you can look at the data of Wesnoth using a text editor.
to flash the screen red for a moment, we might go,
[colour_adjust] red=200 [/colour_adjust] [delay] time=20 [/delay] [colour_adjust] red=0 [/colour_adjust]
A unit remarking what a tough fight it was when they kill an Ogre:
[event] name=die [filter] type=Ogre [/filter] [message] id=tough_fight_ogre speaker=second_unit message= _ "Whew! That was a tough fight!" [/message] [/event]
Konrad remarks that he is scared at the start of a scenario: (Note the difference between the speaker= and the description= attributes in the two examples).
[event] name=start [message] id=konrad_scared description=Konrad message= _ "I feel uneasy about this place" [/message] [/event]
A selection of which way they should go at the end of a scenario:
[event]
name=victory
[message]
id=which_way
speaker=narrator
message= _ "Which way do you wish to go?"
[option]
id=go_north
message= _ "North"
[command]
[endlevel]
result=victory
next_scenario="Northern Advance"
[/endlevel]
[/command]
[/option]
[option]
id=go_south
message= _ "South"
[command]
[endlevel]
result=victory
next_scenario="Southern Citadel"
[/endlevel]
[/command]
[/option]
[/message]
[/event]
Suppose you want to make it so that if a certain character, we will call him Fred the Peasant, survives in a certain scenario, he will leave, but return in a later scenario. We can do this in the first scenario:
[event]
name=victory
[if]
[have_unit]
description=Fred
[/have_unit]
[then]
[message]
description=Fred
message= _ "I must go now, friends, but will return later!"
[/message]
[kill]
description=Fred
[/kill]
[set_variable]
name=fred_is_alive
value=yes
[/set_variable]
[/then]
[/if]
[/event]
This makes it so that if Fred is alive, he says something, then is removed from the game, and the variable 'fred_is_alive' is set to yes.
In a later scenario, we can use the following code:
[event]
name=turn 7
[if]
[variable]
name=fred_is_alive
equals=yes
[/variable]
[then]
[unit]
type=Peasant
description=Fred
side=1
x=8
y=1
[/unit]
[message]
description=Fred
message= _ "I have returned to aid you friends!"
[/message]
[/then]
[else]
[message]
description=Konrad
message= _ "I wish Fred were still alive. He would know what to do!"
[/message]
[/else]
[/if]
[/event]
If the variable 'fred_is_alive' equals 'yes' then this will create a unit, Fred, a Peasant, at (8,1), and he will give a greeting message. Otherwise, Konrad will lament Fred being dead.
Suppose the player has just come across some undead, you might like to find if the player has a unit that would truly hate the undead, and if so, and get it to say something:
[role] role=undead_hater type=Mage of Light,Paladin,White Mage [/role] [message] role=undead_hater message= _ "The foul hordes of the undead approach, this battle will surely be tough!" [/message]
[teleport]
[filter]
name=Garcimore
[/filter]
x=10
y=20
[/teleport]