Modding *Sammelthread*

Users who are viewing this thread

Es gibt doch in manchen Mods diese Feuer Pfeile, meine Frage:
Wie kann ich sie in meine Mod einfügen?
 
Harlef said:
Wo wir grade schon dabei sind, welche txt wird von den constants erstellt?
Glaube variables.txt

Harlef said:
Es gibt doch in manchen Mods diese Feuer Pfeile, meine Frage:
Wie kann ich sie in meine Mod einfügen?
Guck dir an wie man particle systems einfügt. Sollte es in der Forge Topics zu geben.
 
Nun zu meinem nächsten Problem (=ich weiß ich bin Dauerpatient).

Ich habe von Brytenwalda Mod das Hunting System übernommen, damit man auch auf die Jagd gehen kann. Beim compilern gibt es auch keinerlei Probleme, mein Mod startet auch ganz normal, doch die jagdbaren Tiere erscheinen nicht. Ich vermute, dass dies mit der module_constants Datei zusammenhängt.

Ich zeig euch mal welche script ich wo eingefügt habe:

module_factions.py
("wild_animals","Wild Animals",0, 0.1,[("player_faction",-0.85)], [],0xFFFFFF),

module_game_menus.py
("deer_herd",0,
  "You encounter a herd of deer.",
  "none",
  [
  (try_begin),
    (gt, "$num_deers_killed",0),
    (troop_clear_inventory, "trp_temp_troop"),
    (troop_add_items, "trp_temp_troop", "itm_deer_meat", "$num_deers_killed"),
    (troop_add_items, "trp_temp_troop", "itm_raw_leather", "$num_deers_killed"),

    (party_get_num_companions, ":num_deers", "$g_encountered_party"),
    (try_begin),
      (ge, "$num_deers_killed", ":num_deers"),
      (remove_party, "$g_encountered_party"),
    (else_try),
      (party_remove_members, "$g_encountered_party", "trp_deer", "$num_deers_killed"),
    (try_end),
    (assign,"$num_deers_killed",0),
        (troop_sort_inventory, "trp_temp_troop"),
    (change_screen_loot,"trp_temp_troop"),
  (try_end),
  (set_background_mesh, "mesh_pic_extra_caza"),
  ],
  [
    ("deer_kill",
    [
    (try_begin),
      (neg|party_is_active, "$g_encountered_party"),
      (disable_menu_option),
    (try_end),
    ]
    ,"Hunt some of the animals.",
      [
      (set_jump_mission,"mt_deer_hunting"),
      (jump_to_scene,"scn_random_scene_plain_forest2"),
      (change_screen_mission),
      ]
      ),
    ("leave",[],"Leave.",
      [(change_screen_return),
      ]
      ),
    ]
),
("deer_herd_kill_end",0,
  "You shouldn't be reading this.",
  "none",
  [(change_screen_return)],
  [
    ]
),
  ("wolf_herd",0,
  "You encounter a pack of wolves.",
  "none",
  [
  (try_begin),
    (gt, "$num_wolfs_killed",0),
    (troop_clear_inventory, "trp_temp_troop"),
    (troop_add_items, "trp_temp_troop", "itm_wolf_meat", "$num_wolfs_killed"),
    (troop_add_items, "trp_temp_troop", "itm_furs", "$num_wolfs_killed"),

    (party_get_num_companions, ":num_deers", "$g_encountered_party"),
    (try_begin),
      (ge, "$num_wolfs_killed", ":num_deers"),
      (remove_party, "$g_encountered_party"),
    (else_try),
      (party_remove_members, "$g_encountered_party", "trp_wolf", "$num_wolfs_killed"),
    (try_end),
    (assign,"$num_wolfs_killed",0),
        (troop_sort_inventory, "trp_temp_troop"),
    (change_screen_loot,"trp_temp_troop"),
  (try_end),
  (set_background_mesh, "mesh_pic_extra_caza"),
  ],
  [
    ("wolf_kill",[
    (try_begin),
      (neg|party_is_active, "$g_encountered_party"),
      (disable_menu_option),
    (try_end),
    ],"Hunt some of the animals.",
      [
      (set_jump_mission,"mt_wolf_hunting"),
      (jump_to_scene,"scn_random_scene_plain_forest2"),
      (change_screen_mission),
      ]
      ),
    ("leave",[],"Leave.",
      [(change_screen_return),
      ]
      ),
    ]
),
("wolf_herd_kill_end",0,
  "You shouldn't be reading this.",
  "none",
  [(change_screen_return)],
  [
    ]
),

module_items.py
["deer_meat", "Venison", [("raw_meat",0)], itp_type_goods|itp_merchandise|itp_food|itp_consumable, 0, 150, weight(30)|abundance(100)|food_quality(40)|max_ammo(30), imodbits_none ],
["wolf_meat", "Wolf Meat", [("raw_meat",0)], itp_type_goods|itp_merchandise|itp_food|itp_consumable, 0, 30, weight(30)|abundance(100)|food_quality(30)|max_ammo(50), imodbits_none ],

["deer","Deer", [("deer",0)], itp_unique|itp_type_horse, 0, 1411,abundance(40)|hit_points(30)|body_armor(5)|difficulty(11)|horse_speed(50)|horse_maneuver(32)|horse_charge(20),imodbits_horse_basic],
["wolf","Wolf", [("warg",0)], itp_unique|itp_type_horse, 0, 1411,abundance(40)|hit_points(80)|body_armor(10)|difficulty(11)|horse_speed(30)|horse_maneuver(40)|horse_charge(100)|horse_scale(55),imodbits_horse_basic],

module_mission_templates.py
(
    "deer_hunting",mtf_battle_mode,-1,
    "You lead your deers to battle.",
    [
    (1,mtef_team_0|mtef_leader_only,0,aif_start_alarmed,12,[]),
    (4,mtef_visitor_source|mtef_team_2,0,aif_start_alarmed,0,[]),
    ],
    [
      (ti_tab_pressed, 0, 0, [
      (set_trigger_result,1)], []), #leaving area
      (0, 0, ti_once, [ #spawing deers
    (party_count_members_of_type,":num_deers","$g_encountered_party","trp_deer"),
    (val_sub,":num_deers",1),
    (ge,":num_deers",0),
                    (assign,"$num_deers_killed",0),
                    (get_scene_boundaries, pos10,pos11),
                    (position_get_x, ":scene_min_x", pos10),
                    (position_get_x, ":scene_max_x", pos11),
                    (position_get_y, ":scene_min_y", pos10),
                    (position_get_y, ":scene_max_y", pos11),
    (store_div,":border_x",":scene_max_x",10),
    (val_add,":scene_min_x",":border_x"),
    (val_sub,":scene_max_x",":border_x"),
    (store_div,":border_y",":scene_max_y",10),
    (val_add,":scene_min_y",":border_y"),
    (val_sub,":scene_max_y",":border_y"),
    (store_random_in_range,":mad:_pos",":scene_min_x",":scene_max_x"),
    (store_random_in_range,":y_pos",":scene_min_y",":scene_max_y"),
                    (init_position, pos1),
    (position_set_x,pos1,":mad:_pos"),
    (position_set_y,pos1,":y_pos"),
    (position_set_z,pos1,10000),
    (position_set_z_to_ground_level,pos1),
                    (set_spawn_position, pos1),
                    (spawn_horse, "itm_deer"),
    (assign,"$leading_deer",reg0),
    (try_for_range,":unused",0,":num_deers"),
                      (init_position, pos1),
      (store_random_in_range,":mad:_pos_add",0,1000),
      (store_random_in_range,":y_pos_add",0,1000),
      (val_add,":mad:_pos_add",":mad:_pos"),
      (val_add,":y_pos_add",":y_pos"),
      (position_set_x,pos1,":mad:_pos_add"),
      (position_set_y,pos1,":y_pos_add"),
      (position_set_z,pos1,10000),
      (position_set_z_to_ground_level,pos1),
      (set_spawn_position, pos1),
                      (spawn_horse, "itm_deer"),
    (try_end),
                ], []),
#identifica el animal para sonido chief
      (ti_on_agent_killed_or_wounded, 0, 0, [
        (store_trigger_param_1, ":dead_agent_no"),
        (agent_get_troop_id,":cur_troop_id",":dead_agent_no"),

        (eq,":cur_troop_id","trp_deer"),

      ],
      [(play_sound,"snd_ciervomuerto")]),
###sonidos acaba
      (1,0,0,[], #wounded deers move slower
      [(try_for_agents,reg(1)),
      (agent_get_item_id,reg(2),reg(1)),
      (eq,reg(2),"itm_deer"),
      (store_agent_hit_points,reg(2),reg(1)),
      (store_mul,reg(3),20,reg(2)),
      (val_div,reg(3),40),
      (agent_set_speed_limit,reg(1),reg(3)),
      (try_end),
      ]),
      (5,0,0,
      [
      (neg|agent_is_alive,"$leading_deer"),
      ],
      [
      (try_for_agents,reg(1)),
      (agent_get_item_id,reg(2),reg(1)),
(eq,reg(2),"itm_deer"),
(assign,"$leading_deer",reg(1)),
      (try_end),
      ]),
      (1,0,0,[],
      [
              (assign,":num_kills",0),
      (try_for_agents,reg(1)),
        (agent_get_item_id,reg(2),reg(1)),
        (eq,reg(2),"itm_deer"),
                (store_agent_hit_points,reg(2),reg(1)),
(eq,reg(2),0),
(val_add,":num_kills",1),
      (try_end),   
      (gt,":num_kills","$num_deers_killed"),      
                    (get_scene_boundaries, pos10,pos11),
                    (position_get_x, ":scene_min_x", pos10),
                    (position_get_x, ":scene_max_x", pos11),
                    (position_get_y, ":scene_min_y", pos10),
                    (position_get_y, ":scene_max_y", pos11),
    (store_div,":border_x",":scene_max_x",10),
    (val_add,":scene_min_x",":border_x"),
    (val_sub,":scene_max_x",":border_x"),
    (store_div,":border_y",":scene_max_y",10),
    (val_add,":scene_min_y",":border_y"),
    (val_sub,":scene_max_y",":border_y"),
    (store_random_in_range,":mad:_pos",":scene_min_x",":scene_max_x"),
    (store_random_in_range,":y_pos",":scene_min_y",":scene_max_y"),
                    (init_position, pos1),
    (position_set_x,pos1,":mad:_pos"),
    (position_set_y,pos1,":y_pos"),
    (position_set_z,pos1,10000),
    (position_set_z_to_ground_level,pos1),
                    (agent_set_scripted_destination,"$leading_deer",pos1),
            (assign,"$num_deers_killed",":num_kills"),
      ]),
      (5,0,0,[],
      [
      (agent_get_position,pos1,"$leading_deer"),
      (position_get_x,":mad:_pos",pos1),
      (position_get_y,":y_pos",pos1),
      (this_or_next|le,":mad:_pos",5000),
      (this_or_next|le,":y_pos",5000),
      (this_or_next|ge,":mad:_pos",38000),
      (ge,":y_pos",38000),
                    (get_scene_boundaries, pos10,pos11),
                    (position_get_x, ":scene_min_x", pos10),
                    (position_get_x, ":scene_max_x", pos11),
                    (position_get_y, ":scene_min_y", pos10),
                    (position_get_y, ":scene_max_y", pos11),
    (store_div,":border_x",":scene_max_x",10),
    (val_add,":scene_min_x",":border_x"),
    (val_sub,":scene_max_x",":border_x"),
    (store_div,":border_y",":scene_max_y",10),
    (val_add,":scene_min_y",":border_y"),
    (val_sub,":scene_max_y",":border_y"),
    (store_random_in_range,":mad:_pos",":scene_min_x",":scene_max_x"),
    (store_random_in_range,":y_pos",":scene_min_y",":scene_max_y"),
                    (init_position, pos1),
    (position_set_x,pos1,":mad:_pos"),
    (position_set_y,pos1,":y_pos"),
    (position_set_z,pos1,10000),
    (position_set_z_to_ground_level,pos1),
                    (agent_set_scripted_destination,"$leading_deer",pos1),
      ]),
      (1,0,0,[],
      [
      (try_for_agents,reg(1)),
(agent_get_item_id,reg(2),reg(1)),
(eq,reg(2),"itm_deer"),
(store_agent_hit_points,":health",reg(1)),
(store_sub,":damage",100,":health"),
(agent_get_slot,":prev_damage",reg(1),1),
(neq,":prev_damage",":damage"),
(agent_set_slot,reg(1),1,":damage"),
        (agent_get_position,pos1,reg(1)),
        (position_get_x,":mad:_pos",pos1),
(position_get_y,":y_pos",pos1),
        (store_random_in_range,":mad:_pos_add",0,1000),
        (store_random_in_range,":y_pos_add",0,1000),
(val_add,":mad:_pos",":mad:_pos_add"),
(val_add,":y_pos",":y_pos_add"),
(position_set_x,pos1,":mad:_pos"),
(position_set_y,pos1,":y_pos"),
        (agent_set_scripted_destination,reg(1),pos1),
      (try_end),
      ]),
      (0.5,0,0, #deer travelling
      [],
      [
      (get_player_agent_no,reg(1)),
      (agent_get_position,pos1,reg(1)),
      (agent_get_position,pos4,"$leading_deer"),
      (position_get_x,":mad:_pos",pos4),
      (position_get_y,":y_pos",pos4),
      (try_for_agents,reg(1)),
(agent_get_item_id,reg(2),reg(1)),
(eq,reg(2),"itm_deer"),
        (agent_get_position,pos2,reg(1)),
(get_distance_between_positions,reg(3),pos1,pos2),
(try_begin),
        (position_get_x,":pos_x",pos2),
        (position_get_x,":pos_y",pos2),
    (position_get_x, ":scene_min_x", pos10),
                    (position_get_x, ":scene_max_x", pos11),
                    (position_get_y, ":scene_min_y", pos10),
                    (position_get_y, ":scene_max_y", pos11),
    (store_div,":border_x",":scene_max_x",10),
    (val_add,":scene_min_x",":border_x"),
    (val_sub,":scene_max_x",":border_x"),
    (store_div,":border_y",":scene_max_y",10),
    (val_add,":scene_min_y",":border_y"),
    (val_sub,":scene_max_y",":border_y"),
(this_or_next|gt,":pos_x",":scene_max_x"),
(this_or_next|lt,":pos_x",":scene_min_x"),
(this_or_next|gt,":pos_y",":scene_max_y"),
(lt,":pos_y",":scene_min_y"),
(store_random_in_range,":mad:_pos",":scene_min_x",":scene_max_x"),
(store_random_in_range,":y_pos",":scene_min_y",":scene_max_y"),
                (init_position, pos1),
(position_set_x,pos1,":mad:_pos"),
(position_set_y,pos1,":y_pos"),
(position_set_z,pos1,10000),
(position_set_z_to_ground_level,pos1),
                (agent_set_scripted_destination,reg(1),pos1),
(else_try),
(le,reg(3),2500),
(position_get_x,reg(4),pos1),
(position_get_x,reg(5),pos2),
(store_sub,":mad:_dist",reg(5),reg(4)),
(val_mul,":mad:_dist",10),
(position_get_y,reg(6),pos1),
(position_get_y,reg(7),pos2),
(store_sub,":y_dist",reg(7),reg(6)),
(val_mul,":y_dist",10),
(init_position,pos3),
(val_add,":mad:_dist",reg(5)),
(val_add,":y_dist",reg(7)),
(position_set_x,pos3,":mad:_dist"),
(position_set_y,pos3,":y_dist"),
        (position_set_z,pos3,10000),
        (position_set_z_to_ground_level,pos3),
(agent_set_scripted_destination,reg(1),pos3),
(else_try),
(get_distance_between_positions,reg(3),pos4,pos2),
(ge,reg(3),2000),
                      (init_position, pos6),
      (store_random_in_range,":mad:_pos_add",0,1000),
      (store_random_in_range,":y_pos_add",0,1000),
      (val_add,":mad:_pos_add",":mad:_pos"),
      (val_add,":y_pos_add",":y_pos"),
      (position_set_x,pos6,":mad:_pos_add"),
      (position_set_y,pos6,":y_pos_add"),
      (position_set_z,pos6,10000),
      (position_set_z_to_ground_level,pos6),
      (agent_set_scripted_destination,reg(1),pos6),
(try_end),
      (try_end),
      ]),
    ]),

(
    "wolf_hunting",mtf_battle_mode,-1,
    "You lead your wolfs to battle.",
    [
    (1,mtef_team_0|mtef_leader_only,0,aif_start_alarmed,12,[]),
    (4,mtef_visitor_source|mtef_team_2,0,aif_start_alarmed,0,[]),
    ],
    [
      (ti_tab_pressed, 0, 0, [ (set_trigger_result,1)], []), #leaving area
      (0, 0, ti_once, [ #spawing boars
    (party_count_members_of_type,":num_wolfs","$g_encountered_party","trp_wolf"),
    (val_sub,":num_wolfs",1),
    (ge,":num_wolfs",0),
                    (assign,"$num_wolfs_killed",0),
                    (get_scene_boundaries, pos10,pos11),
                    (position_get_x, ":scene_min_x", pos10),
                    (position_get_x, ":scene_max_x", pos11),
                    (position_get_y, ":scene_min_y", pos10),
                    (position_get_y, ":scene_max_y", pos11),
    (store_div,":border_x",":scene_max_x",10),
    (val_add,":scene_min_x",":border_x"),
    (val_sub,":scene_max_x",":border_x"),
    (store_div,":border_y",":scene_max_y",10),
    (val_add,":scene_min_y",":border_y"),
    (val_sub,":scene_max_y",":border_y"),
    (store_random_in_range,":mad:_pos",":scene_min_x",":scene_max_x"),
    (store_random_in_range,":y_pos",":scene_min_y",":scene_max_y"),
                    (init_position, pos1),
    (position_set_x,pos1,":mad:_pos"),
    (position_set_y,pos1,":y_pos"),
    (position_set_z,pos1,10000),
    (position_set_z_to_ground_level,pos1),
                    (set_spawn_position, pos1),
                    (spawn_horse, "itm_wolf"),
    (assign,"$leading_wolf",reg0),
    (try_for_range,":unused",0,":num_wolfs"),
                      (init_position, pos1),
      (store_random_in_range,":mad:_pos_add",0,1000),
      (store_random_in_range,":y_pos_add",0,1000),
      (val_add,":mad:_pos_add",":mad:_pos"),
      (val_add,":y_pos_add",":y_pos"),
      (position_set_x,pos1,":mad:_pos_add"),
      (position_set_y,pos1,":y_pos_add"),
      (position_set_z,pos1,10000),
      (position_set_z_to_ground_level,pos1),
      (set_spawn_position, pos1),
                      (spawn_horse, "itm_wolf"),
    (try_end),
                ], []),
#identifica el animal para sonido chief
      (ti_on_agent_killed_or_wounded, 0, 0, [
        (store_trigger_param_1, ":dead_agent_no"),
        (agent_get_troop_id,":cur_troop_id",":dead_agent_no"),

        (eq,":cur_troop_id","trp_wolf"),

      ],
      [(play_sound,"snd_wolf_short")]),
###sonidos acaba
      (1,0,0,[], #wounded boars move slower
      [(try_for_agents,reg(1)),
      (agent_get_item_id,reg(2),reg(1)),
      (eq,reg(2),"itm_wolf"),
      (store_agent_hit_points,reg(2),reg(1)),
      (store_mul,reg(3),20,reg(2)),
      (val_div,reg(3),100),
      (agent_set_speed_limit,reg(1),reg(3)),
      (try_end),
      ]),
      (5,0,0,
      [
      (neg|agent_is_alive,"$leading_wolf"),
      ],
      [
      (try_for_agents,reg(1)),
      (agent_get_item_id,reg(2),reg(1)),
(eq,reg(2),"itm_wolf"),
(assign,"$leading_wolf",reg(1)),
      (try_end),
      ]),
      (1,0,0,[],
      [
              (assign,":num_kills",0),
      (try_for_agents,reg(1)),
        (agent_get_item_id,reg(2),reg(1)),
        (eq,reg(2),"itm_wolf"),
                (store_agent_hit_points,reg(2),reg(1)),
(eq,reg(2),0),
(val_add,":num_kills",1),
      (try_end),   
      (gt,":num_kills","$num_wolfs_killed"),      
                    (get_scene_boundaries, pos10,pos11),
                    (position_get_x, ":scene_min_x", pos10),
                    (position_get_x, ":scene_max_x", pos11),
                    (position_get_y, ":scene_min_y", pos10),
                    (position_get_y, ":scene_max_y", pos11),
    (store_div,":border_x",":scene_max_x",10),
    (val_add,":scene_min_x",":border_x"),
    (val_sub,":scene_max_x",":border_x"),
    (store_div,":border_y",":scene_max_y",10),
    (val_add,":scene_min_y",":border_y"),
    (val_sub,":scene_max_y",":border_y"),
    (store_random_in_range,":mad:_pos",":scene_min_x",":scene_max_x"),
    (store_random_in_range,":y_pos",":scene_min_y",":scene_max_y"),
                    (init_position, pos1),
    (position_set_x,pos1,":mad:_pos"),
    (position_set_y,pos1,":y_pos"),
    (position_set_z,pos1,10000),
    (position_set_z_to_ground_level,pos1),
                    (agent_set_scripted_destination,"$leading_wolf",pos1),
            (assign,"$num_wolfs_killed",":num_kills"),
      ]),
      (5,0,0,[],
      [
      (agent_get_position,pos1,"$leading_wolf"),
      (position_get_x,":mad:_pos",pos1),
      (position_get_y,":y_pos",pos1),
      (this_or_next|le,":mad:_pos",5000),
      (this_or_next|le,":y_pos",5000),
      (this_or_next|ge,":mad:_pos",38000),
      (ge,":y_pos",38000),
                    (get_scene_boundaries, pos10,pos11),
                    (position_get_x, ":scene_min_x", pos10),
                    (position_get_x, ":scene_max_x", pos11),
                    (position_get_y, ":scene_min_y", pos10),
                    (position_get_y, ":scene_max_y", pos11),
    (store_div,":border_x",":scene_max_x",10),
    (val_add,":scene_min_x",":border_x"),
    (val_sub,":scene_max_x",":border_x"),
    (store_div,":border_y",":scene_max_y",10),
    (val_add,":scene_min_y",":border_y"),
    (val_sub,":scene_max_y",":border_y"),
    (store_random_in_range,":mad:_pos",":scene_min_x",":scene_max_x"),
    (store_random_in_range,":y_pos",":scene_min_y",":scene_max_y"),
                    (init_position, pos1),
    (position_set_x,pos1,":mad:_pos"),
    (position_set_y,pos1,":y_pos"),
    (position_set_z,pos1,10000),
    (position_set_z_to_ground_level,pos1),
                    (agent_set_scripted_destination,"$leading_wolf",pos1),
      ]),
      (1,0,0,[],
      [
      (try_for_agents,reg(1)),
(agent_get_item_id,reg(2),reg(1)),
(eq,reg(2),"itm_wolf"),
(store_agent_hit_points,":health",reg(1)),
(store_sub,":damage",100,":health"),
(agent_get_slot,":prev_damage",reg(1),1),
(neq,":prev_damage",":damage"),
(agent_set_slot,reg(1),1,":damage"),
        (agent_get_position,pos1,reg(1)),
        (position_get_x,":mad:_pos",pos1),
(position_get_y,":y_pos",pos1),
        (store_random_in_range,":mad:_pos_add",0,1000),
        (store_random_in_range,":y_pos_add",0,1000),
(val_add,":mad:_pos",":mad:_pos_add"),
(val_add,":y_pos",":y_pos_add"),
(position_set_x,pos1,":mad:_pos"),
(position_set_y,pos1,":y_pos"),
        (agent_set_scripted_destination,reg(1),pos1),
      (try_end),
      ]),
      (0.5,0,0, #boar travelling
      [],
      [
      (get_player_agent_no,reg(1)),
      (agent_get_position,pos1,reg(1)),
      (agent_get_position,pos4,"$leading_wolf"),
      (position_get_x,":mad:_pos",pos4),
      (position_get_y,":y_pos",pos4),
      (try_for_agents,reg(1)),
(agent_get_item_id,reg(2),reg(1)),
(eq,reg(2),"itm_wolf"),
        (agent_get_position,pos2,reg(1)),
(get_distance_between_positions,reg(3),pos1,pos2),
(try_begin),
        (position_get_x,":pos_x",pos2),
        (position_get_x,":pos_y",pos2),
    (position_get_x, ":scene_min_x", pos10),
                    (position_get_x, ":scene_max_x", pos11),
                    (position_get_y, ":scene_min_y", pos10),
                    (position_get_y, ":scene_max_y", pos11),
    (store_div,":border_x",":scene_max_x",10),
    (val_add,":scene_min_x",":border_x"),
    (val_sub,":scene_max_x",":border_x"),
    (store_div,":border_y",":scene_max_y",10),
    (val_add,":scene_min_y",":border_y"),
    (val_sub,":scene_max_y",":border_y"),
(this_or_next|gt,":pos_x",":scene_max_x"),
(this_or_next|lt,":pos_x",":scene_min_x"),
(this_or_next|gt,":pos_y",":scene_max_y"),
(lt,":pos_y",":scene_min_y"),
(store_random_in_range,":mad:_pos",":scene_min_x",":scene_max_x"),
(store_random_in_range,":y_pos",":scene_min_y",":scene_max_y"),
                (init_position, pos1),
(position_set_x,pos1,":mad:_pos"),
(position_set_y,pos1,":y_pos"),
(position_set_z,pos1,10000),
(position_set_z_to_ground_level,pos1),
                (agent_set_scripted_destination,reg(1),pos1),
(else_try),
(le,reg(3),2500),
(position_get_x,reg(4),pos1),
(position_get_x,reg(5),pos2),
(store_sub,":mad:_dist",reg(5),reg(4)),
(val_mul,":mad:_dist",10),
(position_get_y,reg(6),pos1),
(position_get_y,reg(7),pos2),
(store_sub,":y_dist",reg(7),reg(6)),
(val_mul,":y_dist",10),
(init_position,pos3),
(val_add,":mad:_dist",reg(5)),
(val_add,":y_dist",reg(7)),
(position_set_x,pos3,":mad:_dist"),
(position_set_y,pos3,":y_dist"),
        (position_set_z,pos3,10000),
        (position_set_z_to_ground_level,pos3),
(agent_set_scripted_destination,reg(1),pos3),
(else_try),
(get_distance_between_positions,reg(3),pos4,pos2),
(ge,reg(3),2000),
                      (init_position, pos6),
      (store_random_in_range,":mad:_pos_add",0,1000),
      (store_random_in_range,":y_pos_add",0,1000),
      (val_add,":mad:_pos_add",":mad:_pos"),
      (val_add,":y_pos_add",":y_pos"),
      (position_set_x,pos6,":mad:_pos_add"),
      (position_set_y,pos6,":y_pos_add"),
      (position_set_z,pos6,10000),
      (position_set_z_to_ground_level,pos6),
      (agent_set_scripted_destination,reg(1),pos6),
(try_end),
      (try_end),
      ]),
    ]),

module_party_templates.py
("deer_herd","Deer Herd",icon_cattle|carries_goods(10),0,fac_wild_animals,merchant_personality,[(trp_deer,16,40)]),
  ("wolf_herd","Wolf Pack",icon_cattle|carries_goods(10),0,fac_wild_animals,merchant_personality,[(trp_wolf,4,1:cool:]),

module_script.py
(else_try),
          (party_get_template_id, ":party_template","$g_encountered_party"),
  (eq,":party_template","pt_deer_herd"),
          (jump_to_menu, "mnu_deer_herd"),
        (else_try),
          (party_get_template_id, ":party_template","$g_encountered_party"),
  (eq,":party_template","pt_wolf_herd"),
          (jump_to_menu, "mnu_wolf_herd"),

module_simple_triggers.py
(item_set_slot, "itm_deer_meat", slot_item_food_bonus, 10),
      (item_set_slot, "itm_wolf_meat", slot_item_food_bonus, 12),

module_troops.py
["deer","Deer","Deer",0,no_scene,reserved,fac_neutral, [], def_attrib|level(0),wp(60),0,swadian_face_younger_1, swadian_face_younger_1],
  ["wolf","Wolf","Wolf",0,no_scene,reserved,fac_neutral, [], def_attrib|level(0),wp(80),0,swadian_face_younger_1, swadian_face_younger_1],

Danke im Voraus für die Lösungsvorschläge.
 
Du solltest bei solchen Anfragen darauf achten alle relevanten Infos zu geben. Das wichtigste wäre z.B. wo die Tiere nicht erscheinen. Auf der Worldmap? In der Scene? Interessant wäre auch zu wissen warum du denkst, dass es mit constants zusammenhängt. Weil die Aussage
Ich vermute, dass dies mit der module_constants Datei zusammenhängt.
ohne Erklärung und ohne constants recht sinnfrei ist.
 
Duh said:
Du solltest bei solchen Anfragen darauf achten alle relevanten Infos zu geben. Das wichtigste wäre z.B. wo die Tiere nicht erscheinen. Auf der Worldmap? In der Scene? Interessant wäre auch zu wissen warum du denkst, dass es mit constants zusammenhängt. Weil die Aussage
Ich vermute, dass dies mit der module_constants Datei zusammenhängt.
ohne Erklärung und ohne constants recht sinnfrei ist.

Sorry, die wichtigste Info habe ich natürlich vergessen zu erwähnen. War leider zu sehr beschäftigt schön brav die ganzen scripts hereinzukopieren.

Also, erscheinen sollen die Tiere, ähnlich wie die Banditen etc., als Map Icon auf der Worldmap. Danach sollte ich auf sie zugehen können und jagen.

Das mit den constants war nur so dahingedacht, weil dies das einzige Modul war was ich bis jetzt noch nicht bearbeitet habe.
Wozu die da sind, weiß ich absolut nicht.

Das wars im Großen und Ganzen, hoffentlich habe ich jetzt alle wichtigen Infos gegeben.
 
Und wo erscheinen sie jetzt nicht? Auf der Worldmap? Oder in der Scene?  :lol:

Constants deklariert variablen. I.e. alle variablen sind letztendlich Nummern. Da sich kein Mensch alle Nummern merken kann/will, kann man in constants slot_erklärung_hier = 250 deklarieren und dann werte in slot_erklärung_hier speichern.

Da ich in deinen kopierten Codes nix gesehen habe, dass entsprechende "Tier" Parties spawnt, gehe ich mal davon aus, dass sie auf der WM nicht erscheinen. Das liegt daran, dass du keine entsprechenden Parties spawnst. Sollte in game_start und/oder simple_triggers erledigt werden.
 
Duh said:
Und wo erscheinen sie jetzt nicht? Auf der Worldmap? Oder in der Scene?  :lol:
Wenn man es genau nimmt bei beiden!  :wink:
Primär aber auf der worldmap!

Duh said:
Constants deklariert variablen. I.e. alle variablen sind letztendlich Nummern. Da sich kein Mensch alle Nummern merken kann/will, kann man in constants slot_erklärung_hier = 250 deklarieren und dann werte in slot_erklärung_hier speichern.
Soso! Man lernt nie aus! Danke!

Duh said:
Da ich in deinen kopierten Codes nix gesehen habe, dass entsprechende "Tier" Parties spawnt, gehe ich mal davon aus, dass sie auf der WM nicht erscheinen. Das liegt daran, dass du keine entsprechenden Parties spawnst. Sollte in game_start und/oder simple_triggers erledigt werden.

In den script bei Brytenwalda habe ich auch kein "Spawn-Punkt" (wenn ich es einmal so ausdrücken darf) gefunden.
Ich hab dann einen gemacht und es hat trotzdem nicht funktioniert.

Naja ich werd den Fehler schon finden, so langsam erkenne ich bei dem ganzen scripten die Zusammenhänge.
 
Guck mal in party_templates rein und such nach einem template für tier parties. Dann schaust du in scripts und simple_triggers wo sie es benutzen.
 
Duh said:
Guck mal in party_templates rein und such nach einem template für tier parties. Dann schaust du in scripts und simple_triggers wo sie es benutzen.

Bin alle drei noch einmal durchgegangen und siehe da, da habe ich tatsächlich was übersehen (in der modul_scripts Datei). Jetzt klappt es!

Danke noch einmal für deine Hilfe!

lg
 
So hab schon wieder einmal eine Frage! (schön langsam brauch ich nen eigenen thread :lol:)

In meinem Mod hätte ich gerne die Möglichkeit wenn ich in einer Stadt bin, einen Priester besuchen und "kämpfende Mönche" zu rekrutieren.
Nun habe ich es geschafft, dass, wenn ich in einer Stadt angekommen bin, ein Menüpunkt erscheint, wo ich den Priester besuchen kann. Der Sceneeintritt (ich nenne es einfach einmal so) funktioniert auch. Auch der Priester erscheint. Nur habe ich absolut keine Ahnung wie man es schafft, dass man von den Priester die "kämpfenden Mönche" rekrutieren kann.

Also, kurz und gut: wie schaffe ich es, von meinem erschaffenen NPC Soldaten zu rekrutieren?

Hier habe ich noch die Scripteinträge:

Das neue Scene in der Stadt:
module_game_menus.py
("town_church",
      [(party_slot_eq,"$current_town",slot_party_type, spt_town),
      #    (eq, 1, 0), #check it if you want this menu not appear in town menu
          (eq,"$town_nighttime",0),
          (this_or_next|eq,"$entry_to_town_forbidden",0),
          (eq, "$sneaked_into_town",1),
          # (party_get_slot, ":scene", "$current_town", slot_town_store),
          # (scene_slot_eq, ":scene", slot_scene_visited, 1), #check if scene has been visited before to allow entry from menu. Otherwise scene will only be accessible from the town center.
            ],
      "Enter the church",
      [         
          (try_begin),
            (this_or_next|eq,"$all_doors_locked",1),
            (eq,"$town_nighttime",1),
            (display_message,"str_door_locked",0xFFFFAAAA),
          (else_try),
            (call_script, "script_cf_enter_center_location_bandit_check"), #Deactivate if you activate (eq, 1, 0)
          (else_try),
            (assign, "$town_entered", 1),
            (set_jump_mission, "mt_town_default"),
            (mission_tpl_entry_set_override_flags, "mt_town_default", 0, af_override_horse),
            (try_begin),
              (eq, "$sneaked_into_town",1),
              (mission_tpl_entry_set_override_flags, "mt_town_default", 0, af_override_all),
            (try_end),
  (party_set_slot, "p_town_1", slot_town_church,"scn_town_1_church"),
  (party_set_slot, "p_town_6", slot_town_church,"scn_town_6_church"),
            (party_get_slot, ":church_scene", "$current_town", slot_town_church),
            (jump_to_scene, ":church_scene"),
            (scene_set_slot, ":church_scene", slot_scene_visited, 1),
            (change_screen_mission),
          (try_end),
        ],"Door to the church."),

module_troops.py
["mod_priest_chief", "Priest", "Priest", tf_hero|tf_unmoveable_in_party_window, scn_town_6_church|entry(9), reserved, fac_commoners, [itm_pilgrim_disguise,itm_nomad_boots,itm_staff], str_8|agi_7|int_13|cha_7|level(4), wp(30), knows_merchant_npc|knows_ironflesh_1|knows_power_strike_1|knows_surgery_4|knows_wound_treatment_3|knows_first_aid_3, 0x000000078000500e4f8ba62a9cd5d36d00000000001e36250000000000000000 ],
["mod_fighting_monk", "Fighting Monk", "Fighting Monks", tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield, no_scene, reserved, fac_kingdom_4, [itm_ashwood_pike,itm_battle_fork,itm_battle_axe,itm_fighting_axe,itm_tab_shield_pavise_b,itm_bascinet_2,itm_surcoat_over_mail,itm_mail_chausses,itm_iron_greaves,itm_leather_gloves], def_attrib|level(24), wp(130), knows_athletics_3|knows_shield_2|knows_ironflesh_3, rhodok_face_middle_1, rhodok_face_older_2 ],

Wie gesagt, der neue Sceneeintritt in der Stadt klappt, auch der Priester erscheint nur weiß ich nicht wie ich von dem Priester Einheiten rekrutieren kann.

 
module_dialogs

Mach einen neuen Dialog der Geld überprüft (hat spieler genug), abzieht und Truppen hinzufügt. Du kannst dir dafür den Dialog der Mercs anschauen (komplexer als was du brauchst) oder wenn du die Floris Source hast, kannst du dir mein STAT Truppensystem angucken (STAT ist der Marker zum Suchen). Priester, Jäger, Händler, Späher, etc kann man bei uns in den diversen Scenen des Spiels rekrutieren.
 
Hallo zusammen
ich bin ganz neu hier und hätte da ein paar fragen :mrgreen:
also alles was man zum modden braucht hab ich alles hab ja schon etwas gemacht^^
naja alles bekomm ich leider noch nicht hin und da dachte ich mir das ihr mir vieleicht helfen könnt
ich sag euch einfachmal was ich gern machen möchte

1.Ich wollte ein paar neue Betriebe machen so wie die anderen die es schon gibt ,auch ein paar neue Grafiken aber da weis ich das Programm nicht um die zu machen ,
vieleicht auch betriebe die man in Dörfern machen kann

2.ein paar neue erweiterungen für Städte, Burgen und Dörfer die man bauen kann

3.Eigene Soldaten die ich rekrutieren kann (momentan holl ich mir die söldner aus den Tavernen)
also micht nervt es immer das wenn ich im Krieg bin die Moral bei den Volkseigen Soldaten die es beim Feind gibt sinkt, da ist es auch doof wenn ich erobere und da in den eroberten dörfern rekrutiere da ist die moral ja auch unten
ich hab mir das so gedacht
das wenn ich was erobere das ich dann meine eigenen soldaten rekrutieren kann
ein anderes beispiel wäre wenn zB. das Nord-Königreich eine stadt von Königreich Vägir erobert die dann auch in den neu dazu gekommenden Dörfen Nord-rekruten bekommen

4. Neue Produkte und Ausrüstung wo ich dann neue Grafiken machen möchte wo mir wieder das Progarmm dazu unbekannt ist

Tut mir leid für die vielen Fragen ich hoffe ihr könnt mir helfen

Gruß Dracol

Ps.das mit dem Jagen klinkt verdamt gut vieleicht mann mir da einer die datensätze geben den das hätte ich auch gern^^
 
Die einzigen Programme die du brauchst sind Python und das Module System.

1. Such in module_game_menus, module_scripts, module_dialogs und module_constants nach den Teilen des native Systems für Geschäfte. Füge die neuen entsprechend ein.
2. module_game_menus(zum Einfügen der Optionen), module_constants (zum Speichern von Werten), module_simple_triggers/scripts (für effekte)
3. module_game_menus, den Moral Effekt wirst du auch irgendwo im MS finden
4. gibt es Tuts in der Forge für - How to add an item oder so
 
Dank nicht zu früh, was du machen willst kann mehrere Stunden Arbeit Code suchen und schreiben beinhalten. Für einen Neuling durchaus mehrere Tage, wenn nicht Wochen.
 
Das suchen bin ich schon gewöhnt^^
was mich nur etwas verwirrt ist das mit den eigenen Soldaten in Dörfern rekrutieren nur in einem ordner steht
 
Steht nicht in einem Ordner. Steht auch nicht in einem Modul, wenn du damit das Native System meinst (das breitet sich über constants, scripts, game_menus und simple triggers aus iirc). Aber man braucht nur module_game_menus um eine Option, die für Geld truppen gibt, hinzuzufügen.
 
Back
Top Bottom