hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 526 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 526 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  [ 6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Timeleft
HozzászólásElküldve: 2012.09.29. 04:56 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Hali.

Azt hogy lehet megcsinálni ha valaki beírja, hogy "timeleft" akkor ne a hátralévő időt mutassa hanem azt hogy még hány kör van és szinesen?? >>>>"max_rounds 60"<<<<

PL:
SMA Forráskód: [ Mindet kijelol ]
  1. Hátra van még 45 kör

TIMELEFT:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2.  
  3. new g_TimeSet[32][2]
  4. new g_LastTime
  5. new g_CountDown
  6. new g_Switch
  7.  
  8. public plugin_init()
  9. {
  10. register_plugin("TimeLeft", AMXX_VERSION_STR, "AMXX Dev Team")
  11. register_dictionary("timeleft.txt")
  12. register_cvar("amx_time_voice", "1")
  13. register_srvcmd("amx_time_display", "setDisplaying")
  14. register_cvar("amx_timeleft", "00:00", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
  15. register_clcmd("say timeleft", "sayTimeLeft", 0, "- displays timeleft")
  16. register_clcmd("say thetime", "sayTheTime", 0, "- displays current time")
  17.  
  18. set_task(0.8, "timeRemain", 8648458, "", 0, "b")
  19. }
  20.  
  21. public sayTheTime(id)
  22. {
  23. if (get_cvar_num("amx_time_voice"))
  24. {
  25. new mhours[6], mmins[6], whours[32], wmins[32], wpm[6]
  26.  
  27. get_time("%H", mhours, 5)
  28. get_time("%M", mmins, 5)
  29.  
  30. new mins = str_to_num(mmins)
  31. new hrs = str_to_num(mhours)
  32.  
  33. if (mins)
  34. num_to_word(mins, wmins, 31)
  35. else
  36. wmins[0] = 0
  37.  
  38. if (hrs < 12)
  39. wpm = "am "
  40. else
  41. {
  42. if (hrs > 12) hrs -= 12
  43. wpm = "pm "
  44. }
  45.  
  46. if (hrs)
  47. num_to_word(hrs, whours, 31)
  48. else
  49. whours = "twelve "
  50.  
  51. client_cmd(id, "spk ^"fvox/time_is_now %s_period %s%s^"", whours, wmins, wpm)
  52. }
  53.  
  54. new ctime[64]
  55.  
  56. get_time("%m/%d/%Y - %H:%M:%S", ctime, 63)
  57. client_print(0, print_chat, "%L: %s", LANG_PLAYER, "THE_TIME", ctime)
  58.  
  59. return PLUGIN_CONTINUE
  60. }
  61.  
  62. public sayTimeLeft(id)
  63. {
  64. if (get_cvar_float("mp_timelimit"))
  65. {
  66. new a = get_timeleft()
  67.  
  68. if (get_cvar_num("amx_time_voice"))
  69. {
  70. new svoice[128]
  71. setTimeVoice(svoice, 127, 0, a)
  72. client_cmd(id, "%s", svoice)
  73. }
  74. client_print(0, print_chat, "%L: %d:%02d", LANG_PLAYER, "TIME_LEFT", (a / 60), (a % 60))
  75. }
  76. else
  77. client_print(0, print_chat, "%L", LANG_PLAYER, "NO_T_LIMIT")
  78.  
  79. return PLUGIN_CONTINUE
  80. }
  81.  
  82. setTimeText(text[], len, tmlf, id)
  83. {
  84. new secs = tmlf % 60
  85. new mins = tmlf / 60
  86.  
  87. if (secs == 0)
  88. format(text, len, "%d %L", mins, id, (mins > 1) ? "MINUTES" : "MINUTE")
  89. else if (mins == 0)
  90. format(text, len, "%d %L", secs, id, (secs > 1) ? "SECONDS" : "SECOND")
  91. else
  92. format(text, len, "%d %L %d %L", mins, id, (mins > 1) ? "MINUTES" : "MINUTE", secs, id, (secs > 1) ? "SECONDS" : "SECOND")
  93. }
  94.  
  95. setTimeVoice(text[], len, flags, tmlf)
  96. {
  97. new temp[7][32]
  98. new secs = tmlf % 60
  99. new mins = tmlf / 60
  100.  
  101. for (new a = 0;a < 7;++a)
  102. temp[a][0] = 0
  103.  
  104. if (secs > 0)
  105. {
  106. num_to_word(secs, temp[4], 31)
  107.  
  108. if (!(flags & 8))
  109. temp[5] = "seconds " /* there is no "second" in default hl */
  110. }
  111.  
  112. if (mins > 59)
  113. {
  114. new hours = mins / 60
  115.  
  116. num_to_word(hours, temp[0], 31)
  117.  
  118. if (!(flags & 8))
  119. temp[1] = "hours "
  120.  
  121. mins = mins % 60
  122. }
  123.  
  124. if (mins > 0)
  125. {
  126. num_to_word(mins, temp[2], 31)
  127.  
  128. if (!(flags & 8))
  129. temp[3] = "minutes "
  130. }
  131.  
  132. if (!(flags & 4))
  133. temp[6] = "remaining "
  134.  
  135. return format(text, len, "spk ^"vox/%s%s%s%s%s%s%s^"", temp[0], temp[1], temp[2], temp[3], temp[4], temp[5], temp[6])
  136. }
  137.  
  138. findDispFormat(time)
  139. {
  140. for (new i = 0; g_TimeSet[i][0]; ++i)
  141. {
  142. if (g_TimeSet[i][1] & 16)
  143. {
  144. if (g_TimeSet[i][0] > time)
  145. {
  146. if (!g_Switch)
  147. {
  148. g_CountDown = g_Switch = time
  149. remove_task(8648458)
  150. set_task(1.0, "timeRemain", 34543, "", 0, "b")
  151. }
  152.  
  153. return i
  154. }
  155. }
  156. else if (g_TimeSet[i][0] == time)
  157. {
  158. return i
  159. }
  160. }
  161.  
  162. return -1
  163. }
  164.  
  165. public setDisplaying()
  166. {
  167. new arg[32], flags[32], num[32]
  168. new argc = read_argc() - 1
  169. new i = 0
  170.  
  171. while (i < argc && i < 32)
  172. {
  173. read_argv(i + 1, arg, 31)
  174. parse(arg, flags, 31, num, 31)
  175.  
  176. g_TimeSet[i][0] = str_to_num(num)
  177. g_TimeSet[i][1] = read_flags(flags)
  178.  
  179. i++
  180. }
  181. g_TimeSet[i][0] = 0
  182.  
  183. return PLUGIN_HANDLED
  184. }
  185.  
  186. public timeRemain(param[])
  187. {
  188. new gmtm = get_timeleft()
  189. new tmlf = g_Switch ? --g_CountDown : gmtm
  190. new stimel[12]
  191.  
  192. format(stimel, 11, "%02d:%02d", gmtm / 60, gmtm % 60)
  193. set_cvar_string("amx_timeleft", stimel)
  194.  
  195. if (g_Switch && gmtm > g_Switch)
  196. {
  197. remove_task(34543)
  198. g_Switch = 0
  199. set_task(0.8, "timeRemain", 8648458, "", 0, "b")
  200.  
  201. return
  202. }
  203.  
  204. if (tmlf > 0 && g_LastTime != tmlf)
  205. {
  206. g_LastTime = tmlf
  207. new tm_set = findDispFormat(tmlf)
  208.  
  209. if (tm_set != -1)
  210. {
  211. new flags = g_TimeSet[tm_set][1]
  212. new arg[128]
  213.  
  214. if (flags & 1)
  215. {
  216. new players[32], pnum
  217.  
  218. get_players(players, pnum, "c")
  219.  
  220. for (new i = 0; i < pnum; i++)
  221. {
  222. setTimeText(arg, 127, tmlf, players[i])
  223.  
  224. if (flags & 16)
  225. set_hudmessage(255, 255, 255, -1.0, 0.85, 0, 0.0, 1.1, 0.1, 0.5, -1)
  226. else
  227. set_hudmessage(255, 255, 255, -1.0, 0.85, 0, 0.0, 3.0, 0.0, 0.5, -1)
  228.  
  229. show_hudmessage(players[i], "%s", arg)
  230. }
  231. }
  232.  
  233. if (flags & 2)
  234. {
  235. setTimeVoice(arg, 127, flags, tmlf)
  236. client_cmd(0, "%s", arg)
  237. }
  238. }
  239. }
  240. }


+ ebben a timeleft pluginban mit ír hud üzenetként??

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Timeleft
HozzászólásElküldve: 2012.09.29. 09:43 
Offline
Nagyúr
Avatar

Csatlakozott: 2010.11.21. 18:04
Hozzászólások: 557
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 74 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <colorchat>
  3.  
  4.  
  5. new gSzamolas;
  6.  
  7. public plugin_init() {
  8.  
  9. register_clcmd("say timeleft", "kor")
  10.  
  11. register_logevent("ElsoKor", 2, "0=World triggered", "1&Restart_Round_");
  12.  
  13. register_logevent("ElsoKor", 2, "0=World triggered", "1=Game_Commencing");
  14.  
  15. register_logevent("KorKezdes", 2, "0=World triggered", "1=Round_End");
  16.  
  17. }
  18.  
  19. public ElsoKor()
  20.  
  21. {
  22.  
  23. gSzamolas = 60;
  24.  
  25. }
  26.  
  27. public KorKezdes()
  28.  
  29. {
  30.  
  31. gSzamolas--;
  32.  
  33. }
  34.  
  35. public kor(id)
  36. {
  37. ColorChat(id, GREEN, "Hátra van még %d kör!", gSzamolas)
  38. }
  39.  
  40. stock print_color(const id, const input[], any:...)
  41. {
  42. new count = 1, players[32]
  43. static msg[191]
  44. vformat(msg, 190, input, 3)
  45.  
  46. replace_all(msg, 190, "!g", "^4")
  47. replace_all(msg, 190, "!y", "^1")
  48. replace_all(msg, 190, "!t", "^3")
  49. replace_all(msg, 190, "á", "á")
  50. replace_all(msg, 190, "é", "Ă©")
  51. replace_all(msg, 190, "í", "Ă­")
  52. replace_all(msg, 190, "ó", "Ăł")
  53. replace_all(msg, 190, "ö", "ö")
  54. replace_all(msg, 190, "ő", "Ĺ‘")
  55. replace_all(msg, 190, "ú", "Ăş")
  56. replace_all(msg, 190, "ü", "ĂĽ")
  57. replace_all(msg, 190, "ű", "ű")
  58. replace_all(msg, 190, "Á", "Á")
  59. replace_all(msg, 190, "É", "É")
  60. replace_all(msg, 190, "Í", "ĂŤ")
  61. replace_all(msg, 190, "Ó", "Ă“")
  62. replace_all(msg, 190, "Ö", "Ă–")
  63. replace_all(msg, 190, "Ő", "Ő")
  64. replace_all(msg, 190, "Ú", "Ăš")
  65. replace_all(msg, 190, "Ü", "Ăś")
  66. replace_all(msg, 190, "Ű", "Ĺ°")
  67.  
  68. if (id) players[0] = id; else get_players(players, count, "ch")
  69. {
  70. for (new i = 0; i < count; i++)
  71. {
  72. if (is_user_connected(players[i]))
  73. {
  74. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  75. write_byte(players[i])
  76. write_string(msg)
  77. message_end()
  78. }
  79. }
  80. }
  81. return PLUGIN_HANDLED
  82. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Timeleft
HozzászólásElküldve: 2012.09.29. 09:52 
Offline
Félisten

Csatlakozott: 2012.01.07. 21:10
Hozzászólások: 850
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 154 alkalommal
Minek írtad bele a print_color? nem is használod

_________________
Megköszönni nem szégyen!
Csak kattints a Kép jelre. --->


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Timeleft
HozzászólásElküldve: 2012.09.29. 10:03 
Offline
Őskövület
Avatar

Csatlakozott: 2011.09.17. 17:54
Hozzászólások: 2350
Megköszönt másnak: 40 alkalommal
Megköszönték neki: 57 alkalommal
Hogyne használná? A színnek valóban a colorchat.inc-et használja,de az ékezeteket már a stockal csinálja.Tehát használja azt is:)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Timeleft
HozzászólásElküldve: 2012.09.29. 16:33 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Köszi :D

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Timeleft
HozzászólásElküldve: 2012.09.29. 18:28 
Offline
Nagyúr
Avatar

Csatlakozott: 2010.11.21. 18:04
Hozzászólások: 557
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 74 alkalommal
Nincs mit :D


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


Ki van itt

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