Adding more models as belfrys

Users who are viewing this thread

Airith

Sergeant at Arms
This one's got me stumped, I searched all over for any reference to the actual native belfrys, then copy pasted and replaced with the new model.

In the scene editor, the model is set up in the finished position, with wheels/platform, and when I start a mp game it is set up at entry point 110 like it's supposed to.

Here's the problem: moving near it does not cause it to move to the next entry point (111).

Does anyone know how to edit this part of scripts/mission templates? Any help would be greatly appreciated.
 
Have you checked out script_siege_init_ai_and_belfry in module_scripts.py? I'm pretty sure belfry objects are defined there. If it's not that, it might be in script_cf_siege_assign_men_to_belfry.
 
I know its in the scripts file, but all the parts on how the belfry works escape me. I just can't understand the code that's there.

I believe it's here: "move_belfries_to_their_first_entry_point", but there's no list to copy paste, and again I can't understand what's going on, not enough python knowledge :sad:

As an addition to this thread, anyone got Jubals/Mirathei sea battles to work for multiplayer?
from here: http://forums.taleworlds.com/index.php/topic,52793.15.html
 
Maybe it's in multiplayer_server_check_belfry_movement in module_mission_templates.py? Had a quick look, looks like it might be it. You'll need to add your own belfry scene prop to the list at the top.
 
I don't think it ever specifies the entry points in the code anywhere, it just has a function that checks distances and stuff between entry points like Harmast says.

In module_mission_templates  line 38ish
 
I've added all of this code,
      (else_try),
        (assign, ":belfry_body_scene_prop", "spr_belfry_c"),
      (else_try),
        (assign, ":belfry_body_scene_prop", "spr_belfry_d"),
      (else_try),
        (assign, ":belfry_body_scene_prop", "spr_belfry_e"),
      (else_try),
        (assign, ":belfry_body_scene_prop", "spr_belfry_f"),
Which should enable them to be belfries but it's still not working. Other troubles even making normal belfries work, apparently you can't make entry points greater than 127 in the scene editor.

I think I've given up on this one, if anyone else wants to take a crack at it that'd be awesome.
 
The code above won't work because it just assigns spr_belfry_f directly. I believe the correct code would be something like the following:

Code:
    (try_for_range, ":belfry_kind", 0, 3),
      (try_begin),
        (eq, ":belfry_kind", 0),
        (assign, ":belfry_body_scene_prop", "spr_belfry_a"),
      (else_try),
        (eq, ":belfry_kind", 1),
        (assign, ":belfry_body_scene_prop", "spr_belfry_b"),
      (else_try),
        (eq, ":belfry_kind", 2),
        (assign, ":belfry_body_scene_prop", "spr_belfry_c"),
      (try_end),

... and so on. Change the number 3 to reflect the number of belfries you have.

Hope this helps.
 
Well, that fixed it actually. I still get some errors but it now moves, hurray! Thanks harmast. Now I just have to rotate these things...

edit: well apparently those errors disappeared... At the momement I'm testing out how to get it to move even if the one person pushing it is on it.
edit2: Got it to move even if i'm on top of it. Increasing the distance you can move it is working too, but it likes increasing the width more than the length apparently.
 
I noticed you were using this for the ship battles, how did you keep the spawns on the moving boat if people died?  Or was it more for battle mode where you stay dead?
 
Back
Top Bottom