Ders: Sağlık ve Silah Paketleri

Users who are viewing this thread

HeLL4eWeR

Dersin asıl sahibi Arch3r'dır.
Konuda şu: Health boxes and weapon boxes



Bu ders ile Sağlık ve Silah paketleri hazırlamayı öğreneceğiz. Haydi başlayalım.

module_scene_props'u açın ve şunu aratın:

Code:
check_ladder_animation_finish_trigger = (ti_on_scene_prop_animation_finished,
    [
      (store_trigger_param_1, ":instance_id"),
      (prop_instance_enable_physics, ":instance_id", 1),
      ])

Devamına şunu ekleyin:
Code:
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),
    ])

Dosyanın en altınada şunu yapıştırın:
Code:
  ("tbfc_box5",spr_use_time(1),"box_a","bo_box_a", [
      check_weapon_box5
      ]),


Bunun gibi kodları kullanarakta paketler hazırlayabilirsiniz.
Code:
check_weapon_box1 = (ti_on_scene_prop_use,
    [
      (store_trigger_param_1, ":agent_id"),
      (store_trigger_param_2, ":instance_id"),

      (multiplayer_is_server),
      (assign, ":cost", 600), #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"), 
        (store_random_in_range, ":weapon", "itm_wooden_stick", "itm_wooden_shield"), #random weapon
        (item_get_type, ":weapon_type", ":weapon"),
        (this_or_next|eq, ":weapon_type", itp_type_one_handed_wpn),
        (this_or_next|eq, ":weapon_type", itp_type_two_handed_wpn),
        (this_or_next|eq, ":weapon_type", itp_type_polearm),
        (this_or_next|eq, ":weapon_type", itp_type_bow),
        (this_or_next|eq, ":weapon_type", itp_type_crossbow),
        (eq, ":weapon_type", itp_type_thrown),

        (prop_instance_get_position, pos1, ":instance_id"),
        (position_move_z,pos1,-5),
        (set_spawn_position, pos1),
        (spawn_item, ":weapon"),

        (val_sub, ":player_gold", ":cost"), #subtracting the cost from player money
        (player_set_gold, ":player_no", ":player_gold", multi_max_gold_that_can_be_stored),
      (try_end),
    ])

check_weapon_box2 = (ti_on_scene_prop_use,
    [
      (store_trigger_param_1, ":agent_id"),
      (store_trigger_param_2, ":instance_id"),

      (multiplayer_is_server),
      (assign, ":cost", 800), #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"), 
        (store_random_in_range, ":weapon", "itm_club", "itm_pickaxe"), #hammer
#        (item_get_type, ":weapon_type", ":weapon"),
#        (eq, ":weapon_type", itp_type_polearm),
        (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),
    ])
check_weapon_box3 = (ti_on_scene_prop_use,
    [
      (store_trigger_param_1, ":agent_id"),
      (store_trigger_param_2, ":instance_id"),

      (multiplayer_is_server),
      (assign, ":cost", 300), #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"), 

        (store_random_in_range, ":random", 1, 50), #wooden stick or superweapon
        (try_begin),
          (lt, ":random", 48),
          (assign, ":weapon", "itm_wooden_stick"),
        (else_try),
          (assign, ":weapon", "itm_claymore_of_whoop"),
        (try_end),

        (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),
    ])

check_weapon_box4 = (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"), 
        (store_random_in_range, ":weapon", "itm_wooden_shield", "itm_darts"), #shields
        (agent_refill_ammo,":agent_id"), #resupply
        (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),
    ])
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),
    ])
check_weapon_box6 = (ti_on_scene_prop_use,
    [
      (store_trigger_param_1, ":agent_id"),
      (store_trigger_param_2, ":instance_id"),

      (multiplayer_is_server),
      (assign, ":cost", 600), #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_d_long"), #long sword
        (val_sub, ":player_gold", ":cost"),
        (player_set_gold, ":player_no", ":player_gold", multi_max_gold_that_can_be_stored),
      (try_end),
    ])
##tBfC##

module_scripts'i açın ve şunu aratın:
Code:
script_game_get_use_string

Paketi burada nereye koyacağınızı belirleyin.

Code:
     (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"),
       (eq, ":scene_prop_id", "spr_siege_ladder_move_14m"),
       (assign, ":effected_object", ":scene_prop_id"),
     (try_end), 

Örneğin şunun
Code:
       (this_or_next|eq, ":scene_prop_id", "spr_siege_ladder_move_12m"),

altına bunu yapıştırın:
Code:
       (this_or_next|eq, ":scene_prop_id", "spr_tbfc_box5"),

module_strings'i açın.

Örneğin şunu gibi birşeyi satır olarak en alta ekleyin:
Code:
  ("yourstring", "Abuse the box"),

Altınada bunu ekleyin:
Code:
     (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),

Onunda altın bunu:
Code:
     (else_try), #using box
       (eq, ":effected_object", "spr_tbfc_box5"),
         (str_store_string, s0, "str_yourstring"),

Bazı görüntüler:
5511310503831_1.jpg

601196264361_2.jpg

Eksik gördüğünüz yeri lütfen bildirin. Ya da orjinal konuya bir göz atın.
 
Back
Top Bottom