‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_util.gsc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\array_shared;
4 #using scripts\shared\exploder_shared;
5 #using scripts\shared\fx_shared;
6 #using scripts\shared\math_shared;
7 #using scripts\shared\sound_shared;
8 #using scripts\shared\trigger_shared;
9 #using scripts\shared\util_shared;
10 
11 #insert scripts\shared\shared.gsh;
12 
13 #namespace util;
14 
15 /#
16 function ‪error(msg)
17 {
18  println("^c*ERROR* ", msg);
19  wait .05; // waitframe
20 
21  if (GetDvarString( "debug") != "1")
22  assertmsg("This is a forced error - attach the log file");
23 }
24 #/
25 
26 function ‪warning( msg )
27 {
28 /# println( "^1WARNING: " + msg ); #/
29 }
30 
31 function ‪brush_delete()
32 {
33  num = self.v[ "exploder" ];
34 
35  if( isdefined( self.v[ "delay" ] ) )
36  {
37  wait( self.v[ "delay" ] );
38  }
39  else
40  {
41  wait( .05 );// so it disappears after the replacement appears
42  }
43 
44  if( !isdefined( self.model ) )
45  {
46  return;
47  }
48 
49 
50  assert( isdefined( self.model ) );
51 
52  if( !isdefined( self.v[ "fxid" ] ) || self.v[ "fxid" ] == "No FX" )
53  {
54  self.v[ "exploder" ] = undefined;
55  }
56 
57  waittillframeend;// so it hides stuff after it shows the new stuff
58  self.model delete();
59 }
60 
61 function ‪brush_show()
62 {
63  if( isdefined( self.v[ "delay" ] ) )
64  {
65  wait( self.v[ "delay" ] );
66  }
67 
68  assert( isdefined( self.model ) );
69 
70  self.model show();
71  self.model solid();
72 }
73 
74 function ‪brush_throw()
75 {
76  if( isdefined( self.v[ "delay" ] ) )
77  {
78  wait( self.v[ "delay" ] );
79  }
80 
81  ent = undefined;
82 
83  if( isdefined( self.v[ "target" ] ) )
84  {
85  ent = getent( self.v[ "target" ], "targetname" );
86  }
87 
88  if( !isdefined( ent ) )
89  {
90  self.model delete();
91  return;
92  }
93 
94  self.model show();
95 
96  startorg = self.v[ "origin" ];
97  startang = self.v[ "angles" ];
98  org = ent.origin;
99 
100 
101  temp_vec = ( org - self.v[ "origin" ] );
102  x = temp_vec[ 0 ];
103  y = temp_vec[ 1 ];
104  z = temp_vec[ 2 ];
105 
106  self.model rotateVelocity( ( x, y, z ), 12 );
107 
108  self.model moveGravity( ( x, y, z ), 12 );
109 
110  self.v[ "exploder" ] = undefined;
111  wait( 6 );
112  self.model delete();
113 }
114 
115 function ‪playSoundOnPlayers( sound, team )
116 {
117  assert( isdefined( level.players ) );
118 
119  if ( level.splitscreen )
120  {
121  if ( isdefined( level.players[0] ) )
122  level.players[0] playLocalSound(sound);
123  }
124  else
125  {
126  if ( isdefined( team ) )
127  {
128  for ( i = 0; i < level.players.size; i++ )
129  {
130  player = level.players[i];
131  if ( isdefined( player.pers["team"] ) && (player.pers["team"] == team))
132  player playLocalSound(sound);
133  }
134  }
135  else
136  {
137  for ( i = 0; i < level.players.size; i++ )
138  level.players[i] playLocalSound(sound);
139  }
140  }
141 }
142 
143 
145 {
146  return 70.0; // inches, see bg_pmove.cpp::playerMins/playerMaxs
147 }
148 
149 
150 function ‪IsBulletImpactMOD( sMeansOfDeath )
151 {
152  return IsSubStr( sMeansOfDeath, "BULLET" ) || sMeansOfDeath == "MOD_HEAD_SHOT";
153 }
154 
155 
157 {
158  self endon("disconnect");
159  self endon("end_respawn");
160 
161  while(self useButtonPressed() != true)
162  wait .05;
163 }
164 
165 
166 function ‪setLowerMessage( text, time, combineMessageAndTimer )
167 {
168  if ( !isdefined( self.lowerMessage ) )
169  return;
170 
171  if ( isdefined( self.lowerMessageOverride ) && text != &"" )
172  {
173  text = self.lowerMessageOverride;
174  time = undefined;
175  }
176 
177  self notify("lower_message_set");
178 
179  self.lowerMessage setText( text );
180 
181  if ( isdefined( time ) && time > 0 )
182  {
183  if ( !isdefined( combineMessageAndTimer ) || !combineMessageAndTimer )
184  self.lowerTimer.label = &"";
185  else
186  {
187  self.lowerMessage setText( "" );
188  self.lowerTimer.label = text;
189  }
190  self.lowerTimer setTimer( time );
191  }
192  else
193  {
194  self.lowerTimer setText( "" );
195  self.lowerTimer.label = &"";
196  }
197  if( self IsSplitscreen() )
198  self.lowerMessage.fontscale = 1.4;
199 
200  self.lowerMessage fadeOverTime( 0.05 );
201  self.lowerMessage.alpha = 1;
202  self.lowerTimer fadeOverTime( 0.05 );
203  self.lowerTimer.alpha = 1;
204 }
205 
206 function ‪setLowerMessageValue( text, value, combineMessage )
207 {
208  if ( !isdefined( self.lowerMessage ) )
209  return;
210 
211  if ( isdefined( self.lowerMessageOverride ) && text != &"" )
212  {
213  text = self.lowerMessageOverride;
214  time = undefined;
215  }
216 
217  self notify("lower_message_set");
218  if ( !isdefined( combineMessage ) || !combineMessage )
219  self.lowerMessage setText( text );
220  else
221  self.lowerMessage setText( "" );
222 
223  if ( isdefined( value ) && value > 0 )
224  {
225  if ( !isdefined( combineMessage ) || !combineMessage )
226  self.lowerTimer.label = &"";
227  else
228  self.lowerTimer.label = text;
229  self.lowerTimer setValue( value );
230  }
231  else
232  {
233  self.lowerTimer setText( "" );
234  self.lowerTimer.label = &"";
235  }
236 
237  if( self IsSplitscreen() )
238  self.lowerMessage.fontscale = 1.4;
239 
240  self.lowerMessage fadeOverTime( 0.05 );
241  self.lowerMessage.alpha = 1;
242  self.lowerTimer fadeOverTime( 0.05 );
243  self.lowerTimer.alpha = 1;
244 }
245 
246 function ‪clearLowerMessage( fadetime )
247 {
248  if ( !isdefined( self.lowerMessage ) )
249  return;
250 
251  self notify("lower_message_set");
252 
253  if ( !isdefined( fadetime) || fadetime == 0 )
254  {
255  ‪setLowerMessage( &"" );
256  }
257  else
258  {
259  self endon("disconnect");
260  self endon("lower_message_set");
261 
262  self.lowerMessage fadeOverTime( fadetime );
263  self.lowerMessage.alpha = 0;
264  self.lowerTimer fadeOverTime( fadetime );
265  self.lowerTimer.alpha = 0;
266 
267  wait fadetime;
268 
269  self ‪setLowerMessage("");
270  }
271 }
272 
273 function ‪printOnTeam(text, team)
274 {
275  assert( isdefined( level.players ) );
276  for ( i = 0; i < level.players.size; i++ )
277  {
278  player = level.players[i];
279  if ( ( isdefined(player.pers["team"]) ) && (player.pers["team"] == team) )
280  player iprintln(text);
281  }
282 }
283 
284 
285 function ‪printBoldOnTeam(text, team)
286 {
287  assert( isdefined( level.players ) );
288  for ( i = 0; i < level.players.size; i++ )
289  {
290  player = level.players[i];
291  if ( ( isdefined(player.pers["team"]) ) && (player.pers["team"] == team) )
292  player iprintlnbold(text);
293  }
294 }
295 
296 
297 
298 function ‪printBoldOnTeamArg(text, team, arg)
299 {
300  assert( isdefined( level.players ) );
301  for ( i = 0; i < level.players.size; i++ )
302  {
303  player = level.players[i];
304  if ( ( isdefined(player.pers["team"]) ) && (player.pers["team"] == team) )
305  player iprintlnbold(text, arg);
306  }
307 }
308 
309 
310 function ‪printOnTeamArg(text, team, arg)
311 {
312  //assert( isdefined( level.players ) );
313  //for ( i = 0; i < level.players.size; i++ )
314  //{
315  // player = level.players[i];
316  // if ( ( isdefined(player.pers["team"]) ) && (player.pers["team"] == team) )
317  // {
318  // player iprintln(text, arg);
319  // }
320  //}
321 }
322 
323 
324 function ‪printOnPlayers( text, team )
325 {
326  players = level.players;
327  for(i = 0; i < players.size; i++)
328  {
329  if ( isdefined( team ) )
330  {
331  if((isdefined(players[i].pers["team"])) && (players[i].pers["team"] == team))
332  players[i] iprintln(text);
333  }
334  else
335  {
336  players[i] iprintln(text);
337  }
338  }
339 }
340 
341 function ‪printAndSoundOnEveryone( team, enemyteam, printFriendly, printEnemy, soundFriendly, soundEnemy, printarg )
342 {
343  shouldDoSounds = isdefined( soundFriendly );
344 
345  shouldDoEnemySounds = false;
346  if ( isdefined( soundEnemy ) )
347  {
348  assert( shouldDoSounds ); // can't have an enemy sound without a friendly sound
349  shouldDoEnemySounds = true;
350  }
351 
352  if ( !isdefined( printarg ) )
353  {
354  printarg = "";
355  }
356 
357  if ( level.splitscreen || !shouldDoSounds )
358  {
359  for ( i = 0; i < level.players.size; i++ )
360  {
361  player = level.players[i];
362  playerteam = player.pers["team"];
363  if ( isdefined( playerteam ) )
364  {
365  if ( playerteam == team && isdefined( printFriendly ) && printFriendly != &"" )
366  player iprintln( printFriendly, printarg );
367  else if ( isdefined( printEnemy ) && printEnemy != &"" )
368  {
369  if ( isdefined(enemyteam) && playerteam == enemyteam )
370  player iprintln( printEnemy, printarg );
371  else if ( !isdefined(enemyteam) && playerteam != team )
372  player iprintln( printEnemy, printarg );
373  }
374  }
375  }
376  if ( shouldDoSounds )
377  {
378  assert( level.splitscreen );
379  level.players[0] playLocalSound( soundFriendly );
380  }
381  }
382  else
383  {
384  assert( shouldDoSounds );
385  if ( shouldDoEnemySounds )
386  {
387  for ( i = 0; i < level.players.size; i++ )
388  {
389  player = level.players[i];
390  playerteam = player.pers["team"];
391  if ( isdefined( playerteam ) )
392  {
393  if ( playerteam == team )
394  {
395  if( isdefined( printFriendly ) && printFriendly != &"" )
396  player iprintln( printFriendly, printarg );
397  player playLocalSound( soundFriendly );
398  }
399  else if ( (isdefined(enemyteam) && playerteam == enemyteam) || ( !isdefined( enemyteam ) && playerteam != team ) )
400  {
401  if( isdefined( printEnemy ) && printEnemy != &"" )
402  player iprintln( printEnemy, printarg );
403  player playLocalSound( soundEnemy );
404  }
405  }
406  }
407  }
408  else
409  {
410  for ( i = 0; i < level.players.size; i++ )
411  {
412  player = level.players[i];
413  playerteam = player.pers["team"];
414  if ( isdefined( playerteam ) )
415  {
416  if ( playerteam == team )
417  {
418  if( isdefined( printFriendly ) && printFriendly != &"" )
419  player iprintln( printFriendly, printarg );
420  player playLocalSound( soundFriendly );
421  }
422  else if ( isdefined( printEnemy ) && printEnemy != &"" )
423  {
424  if ( isdefined(enemyteam) && playerteam == enemyteam )
425  {
426  player iprintln( printEnemy, printarg );
427  }
428  else if ( !isdefined(enemyteam) && playerteam != team )
429  {
430  player iprintln( printEnemy, printarg );
431  }
432  }
433  }
434  }
435  }
436  }
437 }
438 
439 
440 function ‪_playLocalSound( soundAlias )
441 {
442  if ( level.splitscreen && !self IsHost() )
443  return;
444 
445  self playLocalSound( soundAlias );
446 }
447 
448 // this function is depricated
449 function ‪getOtherTeam( team )
450 {
451  // TODO MTEAM - Need to fix this.
452  if ( team == "allies" )
453  return "axis";
454  else if ( team == "axis" )
455  return "allies";
456  else // all other teams
457  return "allies";
458 
459  assertMsg( "getOtherTeam: invalid team " + team );
460 }
461 
462 function ‪getTeamMask( team )
463 {
464  // this can be undefined on connect
465  if ( !level.teambased || !isdefined(team) || !isdefined(level.spawnsystem.iSPAWN_TEAMMASK[team]) )
466  return level.spawnsystem.iSPAWN_TEAMMASK_FREE;
467 
468  return level.spawnsystem.iSPAWN_TEAMMASK[team];
469 }
470 
471 function ‪getOtherTeamsMask( skip_team )
472 {
473  mask = 0;
474  foreach( team in level.teams )
475  {
476  if ( team == skip_team )
477  continue;
478 
479  mask = mask | ‪getTeamMask( team );
480  }
481 
482  return mask;
483 }
484 
485 function ‪plot_points( plotpoints, r, g, b, ‪timer )
486 {
487 }
488 
489 function ‪getfx( fx )
490 {
491  assert( isdefined( level._effect[ fx ] ), "Fx " + fx + " is not defined in level._effect." );
492  return level._effect[ fx ];
493 }
494 
495 function ‪set_dvar_if_unset( dvar, value, reset)
496 {
497  if (!isdefined(reset))
498  reset = false;
499 
500  if (reset || GetDvarString(dvar)=="")
501  {
502  SetDvar(dvar, value);
503  return value;
504  }
505 
506  return GetDvarString(dvar);
507 }
508 
509 function ‪set_dvar_float_if_unset( dvar, value, reset)
510 {
511  if (!isdefined(reset))
512  reset = false;
513 
514  if (reset || GetDvarString(dvar)=="")
515  {
516  SetDvar(dvar, value);
517  }
518 
519  return GetDvarFloat(dvar);
520 }
521 
522 function ‪set_dvar_int_if_unset( dvar, value, reset)
523 {
524  if (!isdefined(reset))
525  reset = false;
526 
527  if (reset || GetDvarString(dvar)=="")
528  {
529  SetDvar(dvar, value);
530  return int(value);
531  }
532 
533  return GetDvarInt(dvar);
534 }
535 
536 function ‪isStrStart( string1, subStr )
537 {
538  return ( getSubStr( string1, 0, subStr.size ) == subStr );
539 }
540 
542 {
543  return isdefined( level.killstreaksenabled ) && level.killstreaksenabled;
544 }
545 
546 function ‪setUsingRemote( remoteName )
547 {
548  if ( isdefined( self.carryIcon) )
549  self.carryIcon.alpha = 0;
550 
551  assert( !self ‪isUsingRemote() );
552  self.usingRemote = remoteName;
553 
554  self disableOffhandWeapons();
555  self notify( "using_remote" );
556 }
557 
559 {
560  assert( self ‪isUsingRemote() );
561 
562  return self.usingRemote;
563 }
564 
565 function ‪setObjectiveText( team, text )
566 {
567  game["strings"]["objective_"+team] = text;
568 }
569 
570 function ‪setObjectiveScoreText( team, text )
571 {
572  game["strings"]["objective_score_"+team] = text;
573 }
574 
575 function ‪setObjectiveHintText( team, text )
576 {
577  game["strings"]["objective_hint_"+team] = text;
578 }
579 
580 function ‪getObjectiveText( team )
581 {
582  return game["strings"]["objective_"+team];
583 }
584 
585 function ‪getObjectiveScoreText( team )
586 {
587  return game["strings"]["objective_score_"+team];
588 }
589 
590 function ‪getObjectiveHintText( team )
591 {
592  return game["strings"]["objective_hint_"+team];
593 }
594 
595 function ‪registerRoundSwitch( minValue, maxValue )
596 {
597  level.roundSwitch = ‪math::clamp( GetGametypeSetting( "roundSwitch" ), minValue, maxValue );
598  level.roundSwitchMin = minValue;
599  level.roundSwitchMax = maxValue;
600 }
601 
602 function ‪registerRoundLimit( minValue, maxValue )
603 {
604  level.roundLimit = ‪math::clamp( GetGametypeSetting( "roundLimit" ), minValue, maxValue );
605  level.roundLimitMin = minValue;
606  level.roundLimitMax = maxValue;
607 }
608 
609 
610 function ‪registerRoundWinLimit( minValue, maxValue )
611 {
612  level.roundWinLimit = ‪math::clamp( GetGametypeSetting( "roundWinLimit" ), minValue, maxValue );
613  level.roundWinLimitMin = minValue;
614  level.roundWinLimitMax = maxValue;
615 }
616 
617 
618 function ‪registerScoreLimit( minValue, maxValue )
619 {
620  level.scoreLimit = ‪math::clamp( GetGametypeSetting( "scoreLimit" ), minValue, maxValue );
621  level.scoreLimitMin = minValue;
622  level.scoreLimitMax = maxValue;
623  SetDvar( "ui_scorelimit", level.scoreLimit );
624 }
625 
626 
627 function ‪registerTimeLimit( minValue, maxValue )
628 {
629  level.timeLimit = ‪math::clamp( GetGametypeSetting( "timeLimit" ), minValue, maxValue );
630  level.timeLimitMin = minValue;
631  level.timeLimitMax = maxValue;
632  SetDvar( "ui_timelimit", level.timeLimit );
633 }
634 
635 
636 function ‪registerNumLives( minValue, maxValue )
637 {
638  level.numLives = ‪math::clamp( GetGametypeSetting( "playerNumLives" ), minValue, maxValue );
639  level.numLivesMin = minValue;
640  level.numLivesMax = maxValue;
641 }
642 
643 function ‪getPlayerFromClientNum( clientNum )
644 {
645  if ( clientNum < 0 )
646  return undefined;
647 
648  for ( i = 0; i < level.players.size; i++ )
649  {
650  if ( level.players[i] getEntityNumber() == clientNum )
651  return level.players[i];
652  }
653  return undefined;
654 }
655 
656 function ‪isPressBuild()
657 {
658  buildType = GetDvarString( "buildType" );
659 
660  if ( isdefined( buildType ) && buildtype == "press" )
661  {
662  return true;
663  }
664 
665  return false;
666 }
667 
669 {
670  return isdefined( self.flashEndTime ) && gettime() < self.flashEndTime;
671 }
672 
673 function ‪DoMaxDamage( origin, attacker, inflictor, headshot, mod ) // self == entity to damage
674 {
675  if ( isdefined( self.damagedToDeath ) && self.damagedToDeath )
676  {
677  return;
678  }
679 
680  if ( isdefined( self.maxHealth ) )
681  {
682  ‪damage = self.maxHealth + 1;
683  }
684  else
685  {
686  ‪damage = self.health + 1;
687  }
688 
689  self.damagedToDeath = true;
690 
691  self DoDamage( ‪damage, origin, attacker, inflictor, headshot, mod );
692 }
693 
694 
695 
696 
697 
712 function ‪get_array_of_closest( org, ‪array, excluders, max, maxdist )
713 {
714  // pass an array of entities to this function and it will return them in the order of closest
715  // to the origin you pass, you can also set max to limit how many ents get returned
716 
717  ‪DEFAULT( max, ‪array.size );
718  ‪DEFAULT( excluders, [] );
719 
720  maxdists2rd = undefined;
721  if ( isdefined( maxdist ) )
722  {
723  maxdists2rd = maxdist * maxdist;
724  }
725 
726  // return the array, reordered from closest to farthest
727  dist = [];
728  index = [];
729  for ( i = 0; i < ‪array.size; i++ )
730  {
731  if ( !isdefined( ‪array[ i ] ) )
732  {
733  continue;
734  }
735 
736  if ( IsInArray( excluders, ‪array[ i ] ) )
737  {
738  continue;
739  }
740 
741  if ( IsVec( ‪array[i] ) )
742  {
743  length = DistanceSquared( org, ‪array[ i ] );
744  }
745  else
746  {
747  length = DistanceSquared( org, ‪array[ i ].origin );
748  }
749 
750  if ( isdefined( maxdists2rd ) && maxdists2rd < length )
751  {
752  continue;
753  }
754 
755  dist[ dist.size ] = length;
756  index[ index.size ] = i;
757  }
758 
759  for ( ;; )
760  {
761  ‪change = false;
762  for ( i = 0; i < dist.size - 1; i++ )
763  {
764  if ( dist[ i ] <= dist[ i + 1 ] )
765  {
766  continue;
767  }
768 
769  ‪change = true;
770  temp = dist[ i ];
771  dist[ i ] = dist[ i + 1 ];
772  dist[ i + 1 ] = temp;
773  temp = index[ i ];
774  index[ i ] = index[ i + 1 ];
775  index[ i + 1 ] = temp;
776  }
777 
778  if ( !‪change )
779  {
780  break;
781  }
782  }
783 
784  newArray = [];
785  if ( max > dist.size )
786  {
787  max = dist.size;
788  }
789 
790  for ( i = 0; i < max; i++ )
791  {
792  newArray[ i ] = ‪array[ index[ i ] ];
793  }
794 
795  return newArray;
796 }
‪IsBulletImpactMOD
‪function IsBulletImpactMOD(sMeansOfDeath)
Definition: _util.gsc:71
‪isPressBuild
‪function isPressBuild()
Definition: _util.gsc:691
‪setObjectiveText
‪function setObjectiveText(team, text)
Definition: _util.gsc:585
‪DoMaxDamage
‪function DoMaxDamage(origin, attacker, inflictor, headshot, mod)
Definition: _util.gsc:708
‪getTeamMask
‪function getTeamMask(team)
Definition: _util.gsc:373
‪printBoldOnTeamArg
‪function printBoldOnTeamArg(text, team, arg)
Definition: _util.gsc:218
‪registerRoundWinLimit
‪function registerRoundWinLimit(minValue, maxValue)
Definition: _util.gsc:630
‪timer
‪function timer(n_time, str_endon, x, y, height)
Definition: lui_shared.gsc:163
‪warning
‪function warning(msg)
Definition: _util.gsc:38
‪set_dvar_int_if_unset
‪function set_dvar_int_if_unset(dvar, value, reset)
Definition: _util.gsc:453
‪getObjectiveScoreText
‪function getObjectiveScoreText(team)
Definition: _util.gsc:605
‪registerNumLives
‪function registerNumLives(minValue, maxValue, teamLivesMinValue, teamLivesMaxValue)
Definition: _util.gsc:664
‪registerScoreLimit
‪function registerScoreLimit(minValue, maxValue)
Definition: _util.gsc:638
‪error
‪function error(msg)
Definition: _util.gsc:28
‪getOtherTeam
‪function getOtherTeam(team)
Definition: _util.gsc:360
‪isUsingRemote
‪function isUsingRemote()
Definition: util_shared.gsc:2705
‪printOnTeamArg
‪function printOnTeamArg(text, team, arg)
Definition: _util.gsc:230
‪damage
‪function damage(trap)
Definition: _zm_trap_electric.gsc:116
‪getRemoteName
‪function getRemoteName()
Definition: _util.gsc:558
‪DEFAULT
‪#define DEFAULT(__var, __default)
Definition: shared.gsh:270
‪printAndSoundOnEveryone
‪function printAndSoundOnEveryone(team, enemyteam, printFriendly, printEnemy, soundFriendly, soundEnemy, printarg)
Definition: _util.gsc:252
‪isKillStreaksEnabled
‪function isKillStreaksEnabled()
Definition: _util.gsc:564
‪setUsingRemote
‪function setUsingRemote(remoteName, set_killstreak_delay_killcam=true)
Definition: _util.gsc:569
‪_playLocalSound
‪function _playLocalSound(soundAlias)
Definition: _util.gsc:351
‪brush_show
‪function brush_show()
Definition: _util.gsc:61
‪brush_throw
‪function brush_throw()
Definition: _util.gsc:74
‪setObjectiveHintText
‪function setObjectiveHintText(team, text)
Definition: _util.gsc:595
‪set_dvar_float_if_unset
‪function set_dvar_float_if_unset(dvar, value, reset)
Definition: _util.gsc:437
‪printOnPlayers
‪function printOnPlayers(text, team)
Definition: _util.gsc:235
‪plot_points
‪function plot_points(plotpoints, r, g, b, timer)
Definition: _util.gsc:410
‪playSoundOnPlayers
‪function playSoundOnPlayers(sound, team)
Definition: _util.gsc:115
‪waitRespawnButton
‪function waitRespawnButton()
Definition: _util.gsc:76
‪get_player_height
‪function get_player_height()
Definition: _util.gsc:65
‪array
‪function filter array
Definition: array_shared.csc:16
‪printBoldOnTeam
‪function printBoldOnTeam(text, team)
Definition: _util.gsc:205
‪registerRoundSwitch
‪function registerRoundSwitch(minValue, maxValue)
Definition: _util.gsc:615
‪registerRoundLimit
‪function registerRoundLimit(minValue, maxValue)
Definition: _util.gsc:622
‪getObjectiveHintText
‪function getObjectiveHintText(team)
Definition: _util.gsc:610
‪get_array_of_closest
‪function get_array_of_closest(org, array, excluders, max, maxdist)
Definition: _util.gsc:712
‪getOtherTeamsMask
‪function getOtherTeamsMask(skip_team)
Definition: _util.gsc:382
‪isStrStart
‪function isStrStart(string1, subStr)
Definition: _util.gsc:559
‪printOnTeam
‪function printOnTeam(text, team)
Definition: _util.gsc:193
‪getPlayerFromClientNum
‪function getPlayerFromClientNum(clientNum)
Definition: _util.gsc:678
‪setObjectiveScoreText
‪function setObjectiveScoreText(team, text)
Definition: _util.gsc:590
‪setLowerMessageValue
‪function setLowerMessageValue(text, value, combineMessage)
Definition: _util.gsc:126
‪set_dvar_if_unset
‪function set_dvar_if_unset(dvar, value, reset)
Definition: _util.gsc:420
‪change
‪function change(team)
Definition: _teams.gsc:258
‪clamp
‪function clamp(val, val_min, val_max)
Definition: math_shared.csc:16
‪setLowerMessage
‪function setLowerMessage(text, time, combineMessageAndTimer)
Definition: _util.gsc:86
‪getfx
‪function getfx(fx)
Definition: _util.gsc:414
‪registerTimeLimit
‪function registerTimeLimit(minValue, maxValue)
Definition: _util.gsc:655
‪getObjectiveText
‪function getObjectiveText(team)
Definition: _util.gsc:600
‪isFlashbanged
‪function isFlashbanged()
Definition: _util.gsc:703
‪brush_delete
‪function brush_delete()
Definition: _util.gsc:31
‪clearLowerMessage
‪function clearLowerMessage(fadetime)
Definition: _util.gsc:166