Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2011
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. //100% untested
  2. //not completed
  3. //missing damage decay
  4. //i just decided to make this in like 5 mins lol so yeah...
  5.  
  6. self thread trololololol();
  7.  
  8. trolololol()
  9. {
  10. self endon("death");
  11. self endon("disconnect");
  12.  
  13. for(;;)
  14. {
  15. self waittill("weapon_fired");
  16. //if(getwep() == "w.e")
  17. //spawn the flag
  18. //flag thread monitor(self);
  19. //flag thread destroy(self);
  20. }
  21. }
  22.  
  23. destroy(owner)
  24. {
  25. //put your own damage code here newb
  26. self notify("destroyed");
  27.  
  28. for(i = 0; i < level.players.size; i++)
  29. {
  30. level.players[i] notify(self["owner"]+"_destroyed");
  31. level.players[i].flagging[self["owner"]] = false;
  32. level.players[i].WasInFlag[self] = false;
  33. }
  34. }
  35.  
  36. monitor(owner)
  37. {
  38. owner endon("death");
  39. owner endon("disconnect");
  40. self endon("destroyed");//make your own notify
  41.  
  42. self["owner"] = owner.name;
  43.  
  44. for(;;)
  45. {
  46. for(i = 0; i < level.players.size; i++)
  47. {
  48. player = level.players[i];
  49.  
  50. if(!isDefined(player) || !isAlive(player))//TODO: check for zawmbies
  51. continue;
  52.  
  53. if(!isDefined(player.WasInFlag))
  54. player.WasInFlag = []
  55.  
  56. //if(!(Distance(self.origin, level.players[i].origin) <= 200))
  57. if(!(DistanceSquared(self.origin, level.players[i].origin) <= 40000))//more efficent
  58. {
  59. if(player.WasInFlag[self])
  60. {
  61. player notify(self["owner"]+"_destroyed");
  62. player.WasInFlag[self] = false;
  63. player.flagging[self["owner"]] = false;
  64. }
  65.  
  66. continue;
  67. }
  68.  
  69. if(!isDefined(player.flagging))
  70. player.flagging = [];
  71.  
  72. if(isDefined(player.flagging[self["owner"]]) && !player.flagging[self["owner"]])
  73. {
  74. player thread DamageModifier();
  75. player thread ResetOnDeath();
  76. player.flagging[self["owner"]] = true;
  77. player.WasInFlag[self] = true;
  78. }
  79. }
  80. }
  81. }
  82.  
  83. DamageModifier(flag_owner)
  84. {
  85. self endon("death");
  86. self endon("disconnect");
  87. self endon(flag_owner+"_destroyed");
  88.  
  89. for(;;)
  90. {
  91. self.DamageMod += 1;//use in CodeCallback_PlayerDamage
  92.  
  93. wait 1;
  94. }
  95. }
  96.  
  97. ResetOnDeath()
  98. {
  99. self endon("disconnect"0;
  100. self waittill("death");
  101.  
  102. self.DamageMod = 0;
  103. for(i = 0; i < self.flagging.size; i++)
  104. {
  105. self.flagging[i] = false;
  106. }
  107. for(a = 0; a < self.WasInFlag.size; a++)
  108. {
  109. self.WasInFlag[a] = false;
  110. }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement