Difference between revisions of "BuildingScenariosSamples"

From The Battle for Wesnoth Wiki
m (categorizing)
Line 22: Line 22:
 
     [/filter]
 
     [/filter]
 
     [message]
 
     [message]
    id=tough_fight_ogre
 
 
     speaker=second_unit
 
     speaker=second_unit
 
     message= _ "Whew! That was a tough fight!"
 
     message= _ "Whew! That was a tough fight!"
Line 28: Line 27:
 
   [/event]
 
   [/event]
  
Konrad remarks that he is scared at the start of a scenario: (Note the difference between the speaker= and the
+
Konrad remarks that he is scared at the start of a scenario:
description= attributes in the two examples).
 
  
 
   [event]
 
   [event]
 
   name=start
 
   name=start
 
     [message]
 
     [message]
     id=konrad_scared
+
     speaker=Konrad
    description=Konrad
 
 
     message= _ "I feel uneasy about this place"
 
     message= _ "I feel uneasy about this place"
 
     [/message]
 
     [/message]
Line 45: Line 42:
 
   name=victory
 
   name=victory
 
     [message]
 
     [message]
    id=which_way
 
 
     speaker=narrator
 
     speaker=narrator
 
     message= _ "Which way do you wish to go?"
 
     message= _ "Which way do you wish to go?"
 
       [option]
 
       [option]
      id=go_north
 
 
       message= _ "North"
 
       message= _ "North"
 
         [command]
 
         [command]
Line 59: Line 54:
 
       [/option]
 
       [/option]
 
       [option]
 
       [option]
      id=go_south
 
 
       message= _ "South"
 
       message= _ "South"
 
         [command]
 
         [command]
Line 79: Line 73:
 
     [if]
 
     [if]
 
       [have_unit]
 
       [have_unit]
       description=Fred
+
       id=Fred
 
       [/have_unit]
 
       [/have_unit]
 
       [then]
 
       [then]
 
         [message]
 
         [message]
         description=Fred
+
         speaker=Fred
 
         message= _ "I must go now, friends, but will return later!"
 
         message= _ "I must go now, friends, but will return later!"
 
         [/message]
 
         [/message]
 
         [kill]
 
         [kill]
         description=Fred
+
         id=Fred
 
         [/kill]
 
         [/kill]
 
         [set_variable]
 
         [set_variable]
Line 112: Line 106:
 
         [unit]
 
         [unit]
 
         type=Peasant
 
         type=Peasant
         description=Fred
+
         id=Fred
 +
        name= _ "Fred"
 
         side=1
 
         side=1
 
         x=8
 
         x=8
Line 118: Line 113:
 
         [/unit]
 
         [/unit]
 
         [message]
 
         [message]
         description=Fred
+
         speaker=Fred
 
         message= _ "I have returned to aid you friends!"
 
         message= _ "I have returned to aid you friends!"
 
         [/message]
 
         [/message]
Line 124: Line 119:
 
       [else]
 
       [else]
 
         [message]
 
         [message]
         description=Konrad
+
         speaker=Konrad
 
         message= _ "I wish Fred were still alive. He would know what to do!"
 
         message= _ "I wish Fred were still alive. He would know what to do!"
 
         [/message]
 
         [/message]
Line 146: Line 141:
 
   [/message]
 
   [/message]
  
 
  [teleport]
 
    [filter]
 
      name=Garcimore
 
    [/filter]
 
    x=10
 
    y=20
 
  [/teleport]
 
  
 
== See Also ==
 
== See Also ==

Revision as of 21:13, 23 December 2011

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]
       type=Peasant
       id=Fred
       name= _ "Fred"
       side=1
       x=8
       y=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]


See Also