HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2.  
  3. new bool:showhud
  4. new bool:dollo
  5. new Float:linestart
  6. new e_time
  7.  
  8. new sync,sync2
  9. new onlyts
  10. public plugin_init() {
  11. register_plugin("Bomb Timer Line","1.1","Sh!nE*")
  12.  
  13. onlyts = register_cvar("btl_only_for_ts","1")
  14.  
  15. register_event("HLTV","round_start","a","1=0","2=0")
  16. register_event("SendAudio","bomb_plantdef","a","2=%!MRAD_BOMBPL","2=%!MRAD_BOMBDEF")
  17. register_logevent("bomb_exploded",6,"2=triggered", "1=TERRORIST","3=Target_Bombed")
  18.  
  19. e_time = get_cvar_pointer("mp_c4timer")
  20.  
  21. sync = CreateHudSyncObj()
  22. sync2 = CreateHudSyncObj()
  23. }
  24.  
  25. public client_putinserver(id) set_task(1.0,"check_team",id+12345,_,_,"b")
  26. public client_disconnect(id) {remove_task(id+1111);remove_task(id+2222);remove_task(id+3333);remove_task(id+4444);}
  27.  
  28. public check_team(taskid) {
  29. new id = taskid - 12345
  30. new team = get_user_team(id)
  31. if(team != 0) {
  32. if((get_pcvar_num(onlyts) && team==1) || (!get_pcvar_num(onlyts))) {set_task(0.1,"showbomb",id+1111);set_task(0.1,"showline",id+2222);remove_task(taskid);}
  33. }
  34. }
  35.  
  36. public round_start() {
  37. dollo=false
  38. showhud=false
  39. new players[32],num
  40. get_players(players,num)
  41.  
  42. remove_task(12345)
  43. for(new i=0;i < num;i++) {remove_task(players[i]+1111);remove_task(players[i]+2222);remove_task(players[i]+3333);remove_task(players[i]+4444);}
  44. linestart = ((0.50 - (get_pcvar_num(e_time) * 0.01)) + ((get_pcvar_num(e_time) * 0.01 ) / 90))
  45. }
  46.  
  47. public show_hud() {
  48. new players[32],num
  49. if(get_pcvar_num(onlyts))
  50. get_players(players,num,"e","TERRORIST")
  51. else
  52. get_players(players,num)
  53.  
  54. showhud=true
  55. set_task(0.1,"add_line",12345)
  56. for(new i=0;i < num;i++) {set_task(0.1,"showbomb",players[i]+1111);set_task(0.1,"showline",players[i]+2222);}
  57. }
  58.  
  59. public add_line() {
  60. if(showhud) {
  61. linestart += 0.001
  62. set_task(0.1,"add_line",12345)
  63. }
  64. }
  65.  
  66. public remove_hud() {showhud=false;dollo=true;}
  67.  
  68. public showbomb(taskid) {
  69. if(showhud) {
  70. set_hudmessage(255,0,0,0.50,0.93,0,0.0,0.3,0.0,0.0)
  71. ShowSyncHudMsg(taskid-1111,sync,"|<<<- c4")
  72. set_task(0.1,"showbomb",taskid)
  73. }
  74. }
  75.  
  76. public showline(taskid) {
  77. if(showhud) {
  78. set_hudmessage(0,255,0,linestart,0.93,0,0.0,0.3,0.0,0.0)
  79. ShowSyncHudMsg(taskid-2222,sync2,"->|")
  80. set_task(0.1,"showline",taskid)
  81. }
  82. }
  83.  
  84. public bomb_plantdef(id) {
  85. new data[13]
  86. read_data(2,data,12)
  87. switch(data[11]) {
  88. case 'P':show_hud()
  89. case 'D':
  90. {
  91. set_task(3.0,"dollo_set")
  92. new players[32],num
  93. if(get_pcvar_num(onlyts))
  94. get_players(players,num,"e","TERRORIST")
  95. else
  96. get_players(players,num)
  97.  
  98. remove_hud()
  99. for(new i=0;i < num;i++)
  100. set_task(0.1,"showdefused",players[i]+4444)
  101. }
  102. }
  103. }
  104.  
  105. public bomb_exploded() {
  106. new players[32],num
  107. if(get_pcvar_num(onlyts))
  108. get_players(players,num,"e","TERRORIST")
  109. else
  110. get_players(players,num)
  111.  
  112. remove_hud()
  113. for(new i=0;i < num;i++)
  114. set_task(0.1,"showexploded",players[i]+3333)
  115.  
  116. set_task(3.0,"dollo_set")
  117. }
  118.  
  119. public dollo_set() dollo=false
  120.  
  121. public showdefused(taskid) {
  122. if(dollo) {
  123. set_hudmessage(0,0,255,0.50,0.93,0,0.0,0.3,0.0,0.0)
  124. ShowSyncHudMsg(taskid-4444,sync,"[HATASTALANITVA]")
  125. set_task(0.1,"showdefused",taskid)
  126. }
  127. }
  128.  
  129. public showexploded(taskid) {
  130. if(dollo) {
  131. set_hudmessage(255,0,0,0.50,0.93,0,0.0,0.3,0.0,0.0)
  132. ShowSyncHudMsg(taskid-3333,sync,"[FELROBBANT]")
  133. set_task(0.1,"showexploded",taskid)
  134. }
  135. }
  136.  
  137.