‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
vehicleriders_shared.csc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\animation_shared;
4 #using scripts\shared\array_shared;
5 #using scripts\shared\clientfield_shared;
6 #using scripts\shared\flag_shared;
7 #using scripts\shared\flagsys_shared;
8 #using scripts\shared\system_shared;
9 #using scripts\shared\trigger_shared;
10 #using scripts\shared\util_shared;
11 
12 #insert scripts\shared\shared.gsh;
13 #insert scripts\shared\version.gsh;
14 
15 #using_animtree( "generic" );
16 
17 #namespace vehicle;
18 
19 ‪REGISTER_SYSTEM( "vehicleriders", &‪__init__, undefined )
20 
21 function ‪__init__()
22 {
23  a_registered_fields = [];
24  foreach ( bundle in ‪struct::get_script_bundles( "vehicleriders" ) )
25  {
26  foreach ( object in bundle.objects )
27  {
28  if ( IsString( object.VehicleEnterAnim ) )
29  {
30  ‪array::add( a_registered_fields, object.position + "_enter", false );
31  }
32 
33  if ( IsString( object.VehicleExitAnim ) )
34  {
35  ‪array::add( a_registered_fields, object.position + "_exit", false );
36  }
37 
38  if ( IsString( object.VehicleRiderDeathAnim ) )
39  {
40  ‪array::add( a_registered_fields, object.position + "_death", false );
41  }
42  }
43  }
44 
45  foreach ( str_clientfield in a_registered_fields )
46  {
48  }
49 }
50 
51 function ‪play_vehicle_anim( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump ) // self = vehicle
52 {
53  s_bundle = ‪struct::get_script_bundle( "vehicleriders", self.vehicleridersbundle );
54 
55  str_pos = "";
56  str_action = "";
57 
58  if ( StrEndsWith( fieldName, "_enter" ) )
59  {
60  str_pos = GetSubStr( fieldName, 0, fieldName.size - 6 );
61  str_action = "enter";
62  }
63  else if ( StrEndsWith( fieldName, "_exit" ) )
64  {
65  str_pos = GetSubStr( fieldName, 0, fieldName.size - 5 );
66  str_action = "exit";
67  }
68  else if ( StrEndsWith( fieldName, "_death" ) )
69  {
70  str_pos = GetSubStr( fieldName, 0, fieldName.size - 6 );
71  str_action = "death";
72  }
73 
74  str_vh_anim = undefined;
75  foreach ( s_rider in s_bundle.objects )
76  {
77  if ( s_rider.position == str_pos )
78  {
79  switch ( str_action )
80  {
81  case "enter":
82 
83  str_vh_anim = s_rider.VehicleEnterAnim;
84  break;
85 
86  case "exit":
87 
88  str_vh_anim = s_rider.VehicleExitAnim;
89  break;
90 
91  case "death":
92 
93  str_vh_anim = s_rider.VehicleRiderDeathAnim;
94  break;
95  }
96 
97  break;
98  }
99  }
100 
101  if ( isdefined( str_vh_anim ) )
102  {
103  self SetAnimRestart( str_vh_anim );
104  }
105 }
106 
107 function ‪set_vehicleriders_bundle( str_bundlename )
108 {
109  self.vehicleriders = ‪struct::get_script_bundle( "vehicleriders", str_bundlename );
110 }
‪get_script_bundles
‪function get_script_bundles(str_type)
Definition: struct.csc:77
‪set_vehicleriders_bundle
‪function set_vehicleriders_bundle(str_bundlename)
Definition: vehicleriders_shared.csc:107
‪CF_CALLBACK_ZERO_ON_NEW_ENT
‪#define CF_CALLBACK_ZERO_ON_NEW_ENT
Definition: version.gsh:103
‪VERSION_SHIP
‪#define VERSION_SHIP
Definition: version.gsh:36
‪add
‪function add(entity, dyingplayer, team, timeout)
Definition: _deathicons.gsc:43
‪__init__
‪function __init__()
Definition: vehicleriders_shared.csc:21
‪CF_HOST_ONLY
‪#define CF_HOST_ONLY
Definition: version.gsh:102
‪play_vehicle_anim
‪function play_vehicle_anim(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: vehicleriders_shared.csc:51
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪get_script_bundle
‪function get_script_bundle(str_type, str_name)
Definition: struct.csc:45