Advertisement
Guest User

flag_holder.cfg

a guest
Jan 12th, 2016
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.81 KB | None | 0 0
  1. reset_flags = [
  2.     reset_blue_flag
  3.     reset_red_flag
  4. ]
  5.  
  6. reset_blue_flag = [
  7.     blue_flag_taken = 0
  8.     blue_flag_droped = 0
  9.     blue_flag_time = -1
  10.     enemy_cn = -1
  11. ]
  12.  
  13. reset_red_flag = [
  14.     red_flag_taken = 0
  15.     red_flag_droped = 0
  16.     red_flag_time = -1
  17.     teammate_cn = -1
  18. ]
  19.  
  20. set_player_cn = [
  21.     if (strcmp (getteam) (getclientteam $arg1)) [
  22.         red_flag_taken = 1
  23.         red_flag_droped = 0
  24.         teammate_cn = $arg1
  25.     ][
  26.         blue_flag_taken = 1
  27.         blue_flag_droped = 0
  28.         enemy_cn = $arg1
  29.     ]
  30. ]
  31.  
  32. set_flag_time = [
  33.     if (strcmp (getteam) (getclientteam $arg1)) [
  34.         red_flag_droped = 1
  35.         red_flag_taken = 0
  36.         red_flag_time = (getlastmillis)
  37.     ][
  38.         blue_flag_droped = 1
  39.         blue_flag_taken = 0
  40.         blue_flag_time = (getlastmillis)
  41.     ]
  42. ]
  43.  
  44. get_flag_reset = [
  45.     if (strcmp (getteam) (getclientteam $arg1)) [
  46.         reset_blue_flag
  47.     ][
  48.         reset_red_flag
  49.     ]
  50. ]
  51.  
  52. scriptevent "flagtake" "player_cn"   [ set_player_cn $player_cn ]
  53. scriptevent "flagdrop" "player_cn"   [ set_flag_time $player_cn ]
  54. scriptevent "flagreturn" "player_cn" [ get_flag_reset $player_cn ]
  55. scriptevent "flagscore" [ reset_flags ]
  56. scriptevent "startup" [ reset_flags ]
  57. //scriptevent "mapstart" [ reset_flags ]
  58. scriptevent "intermission" [ reset_flags ]
  59. scriptevent "disconnect" [ reset_flags ]
  60.  
  61. scriptevent "scriptinit" [ echo "^f6Flag holders extension loaded."]
  62.  
  63. // This function dont like me so much because every ms is called
  64. // (when some flag is droped).
  65. count_down = [
  66.     local time_millis secs
  67.     time_millis = (- (getlastmillis) $arg1)
  68.  
  69.     if (< $time_millis 0) [
  70.         secs = -1       // or maybe just secs = $time_millis
  71.     ][
  72.         secs = (- 10 (div $time_millis 1000))
  73.     ]
  74.     result $secs
  75. ]
  76. // flag_holder_hud (flag_taken, flag_droped, 1 | 0 )
  77. //                        arg1,        arg2, arg3
  78. flag_holder_hud = [
  79.     local color
  80.     color = (? $arg3 "^f3" "^f1")   // arg3 [1 blue flag actions | 0 red flag actions]
  81.  
  82.     cond $arg1 [  // flag_taken if $arg1
  83.         result (concatword $color (getclientname (? $arg3 $enemy_cn $teammate_cn)) "^f4 has the " (? $arg3 "blue" "red") " flag.")
  84.     ] $arg2 [  // flag_droped
  85.         local seconds
  86.         seconds = (count_down (? $arg3 $blue_flag_time $red_flag_time))
  87.         if (> $seconds 0) [
  88.             color = (? $arg3 "^f1" "^f3")
  89.             result (concatword "^f4" (? $arg3 "Blue" "Red") " flag return in " $color $seconds "^f9 sec." )
  90.         ][
  91.             if $arg3 [ blue_flag_droped = 0 ] [ red_flag_droped = 0 ]
  92.         ]
  93.     ][
  94.         result (concatword $color "--")
  95.     ]
  96. ]
  97.  
  98. gamehud = [ if (m_ctf (getmode)) [ format "^n%1 ^n%2" (flag_holder_hud $blue_flag_taken $blue_flag_droped 1) (flag_holder_hud $red_flag_taken $red_flag_droped 0) ]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement