hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.27. 12:00



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot] 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ásElküldve: 2014.12.15. 09:48 
Offline
Jómunkásember

Csatlakozott: 2014.08.22. 22:10
Hozzászólások: 477
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 8 alkalommal
hali! valaki ezt nekem magyarosítaná? aki megcsinálja megy a kéz! :)
SMA Forráskód: [ Mindet kijelol ]
  1. /*Played Time with "Current(Total) played Time" on server.*/
  2. /*Many thanks to hackziner & Deviance for show how to use "nvault".*/
  3. /*Thanks to Avalanche for Prune function*/
  4.  
  5.  
  6. #include <amxmodx>
  7. #include <amxmisc>
  8. #include <nvault>
  9.  
  10. #define PLUGIN "Played Time"
  11. #define VERSION "1.3"
  12. #define AUTHOR "Alka"
  13.  
  14. /*Comment this if you don't want to use nvault*/
  15. #define NVAULT
  16. /*Comment this line if you don't want to prune vlutdata*/
  17. //#define PRUNE
  18. /*Prune time:ater x time of beeing inactive,remove valutdata*/
  19. #define PRUNE_TIME 2592000 /*30 days*/ /*Time in seconds*/
  20.  
  21. new showpt;
  22.  
  23. new TotalPlayedTime[33];
  24.  
  25. public plugin_init()
  26. {
  27. register_plugin(PLUGIN, VERSION, AUTHOR );
  28.  
  29. register_clcmd("say", "handle_say");
  30. register_concmd("amx_playedtime", "admin_showptime", ADMIN_KICK," <#Player Name> - Details about playedtime.");
  31. register_clcmd("say /pttop15", "show_top15");
  32.  
  33. showpt = register_cvar("amx_pt_mod","1");
  34.  
  35. }
  36.  
  37. public handle_say(id)
  38. {
  39. static said[9]
  40. read_argv(1, said, 8);
  41.  
  42. if(equali(said, "!ptime"))
  43. {
  44. static ctime[64], timep;
  45.  
  46. timep = get_user_time(id, 1) / 60;
  47. get_time("%H:%M:%S", ctime, 63);
  48.  
  49. switch(get_pcvar_num(showpt))
  50. {
  51. case 0: return PLUGIN_HANDLED;
  52.  
  53. case 1 :
  54. {
  55. client_print(id, print_chat, "[PT]You have been playing on the server for: %d minute%s.", timep, timep == 1 ? "" : "s");
  56. #if defined NVAULT
  57. client_print(id, print_chat, "[PT]Your total played time on the server: %d minute%s.", timep+TotalPlayedTime[id], timep+TotalPlayedTime[id] == 1 ? "" : "s");
  58. #endif
  59. client_print(id, print_chat, "[PT]Current time: %s", ctime);
  60. }
  61. case 2 :
  62. {
  63. set_hudmessage(255, 50, 50, 0.34, 0.50, 0, 6.0, 4.0, 0.1, 0.2, -1);
  64. show_hudmessage(id, "[PT]You have been playing on the server for: %d minute%s.^n[PT]Current time: %s", timep, timep == 1 ? "" : "s", ctime);
  65. }
  66. }
  67. return PLUGIN_HANDLED;
  68. }
  69. return PLUGIN_CONTINUE;
  70. }
  71.  
  72. public admin_showptime(id,level,cid)
  73. {
  74. if(!cmd_access(id, level, cid, 2))
  75. return PLUGIN_HANDLED;
  76.  
  77. static arg[32];
  78. read_argv(1, arg, 31);
  79.  
  80. new player = cmd_target(id, arg, 2);
  81.  
  82. if(!player)
  83. return PLUGIN_HANDLED;
  84.  
  85. static name[32];
  86. get_user_name(player, name, 31);
  87.  
  88. static timep, ctime[64];
  89.  
  90. timep = get_user_time(player, 1) / 60;
  91. get_time("%H:%M:%S", ctime, 63);
  92.  
  93. console_print(id, "-----------------------(#PlayedTime#)-----------------------");
  94. console_print(id, "[PT]%s have been playing on the server for %d minute%s.",name, timep, timep == 1 ? "" : "s");
  95. #if defined NVAULT
  96. console_print(id, "[PT]%s's total played time on the server %d minute%s.",name, timep+TotalPlayedTime[player], timep == 1 ? "" : "s"); // new
  97. #endif
  98. console_print(id, "[PT]Current time: %s", ctime);
  99. console_print(id, "-----------------------------------------------------------------");
  100.  
  101. return PLUGIN_HANDLED;
  102. }
  103.  
  104. #if defined NVAULT
  105. public client_disconnect(id)
  106. {
  107. TotalPlayedTime[id] = TotalPlayedTime[id] + (get_user_time(id)/60);
  108. SaveTime(id, TotalPlayedTime[id]);
  109. }
  110. #endif
  111.  
  112. #if defined NVAULT
  113. public client_putinserver(id)
  114. {
  115. TotalPlayedTime[id] = LoadTime(id);
  116. }
  117. #endif
  118.  
  119. #if defined NVAULT
  120. public LoadTime( id )
  121. {
  122. new valut = nvault_open("Time_played")
  123.  
  124. new authip[33];
  125. new vaultkey[64], vaultdata[64];
  126.  
  127. get_user_ip(id, authip, 32, 1);
  128.  
  129. format(vaultkey, 63, "TIMEPLAYED%s", authip);
  130.  
  131. nvault_get(valut, vaultkey, vaultdata, 63);
  132. nvault_close(valut);
  133.  
  134. return str_to_num(vaultdata);
  135. }
  136. #endif
  137.  
  138. #if defined NVAULT
  139. public SaveTime(id,PlayedTime)
  140. {
  141. new valut = nvault_open("Time_played")
  142.  
  143. if(valut == INVALID_HANDLE)
  144. set_fail_state("nValut returned invalid handle")
  145.  
  146. new authip[33];
  147. new vaultkey[64], vaultdata[64];
  148.  
  149. get_user_ip(id, authip, 32, 1);
  150.  
  151. format(vaultkey, 63, "TIMEPLAYED%s", authip);
  152. format(vaultdata, 63, "%d", PlayedTime);
  153.  
  154. nvault_set(valut, vaultkey, vaultdata);
  155. nvault_close(valut);
  156. }
  157. #endif
  158.  
  159. #if defined PRUNE
  160. public prune()
  161. {
  162. new valut = nvault_open("Time_played");
  163.  
  164. if(valut == INVALID_HANDLE)
  165. set_fail_state("nValut returned invalid handle");
  166.  
  167. nvault_prune(valut, 0, get_systime() - PRUNE_TIME);
  168. nvault_close(valut);
  169. }
  170. #endif
  171.  
  172. #if defined PRUNE
  173. public plugin_end()
  174. {
  175. prune()
  176. }
  177. #endif
  178.  
  179. #if defined PRUNE
  180. public show_top15(id)
  181. {
  182. new i, count;
  183. static sort[33][2], maxPlayers;
  184.  
  185. if(!maxPlayers) maxPlayers = get_maxplayers();
  186.  
  187. for(i=1;i<=maxPlayers;i++)
  188. {
  189. sort[count][0] = i;
  190. sort[count][1] = TotalPlayedTime[i] + (get_user_time(i, 1) / 60);
  191. count++;
  192. }
  193.  
  194. SortCustom2D(sort,count,"stats_custom_compare");
  195.  
  196. new motd[1024], len
  197.  
  198. len = format(motd, 1023,"<body bgcolor=#000000><font color=#FFB000><pre>")
  199. len += format(motd[len], 1023-len,"%s %-22.22s %3s^n", "#", "Name", "Time")
  200.  
  201. new players[32], num
  202. get_players(players, num)
  203.  
  204. new b = clamp(count,0,15)
  205.  
  206. new name[32], player
  207.  
  208. for(new a = 0; a < b; a++)
  209. {
  210. player = sort[a][0]
  211.  
  212. get_user_name(player, name, 31)
  213. len += format(motd[len], 1023-len,"%d %-22.22s %d^n", a+1, name, sort[a][1])
  214. }
  215.  
  216. len += format(motd[len], 1023-len,"</body></font></pre>")
  217. show_motd(id, motd, "Played-Time Top 15")
  218.  
  219. return PLUGIN_CONTINUE
  220. }
  221. #endif
  222.  
  223. public stats_custom_compare(elem1[],elem2[])
  224. {
  225. if(elem1[1] > elem2[1]) return -1;
  226. else if(elem1[1] < elem2[1]) return 1;
  227.  
  228. return 0;
  229. }
  230.  

_________________
Soha se késő megköszönni! :)


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.12.15. 14:51 
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
Jatszott ido a szerveren

_________________
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á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 1 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