Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.70 KB | None | 0 0
  1. init()
  2. {
  3.     // Is AWE enabled?
  4.     level.awe_disable = awe\_util::cvardef("awe_disable",0,0,1,"int");
  5.     if(level.awe_disable)
  6.         return;
  7.  
  8.     thread maps\mp\zom\_kdmenu::init();
  9.    
  10.     // Override callbacks
  11.     level.awe_callbackStartGameType = level.callbackStartGameType;
  12.     level.awe_callbackPlayerConnect = level.callbackPlayerConnect;
  13.     level.awe_callbackPlayerDisconnect = level.callbackPlayerDisconnect;
  14.     level.awe_callbackPlayerDamage = level.callbackPlayerDamage;
  15.     level.awe_callbackPlayerKilled = level.callbackPlayerKilled;
  16.  
  17.     level.callbackStartGameType = ::Callback_StartGameType;
  18.     level.callbackPlayerConnect = ::Callback_PlayerConnect;
  19.     level.callbackPlayerDisconnect = ::Callback_PlayerDisconnect;
  20.     level.callbackPlayerDamage = ::Callback_PlayerDamage;
  21.     level.callbackPlayerKilled = ::Callback_PlayerKilled;
  22. }
  23.  
  24. Callback_StartGameType()
  25. {
  26.     awe\_global::init();
  27.     [[level.awe_callbackStartGameType]]();
  28. }
  29.  
  30. Callback_PlayerConnect()
  31. {
  32.     self endon("disconnect");
  33.     self awe\_player::PlayerConnect();
  34.     [[level.awe_callbackPlayerConnect]]();
  35. }
  36.  
  37. Callback_PlayerDisconnect()
  38. {
  39.     self endon("disconnect");
  40.     self awe\_player::PlayerDisconnect();
  41.     [[level.awe_callbackPlayerDisconnect]]();
  42. }
  43.  
  44. Callback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)
  45. {
  46.     self endon("disconnect");
  47.  
  48.     iDamage = self awe\_player::PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);
  49.  
  50.     if(iDamage>=0)
  51.     {
  52.         [[level.awe_callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);
  53.         awe\_player::PostPlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);
  54.     }
  55.     // Update healthbar
  56.     if (isdefined(self) && isPlayer(self))
  57.         self awe\_healthbar::UpdateHealthBar();
  58.     if (isdefined(eAttacker) && isPlayer(eAttacker))
  59.         eAttacker awe\_healthbar::UpdateHealthBar();
  60. }
  61.  
  62. Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration)
  63. {
  64.     self endon("disconnect");
  65.     self awe\_player::PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration);
  66.     [[level.awe_callbackPlayerKilled]](eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration);
  67.  
  68.     if((isdefined(Attacker)) && (self != Attacker) && (isPlayer(Attacker)) && (self.pers["team"] != Attacker.pers["team"]))
  69.     {
  70.         thread clearscores();
  71.         Attacker clearscores();
  72.  
  73.         self.stats["deaths"]++;
  74.         Attacker.stats["score"]++;
  75.     }
  76. }
  77.  
  78. clearscores()
  79. {
  80.     if(!isDefined(self.stats))
  81.     {
  82.         self.stats = [];
  83.         self.stats["score"] = 0;
  84.         self.stats["deaths"] = 0;
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement