HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fvault>
  4.  
  5. #define PLUGIN "Jatszott ido"
  6. #define VERSION "1.0"
  7. #define AUTHOR "mforce"
  8.  
  9. #define PREFIX "Információ"
  10.  
  11. // Itt tudod bekapcsolni a HUD-ot. Töröld ki a // jelet a # előtt, ha be akarod kapcsolni.
  12. //#define HUD
  13.  
  14. new const g_vaultName[] = "JATSZOTTIDO";
  15. new ora[33], perc[33];
  16. new iSteamID[33][32];
  17.  
  18. public plugin_init() {
  19. register_plugin(PLUGIN, VERSION, AUTHOR)
  20. register_cvar("jatszott_ido", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
  21. register_clcmd("say /ido","jatszottido")
  22. register_concmd("amx_jatekido", "admin_showptime", ADMIN_KICK," <Jatekos neve> - Kiirja a jatek idot.");
  23. #if defined HUD
  24. set_task(1.0, "huduzi",_,_,_,"b");
  25. #endif
  26. }
  27.  
  28. public jatszottido(id) {
  29. ChatColor(id, "^4[%s]^1 Játszott idő:^3 %i^1 óra^3 %i ^1perc", PREFIX, ora[id], perc[id]);
  30. }
  31.  
  32. #if defined HUD
  33. public huduzi()
  34. {
  35. new players[32], num;
  36. get_players(players, num);
  37. for(new i; i<num; i++)
  38. {
  39. new id = players[i];
  40. new oraszamlalo[8];
  41. formatex(oraszamlalo,charsmax(oraszamlalo), "%s", ora[id] < 10 ? " ":"");
  42. set_hudmessage(255, 50, 50, 0.02, 0.27, 0, 6.0, 0.9);
  43. show_hudmessage(id, " Játékidő^n%s%i óra %i perc", oraszamlalo, ora[id], perc[id]);
  44. }
  45. }
  46. #endif
  47. public szamlalo(id)
  48. {
  49. perc[id] += 1
  50. if(perc[id] == 60) perc[id] = 0, ora[id] += 1
  51. set_task(60.0, "szamlalo", id)
  52. return 1
  53. }
  54.  
  55. public admin_showptime(id,level,cid)
  56. {
  57. if(!cmd_access(id, level, cid, 2))
  58. return PLUGIN_HANDLED;
  59.  
  60. static arg[32];
  61. read_argv(1, arg, 31);
  62.  
  63. new player = cmd_target(id, arg, 2);
  64.  
  65. if(!player)
  66. return PLUGIN_HANDLED;
  67.  
  68. static name[32];
  69. get_user_name(player, name, charsmax(name));
  70.  
  71. console_print(id, "-----------------------(#Jatek Ido#)-----------------------");
  72. console_print(id, "%s jatszott ideje: %i ora es %i perc.", name, ora[player], perc[player]);
  73. console_print(id, "-----------------------------------------------------------------");
  74.  
  75. return PLUGIN_HANDLED;
  76. }
  77.  
  78. public client_putinserver(id)
  79. {
  80. if (is_user_bot(id) || is_user_hltv(id))
  81. return;
  82. else {
  83. get_user_authid(id, iSteamID[id], 31);
  84. if( containi( iSteamID[id], "_ID_LAN" ) != -1 ) get_user_ip( id, iSteamID[id], 31, 1 );
  85. ora[id] = 0;
  86. perc[id] = 0;
  87. set_task(60.0, "szamlalo", id);
  88. Load(id);
  89. }
  90. }
  91.  
  92. public client_disconnect(id)
  93. {
  94. if (is_user_bot(id) || is_user_hltv(id))
  95. return;
  96. else {
  97. Save(id);
  98. }
  99. }
  100.  
  101. Load(id)
  102. {
  103. new szData[32]
  104. new szKey[40]
  105.  
  106. formatex(szKey , 39, "%s" , iSteamID[id])
  107.  
  108. if(fvault_get_data(g_vaultName, szKey, szData, 31))
  109. {
  110. new iSpacePos = contain(szData, " ")
  111.  
  112. if(iSpacePos > -1)
  113. {
  114. new percek[3];
  115. new orak[32];
  116.  
  117. parse(szData , orak, 31, percek, 2)
  118.  
  119. ora[id] = str_to_num(orak)
  120. perc[id] = str_to_num(percek)
  121. }
  122. }
  123. }
  124.  
  125. Save(id) {
  126. new szData[35]
  127. new szKey[40]
  128.  
  129. formatex(szKey, 39, "%s", iSteamID[id])
  130. formatex(szData, 34, "%i %i", ora[id], perc[id])
  131.  
  132. fvault_set_data(g_vaultName, szKey, szData)
  133. }
  134.  
  135. stock ChatColor(id, const szMessage[], any:...)
  136. {
  137. static szMsg[190], IdMsg; vformat(szMsg, charsmax(szMsg), szMessage, 3);
  138. if(!IdMsg) IdMsg = get_user_msgid("SayText");
  139. message_begin(MSG_ONE, IdMsg, .player = id);
  140. write_byte(id);
  141. write_string(szMsg);
  142. message_end();
  143. }