MP Tutorial Scenes Creating a Multiplayer Map - (From Script to Hosting) ((Updated!))

Users who are viewing this thread

On the main jest server home page [http://main.jestservers.com/] built into the top menu bar is a log in and password box for TCAdmin. You will need to enter the log in name and password for the administrator (set up by whomever purchased the server rental). Once this is done you will be taken to the TCAdmin site where you will have several icons, the first being; "Game Servers". This will take you to a new page containing your server management panels.
Once there you simply select "Default Config Files" icon then click on "edit" to far right of "sample.txt" in list.
This is the file you put the set_map [yourmap] command along with other maps used by server.
The "Readme.txt" listed above "Sample.txt" here contains all the commands you need, just cut/paste them into "Sample.txt" then edit them.

Once you have edited and saved "Sample.txt" you must go back to the "Game Servers" panel and click "Restart" under the server you edited, this forces it to reload your new "Sample.txt" parameters.
 
It will throw up two results. You need to find the one that has not been marked for comment. It will be around line 520...

(click to show/hide)
Code: [Select]
  ("continue",[],"Continue...",
      [
        (modify_visitors_at_site,"scn_tutorial_training_ground"),
        (reset_visitors, 0),
        (set_player_troop, "trp_player"),
        (assign, "$g_player_troop", "trp_player"),
        (troop_raise_attribute, "$g_player_troop", ca_strength, 12),
        (troop_raise_attribute, "$g_player_troop", ca_agility, 9),
        (troop_raise_attribute, "$g_player_troop", ca_charisma, 5),
        (troop_raise_skill, "$g_player_troop", skl_shield, 3),
        (troop_raise_skill, "$g_player_troop", skl_athletics, 2),
        (troop_raise_skill, "$g_player_troop", skl_riding, 3),
        (troop_raise_skill, "$g_player_troop", skl_power_strike, 1),
        (troop_raise_skill, "$g_player_troop", skl_power_draw, 5),
        (troop_raise_skill, "$g_player_troop", skl_weapon_master, 4),
        (troop_raise_skill, "$g_player_troop", skl_ironflesh, 1),
        (troop_raise_skill, "$g_player_troop", skl_horse_archery, 6),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_one_handed_weapon, 70),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_two_handed_weapon, 70),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_polearm, 70),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_crossbow, 70),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_throwing, 70),
   
        (troop_clear_inventory, "$g_player_troop"),
        (troop_add_item, "$g_player_troop","itm_leather_jerkin",0),
        (troop_add_item, "$g_player_troop","itm_leather_boots",0),
        (troop_add_item, "$g_player_troop","itm_practice_sword",0),
        (troop_add_item, "$g_player_troop","itm_quarter_staff",0),
        (troop_equip_items, "$g_player_troop"),
        (set_visitor,0,"trp_player"),
        (set_visitor,32,"trp_tutorial_fighter_1"),
        (set_visitor,33,"trp_tutorial_fighter_2"),
        (set_visitor,34,"trp_tutorial_fighter_3"),
        (set_visitor,35,"trp_tutorial_fighter_4"),
        (set_visitor,40,"trp_tutorial_master_archer"),
        (set_visitor,41,"trp_tutorial_archer_1"),
        (set_visitor,42,"trp_tutorial_archer_1"),
        (set_visitor,60,"trp_tutorial_master_horseman"),
        (set_visitor,61,"trp_tutorial_rider_1"),
        (set_visitor,62,"trp_tutorial_rider_1"),
        (set_visitor,63,"trp_tutorial_rider_2"),
        (set_visitor,64,"trp_tutorial_rider_2"),
        (set_jump_mission,"mt_tutorial_training_ground"),
        (jump_to_scene,"scn_tutorial_training_ground"),
        (change_screen_mission),
        ]),

      ("go_back_dot",
      [],
      "Go back.",
      [
        (change_screen_quit),
      ]),
    ]
  ),
Add the following that is found between the # marks:

(click to show/hide)
Code: [Select]
    ("continue",[],"Continue...",
      [
        (modify_visitors_at_site,"scn_tutorial_training_ground"),
        (reset_visitors, 0),
        (set_player_troop, "trp_player"),
        (assign, "$g_player_troop", "trp_player"),
        (troop_raise_attribute, "$g_player_troop", ca_strength, 12),
        (troop_raise_attribute, "$g_player_troop", ca_agility, 9),
        (troop_raise_attribute, "$g_player_troop", ca_charisma, 5),
        (troop_raise_skill, "$g_player_troop", skl_shield, 3),
        (troop_raise_skill, "$g_player_troop", skl_athletics, 2),
        (troop_raise_skill, "$g_player_troop", skl_riding, 3),
        (troop_raise_skill, "$g_player_troop", skl_power_strike, 1),
        (troop_raise_skill, "$g_player_troop", skl_power_draw, 5),
        (troop_raise_skill, "$g_player_troop", skl_weapon_master, 4),
        (troop_raise_skill, "$g_player_troop", skl_ironflesh, 1),
        (troop_raise_skill, "$g_player_troop", skl_horse_archery, 6),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_one_handed_weapon, 70),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_two_handed_weapon, 70),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_polearm, 70),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_crossbow, 70),
        (troop_raise_proficiency_linear, "$g_player_troop", wpt_throwing, 70),
   
        (troop_clear_inventory, "$g_player_troop"),
        (troop_add_item, "$g_player_troop","itm_leather_jerkin",0),
        (troop_add_item, "$g_player_troop","itm_leather_boots",0),
        (troop_add_item, "$g_player_troop","itm_practice_sword",0),
        (troop_add_item, "$g_player_troop","itm_quarter_staff",0),
        (troop_equip_items, "$g_player_troop"),
        (set_visitor,0,"trp_player"),
        (set_visitor,32,"trp_tutorial_fighter_1"),
        (set_visitor,33,"trp_tutorial_fighter_2"),
        (set_visitor,34,"trp_tutorial_fighter_3"),
        (set_visitor,35,"trp_tutorial_fighter_4"),
        (set_visitor,40,"trp_tutorial_master_archer"),
        (set_visitor,41,"trp_tutorial_archer_1"),
        (set_visitor,42,"trp_tutorial_archer_1"),
        (set_visitor,60,"trp_tutorial_master_horseman"),
        (set_visitor,61,"trp_tutorial_rider_1"),
        (set_visitor,62,"trp_tutorial_rider_1"),
        (set_visitor,63,"trp_tutorial_rider_2"),
        (set_visitor,64,"trp_tutorial_rider_2"),
        (set_jump_mission,"mt_tutorial_training_ground"),
        (jump_to_scene,"scn_tutorial_training_ground"),
        (change_screen_mission),
        ]),

      ("go_back_dot",
      [],
      "Go back.",
      [
        (change_screen_quit),
      ]),
########################################
########################################
("choose_scene",[],"Scene Chooser",
  [(jump_to_menu, "mnu_choose_scenes_0"),
  ]
  ),
########################################
########################################
    ]
  ),

It will look like this:

(click to show/hide)


Save the file and exit!

Can someone please explain where exactly I am supposed to add that text?  This makes no sense,  it says to add that in between the # marks.  What # marks?  The line not marked for comment has no # marks and the screenshot is not clear.
 
You must add this:

Code:
########################################
########################################
("choose_scene",[],"Scene Chooser",
   [(jump_to_menu, "mnu_choose_scenes_0"),
   ]
   ),
########################################
########################################

... into the appropiate place. IE) Where it is in the example...

If you are creating a map for multiplayer, I would advocate that you simply edit the module system in the module_scenes, module_scripts and module_strings as it is quicker and simpler than using the QSC.  :smile:
 
ok so I made a custom scnee,  and started adding objects to it,  and when I moved around some terrain by adjusting heights some of the trees moved and are now in the middle of my buildings... I cant select these tress or delete them.  Any advice?
 
Instead of manually selecting on the map, find the right object in the item list on the left-hand side.  :smile:
 
Turanien said:
Instead of manually selecting on the map, find the right object in the item list on the left-hand side.  :smile:

I used the random generator in campaign mode to make the scene,  those trees are not in the object list and I cannot select them with right click.. really hope this can be fixed somehow I already spent 12 hours on this map.  :sad:
 
Knight of the Rose said:
Turanien said:
Instead of manually selecting on the map, find the right object in the item list on the left-hand side.  :smile:

I used the random generator in campaign mode to make the scene,  those trees are not in the object list and I cannot select them with right click.. really hope this can be fixed somehow I already spent 12 hours on this map.  :sad:

Ah! You cannot remove those, it's always wise to start a new map with the 'Vegetation' slider to empty.  :smile:
 
Turanien said:
Knight of the Rose said:
Turanien said:
Instead of manually selecting on the map, find the right object in the item list on the left-hand side.  :smile:

I used the random generator in campaign mode to make the scene,  those trees are not in the object list and I cannot select them with right click.. really hope this can be fixed somehow I already spent 12 hours on this map.  :sad:

Ah! You cannot remove those, it's always wise to start a new map with the 'Vegetation' slider to empty.  :smile:

D:  I already spent so many hours... you should really mention that in the tutorial :sad:  Is there any way to move them with manipulation?  What caused them to move in the first place?
 
Well, lesson learned.

I've long been thinking about revising this thread and adding a section about the SP map generator. I think I will do that this week, thank you.  :smile:

Let me have a look at the terrain string, there may be a way. 10 minutes...  :wink:



0x000000003200050000025896000043fc000042fd000039bf

Try manually editing your terrain code by reducing the two bold characters to '00'

0x000000003000050000025896000043fc000042fd000039bf
 
Turanien said:
Well, lesson learned.

I've long been thinking about revising this thread and adding a section about the SP map generator. I think I will do that this week, thank you.  :smile:

Let me have a look at the terrain string, there may be a way. 10 minutes...  :wink:



0x000000003200050000025896000043fc000042fd000039bf

Try manually editing your terrain code by reducing the two bold characters to '00'

0x000000003000050000025896000043fc000042fd000039bf

Don't feel bad,  without your tutorial I would not even have known where to begin.  Many thanks my friend.  And DOH, already erased my map and started a new one. One last question before I go pass out from exhaustion,  I find that as I map I get some hidden bump areas,  where if I walk on that spot my character walks into the air like an invisible rock is there.  I don't understand why these are generated or how to remove them.  Any clue?

And btw,  I am making this map for MP siege.  My clan is having a mapping contest and I want to win :smile:
 
Hey,

Ive been trying to follow your guide, but I keep failing to install the quick scene chooser.
Ive done everything above Setting Up the Quick-Scene Chooser! and follow the QSC part. When I try to run the build_module it gives me several IndentationError: unexpected indent in cmd.exe.

Going to the tutorial screen, I see no QSC.

Im on win 7 x64 and have Python 2.7 installed on C:/Python27.
 
I used the random generator in campaign mode to make the scene,  those trees are not in the object list and I cannot select them with right click.. really hope this can be fixed somehow I already spent 12 hours on this map. 

I read somewhere that the flora data module was released for the module system..
oh, it was here: http://forums.taleworlds.com/index.php/topic,141282.msg3392579.html#msg3392579

Not sure if this will allow you to re-edit maps to remove native flora or not (haven't fooled with it yet myself and little is known about it yet).
 
Hi, i made a blank map. I went to tutorial>QSC  and i opened my new map(multi_scene_xx) and i started editing it.
Then i went to multiplayer- and made server. I chosed my own map and START. But i noticed that, map isn't my map!!!
Why when I'm opening multiplayer, i see another map? I changed terrain code( from QSC- IN CAMPAIN) and nothing happens!!!
Plz help me.
 
I'll see about tidying up the tutorial later this weekend.  :eek:



King; you have to make sure that the map orders are exactly the same in module_scenes, module_strings and module_scripts.
 
When I try running the build_module I get error messages saying that the various process files cannot be opened (No such file or directory) and "Could not find C:\Users\(my user name)\Downloads\*.pyc"

I have windows  7

*edit: After some fiddling, now it's saying "indentation error" unexpected indent
 
okay so I figured that stuff out, but new problem.

I have (m1 is my mod's name):

Module_scenes:
  ("multi_scene_17",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000002200005000005f57b00005885000046bd00006d9c",
    [],[],"outer_terrain_plain"),
  ("multi_scene_18",sf_generate|sf_muddy_water,"none", "none", (0,0),(100,100),-100,"0x00000000b00037630002308c00000c9400005d4c00000f3a",
    [],[],"outer_terrain_plain"),
  ("m1_scene_1",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000003b9e9d9638006a9ac00001c000000465600005858",
    [],[],"outer_terrain_plain"),


Module_strings:
  ("multi_scene_17", "Brunwud Castle"), #Castle 4
  ("multi_scene_18", "Battle on Ice"),
  ("m1_scene_1", "m1 Scene 1"),

Module_scripts:
(eq, ":game_type", multiplayer_game_type_team_deathmatch),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin, "scn_multi_scene_1"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 1, "scn_multi_scene_2"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 2, "scn_multi_scene_4"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 3, "scn_multi_scene_7"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 4, "scn_multi_scene_9"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 5, "scn_multi_scene_11"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 6, "scn_multi_scene_12"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 7, "scn_multi_scene_14"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 8, "scn_multi_scene_17"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 9, "scn_multi_scene_18"),
      (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 10, "scn_m1_scene_1"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 11, "scn_random_multi_plain_medium"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 12, "scn_random_multi_plain_large"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 13, "scn_random_multi_steppe_medium"),
        (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 14, "scn_random_multi_steppe_large"),
        (assign, ":num_maps", 15),

However, when I try to host my map it does not appear in the list...

Suggestions?
 
However, when I try to host my map it does not appear in the list...

Suggestions?

Everything looks right code wise.
Couple of things to look for:

Look in your sceneObj folder in your mod and make sure it wrote a m1_scene_1.sco file in there after the first time you ran the module (after compiling). It should be in there and also in scene.txt. It should write these the first time you enter the mod after compiling the map code. If these are showing correctly. Make sure you are selecting team deathmatch as game type since that is what you declared your map as, also make sure you carefully read the map names when using the back and forward arrows in the admin panel (I missed one several times my first try).

If all this fails, copy ruins.sco and rename it m1_scene_1.sco and see if it is showing your base terrain in the editor.. If it isn't then its a coding problem that will need to be hunted down.

Tip:
Module_scenes tells M&B the base terrain, hard coded map features and map name, plus outter terrain to display. You can edit this by changing numbers and recompiling but all scene editor changes will be in the .sco file and will not modify this entry.
Module_scripts tells M&B that the map exists, makes it selectable, and declares what type it is.
Module_strings tell M&B what to display the map to the user as.
scenes.txt is created in your mod folder by module_scenes when it compiles. It contains all the base information needed to run the map but not any changes made via the scene editor. It can be edited as well if you know what your doing in there.
.SCO tells M&B all about any changes made to the hard coded map. All scene editor changes including terrain and prop addition, deformations, and subtraction are all recorded in here. This will be created the first time the module is run after a new map is declared. This comes in handly if you are making multiple maps of the same map (ie. a being built castle, a built version, then a ruined version) you can simply copy/rename the .sco as you build in the spot you want to begin editing the new map from..



 
Back
Top Bottom