(store_trigger_param_1, ":agent_id"),
(store_trigger_param_2, ":instance_id"),
(try_begin)
(multiplayer_is_server),
(agent_get_player_id,":pid",":agent_id"), #This one might be failing, but
(player_get_gold, ":gold", ":pid"), #this is where it definitely fails, it gives me weird player ids on a LAN dedicated server with only myself.
# ...get item price, check item price, remove gold, spawn item, try_end...
check_weapon_box5 = (ti_on_scene_prop_use,
[
(store_trigger_param_1, ":agent_id"),
(store_trigger_param_2, ":instance_id"),
(multiplayer_is_server),
(assign, ":cost", 2000), #gold required for healing
(agent_get_player_id,":player_no",":agent_id"),
(try_begin),
(player_is_active, ":player_no"),
(player_get_gold, ":player_gold", ":player_no"),
(gt, ":player_gold", ":cost"),
# (store_random_in_range, ":weapon", "itm_reveran_dagger", "itm_reveran_horse"), #tBfC weapons
(agent_set_hit_points,":agent_id",100,0), #refill health
(prop_instance_get_position, pos1, ":instance_id"),
(position_move_z,pos1,-5),
(set_spawn_position, pos1),
# (spawn_item, ":weapon"),
(val_sub, ":player_gold", ":cost"),
(player_set_gold, ":player_no", ":player_gold", multi_max_gold_that_can_be_stored),
(try_end),
])
Arch3r said:You can use chests for example to buy bodyguard troops.
Check my Open Source invasion codes, you might want to see how I spawned bots in my Invasion mod. http://forums.taleworlds.com/index.php/topic,112477.0.htmlAcid-NN-9 said:Arch3r said:You can use chests for example to buy bodyguard troops.
Mmm interesting.
I´m investigate how modify_visitors_at_scene and the spawn visitor operations works, because im a bit lost xD
Thanks!
check_weapon_rack_arming_sword = (ti_on_scene_prop_use,
[
(store_trigger_param_1, ":agent_id"),
(store_trigger_param_2, ":instance_id"),
(multiplayer_is_server),
(assign, ":cost", 500), #gold required for spawning a weapon
(agent_get_player_id,":player_no",":agent_id"),
(try_begin),
(player_is_active, ":player_no"),
(player_get_gold, ":player_gold", ":player_no"),
(gt, ":player_gold", ":cost"),
(prop_instance_get_position, pos1, ":instance_id"),
(position_move_z,pos1,-5),
(set_spawn_position, pos1),
(spawn_item, "itm_sword_medieval_c"), #arming sword swadian
(val_sub, ":player_gold", ":cost"),
(player_set_gold, ":player_no", ":player_gold", multi_max_gold_that_can_be_stored),
(try_end),
])
("tbfc_weapon_rack_arming_sword",spr_use_time(1),"weapon_rack","boweapon_rack", [
check_weapon_rack_arming_sword
]),
(else_try),
(this_or_next|eq, ":scene_prop_id", "spr_door_destructible"),
(this_or_next|eq, ":scene_prop_id", "spr_castle_f_door_b"),
(this_or_next|eq, ":scene_prop_id", "spr_castle_e_sally_door_a"),
(this_or_next|eq, ":scene_prop_id", "spr_castle_f_sally_door_a"),
(this_or_next|eq, ":scene_prop_id", "spr_earth_sally_gate_left"),
(this_or_next|eq, ":scene_prop_id", "spr_earth_sally_gate_right"),
(this_or_next|eq, ":scene_prop_id", "spr_viking_keep_destroy_sally_door_left"),
(this_or_next|eq, ":scene_prop_id", "spr_viking_keep_destroy_sally_door_right"),
(this_or_next|eq, ":scene_prop_id", "spr_castle_f_door_a"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_6m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_8m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_10m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_12m"),
(this_or_next|eq, ":scene_prop_id", "spr_weapon_rack_arming_sword"),
(eq, ":scene_prop_id", "spr_siege_ladder_move_14m"),
(assign, ":effected_object", ":scene_prop_id"),
(try_end),
check_weapon_rack_arming_sword = (ti_on_scene_prop_use,
[
(store_trigger_param_1, ":agent_id"),
(store_trigger_param_2, ":instance_id"),
(multiplayer_is_server),
(assign, ":cost", 500), #gold required for spawning a weapon
(agent_get_player_id,":player_no",":agent_id"),
(try_begin),
(player_is_active, ":player_no"),
(player_get_gold, ":player_gold", ":player_no"),
(gt, ":player_gold", ":cost"),
(prop_instance_get_position, pos1, ":instance_id"),
(position_move_z,pos1,-5),
(set_spawn_position, pos1),
(spawn_item, "itm_sword_medieval_c"), #arming sword swadian
(val_sub, ":player_gold", ":cost"),
(player_set_gold, ":player_no", ":player_gold", multi_max_gold_that_can_be_stored),
(try_end),
])
("weapon_rack_arming_sword",spr_use_time(1),"weapon_rack","boweapon_rack", [
check_weapon_rack_arming_sword
]),
(store_script_param, ":instance_id", 1),
(prop_instance_get_scene_prop_kind, ":scene_prop_id", ":instance_id"),
(try_begin),
(this_or_next|eq, ":scene_prop_id", "spr_winch_b"),
(eq, ":scene_prop_id", "spr_winch"),
(assign, ":effected_object", "spr_portcullis"),
(else_try),
(this_or_next|eq, ":scene_prop_id", "spr_door_destructible"),
(this_or_next|eq, ":scene_prop_id", "spr_castle_f_door_b"),
(this_or_next|eq, ":scene_prop_id", "spr_castle_e_sally_door_a"),
(this_or_next|eq, ":scene_prop_id", "spr_castle_f_sally_door_a"),
(this_or_next|eq, ":scene_prop_id", "spr_earth_sally_gate_left"),
(this_or_next|eq, ":scene_prop_id", "spr_earth_sally_gate_right"),
(this_or_next|eq, ":scene_prop_id", "spr_viking_keep_destroy_sally_door_left"),
(this_or_next|eq, ":scene_prop_id", "spr_viking_keep_destroy_sally_door_right"),
(this_or_next|eq, ":scene_prop_id", "spr_castle_f_door_a"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_6m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_8m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_10m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_12m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_14m"),
(this_or_next|eq, ":scene_prop_id", "spr_weapon_rack_arming_sword"),
(assign, ":effected_object", ":scene_prop_id"),
(try_end),
(scene_prop_get_slot, ":item_situation", ":instance_id", scene_prop_open_or_close_slot),
(try_begin), #opening/closing portcullis
(eq, ":effected_object", "spr_portcullis"),
(try_begin),
(eq, ":item_situation", 0),
(str_store_string, s0, "str_open_gate"),
(else_try),
(str_store_string, s0, "str_close_gate"),
(try_end),
(else_try), #opening/closing door
(this_or_next|eq, ":effected_object", "spr_door_destructible"),
(this_or_next|eq, ":effected_object", "spr_castle_f_door_b"),
(this_or_next|eq, ":effected_object", "spr_castle_e_sally_door_a"),
(this_or_next|eq, ":effected_object", "spr_castle_f_sally_door_a"),
(this_or_next|eq, ":effected_object", "spr_earth_sally_gate_left"),
(this_or_next|eq, ":effected_object", "spr_earth_sally_gate_right"),
(this_or_next|eq, ":effected_object", "spr_viking_keep_destroy_sally_door_left"),
(this_or_next|eq, ":effected_object", "spr_viking_keep_destroy_sally_door_right"),
(eq, ":effected_object", "spr_castle_f_door_a"),
(try_begin),
(eq, ":item_situation", 0),
(str_store_string, s0, "str_open_door"),
(else_try),
(str_store_string, s0, "str_close_door"),
(try_end),
(else_try), #raising/dropping ladder
(try_begin),
(eq, ":item_situation", 0),
(str_store_string, s0, "str_raise_ladder"),
(else_try),
(str_store_string, s0, "str_drop_ladder"),
(try_end),
(else_try),
(eq, ":effected_object", "spr_spr_weapon_rack_arming_sword"),
(str_store_string, s0, "@Add your string here"),
(try_end),
(this_or_next|eq, ":scene_prop_id", "spr_castle_f_door_a"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_6m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_8m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_10m"),
(this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_12m"),
(this_or_next|eq, ":scene_prop_id", "spr_weapon_rack_arming_sword"),
(eq, ":scene_prop_id", "spr_siege_ladder_move_14m"),
(assign, ":effected_object", ":scene_prop_id"),
(try_end),
(scene_prop_get_slot, ":item_situation", ":instance_id", scene_prop_open_or_close_slot),
(try_begin), #opening/closing portcullis
(eq, ":effected_object", "spr_portcullis"),
(try_begin),
(eq, ":item_situation", 0),
(str_store_string, s0, "str_open_gate"),
(else_try),
(str_store_string, s0, "str_close_gate"),
(try_end),
(else_try), #opening/closing door
(this_or_next|eq, ":effected_object", "spr_door_destructible"),
(this_or_next|eq, ":effected_object", "spr_castle_f_door_b"),
(this_or_next|eq, ":effected_object", "spr_castle_e_sally_door_a"),
(this_or_next|eq, ":effected_object", "spr_castle_f_sally_door_a"),
(this_or_next|eq, ":effected_object", "spr_earth_sally_gate_left"),
(this_or_next|eq, ":effected_object", "spr_earth_sally_gate_right"),
(this_or_next|eq, ":effected_object", "spr_viking_keep_destroy_sally_door_left"),
(this_or_next|eq, ":effected_object", "spr_viking_keep_destroy_sally_door_right"),
(eq, ":effected_object", "spr_castle_f_door_a"),
(try_begin),
(eq, ":item_situation", 0),
(str_store_string, s0, "str_open_door"),
(else_try),
(str_store_string, s0, "str_close_door"),
(try_end),
(else_try), #raising/dropping ladder
(try_begin),
(eq, ":item_situation", 0),
(str_store_string, s0, "str_raise_ladder"),
(else_try),
(str_store_string, s0, "str_drop_ladder"),
(try_end),
(else_try), #using box
(eq, ":effected_object", "spr_weapon_rack_arming_sword"),
(str_store_string, s0, "str_tageul"),
(try_end),
]),