hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.24. 09:37



Jelenlévő felhasználók

Jelenleg 163 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 163 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 5 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Afk bomba átadó.
HozzászólásElküldve: 2015.02.19. 14:09 
Offline
Tag

Csatlakozott: 2014.07.10. 15:22
Hozzászólások: 38
Megköszönt másnak: 8 alkalommal
Sziasztok valaki megcsinálná azt,hogy chatba írja ki a szövegeket? ( colorchat-al )

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. #define PLUGIN_NAME "AFK Bomb Transfer"
  5. #define PLUGIN_VERSION "0.4"
  6. #define PLUGIN_AUTHOR "VEN"
  7.  
  8. #define BOMB_MAP_CHECK
  9.  
  10. #define MSG_TIME 7.0
  11.  
  12. new CVAR_SPAWN[] = "afk_bombtransfer_spawn"
  13.  
  14. new DEFAULT_SPAWN[] = "7"
  15.  
  16. new CVAR_TIME[] = "afk_bombtransfer_time"
  17.  
  18. new DEFAULT_TIME[] = "15"
  19.  
  20. #define MAX_PLAYERS 32
  21.  
  22. #define CVAR_POINTERS_AMXX_INIT_VER_NUM 170
  23.  
  24. #if defined AMXX_VERSION_NUM && AMXX_VERSION_NUM >= CVAR_POINTERS_AMXX_INIT_VER_NUM
  25. #define CVAR_POINTERS
  26. new g_pcvar_spawn
  27. new g_pcvar_time
  28. #endif
  29.  
  30. new TEAM[] = "TERRORIST"
  31. new WEAPON[] = "weapon_c4"
  32.  
  33. #define FL_ONGROUND (1<<9)
  34.  
  35. new bool:g_freezetime = true
  36. new bool:g_spawn
  37. new bool:g_planting
  38.  
  39. new g_carrier
  40.  
  41. new g_pos[MAX_PLAYERS + 1][3]
  42. new g_time[MAX_PLAYERS + 1]
  43.  
  44. new g_maxplayers
  45.  
  46. public plugin_init() {
  47. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  48.  
  49. #if defined CVAR_POINTERS
  50. g_pcvar_spawn = register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  51. g_pcvar_time = register_cvar(CVAR_TIME, DEFAULT_TIME)
  52. #else
  53. register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  54. register_cvar(CVAR_TIME, DEFAULT_TIME)
  55. #endif
  56.  
  57. #if defined BOMB_MAP_CHECK
  58.  
  59. if (!engfunc(EngFunc_FindEntityByString, -1, "classname", "func_bomb_target"))
  60. return
  61. #endif
  62.  
  63. register_event("WeapPickup", "event_got_bomb", "be", "1=6")
  64. register_event("BarTime", "event_bar_time", "be")
  65. register_event("TextMsg", "event_bomb_drop", "bc", "2=#Game_bomb_drop")
  66. register_event("TextMsg", "event_bomb_drop", "a", "2=#Bomb_Planted")
  67. register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
  68.  
  69. register_logevent("logevent_round_start", 2, "1=Round_Start")
  70.  
  71. set_task(1.0, "task_afk_check", _, _, _, "b")
  72.  
  73. g_maxplayers = get_maxplayers()
  74. }
  75.  
  76.  
  77. public event_new_round() {
  78. g_freezetime = true
  79. g_spawn = true
  80. g_planting = false
  81. g_carrier = 0
  82. }
  83.  
  84. public event_got_bomb(id) {
  85. g_carrier = id
  86. }
  87.  
  88. public event_bar_time(id) {
  89. if (id == g_carrier) {
  90. g_planting = bool:read_data(1)
  91. get_user_origin(id, g_pos[id])
  92. g_time[id] = 0
  93. }
  94. }
  95.  
  96. public event_bomb_drop() {
  97. g_spawn = false
  98. g_planting = false
  99. g_carrier = 0
  100. }
  101.  
  102. public logevent_round_start() {
  103. new id[32], num
  104. get_players(id, num, "ae", TEAM)
  105.  
  106. if (!num)
  107. return
  108.  
  109. g_freezetime = false
  110.  
  111. new x
  112. for (new i = 0; i < num; ++i) {
  113. x = id[i]
  114. get_user_origin(x, g_pos[x])
  115. g_time[x] = 0
  116. }
  117. }
  118.  
  119. public task_afk_check() {
  120. if (g_freezetime)
  121. return
  122.  
  123. new id[32], num, x, origin[3]
  124. get_players(id, num, "ae", TEAM)
  125. for (new i = 0; i < num; ++i) {
  126. x = id[i]
  127. get_user_origin(x, origin)
  128. if (origin[0] != g_pos[x][0] || origin[1] != g_pos[x][1] || (x == g_carrier && g_planting)) {
  129. g_time[x] = 0
  130. g_pos[x][0] = origin[0]
  131. g_pos[x][1] = origin[1]
  132. if (g_spawn && x == g_carrier)
  133. g_spawn = false
  134. }
  135. else
  136. g_time[x]++
  137. }
  138.  
  139. if (!g_carrier || num < 2)
  140. return
  141.  
  142. #if defined CVAR_POINTERS
  143. new max_time = get_pcvar_num(g_spawn ? g_pcvar_spawn : g_pcvar_time)
  144. #else
  145. new max_time = get_cvar_num(g_spawn ? CVAR_SPAWN : CVAR_TIME)
  146. #endif
  147.  
  148. if (max_time <= 0 || g_time[g_carrier] < max_time)
  149. return
  150.  
  151. get_user_origin(g_carrier, origin)
  152. new min_dist = 999999, dist, recipient, origin2[3]
  153. for (new i = 0; i < num; ++i) {
  154. x = id[i]
  155. if (g_time[x] < max_time) {
  156. get_user_origin(x, origin2)
  157. dist = get_distance(origin, origin2)
  158. if (dist < min_dist) {
  159. min_dist = dist
  160. recipient = x
  161. }
  162. }
  163. }
  164.  
  165. if (!recipient)
  166. return
  167.  
  168. new carrier = g_carrier
  169. engclient_cmd(carrier, "drop", WEAPON)
  170. new c4 = engfunc(EngFunc_FindEntityByString, -1, "classname", WEAPON)
  171. if (!c4)
  172. return
  173.  
  174. new backpack = pev(c4, pev_owner)
  175. if (backpack <= g_maxplayers)
  176. return
  177.  
  178.  
  179. set_pev(backpack, pev_flags, pev(backpack, pev_flags) | FL_ONGROUND)
  180. dllfunc(DLLFunc_Touch, backpack, recipient)
  181.  
  182.  
  183. set_hudmessage(0, 255, 0, 0.35, 0.8, _, _, MSG_TIME)
  184. new message[128], c_name[32], r_name[32]
  185. get_user_name(carrier, c_name, 31)
  186. get_user_name(recipient, r_name, 31)
  187. format(message, 127, "A bombat att adtak ^"%s^"^n-nek mert ^"%s^" AFKzik!", r_name, c_name)
  188. for (new i = 0; i < num; ++i)
  189. show_hudmessage(id[i], "%s", message)
  190.  
  191. set_hudmessage(255, 255, 0, 0.42, 0.3, _, _, MSG_TIME, _, _, 3)
  192. show_hudmessage(recipient, "Meg kaptad a Bombat!")
  193. }

_________________
:)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Afk bomba átadó.
HozzászólásElküldve: 2015.02.19. 14:18 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.11.16. 12:37
Hozzászólások: 686
Megköszönt másnak: 32 alkalommal
Megköszönték neki: 131 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <colorchat>
  4.  
  5. #define PLUGIN_NAME "AFK Bomb Transfer"
  6. #define PLUGIN_VERSION "0.4"
  7. #define PLUGIN_AUTHOR "VEN"
  8.  
  9. #define BOMB_MAP_CHECK
  10.  
  11. #define MSG_TIME 7.0
  12.  
  13. new CVAR_SPAWN[] = "afk_bombtransfer_spawn"
  14.  
  15. new DEFAULT_SPAWN[] = "7"
  16.  
  17. new CVAR_TIME[] = "afk_bombtransfer_time"
  18.  
  19. new DEFAULT_TIME[] = "15"
  20.  
  21. #define MAX_PLAYERS 32
  22.  
  23. #define CVAR_POINTERS_AMXX_INIT_VER_NUM 170
  24.  
  25. #if defined AMXX_VERSION_NUM && AMXX_VERSION_NUM >= CVAR_POINTERS_AMXX_INIT_VER_NUM
  26. #define CVAR_POINTERS
  27. new g_pcvar_spawn
  28. new g_pcvar_time
  29. #endif
  30.  
  31. new TEAM[] = "TERRORIST"
  32. new WEAPON[] = "weapon_c4"
  33.  
  34. #define FL_ONGROUND (1<<9)
  35.  
  36. new bool:g_freezetime = true
  37. new bool:g_spawn
  38. new bool:g_planting
  39.  
  40. new g_carrier
  41.  
  42. new g_pos[MAX_PLAYERS + 1][3]
  43. new g_time[MAX_PLAYERS + 1]
  44.  
  45. new g_maxplayers
  46.  
  47. public plugin_init() {
  48. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  49.  
  50. #if defined CVAR_POINTERS
  51. g_pcvar_spawn = register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  52. g_pcvar_time = register_cvar(CVAR_TIME, DEFAULT_TIME)
  53. #else
  54. register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  55. register_cvar(CVAR_TIME, DEFAULT_TIME)
  56. #endif
  57.  
  58. #if defined BOMB_MAP_CHECK
  59.  
  60. if (!engfunc(EngFunc_FindEntityByString, -1, "classname", "func_bomb_target"))
  61. return
  62. #endif
  63.  
  64. register_event("WeapPickup", "event_got_bomb", "be", "1=6")
  65. register_event("BarTime", "event_bar_time", "be")
  66. register_event("TextMsg", "event_bomb_drop", "bc", "2=#Game_bomb_drop")
  67. register_event("TextMsg", "event_bomb_drop", "a", "2=#Bomb_Planted")
  68. register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
  69.  
  70. register_logevent("logevent_round_start", 2, "1=Round_Start")
  71.  
  72. set_task(1.0, "task_afk_check", _, _, _, "b")
  73.  
  74. g_maxplayers = get_maxplayers()
  75. }
  76.  
  77.  
  78. public event_new_round() {
  79. g_freezetime = true
  80. g_spawn = true
  81. g_planting = false
  82. g_carrier = 0
  83. }
  84.  
  85. public event_got_bomb(id) {
  86. g_carrier = id
  87. }
  88.  
  89. public event_bar_time(id) {
  90. if (id == g_carrier) {
  91. g_planting = bool:read_data(1)
  92. get_user_origin(id, g_pos[id])
  93. g_time[id] = 0
  94. }
  95. }
  96.  
  97. public event_bomb_drop() {
  98. g_spawn = false
  99. g_planting = false
  100. g_carrier = 0
  101. }
  102.  
  103. public logevent_round_start() {
  104. new id[32], num
  105. get_players(id, num, "ae", TEAM)
  106.  
  107. if (!num)
  108. return
  109.  
  110. g_freezetime = false
  111.  
  112. new x
  113. for (new i = 0; i < num; ++i) {
  114. x = id[i]
  115. get_user_origin(x, g_pos[x])
  116. g_time[x] = 0
  117. }
  118. }
  119.  
  120. public task_afk_check() {
  121. if (g_freezetime)
  122. return
  123.  
  124. new id[32], num, x, origin[3]
  125. get_players(id, num, "ae", TEAM)
  126. for (new i = 0; i < num; ++i) {
  127. x = id[i]
  128. get_user_origin(x, origin)
  129. if (origin[0] != g_pos[x][0] || origin[1] != g_pos[x][1] || (x == g_carrier && g_planting)) {
  130. g_time[x] = 0
  131. g_pos[x][0] = origin[0]
  132. g_pos[x][1] = origin[1]
  133. if (g_spawn && x == g_carrier)
  134. g_spawn = false
  135. }
  136. else
  137. g_time[x]++
  138. }
  139.  
  140. if (!g_carrier || num < 2)
  141. return
  142.  
  143. #if defined CVAR_POINTERS
  144. new max_time = get_pcvar_num(g_spawn ? g_pcvar_spawn : g_pcvar_time)
  145. #else
  146. new max_time = get_cvar_num(g_spawn ? CVAR_SPAWN : CVAR_TIME)
  147. #endif
  148.  
  149. if (max_time <= 0 || g_time[g_carrier] < max_time)
  150. return
  151.  
  152. get_user_origin(g_carrier, origin)
  153. new min_dist = 999999, dist, recipient, origin2[3]
  154. for (new i = 0; i < num; ++i) {
  155. x = id[i]
  156. if (g_time[x] < max_time) {
  157. get_user_origin(x, origin2)
  158. dist = get_distance(origin, origin2)
  159. if (dist < min_dist) {
  160. min_dist = dist
  161. recipient = x
  162. }
  163. }
  164. }
  165.  
  166. if (!recipient)
  167. return
  168.  
  169. new carrier = g_carrier
  170. engclient_cmd(carrier, "drop", WEAPON)
  171. new c4 = engfunc(EngFunc_FindEntityByString, -1, "classname", WEAPON)
  172. if (!c4)
  173. return
  174.  
  175. new backpack = pev(c4, pev_owner)
  176. if (backpack <= g_maxplayers)
  177. return
  178.  
  179.  
  180. set_pev(backpack, pev_flags, pev(backpack, pev_flags) | FL_ONGROUND)
  181. dllfunc(DLLFunc_Touch, backpack, recipient)
  182.  
  183.  
  184. set_hudmessage(0, 255, 0, 0.35, 0.8, _, _, MSG_TIME)
  185. new message[128], c_name[32], r_name[32]
  186. get_user_name(carrier, c_name, 31)
  187. get_user_name(recipient, r_name, 31)
  188. ColorChat(0, GREEN, "A bombat att adtak ^4%s^1-nek mert ^4%s ^1AFKzik!", r_name, c_name)
  189. for (new i = 0; i < num; ++i)
  190. show_hudmessage(id[i], "%s", message)
  191.  
  192. set_hudmessage(255, 255, 0, 0.42, 0.3, _, _, MSG_TIME, _, _, 3)
  193. show_hudmessage(recipient, "Meg kaptad a Bombat!")
  194. }

_________________
Kép
"I wouldn't hold my breath if I was you
Cause I'll forget but I'll never forgive you
Don't you know, don't you know?
True friends stab you in the front."

Ők köszönték meg 6almasok nek ezt a hozzászólást: XefHosy (2015.02.19. 14:24)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Afk bomba átadó.
HozzászólásElküldve: 2015.02.19. 14:25 
Offline
Tag

Csatlakozott: 2014.07.10. 15:22
Hozzászólások: 38
Megköszönt másnak: 8 alkalommal
köszönöm :) azt még valaki megcsinálná vagy megcsinálnád,hogy a Meg kaptad a Bombat! szöveg is chatban legyen és colorchates legyen?

_________________
:)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Afk bomba átadó.
HozzászólásElküldve: 2015.02.19. 15:37 
Offline
Jómunkásember
Avatar

Csatlakozott: 2014.10.31. 14:51
Hozzászólások: 462
Megköszönt másnak: 73 alkalommal
Megköszönték neki: 29 alkalommal
TRY
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <colorchat>
  4.  
  5. #define PLUGIN_NAME "AFK Bomb Transfer"
  6. #define PLUGIN_VERSION "0.4"
  7. #define PLUGIN_AUTHOR "VEN"
  8.  
  9. #define BOMB_MAP_CHECK
  10.  
  11. #define MSG_TIME 7.0
  12.  
  13. new CVAR_SPAWN[] = "afk_bombtransfer_spawn"
  14.  
  15. new DEFAULT_SPAWN[] = "7"
  16.  
  17. new CVAR_TIME[] = "afk_bombtransfer_time"
  18.  
  19. new DEFAULT_TIME[] = "15"
  20.  
  21. #define MAX_PLAYERS 32
  22.  
  23. #define CVAR_POINTERS_AMXX_INIT_VER_NUM 170
  24.  
  25. #if defined AMXX_VERSION_NUM && AMXX_VERSION_NUM >= CVAR_POINTERS_AMXX_INIT_VER_NUM
  26. #define CVAR_POINTERS
  27. new g_pcvar_spawn
  28. new g_pcvar_time
  29. #endif
  30.  
  31. new TEAM[] = "TERRORIST"
  32. new WEAPON[] = "weapon_c4"
  33.  
  34. #define FL_ONGROUND (1<<9)
  35.  
  36. new bool:g_freezetime = true
  37. new bool:g_spawn
  38. new bool:g_planting
  39.  
  40. new g_carrier
  41.  
  42. new g_pos[MAX_PLAYERS + 1][3]
  43. new g_time[MAX_PLAYERS + 1]
  44.  
  45. new g_maxplayers
  46.  
  47. public plugin_init() {
  48. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  49.  
  50. #if defined CVAR_POINTERS
  51. g_pcvar_spawn = register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  52. g_pcvar_time = register_cvar(CVAR_TIME, DEFAULT_TIME)
  53. #else
  54. register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  55. register_cvar(CVAR_TIME, DEFAULT_TIME)
  56. #endif
  57.  
  58. #if defined BOMB_MAP_CHECK
  59.  
  60. if (!engfunc(EngFunc_FindEntityByString, -1, "classname", "func_bomb_target"))
  61. return
  62. #endif
  63.  
  64. register_event("WeapPickup", "event_got_bomb", "be", "1=6")
  65. register_event("BarTime", "event_bar_time", "be")
  66. register_event("TextMsg", "event_bomb_drop", "bc", "2=#Game_bomb_drop")
  67. register_event("TextMsg", "event_bomb_drop", "a", "2=#Bomb_Planted")
  68. register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
  69.  
  70. register_logevent("logevent_round_start", 2, "1=Round_Start")
  71.  
  72. set_task(1.0, "task_afk_check", _, _, _, "b")
  73.  
  74. g_maxplayers = get_maxplayers()
  75. }
  76.  
  77.  
  78. public event_new_round() {
  79. g_freezetime = true
  80. g_spawn = true
  81. g_planting = false
  82. g_carrier = 0
  83. }
  84.  
  85. public event_got_bomb(id) {
  86. g_carrier = id
  87. }
  88.  
  89. public event_bar_time(id) {
  90. if (id == g_carrier) {
  91. g_planting = bool:read_data(1)
  92. get_user_origin(id, g_pos[id])
  93. g_time[id] = 0
  94. }
  95. }
  96.  
  97. public event_bomb_drop() {
  98. g_spawn = false
  99. g_planting = false
  100. g_carrier = 0
  101. }
  102.  
  103. public logevent_round_start() {
  104. new id[32], num
  105. get_players(id, num, "ae", TEAM)
  106.  
  107. if (!num)
  108. return
  109.  
  110. g_freezetime = false
  111.  
  112. new x
  113. for (new i = 0; i < num; ++i) {
  114. x = id[i]
  115. get_user_origin(x, g_pos[x])
  116. g_time[x] = 0
  117. }
  118. }
  119.  
  120. public task_afk_check() {
  121. if (g_freezetime)
  122. return
  123.  
  124. new id[32], num, x, origin[3]
  125. get_players(id, num, "ae", TEAM)
  126. for (new i = 0; i < num; ++i) {
  127. x = id[i]
  128. get_user_origin(x, origin)
  129. if (origin[0] != g_pos[x][0] || origin[1] != g_pos[x][1] || (x == g_carrier && g_planting)) {
  130. g_time[x] = 0
  131. g_pos[x][0] = origin[0]
  132. g_pos[x][1] = origin[1]
  133. if (g_spawn && x == g_carrier)
  134. g_spawn = false
  135. }
  136. else
  137. g_time[x]++
  138. }
  139.  
  140. if (!g_carrier || num < 2)
  141. return
  142.  
  143. #if defined CVAR_POINTERS
  144. new max_time = get_pcvar_num(g_spawn ? g_pcvar_spawn : g_pcvar_time)
  145. #else
  146. new max_time = get_cvar_num(g_spawn ? CVAR_SPAWN : CVAR_TIME)
  147. #endif
  148.  
  149. if (max_time <= 0 || g_time[g_carrier] < max_time)
  150. return
  151.  
  152. get_user_origin(g_carrier, origin)
  153. new min_dist = 999999, dist, recipient, origin2[3]
  154. for (new i = 0; i < num; ++i) {
  155. x = id[i]
  156. if (g_time[x] < max_time) {
  157. get_user_origin(x, origin2)
  158. dist = get_distance(origin, origin2)
  159. if (dist < min_dist) {
  160. min_dist = dist
  161. recipient = x
  162. }
  163. }
  164. }
  165.  
  166. if (!recipient)
  167. return
  168.  
  169. new carrier = g_carrier
  170. engclient_cmd(carrier, "drop", WEAPON)
  171. new c4 = engfunc(EngFunc_FindEntityByString, -1, "classname", WEAPON)
  172. if (!c4)
  173. return
  174.  
  175. new backpack = pev(c4, pev_owner)
  176. if (backpack <= g_maxplayers)
  177. return
  178.  
  179.  
  180. set_pev(backpack, pev_flags, pev(backpack, pev_flags) | FL_ONGROUND)
  181. dllfunc(DLLFunc_Touch, backpack, recipient)
  182.  
  183.  
  184. set_hudmessage(0, 255, 0, 0.35, 0.8, _, _, MSG_TIME)
  185. new message[128], c_name[32], r_name[32]
  186. get_user_name(carrier, c_name, 31)
  187. get_user_name(recipient, r_name, 31)
  188. ColorChat(0, GREEN, "A bombat att adtak ^4%s^1-nek mert ^4%s ^1AFKzik!", r_name, c_name)
  189. for (new i = 0; i < num; ++i)
  190. show_hudmessage(id[i], "%s", message)
  191.  
  192. set_hudmessage(255, 255, 0, 0.42, 0.3, _, _, MSG_TIME, _, _, 3)
  193. ColorChat(recipient, GREEN, "Meg kaptad a Bombat!")
  194. }

Ők köszönték meg Be$t.# nek ezt a hozzászólást: XefHosy (2015.02.19. 17:26)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Afk bomba átadó.
HozzászólásElküldve: 2015.02.21. 16:19 
Offline
Tag

Csatlakozott: 2014.07.10. 15:22
Hozzászólások: 38
Megköszönt másnak: 8 alkalommal
Azóta szerkesztgettem és ez lett belőle,de nem tudom miért csinálja ezt :
Kép
itt a kép
( csak ott csinálja ezt )

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. #define PLUGIN_NAME "AFK Bomb Transfer"
  5. #define PLUGIN_VERSION "0.4"
  6. #define PLUGIN_AUTHOR "VEN"
  7.  
  8. #define BOMB_MAP_CHECK
  9.  
  10. #define MSG_TIME 7.0
  11.  
  12. new CVAR_SPAWN[] = "afk_bombtransfer_spawn"
  13.  
  14. new DEFAULT_SPAWN[] = "7"
  15.  
  16. new CVAR_TIME[] = "afk_bombtransfer_time"
  17.  
  18. new DEFAULT_TIME[] = "15"
  19.  
  20. #define MAX_PLAYERS 32
  21.  
  22. #define CVAR_POINTERS_AMXX_INIT_VER_NUM 170
  23.  
  24. #if defined AMXX_VERSION_NUM && AMXX_VERSION_NUM >= CVAR_POINTERS_AMXX_INIT_VER_NUM
  25. #define CVAR_POINTERS
  26. new g_pcvar_spawn
  27. new g_pcvar_time
  28. #endif
  29.  
  30. new TEAM[] = "TERRORIST"
  31. new WEAPON[] = "weapon_c4"
  32.  
  33. #define FL_ONGROUND (1<<9)
  34.  
  35. new bool:g_freezetime = true
  36. new bool:g_spawn
  37. new bool:g_planting
  38.  
  39. new g_carrier
  40.  
  41. new g_pos[MAX_PLAYERS + 1][3]
  42. new g_time[MAX_PLAYERS + 1]
  43.  
  44. new g_maxplayers
  45.  
  46. public plugin_init() {
  47. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  48.  
  49. #if defined CVAR_POINTERS
  50. g_pcvar_spawn = register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  51. g_pcvar_time = register_cvar(CVAR_TIME, DEFAULT_TIME)
  52. #else
  53. register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  54. register_cvar(CVAR_TIME, DEFAULT_TIME)
  55. #endif
  56.  
  57. #if defined BOMB_MAP_CHECK
  58.  
  59. if (!engfunc(EngFunc_FindEntityByString, -1, "classname", "func_bomb_target"))
  60. return
  61. #endif
  62.  
  63. register_event("WeapPickup", "event_got_bomb", "be", "1=6")
  64. register_event("BarTime", "event_bar_time", "be")
  65. register_event("TextMsg", "event_bomb_drop", "bc", "2=#Game_bomb_drop")
  66. register_event("TextMsg", "event_bomb_drop", "a", "2=#Bomb_Planted")
  67. register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
  68.  
  69. register_logevent("logevent_round_start", 2, "1=Round_Start")
  70.  
  71. set_task(1.0, "task_afk_check", _, _, _, "b")
  72.  
  73. g_maxplayers = get_maxplayers()
  74. }
  75.  
  76.  
  77. public event_new_round() {
  78. g_freezetime = true
  79. g_spawn = true
  80. g_planting = false
  81. g_carrier = 0
  82. }
  83.  
  84. public event_got_bomb(id) {
  85. g_carrier = id
  86. }
  87.  
  88. public event_bar_time(id) {
  89. if (id == g_carrier) {
  90. g_planting = bool:read_data(1)
  91. get_user_origin(id, g_pos[id])
  92. g_time[id] = 0
  93. }
  94. }
  95.  
  96. public event_bomb_drop() {
  97. g_spawn = false
  98. g_planting = false
  99. g_carrier = 0
  100. }
  101.  
  102. public logevent_round_start() {
  103. new id[32], num
  104. get_players(id, num, "ae", TEAM)
  105.  
  106. if (!num)
  107. return
  108.  
  109. g_freezetime = false
  110.  
  111. new x
  112. for (new i = 0; i < num; ++i) {
  113. x = id[i]
  114. get_user_origin(x, g_pos[x])
  115. g_time[x] = 0
  116. }
  117. }
  118.  
  119. public task_afk_check() {
  120. if (g_freezetime)
  121. return
  122.  
  123. new id[32], num, x, origin[3]
  124. get_players(id, num, "ae", TEAM)
  125. for (new i = 0; i < num; ++i) {
  126. x = id[i]
  127. get_user_origin(x, origin)
  128. if (origin[0] != g_pos[x][0] || origin[1] != g_pos[x][1] || (x == g_carrier && g_planting)) {
  129. g_time[x] = 0
  130. g_pos[x][0] = origin[0]
  131. g_pos[x][1] = origin[1]
  132. if (g_spawn && x == g_carrier)
  133. g_spawn = false
  134. }
  135. else
  136. g_time[x]++
  137. }
  138.  
  139. if (!g_carrier || num < 2)
  140. return
  141.  
  142. #if defined CVAR_POINTERS
  143. new max_time = get_pcvar_num(g_spawn ? g_pcvar_spawn : g_pcvar_time)
  144. #else
  145. new max_time = get_cvar_num(g_spawn ? CVAR_SPAWN : CVAR_TIME)
  146. #endif
  147.  
  148. if (max_time <= 0 || g_time[g_carrier] < max_time)
  149. return
  150.  
  151. get_user_origin(g_carrier, origin)
  152. new min_dist = 999999, dist, recipient, origin2[3]
  153. for (new i = 0; i < num; ++i) {
  154. x = id[i]
  155. if (g_time[x] < max_time) {
  156. get_user_origin(x, origin2)
  157. dist = get_distance(origin, origin2)
  158. if (dist < min_dist) {
  159. min_dist = dist
  160. recipient = x
  161. }
  162. }
  163. }
  164.  
  165. if (!recipient)
  166. return
  167.  
  168. new carrier = g_carrier
  169. engclient_cmd(carrier, "drop", WEAPON)
  170. new c4 = engfunc(EngFunc_FindEntityByString, -1, "classname", WEAPON)
  171. if (!c4)
  172. return
  173.  
  174. new backpack = pev(c4, pev_owner)
  175. if (backpack <= g_maxplayers)
  176. return
  177.  
  178.  
  179. set_pev(backpack, pev_flags, pev(backpack, pev_flags) | FL_ONGROUND)
  180. dllfunc(DLLFunc_Touch, backpack, recipient)
  181.  
  182.  
  183. set_hudmessage(0, 255, 0, 0.35, 0.8, _, _, MSG_TIME)
  184. new message[128], c_name[32], r_name[32]
  185. get_user_name(carrier, c_name, 31)
  186. get_user_name(recipient, r_name, 31)
  187. print_color(0,"!g[!yOMEGA!g] !y» !tA bomba át lett adva egy másik játékosnak !y.")
  188. for (new i = 0; i < num; ++i)
  189. show_hudmessage(id[i], "%s", message)
  190.  
  191. set_hudmessage(255, 255, 0, 0.42, 0.3, _, _, MSG_TIME, _, _, 3)
  192. print_color(recipient, "!g[!yOMEGA!g] !y» !tA bomba hozzád került !y.")
  193. }
  194.  
  195. stock print_color(const id, const input[], any:...)
  196. {
  197. new count = 1, players[32]
  198. static msg[191]
  199. vformat(msg, 190, input, 3)
  200.  
  201. replace_all(msg, 190, "!g", "^4")
  202. replace_all(msg, 190, "!y", "^1")
  203. replace_all(msg, 190, "!t", "^3")
  204. replace_all(msg, 190, "á", "á")
  205. replace_all(msg, 190, "é", "Ă©")
  206. replace_all(msg, 190, "í", "Ă­")
  207. replace_all(msg, 190, "ó", "Ăł")
  208. replace_all(msg, 190, "ö", "ö")
  209. replace_all(msg, 190, "ő", "Ĺ‘")
  210. replace_all(msg, 190, "ú", "Ăş")
  211. replace_all(msg, 190, "ü", "ĂĽ")
  212. replace_all(msg, 190, "ű", "ű")
  213. replace_all(msg, 190, "Á", "Á")
  214. replace_all(msg, 190, "É", "É")
  215. replace_all(msg, 190, "Í", "ĂŤ")
  216. replace_all(msg, 190, "Ó", "Ă“")
  217. replace_all(msg, 190, "Ö", "Ă–")
  218. replace_all(msg, 190, "Ő", "Ő")
  219. replace_all(msg, 190, "Ú", "Ăš")
  220. replace_all(msg, 190, "Ü", "Ăś")
  221. replace_all(msg, 190, "Ű", "Ĺ°")
  222. replace_all(msg, 190, "©", "©")
  223. replace_all(msg, 190, "®", "®")
  224. replace_all(msg, 190, "§", "§")
  225. replace_all(msg, 190, "°", "°")
  226. replace_all(msg, 190, "Ł", "Ł")
  227. replace_all(msg, 190, "»", "»")
  228. replace_all(msg, 190, "«", "«")
  229.  
  230. if (id) players[0] = id; else get_players(players, count, "ch")
  231. {
  232. for (new i = 0; i < count; i++)
  233. {
  234. if (is_user_connected(players[i]))
  235. {
  236. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  237. write_byte(players[i])
  238. write_string(msg)
  239. message_end()
  240. }
  241. }
  242. }
  243. return PLUGIN_HANDLED
  244. }
  245.  

_________________
:)


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 5 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 9 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole