‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
All Data Structures Files Functions Variables Macros
_siegebot.csc
Go to the documentation of this file.
1 #insert scripts\shared\shared.gsh;
2 #insert scripts\shared\version.gsh;
3 #using scripts\codescripts\struct;
4 
5 #using scripts\shared\clientfield_shared;
6 #using scripts\shared\system_shared;
7 #using scripts\shared\util_shared;
8 #using scripts\shared\vehicle_shared;
9 #using scripts\shared\callbacks_shared;
10 
11 #using scripts\shared\weapons\spike_charge_siegebot;
12 
13 #namespace siegebot;
14 
15 ‪REGISTER_SYSTEM( "siegebot_mp", &‪__init__, undefined )
16 
17 #using_animtree( "generic" );
18 
19 function ‪__init__()
20 {
22 
23  ‪clientfield::register( "vehicle", "siegebot_retract_right_arm", ‪VERSION_SHIP, 1, "int", &‪update_right_arm, !‪CF_HOST_ONLY, !‪CF_CALLBACK_ZERO_ON_NEW_ENT );
24  ‪clientfield::register( "vehicle", "siegebot_retract_left_arm", ‪VERSION_SHIP, 1, "int", &‪update_left_arm, !‪CF_HOST_ONLY, !‪CF_CALLBACK_ZERO_ON_NEW_ENT );
25 }
26 
27 function ‪_setup_( localClientNum )
28 {
29  if( isdefined( self.scriptbundlesettings ) )
30  {
31  settings = ‪struct::get_script_bundle( "vehiclecustomsettings", self.scriptbundlesettings );
32  }
33 
34  if ( !isdefined( settings ) )
35  {
36  return;
37  }
38 
39  self thread ‪player_enter_exit( localClientNum );
40 }
41 
42 function ‪player_enter_exit( localClientNum )
43 {
44  self endon( "death" );
45  self endon( "entityshutdown" );
46 
47  player = undefined;
48 
49  while( 1 )
50  {
51  // perform exit steps here
52  self ‪player_exited( localClientNum, player );
53 
54  self waittill( "enter_vehicle", player );
55 
56  self ‪player_entered( localClientNum, player );
57 
58  self waittill( "exit_vehicle", player );
59  }
60 }
61 
62 function ‪player_entered( localClientNum, player )
63 {
64  self playsound( localClientNum, "evt_siegebot_bootup_1" );
65 
66  local_player = GetLocalPlayer( localClientNum );
67 
68  if( self IsLocalClientDriver( localClientNum ) )
69  {
70  //self SetHighDetail( true );
71  }
72 }
73 
74 function ‪player_exited( localClientNum, player )
75 {
76  self playsound( localClientNum, "evt_siegebot_shutdown_1" );
77 
78  if( self IsLocalClientDriver( localClientNum ) )
79  {
80  //self SetHighDetail( false );
81  }
82 }
83 
85 {
86  self UseAnimTree( #animtree );
87 
88  self ClearAnim( %ai_siegebot_base_mp_left_arm_extend, 0.2 );
89  self SetAnim( %ai_siegebot_base_mp_left_arm_retract, 1.0 );
90 }
91 
93 {
94  self UseAnimTree( #animtree );
95 
96  self ClearAnim( %ai_siegebot_base_mp_left_arm_retract, 0.2 );
97  self SetAnim( %ai_siegebot_base_mp_left_arm_extend, 1.0 );
98 
99  wait 0.1;
100 
101  if ( self ‪clientfield::get( "siegebot_retract_left_arm" ) == 0 )
102  self ClearAnim( %ai_siegebot_base_mp_left_arm_extend, 0.1 );
103 }
104 
106 {
107  self UseAnimTree( #animtree );
108 
109  self ClearAnim( %ai_siegebot_base_mp_right_arm_extend, 0.2 );
110  self SetAnim( %ai_siegebot_base_mp_right_arm_retract, 1.0 );
111 }
112 
114 {
115  self UseAnimTree( #animtree );
116 
117  self ClearAnim( %ai_siegebot_base_mp_right_arm_retract, 0.2 );
118  self SetAnim( %ai_siegebot_base_mp_right_arm_extend, 1.0 );
119 
120  wait 0.1;
121 
122  if ( self ‪clientfield::get( "siegebot_retract_right_arm" ) == 0 )
123  self ClearAnim( %ai_siegebot_base_mp_right_arm_extend, 0.1 );
124 }
125 
126 
127 function ‪update_right_arm( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
128 {
129  self ‪util::waittill_dobj( localClientNum );
130 
131  if ( !isdefined(self) )
132  return;
133 
134  if ( newVal )
135  {
136  self thread ‪retract_right_arm();
137  }
138  else
139  {
140  self thread ‪extend_right_arm();
141  }
142 }
143 
144 function ‪update_left_arm( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
145 {
146  self ‪util::waittill_dobj( localClientNum );
147 
148  if ( !isdefined(self) )
149  return;
150 
151  if ( newVal )
152  {
153  self thread ‪retract_left_arm();
154  }
155  else
156  {
157  self thread ‪extend_left_arm();
158  }
159 }
‪update_right_arm
‪function update_right_arm(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _siegebot.csc:127
‪_setup_
‪function _setup_(localClientNum)
Definition: _siegebot.csc:27
‪player_exited
‪function player_exited(localClientNum, player)
Definition: _siegebot.csc:74
‪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
‪player_enter_exit
‪function player_enter_exit(localClientNum)
Definition: _siegebot.csc:42
‪get
‪function get(kvp_value, kvp_key="targetname")
Definition: struct.csc:13
‪extend_left_arm
‪function extend_left_arm()
Definition: _siegebot.csc:92
‪CF_HOST_ONLY
‪#define CF_HOST_ONLY
Definition: version.gsh:102
‪update_left_arm
‪function update_left_arm(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _siegebot.csc:144
‪retract_left_arm
‪function retract_left_arm()
Definition: _siegebot.csc:84
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪add_vehicletype_callback
‪function add_vehicletype_callback(vehicletype, callback)
Definition: vehicle_shared.csc:77
‪__init__
‪function __init__()
Definition: _siegebot.csc:19
‪waittill_dobj
‪function waittill_dobj(localClientNum)
Definition: util_shared.csc:1117
‪retract_right_arm
‪function retract_right_arm()
Definition: _siegebot.csc:105
‪player_entered
‪function player_entered(localClientNum, player)
Definition: _siegebot.csc:62
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪get_script_bundle
‪function get_script_bundle(str_type, str_name)
Definition: struct.csc:45
‪extend_right_arm
‪function extend_right_arm()
Definition: _siegebot.csc:113