Custom Multiplay Campaign Save Issues?

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

Post Reply
Syath
Posts: 13
Joined: November 29th, 2009, 6:07 pm

Custom Multiplay Campaign Save Issues?

Post by Syath »

I've been playing Wesnoth for a long time, and I've decided to give back by learning WML and making maps, but I'm having a major problem @.@

I'm almost positive this is due to something in the map, because half the single map campaigns I make end up having the same error ><

Anyway, at the beginning of EVERY turn, it comes up with an error:

"Can not auto save map. Please save game manually"

Searching the forum and Googling turned up nothing :(

Complete .cfg file:

Code: Select all

[multiplayer] 

# Map and Store by Syath
# Gold for unit kill posted on forum for use by mnewton1

   id=KTP_Map_3
   name= _ "4p - Desert Heat w/Stores"
   map_data="
border_size=1
usage=map

Xu^Ii       , Xu^Ii       , Xu^Ii       , Xu^Ii       , Dd          , Dd          , Dd          , Dd^Dc       , Dd          , Xu^Ii       , Xu^Ii       , Xu^Ii       , Xu^Ii       
Xu^Ii       , 1 Kud       , Cud         , Cud         , Dd^Do       , Dd^Vdt      , Hd          , Dd^Do       , Dd^Vdt      , Cud         , Cud         , 2 Kud       , Xu^Ii       
Dd^Dc       , Cud         , Dd          , Rd          , Rd          , Rd^Ii       , Dd^Vda      , Rd^Ii       , Rd          , Dd          , Rd          , Cud         , Dd          
Rd          , Dd          , Dd^Vdt      , Dd          , Md          , Dd          , Dd          , Dd          , Dd^Vdt      , Rd          , Dd^Dr       , Dd^Do       , Dd          
Rd          , Dd^Do       , Dd          , Dd          , Dd          , Rd          , Dd          , Dd^Do       , Dd          , Rd          , Dd^Dc       , Dd          , Dd          
Dd          , Rd          , Rd^Dr       , Dd          , Rd          , Rd          , Dd^Vdt      , Dd          , Md          , Rd          , Dd^Vdt      , Hd          , Hd          
Dd          , Dd^Do       , Dd^Vdt      , Rd          , Rd          , Hd          , Dd^Vda      , Dd^Do       , Rd          , Rd          , Dd          , Dd          , Dd^Do       
Ql          , Cud         , Cud         , Rd          , Dd          , Dd^Do       , Rd^Ii       , Rd^Ii       , Dd          , Rd          , Cud         , Cud         , Ql          
Ql          , 3 Kud       , Ql          , Cud         , Dd          , Dd^Vdt      , Rd          , Dd          , Rd          , Cud         , Ql          , 4 Kud       , Ql          
Ql          , Ql          , Ql          , Ql          , Ql          , Ql          , Ql          , Rd^Dr       , Ql          , Ql          , Ql          , Ql          , Ql          
"
   description= _ "4 Player Desert Heat Map with Stores"

   {DEFAULT_SCHEDULE} 

 [music]
    name=the_dangerous_symphony.ogg
    append=yes
 [/music]
 [music]
    name=battle.ogg
    append=yes
 [/music]
 [music]
    name=breaking_the_chains.ogg
    append=yes
 [/music]
 [music]
    name=casualties_of_war
    append=yes
 [/music]

   [side] 
   side=1 
   canrecruit=yes 
   controller=human 
   team_name=North
   user_team_name= _ "teamname^North"
        team_lock=1
   [/side] 

   [side] 
   side=2 
   canrecruit=yes 
   controller=human 
   team_name=North
   user_team_name= _ "teamname^North"
        team_lock=1
   [/side]

   [side] 
   side=3
   canrecruit=yes 
   controller=human 
   team_name=South
   user_team_name= _ "teamname^South"
        team_lock=1
   [/side]

   [side] 
   side=4
   canrecruit=yes 
   controller=human 
   team_name=South
   user_team_name= _ "teamname^South"
        team_lock=1
   [/side]


    [event]
        name=prestart
        [objectives]
            [objective]
                description=_ "North vs South; kill your enemies.

To buy upgrades, move to a lit road terrain tile:
(5,2),(7,2),(6,7),(7,7)!"
                condition=win
            [/objective]
        [/objectives]
    [/event]

[event]
   name=die
   first_time_only=no
   [filter_second]
       side=1,2,3,4,5,6,7,8,9
   [/filter_second]

   [store_unit]
       variable=victim
       [filter]
      x,y=$x1,$y1
       [/filter]
   [/store_unit]

   [store_unit]
       [filter]
      x=$x2
      y=$y2
       [/filter]
       variable=killer
   [/store_unit]

   [store_gold]
       variable=gold
       side=$killer.side
   [/store_gold]

   [set_variable]
       name=gold_4_u
       add=8
   [/set_variable]

   [gold]
       side=$killer.side
       amount=$gold_4_u
   [/gold]

   [unstore_unit]
       variable=killer
       [filter]
      x,y=$x1,$y1
       [/filter]
       text=$gold_4_u
       red,green,blue=255,255,0
   [/unstore_unit]
[/event]

    [event]
        name=moveto
	first_time_only=no

        [filter]
            x=5,7,6,7
	    y=2,2,7,7
        [/filter]

      [store_gold]
	side=$side_number
	variable=gold
      [/store_gold]

      [message]
	speaker=narrator
	message= _ "Choose an upgrade"
	[option]
	  message=_ "50 Gold > + 35 HP"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=50
		[/variable]
		[then]
		    [gold]
			amount=-50
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			    apply_to=hitpoints
			    increase_total=35
			    increase=35
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "15 Gold > + 1 Movement"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=15
		[/variable]
		[then]
		    [gold]
			amount=-15
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			    apply_to=movement
			    increase=1
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "50 Gold > Full Heal"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=50
		[/variable]
		[then]
		    [gold]
			amount=-50
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			  apply_to=hitpoints
			  increase_total=0
			  heal_full=yes
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "30 Gold > + Ability: Regenerates"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=30
		[/variable]
		[then]
		    [gold]
			amount=-30
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			  apply_to=new_ability
			  [abilities]
			      {ABILITY_REGENERATES}
			  [/abilities]
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "30 Gold > + Ability: Skirmish"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=30
		[/variable]
		[then]
		    [gold]
			amount=-30
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			  apply_to=new_ability
			  [abilities]
			      {ABILITY_SKIRMISHER}
			  [/abilities]
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "45 Gold > + Ability: Berserk (Melee)"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=45
		[/variable]
		[then]
		    [gold]
			amount=-45
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			  apply_to=attack
			  range=melee
			  [set_specials]
			    {WEAPON_SPECIAL_BERSERK}
			    mode=append
			  [/set_specials]
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "45 Gold > + Ability: Berserk (Ranged)"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=45
		[/variable]
		[then]
		    [gold]
			amount=-45
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			  apply_to=attack
			  range=ranged
			  [set_specials]
			    {WEAPON_SPECIAL_BERSERK}
			    mode=append
			  [/set_specials]
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "35 Gold > + Ability: Backstab (Melee)"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=35
		[/variable]
		[then]
		    [gold]
			amount=-35
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			  apply_to=attack
			  range=ranged
			  [set_specials]
			    {WEAPON_SPECIAL_BACKSTAB}
			    mode=append
			  [/set_specials]
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "120 Gold > + Ability: Teleport"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=120
		[/variable]
		[then]
		    [gold]
			amount=-120
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			  apply_to=new_ability
			  [abilities]
			      {ABILITY_TELEPORT}
			  [/abilities]
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "35 Gold > + Ability: Cures, Heal +8"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=35
		[/variable]
		[then]
		    [gold]
			amount=-35
			side=$side_number
		    [/gold]
		    [object]
			[effect]
			  apply_to=new_ability
			  [abilities]
			      {ABILITY_UNPOISON}
			      {ABILITY_EXTRA_HEAL}
			  [/abilities]
			[/effect]
			silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "20 Gold > + 1 Damage (Melee)"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=20
		[/variable]
		[then]
		    [gold]
			amount=-20
			side=$side_number
		    [/gold]
		    [object]
		      [effect]
			apply_to=attack
			range=melee
			increase_damage=1
		      [/effect]
		      silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "20 Gold > + 1 Damage (Ranged)"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=20
		[/variable]
		[then]
		    [gold]
			amount=-20
			side=$side_number
		    [/gold]
		    [object]
		      [effect]
			apply_to=attack
			range=ranged
			increase_damage=1
		      [/effect]
		      silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "25 Gold > + 1 Strike (Melee)"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=25
		[/variable]
		[then]
		    [gold]
			amount=-25
			side=$side_number
		    [/gold]
		    [object]
		      [effect]
			  apply_to=attack
			  range=melee
			  increase_attacks=1
		      [/effect]
		      silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "25 Gold > + 1 Strike (Ranged)"
	  [command]
	    [if]
		[variable]
		    name=gold
		    greater_than_equal_to=25
		[/variable]
		[then]
		    [gold]
			amount=-25
			side=$side_number
		    [/gold]
		    [object]
		      [effect]
			  apply_to=attack
			  range=ranged
			  increase_attacks=1
		      [/effect]
		      silent=yes
		    [/object]
		[/then]
	    [/if]
	  [/command]
	[/option]
	[option]
	  message=_ "Cancel"
	  [command]
	    {VARIABLE finished yes}
	  [/command]
	[/option]
      [/message]
    [/event]


[/multiplayer]
Thanks in advance :)
Soliton
Site Administrator
Posts: 1733
Joined: April 5th, 2005, 3:25 pm
Location: #wesnoth-mp

Re: Custom Multiplay Campaign Save Issues?

Post by Soliton »

Check stderr.txt for a more verbose error message.

Consider not using quotes for text/error messages you actually paraphrased. If you can't be bothered to accurately reproduce the text don't make it look like you did.
"If gameplay requires it, they can be made to live on Venus." -- scott
silene
Posts: 1109
Joined: August 28th, 2004, 10:02 pm

Re: Custom Multiplay Campaign Save Issues?

Post by silene »

Syath wrote:"Can not auto save map. Please save game manually"

Code: Select all

   name= _ "4p - Desert Heat w/Stores"
The name of your scenario is not filesystem-friendly, that's why the operating system fails to save the files.
Post Reply