Difference between revisions of "BuildingScenariosSamples"
m (Reverted edit of GrabberBot, changed back to last version by WikiSysop) |
|||
| (2 intermediate revisions by 2 users not shown) | |||
| 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 75: | 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 102: | 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 137: | 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 == | ||
* [[BuildingScenarios]] | * [[BuildingScenarios]] | ||
* [[UsefulWMLFragments]] | * [[UsefulWMLFragments]] | ||
| + | |||
| + | [[Category:Create]] | ||
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]