Requirements:
Air and Para Script - Beta - 1.6 - Google Drive
Air and Para Script - Beta - 1.6 - Dropbox
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:
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.