hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.14. 06:18



Jelenlévő felhasználók

Jelenleg 771 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 771 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: C4 Átadó
HozzászólásElküldve: 2014.09.24. 16:50 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.18. 17:35
Hozzászólások: 365
Megköszönt másnak: 152 alkalommal
Megköszönték neki: 31 alkalommal
Hali!
Próbáltam átalakítani a plugint színesre, de valamiért nem engedi fordítani, valaki esetleg lenne olyan kedves megnézni, javítaná nekem?
Előre köszi.

SMA Forráskód: [ Mindet kijelol ]
  1. /* AMX Mod X
  2. * AFK Bomb Transfer
  3. *
  4. * (c) Copyright 2006 by VEN
  5. *
  6. * This file is provided as is (no warranties)
  7. *
  8. * DESCRIPTION
  9. * Plugin allow transfer bomb from AFK terrorist to closest non-AFK teammate.
  10. * Plugin will have no effect:
  11. * - at the freezetime
  12. * - if bomb is planting
  13. * - on non-bomb maps (comment #define BOMB_MAP_CHECK to suppress)
  14. *
  15. * MODULES
  16. * fakemeta
  17. *
  18. * CVARS
  19. * afk_bombtransfer_spawn (N: seconds, default: 7) - max. allowed bomb carrier AFK time
  20. * affects on spawned AFK bomb carrier which never moved after spawn
  21. *
  22. * afk_bombtransfer_time (N: seconds, default: 15) - max. allowed bomb carrier AFK time
  23. * affects on any AFK bomb carrier except one which obey previous CVAR
  24. *
  25. * HUD MESSAGES
  26. * Terrorist team (green color)
  27. * Bomb transferred to "NEW_CARRIER_NAME"
  28. * since "AFK_CARRIER_NAME" is AFK
  29. *
  30. * New bomb carrier (yellow color)
  31. * You got the bomb!
  32. *
  33. * Note: by defult message display time is 7 seconds (define MSG_TIME)
  34. *
  35. * VERSIONS
  36. * 0.4 backpack transfer method greatly improved
  37. * added pcvar natives support (backward compatibility saved)
  38. * few code optimization
  39. * 0.3 now fakemeta instead of engine required (efficiency++ if engine is disabled)
  40. * "non-bomb map" check can be disabled (//#define BOMB_MAP_CHECK)
  41. * backpack finding method improved
  42. * few code optimization
  43. * added comments to the plugin source code
  44. * 0.2 fixed format issue
  45. * code optimized
  46. * description improved
  47. *
  48. * 0.1 first release
  49. */
  50.  
  51. /* *************************************************** Init **************************************************** */
  52.  
  53. #include <amxmodx>
  54. #include <fakemeta>
  55. #include <colorchat>
  56.  
  57. // plugin's main information
  58. #define PLUGIN_NAME "AFK Bomb Transfer"
  59. #define PLUGIN_VERSION "0.4"
  60. #define PLUGIN_AUTHOR "VEN"
  61.  
  62. // comment to avoid autodisabling the plugin on maps which not contain bomb targets
  63. #define BOMB_MAP_CHECK
  64.  
  65. // float value, hud messages display time (in seconds)
  66. #define MSG_TIME 7.0
  67.  
  68. // CVAR name, affects on spawned AFK bomb carrier which never moved after spawn
  69. new CVAR_SPAWN[] = "afk_bombtransfer_spawn"
  70.  
  71. // CVAR value, max. allowed bomb carrier AFK time (in seconds)
  72. new DEFAULT_SPAWN[] = "7"
  73.  
  74. // CVAR name, affects on any AFK bomb carrier except one which obey previous CVAR
  75. new CVAR_TIME[] = "afk_bombtransfer_time"
  76.  
  77. // CVAR value, max. allowed bomb carrier AFK time (in seconds)
  78. new DEFAULT_TIME[] = "15"
  79.  
  80. // do not set this value less than "maxplayers"
  81. #define MAX_PLAYERS 32
  82.  
  83. // initial AMXX version number supported CVAR pointers in get/set_pcvar_* natives
  84. #define CVAR_POINTERS_AMXX_INIT_VER_NUM 170
  85.  
  86. // determine if get/set_pcvar_* natives can be used
  87. #if defined AMXX_VERSION_NUM && AMXX_VERSION_NUM >= CVAR_POINTERS_AMXX_INIT_VER_NUM
  88. #define CVAR_POINTERS
  89. new g_pcvar_spawn
  90. new g_pcvar_time
  91. #endif
  92.  
  93. new TEAM[] = "TERRORIST"
  94. new WEAPON[] = "weapon_c4"
  95.  
  96. #define FL_ONGROUND (1<<9)
  97.  
  98. new bool:g_freezetime = true
  99. new bool:g_spawn
  100. new bool:g_planting
  101.  
  102. new g_carrier
  103.  
  104. new g_pos[MAX_PLAYERS + 1][3]
  105. new g_time[MAX_PLAYERS + 1]
  106.  
  107. new g_maxplayers
  108.  
  109. public plugin_init() {
  110. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  111.  
  112. #if defined CVAR_POINTERS
  113. g_pcvar_spawn = register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  114. g_pcvar_time = register_cvar(CVAR_TIME, DEFAULT_TIME)
  115. #else
  116. register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  117. register_cvar(CVAR_TIME, DEFAULT_TIME)
  118. #endif
  119.  
  120. #if defined BOMB_MAP_CHECK
  121. // is current map not contain bomb targets?
  122. if (!engfunc(EngFunc_FindEntityByString, -1, "classname", "func_bomb_target"))
  123. return
  124. #endif
  125.  
  126. register_event("WeapPickup", "event_got_bomb", "be", "1=6")
  127. register_event("BarTime", "event_bar_time", "be")
  128. register_event("TextMsg", "event_bomb_drop", "bc", "2=#Game_bomb_drop")
  129. register_event("TextMsg", "event_bomb_drop", "a", "2=#Bomb_Planted")
  130. register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
  131.  
  132. register_logevent("logevent_round_start", 2, "1=Round_Start")
  133.  
  134. set_task(1.0, "task_afk_check", _, _, _, "b") // plugin's core loop
  135.  
  136. g_maxplayers = get_maxplayers()
  137. }
  138.  
  139. /* *************************************************** Base **************************************************** */
  140.  
  141. public event_new_round() {
  142. g_freezetime = true
  143. g_spawn = true
  144. g_planting = false
  145. g_carrier = 0
  146. }
  147.  
  148. public event_got_bomb(id) {
  149. g_carrier = id
  150. }
  151.  
  152. public event_bar_time(id) {
  153. if (id == g_carrier) {
  154. g_planting = bool:read_data(1)
  155. get_user_origin(id, g_pos[id])
  156. g_time[id] = 0
  157. }
  158. }
  159.  
  160. public event_bomb_drop() {
  161. g_spawn = false
  162. g_planting = false
  163. g_carrier = 0
  164. }
  165.  
  166. public logevent_round_start() {
  167. new id[32], num
  168. get_players(id, num, "ae", TEAM)
  169.  
  170. if (!num) // is server empty?
  171. return
  172.  
  173. g_freezetime = false
  174.  
  175. // update afk timers and current positions
  176. new x
  177. for (new i = 0; i < num; ++i) {
  178. x = id[i]
  179. get_user_origin(x, g_pos[x])
  180. g_time[x] = 0
  181. }
  182. }
  183.  
  184. public task_afk_check() {
  185. if (g_freezetime) // is freezetime right now?
  186. return
  187.  
  188. // afk check
  189. new id[32], num, x, origin[3]
  190. get_players(id, num, "ae", TEAM)
  191. for (new i = 0; i < num; ++i) {
  192. x = id[i]
  193. get_user_origin(x, origin)
  194. if (origin[0] != g_pos[x][0] || origin[1] != g_pos[x][1] || (x == g_carrier && g_planting)) {
  195. g_time[x] = 0
  196. g_pos[x][0] = origin[0]
  197. g_pos[x][1] = origin[1]
  198. if (g_spawn && x == g_carrier)
  199. g_spawn = false
  200. }
  201. else
  202. g_time[x]++
  203. }
  204.  
  205. // is bomb not currently carried or Ts number less than 2?
  206. if (!g_carrier || num < 2)
  207. return
  208.  
  209. #if defined CVAR_POINTERS
  210. new max_time = get_pcvar_num(g_spawn ? g_pcvar_spawn : g_pcvar_time)
  211. #else
  212. new max_time = get_cvar_num(g_spawn ? CVAR_SPAWN : CVAR_TIME)
  213. #endif
  214.  
  215. // is plugin disabled (cvar <= 0) or carrier isn't afk?
  216. if (max_time <= 0 || g_time[g_carrier] < max_time)
  217. return
  218.  
  219. // find who from non-afk Ts is the closest to the afk carrier
  220. get_user_origin(g_carrier, origin)
  221. new min_dist = 999999, dist, recipient, origin2[3]
  222. for (new i = 0; i < num; ++i) {
  223. x = id[i]
  224. if (g_time[x] < max_time) {
  225. get_user_origin(x, origin2)
  226. dist = get_distance(origin, origin2)
  227. if (dist < min_dist) {
  228. min_dist = dist
  229. recipient = x
  230. }
  231. }
  232. }
  233.  
  234. if (!recipient) // is all Ts afk?
  235. return
  236.  
  237. new carrier = g_carrier
  238. engclient_cmd(carrier, "drop", WEAPON) // drop the backpack
  239. new c4 = engfunc(EngFunc_FindEntityByString, -1, "classname", WEAPON) // find weapon_c4 entity
  240. if (!c4)
  241. return
  242.  
  243. new backpack = pev(c4, pev_owner) // get backpack entity
  244. if (backpack <= g_maxplayers)
  245. return
  246.  
  247. // my backpack transfer trick (improved)
  248. set_pev(backpack, pev_flags, pev(backpack, pev_flags) | FL_ONGROUND)
  249. dllfunc(DLLFunc_Touch, backpack, recipient)
  250.  
  251. // hud messages stuff below
  252. set_hudmessage(0, 255, 0, 0.35, 0.8, _, _, MSG_TIME)
  253. new message[128], c_name[32], r_name[32]
  254. get_user_name(carrier, c_name, 31)
  255. get_user_name(recipient, r_name, 31)
  256. ColorChat(0,GREEN,"[BS] ^1A bombat att adtak ^4^"%s"^ -nek ^1mert ^4^"%s^" ^3AFKzik!", r_name, c_name)
  257. for (new i = 0; i < num; ++i)
  258. show_hudmessage(id[i], "%s", message)
  259.  
  260. set_hudmessage(255, 255, 0, 0.42, 0.3, _, _, MSG_TIME, _, _, 3)
  261. show_hudmessage(recipient, "Megkaptad a bombát!")
  262. }
  263.  
  264. /* **************************************************** EOF **************************************************** */
  265. stock print_color(const id, const input[], any:...)
  266. {
  267. new count = 1, players[32]
  268. static msg[191]
  269. vformat(msg, 190, input, 3)
  270.  
  271. replace_all(msg, 190, "!g", "^4")
  272. replace_all(msg, 190, "!y", "^1")
  273. replace_all(msg, 190, "!t", "^3")
  274. replace_all(msg, 190, "á", "á")
  275. replace_all(msg, 190, "é", "Ă©")
  276. replace_all(msg, 190, "í", "Ă­")
  277. replace_all(msg, 190, "ó", "Ăł")
  278. replace_all(msg, 190, "ö", "ö")
  279. replace_all(msg, 190, "ő", "Ĺ‘")
  280. replace_all(msg, 190, "ú", "Ăş")
  281. replace_all(msg, 190, "ü", "ĂĽ")
  282. replace_all(msg, 190, "ű", "ű")
  283. replace_all(msg, 190, "Á", "Á")
  284. replace_all(msg, 190, "É", "É")
  285. replace_all(msg, 190, "Í", "ĂŤ")
  286. replace_all(msg, 190, "Ó", "Ă“")
  287. replace_all(msg, 190, "Ö", "Ă–")
  288. replace_all(msg, 190, "Ő", "Ő")
  289. replace_all(msg, 190, "Ú", "Ăš")
  290. replace_all(msg, 190, "Ü", "Ăś")
  291. replace_all(msg, 190, "Ű", "Ĺ°")
  292.  
  293. if (id) players[0] = id; else get_players(players, count, "ch")
  294. {
  295. for (new i = 0; i < count; i++)
  296. {
  297. if (is_user_connected(players[i]))
  298. {
  299. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  300. write_byte(players[i])
  301. write_string(msg)
  302. message_end()
  303. }
  304. }
  305. }
  306. return PLUGIN_HANDLED
  307. }

_________________
Ha segítettem használd a gombot!

Kép
KépKép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: C4 Átadó
HozzászólásElküldve: 2014.09.24. 17:32 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2012.07.02. 17:41
Hozzászólások: 1641
Megköszönt másnak: 121 alkalommal
Megköszönték neki: 247 alkalommal
Kevesebb hülye jeleekt rakj bele
SMA Forráskód: [ Mindet kijelol ]
  1. /* AMX Mod X
  2. * AFK Bomb Transfer
  3. *
  4. * (c) Copyright 2006 by VEN
  5. *
  6. * This file is provided as is (no warranties)
  7. *
  8. * DESCRIPTION
  9. * Plugin allow transfer bomb from AFK terrorist to closest non-AFK teammate.
  10. * Plugin will have no effect:
  11. * - at the freezetime
  12. * - if bomb is planting
  13. * - on non-bomb maps (comment #define BOMB_MAP_CHECK to suppress)
  14. *
  15. * MODULES
  16. * fakemeta
  17. *
  18. * CVARS
  19. * afk_bombtransfer_spawn (N: seconds, default: 7) - max. allowed bomb carrier AFK time
  20. * affects on spawned AFK bomb carrier which never moved after spawn
  21. *
  22. * afk_bombtransfer_time (N: seconds, default: 15) - max. allowed bomb carrier AFK time
  23. * affects on any AFK bomb carrier except one which obey previous CVAR
  24. *
  25. * HUD MESSAGES
  26. * Terrorist team (green color)
  27. * Bomb transferred to "NEW_CARRIER_NAME"
  28. * since "AFK_CARRIER_NAME" is AFK
  29. *
  30. * New bomb carrier (yellow color)
  31. * You got the bomb!
  32. *
  33. * Note: by defult message display time is 7 seconds (define MSG_TIME)
  34. *
  35. * VERSIONS
  36. * 0.4 backpack transfer method greatly improved
  37. * added pcvar natives support (backward compatibility saved)
  38. * few code optimization
  39. * 0.3 now fakemeta instead of engine required (efficiency++ if engine is disabled)
  40. * "non-bomb map" check can be disabled (//#define BOMB_MAP_CHECK)
  41. * backpack finding method improved
  42. * few code optimization
  43. * added comments to the plugin source code
  44. * 0.2 fixed format issue
  45. * code optimized
  46. * description improved
  47. *
  48. * 0.1 first release
  49. */
  50.  
  51. /* *************************************************** Init **************************************************** */
  52.  
  53. #include <amxmodx>
  54. #include <fakemeta>
  55. #include <colorchat>
  56.  
  57. // plugin's main information
  58. #define PLUGIN_NAME "AFK Bomb Transfer"
  59. #define PLUGIN_VERSION "0.4"
  60. #define PLUGIN_AUTHOR "VEN"
  61.  
  62. // comment to avoid autodisabling the plugin on maps which not contain bomb targets
  63. #define BOMB_MAP_CHECK
  64.  
  65. // float value, hud messages display time (in seconds)
  66. #define MSG_TIME 7.0
  67.  
  68. // CVAR name, affects on spawned AFK bomb carrier which never moved after spawn
  69. new CVAR_SPAWN[] = "afk_bombtransfer_spawn"
  70.  
  71. // CVAR value, max. allowed bomb carrier AFK time (in seconds)
  72. new DEFAULT_SPAWN[] = "7"
  73.  
  74. // CVAR name, affects on any AFK bomb carrier except one which obey previous CVAR
  75. new CVAR_TIME[] = "afk_bombtransfer_time"
  76.  
  77. // CVAR value, max. allowed bomb carrier AFK time (in seconds)
  78. new DEFAULT_TIME[] = "15"
  79.  
  80. // do not set this value less than "maxplayers"
  81. #define MAX_PLAYERS 32
  82.  
  83. // initial AMXX version number supported CVAR pointers in get/set_pcvar_* natives
  84. #define CVAR_POINTERS_AMXX_INIT_VER_NUM 170
  85.  
  86. // determine if get/set_pcvar_* natives can be used
  87. #if defined AMXX_VERSION_NUM && AMXX_VERSION_NUM >= CVAR_POINTERS_AMXX_INIT_VER_NUM
  88. #define CVAR_POINTERS
  89. new g_pcvar_spawn
  90. new g_pcvar_time
  91. #endif
  92.  
  93. new TEAM[] = "TERRORIST"
  94. new WEAPON[] = "weapon_c4"
  95.  
  96. #define FL_ONGROUND (1<<9)
  97.  
  98. new bool:g_freezetime = true
  99. new bool:g_spawn
  100. new bool:g_planting
  101.  
  102. new g_carrier
  103.  
  104. new g_pos[MAX_PLAYERS + 1][3]
  105. new g_time[MAX_PLAYERS + 1]
  106.  
  107. new g_maxplayers
  108.  
  109. public plugin_init() {
  110. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  111.  
  112. #if defined CVAR_POINTERS
  113. g_pcvar_spawn = register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  114. g_pcvar_time = register_cvar(CVAR_TIME, DEFAULT_TIME)
  115. #else
  116. register_cvar(CVAR_SPAWN, DEFAULT_SPAWN)
  117. register_cvar(CVAR_TIME, DEFAULT_TIME)
  118. #endif
  119.  
  120. #if defined BOMB_MAP_CHECK
  121. // is current map not contain bomb targets?
  122. if (!engfunc(EngFunc_FindEntityByString, -1, "classname", "func_bomb_target"))
  123. return
  124. #endif
  125.  
  126. register_event("WeapPickup", "event_got_bomb", "be", "1=6")
  127. register_event("BarTime", "event_bar_time", "be")
  128. register_event("TextMsg", "event_bomb_drop", "bc", "2=#Game_bomb_drop")
  129. register_event("TextMsg", "event_bomb_drop", "a", "2=#Bomb_Planted")
  130. register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
  131.  
  132. register_logevent("logevent_round_start", 2, "1=Round_Start")
  133.  
  134. set_task(1.0, "task_afk_check", _, _, _, "b") // plugin's core loop
  135.  
  136. g_maxplayers = get_maxplayers()
  137. }
  138.  
  139. /* *************************************************** Base **************************************************** */
  140.  
  141. public event_new_round() {
  142. g_freezetime = true
  143. g_spawn = true
  144. g_planting = false
  145. g_carrier = 0
  146. }
  147.  
  148. public event_got_bomb(id) {
  149. g_carrier = id
  150. }
  151.  
  152. public event_bar_time(id) {
  153. if (id == g_carrier) {
  154. g_planting = bool:read_data(1)
  155. get_user_origin(id, g_pos[id])
  156. g_time[id] = 0
  157. }
  158. }
  159.  
  160. public event_bomb_drop() {
  161. g_spawn = false
  162. g_planting = false
  163. g_carrier = 0
  164. }
  165.  
  166. public logevent_round_start() {
  167. new id[32], num
  168. get_players(id, num, "ae", TEAM)
  169.  
  170. if (!num) // is server empty?
  171. return
  172.  
  173. g_freezetime = false
  174.  
  175. // update afk timers and current positions
  176. new x
  177. for (new i = 0; i < num; ++i) {
  178. x = id[i]
  179. get_user_origin(x, g_pos[x])
  180. g_time[x] = 0
  181. }
  182. }
  183.  
  184. public task_afk_check() {
  185. if (g_freezetime) // is freezetime right now?
  186. return
  187.  
  188. // afk check
  189. new id[32], num, x, origin[3]
  190. get_players(id, num, "ae", TEAM)
  191. for (new i = 0; i < num; ++i) {
  192. x = id[i]
  193. get_user_origin(x, origin)
  194. if (origin[0] != g_pos[x][0] || origin[1] != g_pos[x][1] || (x == g_carrier && g_planting)) {
  195. g_time[x] = 0
  196. g_pos[x][0] = origin[0]
  197. g_pos[x][1] = origin[1]
  198. if (g_spawn && x == g_carrier)
  199. g_spawn = false
  200. }
  201. else
  202. g_time[x]++
  203. }
  204.  
  205. // is bomb not currently carried or Ts number less than 2?
  206. if (!g_carrier || num < 2)
  207. return
  208.  
  209. #if defined CVAR_POINTERS
  210. new max_time = get_pcvar_num(g_spawn ? g_pcvar_spawn : g_pcvar_time)
  211. #else
  212. new max_time = get_cvar_num(g_spawn ? CVAR_SPAWN : CVAR_TIME)
  213. #endif
  214.  
  215. // is plugin disabled (cvar <= 0) or carrier isn't afk?
  216. if (max_time <= 0 || g_time[g_carrier] < max_time)
  217. return
  218.  
  219. // find who from non-afk Ts is the closest to the afk carrier
  220. get_user_origin(g_carrier, origin)
  221. new min_dist = 999999, dist, recipient, origin2[3]
  222. for (new i = 0; i < num; ++i) {
  223. x = id[i]
  224. if (g_time[x] < max_time) {
  225. get_user_origin(x, origin2)
  226. dist = get_distance(origin, origin2)
  227. if (dist < min_dist) {
  228. min_dist = dist
  229. recipient = x
  230. }
  231. }
  232. }
  233.  
  234. if (!recipient) // is all Ts afk?
  235. return
  236.  
  237. new carrier = g_carrier
  238. engclient_cmd(carrier, "drop", WEAPON) // drop the backpack
  239. new c4 = engfunc(EngFunc_FindEntityByString, -1, "classname", WEAPON) // find weapon_c4 entity
  240. if (!c4)
  241. return
  242.  
  243. new backpack = pev(c4, pev_owner) // get backpack entity
  244. if (backpack <= g_maxplayers)
  245. return
  246.  
  247. // my backpack transfer trick (improved)
  248. set_pev(backpack, pev_flags, pev(backpack, pev_flags) | FL_ONGROUND)
  249. dllfunc(DLLFunc_Touch, backpack, recipient)
  250.  
  251. // hud messages stuff below
  252. set_hudmessage(0, 255, 0, 0.35, 0.8, _, _, MSG_TIME)
  253. new message[128], c_name[32], r_name[32]
  254. get_user_name(carrier, c_name, 31)
  255. get_user_name(recipient, r_name, 31)
  256. ColorChat(0,GREEN,"[BS] ^1A bombat att adtak ^4%s -nek ^1mert ^4%s ^3AFKzik!", r_name, c_name)
  257. for (new i = 0; i < num; ++i)
  258. show_hudmessage(id[i], "%s", message)
  259.  
  260. set_hudmessage(255, 255, 0, 0.42, 0.3, _, _, MSG_TIME, _, _, 3)
  261. show_hudmessage(recipient, "Megkaptad a bombát!")
  262. }
  263.  
  264. /* **************************************************** EOF **************************************************** */
  265. stock print_color(const id, const input[], any:...)
  266. {
  267. new count = 1, players[32]
  268. static msg[191]
  269. vformat(msg, 190, input, 3)
  270.  
  271. replace_all(msg, 190, "!g", "^4")
  272. replace_all(msg, 190, "!y", "^1")
  273. replace_all(msg, 190, "!t", "^3")
  274. replace_all(msg, 190, "á", "á")
  275. replace_all(msg, 190, "é", "Ă©")
  276. replace_all(msg, 190, "í", "Ă­")
  277. replace_all(msg, 190, "ó", "Ăł")
  278. replace_all(msg, 190, "ö", "ö")
  279. replace_all(msg, 190, "ő", "Ĺ‘")
  280. replace_all(msg, 190, "ú", "Ăş")
  281. replace_all(msg, 190, "ü", "ĂĽ")
  282. replace_all(msg, 190, "ű", "ű")
  283. replace_all(msg, 190, "Á", "Á")
  284. replace_all(msg, 190, "É", "É")
  285. replace_all(msg, 190, "Í", "ĂŤ")
  286. replace_all(msg, 190, "Ó", "Ă“")
  287. replace_all(msg, 190, "Ö", "Ă–")
  288. replace_all(msg, 190, "Ő", "Ő")
  289. replace_all(msg, 190, "Ú", "Ăš")
  290. replace_all(msg, 190, "Ü", "Ăś")
  291. replace_all(msg, 190, "Ű", "Ĺ°")
  292.  
  293. if (id) players[0] = id; else get_players(players, count, "ch")
  294. {
  295. for (new i = 0; i < count; i++)
  296. {
  297. if (is_user_connected(players[i]))
  298. {
  299. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  300. write_byte(players[i])
  301. write_string(msg)
  302. message_end()
  303. }
  304. }
  305. }
  306. return PLUGIN_HANDLED
  307. }
  308.  

_________________
Kép


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  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 59 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