Author Topic: Where to put scripts  (Read 1330 times)

0 Members and 1 Guest are viewing this topic.

Offline pengbuster

  • Sergeant Major
  • *
  • Posts: 231
  • Polkovnik of the 15y Ulanskii Tatarskii Polk
    • View Profile
  • Nick: pengbuster
  • Side: Neutral
Where to put scripts
« on: April 03, 2017, 09:01:42 pm »
I have these 2 scripts, I know which files to put them in, but how do I put them in?

module_mission_templates
Code
automatic_fire_init = (
    ti_before_mission_start, 0, ti_once, [],
   [
       (call_script, "script_autofire_reset_values"),
   ])
   
automatic_fire_test = (
    0.2, 0, 0,
   [
       (key_is_down, key_left_mouse_button),
      (neg|key_is_down, key_right_mouse_button),
      (assign, "$has_item_equipped", 0),
      (get_player_agent_no, ":player"),               
      (call_script, "script_autofire_agent_try_for_items_equipped", ":player", "itm_amer_ar", "itm_union_smg"),
      (eq, "$has_item_equipped", 1),
      (agent_is_alive, ":player"),
      (neg|agent_is_wounded, ":player"),
      (eq, "$autofire_lock", 0),
   ],
   [
        (assign, "$autofire_lock", 1),
       (try_begin),
        (gt, "$ammunition", 0),
        (try_for_agents, ":agent"),
           (get_player_agent_no, ":player"),
          (agent_get_position, pos3, ":player"),
           (position_move_x, pos3, 1),
           (position_move_y, pos3, 96),
           (position_move_z, pos3, 125),
          (particle_system_burst, "psys_muzzle_flash", pos3, 1), #You'll need to make your own muzzle flash particle system, it's rather simple.
               (play_sound, "snd_fullautotest"), #Change the sound to your liking
          (call_script, "script_autofire_get_agent_positions", ":player", ":agent"),
          (try_begin),
              (eq, "$autofire_damage", 1),
             (call_script, "script_autofire_damage_agent", ":player", ":agent", "psys_game_blood", 15, 10, 17), #Particle system not working yet
           (try_end),
                (val_sub, "$ammunition", 1),
       (try_end),
         (else_try),
            (eq, "$ammunition", 0),
            (agent_set_animation, ":player", "anim_reload_crossbow"), #Change the animation to your liking
            (assign, "$ammunition", 180),
         (try_end),       
       (assign, "$autofire_lock", 0),
   ])

autofire_ammo_init = ( #also needed, or you will enter scenes with no ammo.
ti_before_mission_start, 0, ti_once, [],

 [(get_player_agent_no, ":player"),
  (agent_has_item_equipped, "itm_cartridges"),
  (assign, "$ammunition", 180),
   ])

module_scripts
Code
#Autofire script by cdvader and Rize---------------------------------------------------------         
   #script_autofire_damage_agent
   #Input 1: Damager.
   #Input 2: Agent.
   #Input 3: Particle System Burst.
   #Input 4: Particle System Burst Power.
   #Input 5: Random damage value BEGIN.
   #Input 6: Random damage value END.
   #Output: Damage.
   ("autofire_damage_agent",
   [
       (store_script_param, ":player", 1),
      (store_script_param, ":agent", 2),
      (store_script_param, ":psys", 3),
      (store_script_param, ":psys_power", 4),
      (store_script_param, ":l_range", 5),
      (store_script_param, ":h_range", 6),               
      (try_begin),
          (agent_get_position, pos1, ":agent"),
                    (agent_get_position, pos2, ":player"),
                    (neg|position_is_behind_position, pos1, pos2),
         (particle_system_burst, ":psys", pos1, ":psys_power"),
          (store_agent_hit_points, ":hp", ":agent", 1),
         (store_random_in_range, ":rand", ":l_range", ":h_range"),
         (val_sub, ":hp", ":rand"),
         (val_max, ":hp", 0),
         (neq, ":agent", ":player"),
         (agent_is_alive, ":agent"),
         (agent_set_hit_points, ":agent", ":hp", 1),
         (assign, reg1, ":hp"),
         (try_begin),
            (gt, reg1, 0),
            (display_message, "@Delivered {reg1} damage."),
         (try_end),
         (try_begin),
             (lt, ":hp", 1),
            (agent_deliver_damage_to_agent, ":player", ":agent"),
         (try_end),                   
      (try_end),
   ]),

    #script_autofire_agent_has_item_equipped
   #Input 1: Agent.
   #Input 2: Weapon item.
   #Output: $has_item_equipped variable.
   ("autofire_agent_has_item_equipped",
   [
       (store_script_param, ":agent", 1),
      (store_script_param, ":item", 2),
      (try_begin),
          (agent_get_wielded_item, ":w_item", ":agent", 0),
         (eq, ":w_item", ":item"),
         (assign, "$has_item_equipped", 1),
      (else_try),
          (assign, "$has_item_equipped", 0),
      (try_end),
   ]),
   
   #script_autofire_agent_try_for_items_equipped
   #Input 1: Agent.
   #Input 2: Weapon item BEGIN.
   #Input 3: Weapon item END.
   #Output: $has_item_equipped variable.
   ("autofire_agent_try_for_items_equipped",
   [
       (store_script_param, ":agent", 1),
      (store_script_param, ":item_begin", 2),
      (store_script_param, ":item_end", 3),
      (try_for_range, ":all_items", ":item_begin", ":item_end"),
         (agent_get_wielded_item, ":w_item", ":agent", 0),
         (is_between, ":w_item", ":all_items"),
         (assign, "$has_item_equipped", 1),
      (else_try),
          (agent_get_wielded_item, ":w_item", ":agent", 0),
         (eq, ":w_item", ":item_begin"),
         (assign, "$has_item_equipped", 1),
      (else_try),
          (agent_get_wielded_item, ":w_item", ":agent", 0),
         (eq, ":w_item", ":item_end"),
         (assign, "$has_item_equipped", 1),
                (else_try),
                    (troop_get_type, ":walker", ":agent"),
                    (eq, ":walker", tf_walker),
                    (assign, "$has_item_equipped", 1),
      (else_try),
          (assign, "$has_item_equipped", 0),
      (try_end),
   ]),   
   
   #script_autofire_reset_values
   #Input: None.
   #Output: Resetted values.
   ("autofire_reset_values",
   [
      #(assign, "$dist_val", 100),
       (assign, "$autofire_lock", 0),
       (assign, "$autofire_damage", 0),
      (assign, "$has_item_equipped", 0),
   ]),
   
    #script_autofire_get_agent_positions
   #Input 1: Shooter.
   #Input 2: Agent.
   #Output: Positions.
   ("autofire_get_agent_positions",
   [
       (store_script_param, ":player", 1),
      (store_script_param, ":agent", 2),
       (agent_get_look_position, pos1, ":player"),
      (agent_get_position, pos2, ":agent"),
               (agent_get_position, pos3, ":player"),
      (get_distance_between_positions, ":dist", pos1, pos2),
      #(assign, "$dist_val", 100),
               (get_distance_between_positions, ":range", pos2, pos3),
               (lt, ":range", 2000), #Increase range here
      (try_begin),
          (neq, ":agent", ":player"),
          (lt, ":dist", 100),
         (assign, "$autofire_damage", 1),
      (else_try), #TODO: Fix this try_for_range loop to drastically decrease the size of the script.
          #(try_for_range, reg2, 0, 250),
          #    (neq, ":agent", ":player"),
          #    (position_move_y, pos1, 100),
         #    (position_move_z, pos1, -100),
         #    (get_distance_between_positions, ":dist", pos1, pos2),
         #   (val_add, "$dist_val", 100),
         #   (lt, ":dist", "$dist_val"),
         #    (assign, "$autofire_damage", 1),
          #(try_end),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
                        (neg|position_is_behind_position, pos2, pos1),
         (lt, ":dist", 200),
         (assign, "$autofire_damage", 1),
      (else_try),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
                        (neg|position_is_behind_position, pos2, pos1),
         (lt, ":dist", 300),
         (assign, "$autofire_damage", 1),
      (else_try),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
         (neg|position_is_behind_position, pos2, pos1),
                        (lt, ":dist", 400),
         (assign, "$autofire_damage", 1),
                (else_try),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
         (lt, ":dist", 500),
                        (neg|position_is_behind_position, pos2, pos1),
         (assign, "$autofire_damage", 1),
      (else_try),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
                        (neg|position_is_behind_position, pos2, pos1),
         (lt, ":dist", 600),
         (assign, "$autofire_damage", 1),
      (else_try),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
                        (neg|position_is_behind_position, pos2, pos1),
         (lt, ":dist", 700),
         (assign, "$autofire_damage", 1),
      (else_try),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
                        (neg|position_is_behind_position, pos2, pos1),
         (lt, ":dist", 800),
         (assign, "$autofire_damage", 1),
      (else_try),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
                        (neg|position_is_behind_position, pos2, pos1),
         (lt, ":dist", 900),
         (assign, "$autofire_damage", 1),
      (else_try),
         (neq, ":agent", ":player"),
         (position_move_y, pos1, 100),
         (position_move_z, pos1, -100),
         (get_distance_between_positions, ":dist", pos1, pos2),
                        (neg|position_is_behind_position, pos2, pos1),
         (lt, ":dist", 1000),
         (assign, "$autofire_damage", 1),
      (else_try),
          (assign, "$autofire_damage", 0),
      (try_end),
   ]),
#---------------------------------------------------------

Offline Thunderstormer

  • FSE Developer
  • ****
  • Posts: 6309
  • Worse than Hotler
    • View Profile
  • Side: Neutral
Re: Where to put scripts
« Reply #1 on: April 03, 2017, 09:24:32 pm »
eh, you didn't specify exactly if you knew where to stick them.  As in the text files, or the python files.  So ill say this.   Those go in their  respective python files, where they get compiled into text files. 

Anyways, i am not familiar with those scripts, so i would say ask someone that knows them or the person that made them. 
Should you need to talk to me regarding NA1 or or something regarding admining or the admins, PM me here on the forums and not on steam.  *

*This does not include Official Server Admins.