HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <nvault>
  3.  
  4. #define ADMIN_LEVEL ADMIN_PASSWORD
  5.  
  6. #define PLUGIN "Privat Uzenetek"
  7. #define VERSION "1.0"
  8. #define AUTHOR ""
  9.  
  10. new g_Vault
  11. new gmsgSayText
  12.  
  13. new g_pm_active
  14. new g_pm_delete
  15.  
  16. public plugin_init()
  17. {
  18. register_plugin(PLUGIN, VERSION, AUTHOR)
  19. register_clcmd("amx_uzenet", "add_pm", 0, "<steamid> <Uzenet> - Uj uzenet a jatekosnak.")
  20. register_clcmd("amx_uzenet_torles", "remove_pm", 0, "<steamid> - Uzenet torlese.")
  21. register_clcmd("amx_uzenet_ujra", "view_pm", 0, "<steamid> - Uzenet ujrakuldese a jatekosnak.")
  22.  
  23. g_pm_active = register_cvar("amx_pm_active","1")
  24. g_pm_delete = register_cvar("amx_pm_autodelete","0")
  25.  
  26. gmsgSayText = get_user_msgid("SayText");
  27. }
  28.  
  29. public plugin_cfg()
  30. {
  31. g_Vault=nvault_open("PMdata")
  32. }
  33.  
  34. public plugin_end()
  35. {
  36. nvault_close(g_Vault)
  37. }
  38. public client_putinserver(id)
  39. {
  40. if (get_pcvar_num(g_pm_active))
  41. set_task(10.0,"pm_check",id)
  42. }
  43.  
  44. public pm_check(id)
  45. {
  46. new vaultkey[64], vaultdata[190];
  47. new TimeStamp;
  48.  
  49. new authid[35]
  50. get_user_authid(id,authid,34);
  51. new line[190]
  52.  
  53. formatex(vaultkey,63,"Uzenet-%s",authid);
  54.  
  55. if(nvault_lookup(g_Vault, vaultkey, vaultdata, sizeof(vaultdata) - 1, TimeStamp ))
  56. {
  57.  
  58. line[0] = 0x04;
  59. format(line[1],188,"[Uzenet]%s",vaultdata)
  60. ShowColorMessage(id,line)
  61.  
  62. if (get_pcvar_num(g_pm_delete))
  63. nvault_remove(g_Vault,vaultkey)
  64. }
  65.  
  66. formatex(vaultkey,63,"PM-*");
  67.  
  68. if(nvault_lookup(g_Vault, vaultkey, vaultdata, sizeof(vaultdata) - 1, TimeStamp ))
  69. {
  70. line[0] = 0x04;
  71. format(line[1],188,"[Uzenet]%s",vaultdata)
  72. ShowColorMessage(id,line)
  73. }
  74.  
  75. return PLUGIN_HANDLED
  76. }
  77.  
  78. public add_pm(id)
  79. {
  80. if (!(get_user_flags(id) & ADMIN_LEVEL))
  81. {
  82. console_print(id,"Sajnalom,ez a parancs nem elerheto szamodra.")
  83. return PLUGIN_HANDLED
  84. }
  85.  
  86. new vaultkey[64], vaultdata[190];
  87.  
  88. new args[220]
  89. new message[190]
  90. new authid[35]
  91.  
  92. read_args(args,219)
  93. remove_quotes(args)
  94. strbreak(args,authid,34,message,189)
  95. remove_quotes(authid)
  96. remove_quotes(message)
  97.  
  98. if (!check_steam_id(id,authid) && !equal(authid,"*"))
  99. {
  100. console_print(id,"A SteamID nem megfelelo!")
  101. return PLUGIN_HANDLED
  102. }
  103.  
  104. formatex(vaultkey,63,"PM-%s",authid);
  105. formatex(vaultdata,189,"%s",message)
  106.  
  107. nvault_set(g_Vault,vaultkey,vaultdata)
  108.  
  109. console_print(id,"[Uzenet-%s] Uj uzenet HOZZAADVA.",authid)
  110.  
  111. return PLUGIN_HANDLED
  112. }
  113.  
  114. public remove_pm(id)
  115. {
  116. if (!(get_user_flags(id) & ADMIN_LEVEL))
  117. {
  118. console_print(id,"Sajnalom,ez a parancs nem elerheto szamodra.")
  119. return PLUGIN_HANDLED
  120. }
  121.  
  122. new vaultkey[64], vaultdata[190];
  123. new TimeStamp;
  124.  
  125. new authid[35]
  126. read_args(authid,34)
  127. remove_quotes(authid)
  128.  
  129. if (!check_steam_id(id,authid) && !equal(authid,"*"))
  130. {
  131. console_print(id,"A SteamID nem megfelelo!")
  132. return PLUGIN_HANDLED
  133. }
  134.  
  135. formatex(vaultkey,63,"PM-%s",authid);
  136.  
  137. if(nvault_lookup(g_Vault, vaultkey, vaultdata, sizeof(vaultdata) - 1, TimeStamp ))
  138. {
  139. nvault_remove(g_Vault,vaultkey)
  140. console_print(id,"[Uzenet-%s] Uzenet TOROLVE.",authid)
  141. }
  142.  
  143. return PLUGIN_HANDLED
  144. }
  145.  
  146. public view_pm(id)
  147. {
  148. if (!(get_user_flags(id) & ADMIN_LEVEL))
  149. {
  150. console_print(id,"Sajnalom,ez a parancs nem elerheto szamodra.")
  151. return PLUGIN_HANDLED
  152. }
  153.  
  154. new vaultkey[64], vaultdata[190];
  155. new TimeStamp;
  156.  
  157. new authid[35]
  158. read_args(authid,34)
  159. remove_quotes(authid)
  160.  
  161. if (!check_steam_id(id,authid) && !equal(authid,"*"))
  162. {
  163. console_print(id,"A SteamID nem megfelelo!")
  164. return PLUGIN_HANDLED
  165. }
  166.  
  167. formatex(vaultkey,63,"PM-%s",authid);
  168.  
  169. if(nvault_lookup(g_Vault, vaultkey, vaultdata, sizeof(vaultdata) - 1, TimeStamp ))
  170. {
  171. console_print(id,"[Uzenet-%s]%s",authid,vaultdata)
  172. }
  173.  
  174. return PLUGIN_HANDLED
  175. }
  176.  
  177. public ShowColorMessage(id, message[])
  178. {
  179. message_begin(MSG_ONE, gmsgSayText, _, id);
  180. write_byte(id)
  181. write_string(message);
  182. message_end();
  183. }
  184.  
  185. public bool:check_steam_id(id,authid[])
  186. {
  187. if (equali(authid,"STEAM_ID_PENDING") || equali(authid,"STEAM_ID_LAN"))
  188. return true
  189.  
  190. if (contain(authid,"STEAM_") == -1)
  191. return false
  192.  
  193. if ((authid[7] != ':') || (authid[9] != ':'))
  194. return false
  195.  
  196. if (!is_str_num(authid[10]))
  197. return false
  198.  
  199. return true
  200.  
  201. }