hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 558 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 558 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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Admin idő mentése +top15
HozzászólásElküldve: 2013.08.19. 18:55 
Offline
Őstag
Avatar

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


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


Ki van itt

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