Men of War: Assault Squad 2 features new single player style skirmish modes that take players from extreme tank combat to deadly sniper stealth missions. Commanders can now faceoff against opponents on various new multiplayer 1v1 – 4v4 maps. To truly bring the battles to life though there is the new 8v8 game mode designed for huge battles on spectacular maps. This new Assault Squad game brings significant game engine and visual improvements as well, with special attention paid to ones that were highly requested by the players.

Post tutorial Report RSS Air and Para Script - Beta

A simple and easy to understand script, to return the Airplanes and Helicopters to Men of War with paratrooper function, as its really unrealistic to have planes without para drop option, by this every one can extend their mod capabilities to make them more relevant compare to fact that MOW 2 have no script for airborne entities, it also adds fighters and transport planes of each faction from base game assets for demonstration.

Posted by on - Intermediate Installers

Requirements:

Air and Para Script - Beta - 1.6 - Google Drive

Air and Para Script - Beta - 1.6 - Dropbox

Steam Workshop Link

Details:

Well its really easy to install but need to understand that what this script does, as it spawn your airborne entities elevated above in sky and that entity start hovering like it does on Call to Arms, you don't have to manually takeoff them and make your pilot or paratroops drop through parachute, for better understanding I include base game airborne entities and make them sync with this script for understanding that how any airborne entity can be used with this script, So just extract following mention files from provided mod to your mod and merge/add provided codes in your mod files.

Example Pictures:

1693557944 preview 2019032507220

AAA

Step One:

- Copy/Extract parachute_new and parachute_vehicle folder from "resource\entity\-vehicle" provided file to same folder to your mod.

- Copy / Replace / Merge (depend on mod structure) "common_mp_scripts.inc" file to "map" folder along with map files in "multi" folder.

- I already added script to all base game maps but to add and activate script in custom maps add following line right after:

{mission

Code:

==========================================================
(include "/map/common_mp_scripts.inc")
==========================================================

- In following files of map(s):

battle_zones.mi

captureflag.mi

combat.mi

In each newly added maps folder(s).

Step Two (Optional):

- Go to localization folder of mod or create one if your mod don't have and copy the files from base game localization.pak file, open it with winrar, as this step for those mods whom don't have airborne entities in mod or have but didn't work properly.

- To add separate button in game menu for Airplane or any other entity add following line in "#dlg_mp.lng" right between following category, find:

{"hint_

Add code:

==========================================================
   {"hint_v6" "Aircraft"}
==========================================================

Explanation: Hint is when you took mouse over button it explains that what category of entities does this button contain.

-Add following lines in "desc.lng" file right after:

 {"entity"

Code:

==========================================================
  {"Airborne Entity Name from Entity Definition .def file in Entity folder (must be same)" "Entity Name Appear in Game (of your choice)"}
==========================================================

- Add following lines in "info.lng" file right after:

 {"entity"

- Code:

==========================================================
{"Airborne Entity Name from Entity Definition .def file in Entity folder (must be same)"  "Description of your choice""}
==========================================================

Step Three:

- Go to properties folder and add following lines in "airborne.ext"

- Find and add line after:

{collider "airborne"}

Code:

==========================================================
(mod "mp" {props "cw_autotakeoff"} )
{props "able_paradrop"}
==========================================================

- Find and add line after:

{Chassis "airborne"
 ("chassis_defaults")
 {locomotion
  {Maxspeed   95 } ; kmph
     {turnRadius  40 } ; m
  {StartTime   6  } ; ¢à¥¬ï à §£®­  ¤® ¬ ªá. ᪮à®á⨠á 0, seconds
  {BrakeTime   4  } ; ¢à¥¬ï â®à¬®¦¥­¨ï á ¬ ªá. ᪮à®á⨠¤® 0, seconds
  {StopTime  7  } ; ¢à¥¬ï ®áâ ­®¢ª¨ ¯®á«¥ ®âª«î祭¨ï ¤¢¨£ ⥫ï á ¬ ªá. ᪮à®á⨠¤® 0, seconds
 }
 {dontUseSlope}
 {ignorePatherBounds}
 {disableBackward}

Code:

==========================================================
 {altitude  20}
==========================================================

- Change it according to your mod.

- Find and add line after:

{component "retract_wheelL"
 {RepairTime 15}
 {tags "mover"}
}

- Code:

=====================================================================================================
=====================================================================================================

(define "chassis_defaults"
 {FuelBag
  {volume  200 }
  {rate  20 }
  {remain  150 }
  {fuel  "fuel"}
 }
 {speed
  {Slow  5 }
  {Normal  15 }
  {Fast  30 }
 }
)
{Chassis "wheel"
  ("chassis_defaults")
 {locomotion
  {MaxSpeed    30 }
  {StartTime   4  }
  {BrakeTime   1  }
  {StopTime  2  }
 }
 (mod "mp"
 {FuelBag
  {volume  2200 }
  {rate  320 }
  {remain  2000 }
  {fuel  "fuel"}
 }
 )
}
{Chassis "airborne"
  ("chassis_defaults")
 {locomotion
  {Maxspeed   95 }
  {turnRadius  40 }
  {StartTime   4  }
  {BrakeTime   6  }
  {StopTime  10  }
 }
 (mod "mp"
 {FuelBag
  {volume  500 }
  {rate  1 }
  {remain  495 }
  {fuel  "fuel"}
 }
 )
  {dontUseSlope}
  {ignorePatherBounds}
  {disableBackward}
  {sideSlopeSpeed  25}
  {maxSideSlope  15}
  {maxElevationSpeed 5}
  {elevationAcceleration 2}
}
 
{chassisManager
  {current "wheel"}
}
  {simulatorId "airborne"}
(define "locomotion"
  {StartTime 5}
  {BrakeTime 2}
  {StopTime 4}
  {SteerOn 15}
  {SteerOff 15}
  {SplineRadius 5}
)

(define "Chassis_parameters"
 {Chassis "wheel"
  ("chassis_defaults")
 {locomotion
  {MaxSpeed    50 }
  {StartTime   100 }
  {BrakeTime   2 }
  {StopTime  4 }
  {maxSpeedAtMaxTurn  15}
  {TurnRadius  15}
  {Gears   0.2 0.3 0.5 0.8 1.0}
  {RearGears  0.05}
 }
  {disableBackward}
 }
 {Chassis "airborne"
 {FuelBag
  {volume %Fuel }
  {rate %Fuel_rate }
 (mod "mp"
  {rate 1 }
 )
  {remain %Fuel_remain }
  {fuel "fuel"}
 }
 {locomotion
  {Maxspeed   %Speed }
  {turnRadius  %TurnRadius }
  {StartTime   (* %Speed 0.15)  }
  {BrakeTime   (* %Speed 0.05)  }
  {StopTime  (* %Speed 0.08)  }
  {StartTime   (* %Speed 0.03)  }
  {BrakeTime   (* %Speed 0.08)  }
  {StopTime  (* %Speed 0.12)  }
 }
  {dontUseSlope}
  {ignorePatherBounds}
  {disableBackward}
  {sideSlopeSpeed (* �c_hor 5)}
  {maxSideSlope (* %Maneuvrability_hor 7.5)}
  {maxElevationSpeed (* �c_ver 1.5)}
  {elevationAcceleration (* %Maneuvrability_ver 0.8)}
 }
 {chassisManager
  {current "wheel"}
 }
  {simulatorId "airborne"}
)
=====================================================================================================
=====================================================================================================

Step Four:

- Add following lines in "entitymanager.set" in Set folder after

{entitymanager

- Code:

========================================================================
	{group "parashute" stuff
		{remove dissolve}
		(mod "mp"	{limit 12})
		(mod not "mp"   {limit 18})
		{entity "parachute_new_ground"}
		{entity "parachute_veh_ground"}
	}
========================================================================

- Go to "resource\set\multiplayer\games" and Replace following line in

presets_all.inc

presets_competitive.inc

presets_competitive_8x8.inc

presets_test.inc

presets_user.inc

{buttons "squad1 squad2 v1 v2 v3 v4 v5"}

Code:

    {buttons "squad1 squad2 v1 v2 v3 v4 v5 v6"}

- Go to "resource\set\multiplayer\units" and find following line to add code afterwards in "vehicles.set":

generic_v

Code:

===============================================================================================
===============================================================================================

; 1 Aircraft with Tankmen and Elite
(define "vse"
    ("generic_v" c(%c) sc(%sc) t(%t %s) g(%g) b(%b) cw(%cw) cp(%cp))
    {content "* ( mp/%s/tankman:%n1 mp/%s/tankman2:%n2 mp/%s/Elite4:%n3)"}
)

===============================================================================================
===============================================================================================

Explanation: You can replace Tankmen with pilots depend on the model available in your mod, for that check soldiers.set file, where n1, n2, n3 is number of sequence by which they took position in vehicle.

- Go to "resource\set\multiplayer\units" and add following codes in faction specific .set files (depend on mod it could be US army Vehicles .set or vehicles_eng .set etc etc)

==============================================================================

;°°°Button 6 (Depend on your mod sequence it could be 7 or 8 or 9 and so on)°°°

{"Airborne Entity Name from Entity Definition .def file in Entity folder (must be same)"     ("vse" c(60) t(all)  s(eng) n1(1) n2(1) n3(0) sc(5) b(v6) cw(0) cp(0)) {level 1} {cost 300} {fore 0.5}}

==============================================================================

- Explanation: Entity name at start same as the .def name from entity folder s = faction short name rest is self explanatory.

Step Five:

- Go to "resource\set\interaction_entity" and add following codes in airborne.inc:

- Find and add code after:

 {on fire "zenite"
  (define "fire_barrel"
   name "%0"
    {view start "flashbarrel%0"}
    {delay 0.42
     {view pause "flashbarrel%0"}
    }
  )
  
  {if    ("fire_barrel" args 00)
    else ("fire_barrel" args 01)
    else ("fire_barrel" args 02)
    else ("fire_barrel" args 03)
    else ("fire_barrel" args 04)
  }
 }

Code:

=============================================================================================
=============================================================================================

 {on "cwsh_switch_hatch" overload
  {if chassis "airborne"
  {if tagged "heli_in_flight"
  {if tagged "cwhs_hovering"
   {tags add "cwhs_accelerate_me"}
   {components "zpu_indicator" repair}
   {tags remove "cwhs_hovering"}
   {tags remove "cwhs_deccelerate_me"}
    else tagged "cwhs_deccelerate_me"
   {tags add "cwhs_accelerate_me"}
   {components "zpu_indicator" repair}
   {tags remove "cwhs_deccelerate_me"}
    else
   {tags add "cwhs_deccelerate_me"}
   {components "zpu_indicator" break}
   {tags remove "cwhs_accelerate_me"}
  }
   {call "cwhs_change_speed"}
     else
  {if tagged "cwhs_hovering"
   {tags remove "cwhs_hovering"}
     else
   {tags add "cwhs_hovering"}
  }
  }
     else chassis "helicopter"
   {call "paradrop"}
  }
 }  

=============================================================================================
=============================================================================================

- Find and add code before:

{"bomber"

- Code:

=============================================================================================
=============================================================================================

(define "paradrop_crew_member_with_alt"
 {if rand 0.5
 {if rand 0.5
 {if rand 0.5
  ("paradrop_crew_member_with_alt_r" args %0 0)
    else
  ("paradrop_crew_member_with_alt_r" args %0 1)
 }
    else
 {if rand 0.5
  ("paradrop_crew_member_with_alt_r" args %0 2)
    else
  ("paradrop_crew_member_with_alt_r" args %0 3)
 }
 }
    else
 {if rand 0.5
 {if rand 0.5
  ("paradrop_crew_member_with_alt_r" args %0 4)
    else
  ("paradrop_crew_member_with_alt_r" args %0 5)
 }
    else
 {if rand 0.5
  ("paradrop_crew_member_with_alt_r" args %0 6)
    else
  ("paradrop_crew_member_with_alt_r" args %0 7)
 }
 }
 }
)

(define "paradrop_crew_member_with_alt_r"
  {tags add "heli_paradrop%1"}
 {spawn "parachute_new"  "basis" x no_position
  {tags add "heli_parashute%1"}
  {call "start_alt_%0"}
 }
)

(define "eject_crewman"
 {delay 0.3
 {if not tagged "destroyed"
  {link_sound "eject" "vehicle/airborne/eject/eject"}
  {play_sound "eject"}
  {ani_play "%fx_bone_name" callback}
  {add_view "eject" "fx_%fx_bone_name" "fx_%fx_bone_name"}
  {add_view "proj_smoke" "fx_%fx_bone_name" "fx_%fx_bone_name"}
  {view start "fx_%fx_bone_name"}
  {delay 0.3 {view pause "fx_%fx_bone_name"}}
 }
 }
)

(define "update_hatch"
 {if not operatable
 {if %wind
  {ani_wind "open" end}
   else
  {ani_play "open" +1.0 resume}
 }
   else
 {if crew_in_place "driver"
  {call "fonar_open"}
   else
 {if %wind
  {ani_wind "open" begin}
   else
  {ani_play "open" -1.0 resume}
 }
 }
 }
)

{"parashute_torch"
 {on spawn
  {impulse up 0.1 com}
  {gravity 0.3}
  {delay 0.1 {volumes "body" enable contact}}
  {constrain_velocity 1.5}
  {call "loop_detect"}
 }
 {on "loop_detect"
  {impulse up -0.5 com}
  {delay 1 {call "loop_detect"}}
  {if not altitude 1 {call "self_destruct"}}
  {constrain_velocity 5}
 }
 {on ground_hit
  {call "self_destruct"}
 }
 {on contact
  {call "self_destruct"}
 }
 {on blast
  {call "self_destruct"}
 }
 {on "self_destruct"
  {delete}
 }
}

{"paratorch"
 {on spawn
  {add_view "signal_rocket_big" "flare" "body"}
  {view start "flare"}
  {delay 60 {call "self_destruct"}}
 }
} 

{"paratorch_small"
 {on spawn
  {add_view "signal_rocket" "flare" "body"}
  {view start "flare"}
  {delay 30 {call "self_destruct"}}
 }
}

=============================================================================================
=============================================================================================

- Go to dummy.inc and add following codes:

- Find and add code before:

{"random_animation"

Code:

=============================================================================================
=============================================================================================

{"stuff no_blast_physics"
  {on "blast_physics" overload}
}
{"paratrooper"
 {on spawn
  {tags add "paratrooper_air"}
  {view hide "parachute_x"}
 }
 {on "start"
  {ani_play "flight" callback}
 }
 {on animation_end "flight"
  {tags add "paratrooper"}
  {ani_play "landing" callback}
 }
 {on animation_end "landing"
  {view show "parachute_x"}
 }
 }
 {"paratrooper_attach"
 {on "start"
  {animate_place "attach" "paratruper_flight"}
 }
 {on animation_end "flight"
 {with_linked_entity "attach"
  {get_off}
 }
 }
}
{"parachute_new"
 {on spawn
  {bone hide "para"}
  {link_sound "ParachuteOpen" "vehicle/shot/airborne/ParachuteOpen"}
 }
 (define "para_tags_remove"
  {tags remove "heli_parashute0"}
  {tags remove "heli_parashute1"}
  {tags remove "heli_parashute2"}
  {tags remove "heli_parashute3"}
  {tags remove "heli_parashute4"}
  {tags remove "heli_parashute5"}
  {tags remove "heli_parashute6"}
  {tags remove "heli_parashute7"}
  {tags remove "heli_parashute8"}
 )
 (define "crew_tags_remove")
 (define "altitude_step"
  {on "start_alt_%0"
   {play_sound "ParachuteOpen" 1}
   {ani_play "altitude%0" callback}
   {ani_play "open"}
   {delay 0.2 {animate_place "attach" "paratruper_flight"}}
  }
  {on animation_end "altitude%0"
   ("para_tags_remove")
   {ani_stop "open"}
   {ani_play "landing" callback}
  {with_linked_entity "attach"
   {get_off}
  }
   {delay 3 {bone cut "attach"}}
  }
 )
   ("altitude_step" args 1)
   ("altitude_step" args 2)
   ("altitude_step" args 3)
   ("altitude_step" args 4)
   ("altitude_step" args 5)
   ("altitude_step" args 6)
   ("altitude_step" args 7)
 {on crew in
  ("spawn")
  ("para_tags_remove")
  {bone show "para"}
 {with_linked_entity "attach"
  {tags remove "heli_paradrop0"}
  {tags remove "heli_paradrop1"}
  {tags remove "heli_paradrop2"}
  {tags remove "heli_paradrop3"}
  {tags remove "heli_paradrop4"}
  {tags remove "heli_paradrop5"}
  {tags remove "heli_paradrop6"}
  {tags remove "heli_paradrop7"}
 }
 }
 {on animation_end "landing"
  {spawn "parachute_new_ground" "root" x}
  {hide 5}
 }
 }
 {"parachute_veh"
 {on spawn
  {link_sound "ParachuteOpen" "vehicle/shot/airborne/ParachuteOpen"}
  {volumes "body" disable contact bullet blast}
  {volumes "body1" disable contact bullet blast}
 }
 (define "para_tags_remove"
  {tags remove "heli_parashute0"}
  {tags remove "heli_parashute1"}
  {tags remove "heli_parashute2"}
  {tags remove "heli_parashute3"}
  {tags remove "heli_parashute4"}
  {tags remove "heli_parashute5"}
  {tags remove "heli_parashute6"}
  {tags remove "heli_parashute7"}
  {tags remove "heli_parashute8"}
 {with_linked_entity "attach"
  {tags remove "heli_paradrop0"}
  {tags remove "heli_paradrop1"}
  {tags remove "heli_paradrop2"}
  {tags remove "heli_paradrop3"}
  {tags remove "heli_paradrop4"}
  {tags remove "heli_paradrop5"}
  {tags remove "heli_paradrop6"}
  {tags remove "heli_paradrop7"}
 }
 )
 {on "start"
  {play_sound "ParachuteOpen" 1}
  {ani_play "start" callback}
  {ani_play "open"}
  {ani_play "bags_open"}
  {impulse forward 50 com}
 {delay 0.01
  {gravity 1}
  {constrain_velocity 50}
 }
  {delay 2 {call "loop_detect"} {constrain_velocity 40}}
  {delay 7 {constrain_velocity 30}}
 }
 {on "loop_detect"
  {if not altitude 2 {call "collide"} else {delay 0.2 {call "loop_detect"}}}
 }
 {on animation_end "start"
  ("para_tags_remove")
  {ani_play "swing"}
 }
 {on "collide"
  {impulse up -0.01 com}
  {ani_stop "open"}
  {ani_stop "start"}
  {ani_stop "bags_open"}
  {ani_stop "swing"}
  {ani_play "land" callback}
  {ani_play "bags_close"}
  {volumes "bags" disable contact_ground}
  {spawn "dust_shot_big_2"}
  {with_linked_entity "attach" {delay 0.85 {constrain_velocity 1} {delay 0.05 {impulse up -0.01 com}} {delay 0.1 {constrain_velocity 1}} }}
  {delay 0.9 {bone cut "attach"}}
 }
  {on contact {call "collide"}}
 {on animation_end "land"
  {spawn "parachute_veh_ground" "basis" x {hide 15}}
 {tear "piece_medium_steel" bone "Para_platform"
  {impulse up 0.2 0.1 dir 2 1}
 {volumes "body1" enable  contact bullet blast}
 }
  {hide 5}
 }
}

=============================================================================================
=============================================================================================

- Go to human.inc find and add following codes:

- Find and add code before:

 {on "die_with_blood"

- Code:

=============================================================================================
=============================================================================================

{on "linker_simulation"
 {if effector "airborne"
   else effector "cannon"
   else altitude 3
  {throw_off up 1 forward 2 die force}
 }
 }
 {on "knock_down"
 {if not water_level -0.1
  {knockdown 8 3}
 }
 }
 {on "die"
 {if not dead
  {spawn "bloodsparks_small"}
 {if linked
 {if linked "shipflak"
  {call "throw_off_from_ship"}
   else linked "doublecolt"
  {call "throw_off_from_ship"}
   else linked "car"
 {if place "driver"
  {throw_off up 1.6 forward 2 turn -90 die force rotate_to_dir}
   else place "commander"
  {throw_off up 1.6 forward 2 turn +90 die force rotate_to_dir}
   else
  {call "die_with_blood"}
 }
   else altitude 2
 {if boarding
  {call "throw_off_from_ladder"}
   else
  {call "throw_off_from_tower"}
 }
   else linked "cannon"
  {call "die_with_blood"}
   else linked "airborne"
  {call "throw_off_from_ship"}
   else linked "vehicle"
  {call "throw_off_from_vehicle"}
   else
  {call "die_with_blood"}
 }
   else
  {call "die_with_blood"}
 }
 }
}

=============================================================================================
=============================================================================================

- Find and add code after following lines:

 {on board out
  {if effector "mtb_d3"
   {if name "emit1" "emit2" "emit3" "emit4"
    {delay 0.7
     {spawn "spherewater_big"}
    }
   }
  }

Code:


=============================================================================================
=============================================================================================

(define "paradrop_crew_member_with_alt_"
 {if linked "Vehicle Name 1"
 {if name "emit1" "emit2"
  {delay  1.2 ("paradrop_crew_member_with_alt" args %0)}
   else name "ropel_node5" "roper_node5"
  {delay  0.1 ("paradrop_crew_member_with_alt" args %0)}
 }
   else linked "Vehicle Name 2"
  {delay 2.8 ("paradrop_crew_member_with_alt" args %0)}
   else linked "Vehicle Name 3"
  {delay 2.8 ("paradrop_crew_member_with_alt" args %0)}
   else linked "Vehicle Name 4"
  {delay 2.8 ("paradrop_crew_member_with_alt" args %0)}
   else linked "Vehicle Name 5"
 {if name "emit1" "emit2"
  {delay  2.5 ("paradrop_crew_member_with_alt" args %0)}
   else name "emit3" "emit4"
  {delay  1.2 ("paradrop_crew_member_with_alt" args %0)}
   else name "ropel_node5" "roper_node5"
  {delay  0.1 ("paradrop_crew_member_with_alt" args %0)}
 }
   else linked "Vehicle Name 6"
  {delay 0.5 ("paradrop_crew_member_with_alt" args %0)}
   else linked "Vehicle Name 7"
  {delay 0.5 ("paradrop_crew_member_with_alt" args %0)}
   else linked "Vehicle Name 8"
 {if name "emit0"
  {delay  2.8 ("paradrop_crew_member_with_alt" args %0)}
   else name "emit1"
  {delay  2.8 ("paradrop_crew_member_with_alt" args %0)}
   else name "emit2" "emit3"
  {delay  1.2 ("paradrop_crew_member_with_alt" args %0)}
 }
   else linked "Vehicle Name 8"
 {if name "emit1" "emit2"
  {delay  2.0 ("paradrop_crew_member_with_alt" args %0)}
   else name  "emit3" "emit4" "emit5" "emit6" "emit7" "emit8"
  {delay  2.0 ("paradrop_crew_member_with_alt" args %0)}
 }
   else linked "Vehicle Name 9"
 {if name "emit1" "emit2"
  {delay  2.8 ("paradrop_crew_member_with_alt" args %0)}
   else name  "emit3" "emit4"
  {delay  1.2 ("paradrop_crew_member_with_alt" args %0)}
 }
   else linked "Vehicle Name 10"
  {delay 1 ("paradrop_crew_member_with_alt" args %0)}
   else
  {delay  2.8 ("paradrop_crew_member_with_alt" args %0)}
 }
)

(define "paradrop_crew_member_with_alt"
 {if rand 0.5
 {if rand 0.5
  {if rand 0.5 ("paradrop_crew_member_with_alt_r" args %0 0)
   else ("paradrop_crew_member_with_alt_r" args %0 1)
 }
   else {if rand 0.5 ("paradrop_crew_member_with_alt_r" args %0 2)
   else ("paradrop_crew_member_with_alt_r" args %0 3)
 }
 }
   else {if rand 0.5 {if rand 0.5 ("paradrop_crew_member_with_alt_r" args %0 4)
   else ("paradrop_crew_member_with_alt_r" args %0 5)
 }
   else {if rand 0.5 ("paradrop_crew_member_with_alt_r" args %0 6)
   else ("paradrop_crew_member_with_alt_r" args %0 7)
 }
 }
 }
)

(define "paradrop_crew_member_with_alt_r"
 {if not altitude 2
  {tags add "heli_paradrop%1"} {delay 5 {tags remove "heli_paradrop%1"}}
 {spawn "parachute_new"  "basis" x no_position
  {tags add "heli_parashute%1"}
  {call "start_alt_%0"}
 }
 }
)

{if linked "able_paradrop"
 {if altitude 40 ("paradrop_crew_member_with_alt_" args 7)
   else altitude 35
  ("paradrop_crew_member_with_alt_" args 6)
   else altitude 30
  ("paradrop_crew_member_with_alt_" args 5)
   else altitude 25
  ("paradrop_crew_member_with_alt_" args 4)
   else altitude 20
  ("paradrop_crew_member_with_alt_" args 3)
   else altitude 12
  ("paradrop_crew_member_with_alt_" args 2)
   else altitude 8
  ("paradrop_crew_member_with_alt_" args 1)
   else altitude 3
 {if linked "Vehicle Name 1"
  {delay 2.0 {throw_off up 1 forward 2}}
   else linked "Vehicle Name 2"
  {delay 2.5 {throw_off up 1 forward 2}}
   else linked "Vehicle Name 3"
  {delay 2.5 {throw_off up 1 forward 2}}
   else linked "Vehicle Name 4"
  {delay 2.5 {throw_off up 1 forward 2}}
   else linked "Vehicle Name 5"
 {if name "emit1" "emit2"
  {delay  2.0 {throw_off up 1 forward 2}}
   else name "emit3" "emit4"
  {delay  1.0 {throw_off up 1 forward 2}}
 }
   else linked "Vehicle Name 6"
  {delay 3.0 {if linked "airborne" {throw_off up 1 forward 2}}}
   else linked "Vehicle Name 7"
  {delay 3.0 {if linked "airborne"{throw_off up 1 forward 2}}}
   else
  {delay 2.5 {throw_off up 1 forward 2}}
 }
   else
 }
}

=============================================================================================
=============================================================================================

- Go to vehicle.inc and add following codes:

- Find and add code after following lines:

 {on "link_weapon"
  {if name "mgun"
   {add_view "flash_gun_big_vehicle" "flashbarrel3" "Foresight3"}
   {add_view "shell_mgun"  "shell"   "fxshell"}
  else
   {view hide "flashbarrel3"}
   {view pause "flashbarrel3"}
   {view pause "shell"}
  }
 }

Code:

=============================================================================================
=============================================================================================



 {on "gunner_hatch_open"
  {ani_wind "open" end}  
 }
 {on "gunner_hatch_close" 
  {ani_wind "open" begin}
 }
 {on "gunner_hatch_opening"
  {ani_play "open" resume}
 }
 {on "gunner_hatch_closing"
  {ani_play "open" -1 resume}
 }
 {on "sight_open"
  {ani_wind "sight_open" end}
  {ani_wind "open_sight" end}
 }
 {on "sight_close"
  {ani_wind "sight_open" begin}
  {ani_wind "open_sight" begin}
 }
 {on "sight_opening"
  {ani_play "sight_open" resume}
  {ani_play "open_sight" resume}
 }
 {on "sight_closing"
  {ani_play "sight_open" -1 resume}
  {ani_play "open_sight" -1 resume}
 }
  {on "zpu_gunner2_hatch_close" {call "gunner_hatch_close"} }
  {on "zpu_gunner2_hatch_closing" {call "gunner_hatch_closing"} } 
 (define "update_hatch"
 {if not operatable
 {if %wind
  {call "gunner_hatch_open"}
  {call "sight_open"}
   else
  {call "gunner_hatch_opening"}
  {call "sight_opening"}
 }
   else
 {if crew_in_place "%place"
 {if %wind
 {if tagged "cwsh_zpu_off"
  {call "zpu_%place_hatch_close"}
   else
  {call "zpu_%place_hatch_open"}
 }
   else
 {if tagged "cwsh_zpu_off"
  {call "zpu_%place_hatch_closing"}
   else
  {call "zpu_%place_hatch_opening"}
 }
 }
   else
 {if %wind
  {call "zpu_%place_hatch_close"}
   else
  {call "zpu_%place_hatch_closing"}
 }
 }
 {if %wind
  {call "sight_close"}
   else
  {call "sight_closing"}
 }
 }
 )
 {on "update_hatch_on_spawn"
  ("update_hatch" wind(true) place(gunner2))
  {tags remove "cw_panorama_work"}
  {call "update_cw_panorama"}
 }
 {on "cwsh_update_hatch"
  ("update_hatch" wind(false) place(gunner2))
 }



=============================================================================================
=============================================================================================

- Go to entity.set and add following code after:

{entities

Code:

================================================================================================================================
================================================================================================================================
 (define "spawn")
================================================================================================================================
================================================================================================================================

Step Six:

- Go to entity folder then go to the specific entity folder and add following codes in that entity .def file which you want to apply this script, for better understanding use provided mod files and go to resource\entity\-vehicle\airborne\ju-52:

- add code after:

{actor

or

{game_entity

- Code:

=====================================================================================
 { props "transport_plane" "airborne" }
=====================================================================================

- find and add code after:

 {Chassis
  {Locomotion ("locomotion") 

- Code

=====================================================================================
=====================================================================================
      {turnRadius 50}
=====================================================================================
=====================================================================================

- Adjust it according to your entity and mod

- Find and add code after following line, these lines cloud be in same .def file or it could be in separate file as crew.ext.

{boarder

- Code:

==============================================================================================================================
==============================================================================================================================
 {door "emit1"  {auto_release_time 1.5}}
 {anm "ladder"
   {forward {speed 1.2} {loop "stand_upstairs"}  {fix_orientation}}
   {reverse {speed 1.2} {loop "stand_upstairs" -1} {fix_orientation}}
 }
 {anm "walk"
   {forward {speed 3}}
   {reverse {speed 3}}
 }
 {anm "seat"
   {forward {end "seat_driver_car"}}
 }
==============================================================================================================================
==============================================================================================================================

- Thats it folks, hope you guyz done it right, if not then you are free to ask here and also add any suggestions and feedback to improve it further.

Please comment and share this tutorial while everyone have full permission from my side to share that tutorial and tutorial related file to any forum.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: