BuildingScenariosSamples: Difference between revisions
Bumbadadabum (talk | contribs) No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
to flash the screen red for a moment, we might go, | 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: | A unit remarking what a tough fight it was when they kill an Ogre: | ||
[event] | |||
name=die | |||
[filter] | |||
type=Ogre | |||
[/filter] | |||
[message] | |||
speaker=second_unit | |||
message= _ "Whew! That was a tough fight!" | |||
[/message] | |||
[/event] | |||
Konrad remarks that he is scared at the start of a scenario: | Konrad remarks that he is scared at the start of a scenario: | ||
[event] | |||
name=start | |||
[message] | |||
speaker=Konrad | |||
message= _ "I feel uneasy about this place" | |||
[/message] | |||
[/event] | |||
A selection of which way they should go at the end of a scenario: | A selection of which way they should go at the end of a scenario: | ||
[event] | |||
name=victory | |||
[message] | |||
speaker=narrator | |||
message= _ "Which way do you wish to go?" | |||
[option] | |||
message= _ "North" | |||
[command] | |||
[endlevel] | |||
result=victory | |||
next_scenario="Northern Advance" | |||
[/endlevel] | |||
[/command] | |||
[/option] | |||
[option] | |||
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 | Suppose you want to make it so that if a certain character, we will call him Fred the Peasant, survives in a certain | ||
| Line 69: | Line 72: | ||
but return in a later scenario. We can do this in the first scenario: | but return in a later scenario. We can do this in the first scenario: | ||
[event] | |||
name=victory | |||
[if] | |||
[have_unit] | |||
id=Fred | |||
[/have_unit] | |||
[then] | |||
[message] | |||
speaker=Fred | |||
message= _ "I must go now, friends, but will return later!" | |||
[/message] | |||
[kill] | |||
id=Fred | |||
[/kill] | |||
[set_variable] | |||
name=fred_is_alive | |||
value=yes | |||
[/set_variable] | |||
[/then] | |||
[/if] | [/if] | ||
[/event] | |||
This makes it so that if Fred is alive, he says something, then is removed from the game, and the variable | This makes it so that if Fred is alive, he says something, then is removed from the game, and the variable | ||
| Line 96: | Line 101: | ||
In a later scenario, we can use the following code: | 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] | |||
id=Fred | |||
name= _ "Fred" | |||
side=1 | |||
type=Peasant | |||
x,y=8,1 | |||
[/unit] | |||
[message] | |||
speaker=Fred | |||
message= _ "I have returned to aid you friends!" | |||
[/message] | |||
[/then] | |||
[else] | |||
[message] | |||
speaker=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 | 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 | ||
| Line 132: | Line 137: | ||
hate the undead, and if so, and get it to say something: | 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] | |||
== See Also == | == See Also == | ||
Latest revision as of 18:49, 11 March 2014
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]
speaker=second_unit
message= _ "Whew! That was a tough fight!"
[/message]
[/event]
Konrad remarks that he is scared at the start of a scenario:
[event]
name=start
[message]
speaker=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]
speaker=narrator
message= _ "Which way do you wish to go?"
[option]
message= _ "North"
[command]
[endlevel]
result=victory
next_scenario="Northern Advance"
[/endlevel]
[/command]
[/option]
[option]
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]
id=Fred
[/have_unit]
[then]
[message]
speaker=Fred
message= _ "I must go now, friends, but will return later!"
[/message]
[kill]
id=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]
id=Fred
name= _ "Fred"
side=1
type=Peasant
x,y=8,1
[/unit]
[message]
speaker=Fred
message= _ "I have returned to aid you friends!"
[/message]
[/then]
[else]
[message]
speaker=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]