HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /*
  2. [AMM] - AMX MOD X MESSENGER
  3.  
  4. Contributions:
  5. I dont want to take all of the credit by myslef so I could like to thank these people SPECIALLY
  6. FatalisDK
  7. hawk552cdn: To encouraging me into scripting
  8.  
  9. Description:
  10. This is very usefull plugin for users that have to go to bathroom,momiscallin etc. and when you are
  11. in the game play jus type /away <msg> it will send u automaticly to spectate mode and when some one
  12. <msg> "yourname" it will autorespond your msg to that user and if you want to return frm AFK type
  13. /back and you will return to normal with the same score you had.
  14.  
  15. Features:
  16. Shows when PLAYER/ADMIN Signs on and off
  17. Shows when PLAYER/ADMIN go away
  18. Shows when PLAYER/ADMIN returns from away
  19.  
  20. Admin Command: amx_cvar amm_mode 1 = Enabled 0 = Disabled
  21. Client Command: /away <msg> to go AFK || /msg <name> to private msg || /back to return from AFK
  22.  
  23. */
  24.  
  25.  
  26. #include <amxmodx>
  27. #include <amxmisc>
  28. #include <cstrike>
  29.  
  30. new g_AFKStatus[33]
  31. new g_AFKMessage[33][128]
  32.  
  33. public plugin_init()
  34. {
  35. register_plugin("[AMM]", "1.2","Taher Ali")
  36. register_clcmd("say", "HookSay")
  37. register_cvar("amm_timer", "500.0")
  38. set_task(5.0, "loadadvert")
  39. }
  40.  
  41. public loadadvert()
  42. {
  43. set_task(get_cvar_float("amm_timer"), "advert", 4342, "", 0, "b")
  44. }
  45.  
  46. public HookSay(id)
  47. {
  48. new szArgs[128], szLeft[6], szRight[123], szMessage[128], szName[32]
  49.  
  50. read_args(szArgs, 127)
  51. remove_quotes(szArgs)
  52. strbreak(szArgs, szLeft, 5, szRight, 122)
  53.  
  54. get_user_name(id, szName, 31)
  55.  
  56. if (equali(szLeft, "/away"))
  57. {
  58. g_AFKStatus[id] = 1
  59. g_AFKMessage[id] = szRight
  60.  
  61. if (is_user_admin(id))
  62. format(szMessage, 127, "[AMM] Admin: %s kiallitva nezonek. [%s]", szName, szRight)
  63. else
  64. format(szMessage, 127, "[AMM] Jatekos: %s kiallitva nezonek. [%s]", szName, szRight)
  65.  
  66. GreenChatMessage(0, szMessage)
  67.  
  68. cs_set_user_team(id, CS_TEAM_SPECTATOR)
  69. user_kill(id, 1)
  70.  
  71. return PLUGIN_HANDLED
  72. }
  73.  
  74. else if (equali(szLeft, "/back"))
  75. {
  76. g_AFKStatus[id] = 0
  77. g_AFKMessage[id] = ""
  78.  
  79. if (is_user_admin(id))
  80. format(szMessage, 127, "[AMM] Admin: %s visszaallt jatszani", szName)
  81. else
  82. format(szMessage, 127, "[AMM] Jatekos: %s visszaallt jatszani", szName)
  83.  
  84. GreenChatMessage(0, szMessage)
  85.  
  86. if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
  87. cs_set_user_team(id, random_num(1, 2))
  88.  
  89. return PLUGIN_HANDLED
  90. }
  91.  
  92. else if(equali(szLeft, "/msg"))
  93. {
  94. new szUser[32], szChat[92], szHisName[32]
  95. strbreak(szRight, szUser, 31, szChat, 91)
  96.  
  97. new Target = cmd_target(id, szUser,2)
  98.  
  99. if (!Target)
  100. return PLUGIN_HANDLED
  101.  
  102. get_user_name(id, szName, 31)
  103. get_user_name(Target, szHisName, 31)
  104.  
  105. if (g_AFKStatus[Target])
  106. {
  107.  
  108. format(szMessage, 127, "[AMM] Auto Response from %s: %s", szHisName, g_AFKMessage[Target])
  109. GreenChatMessage(id, szMessage)
  110.  
  111. format(szMessage, 127, "[AMM] %s -> %s : %s", szName, szHisName, szChat)
  112. GreenChatMessage(Target, szMessage)
  113. } else
  114. {
  115. format(szMessage, 127, "[AMM] %s -> %s : %s", szName, szHisName, szChat)
  116.  
  117. GreenChatMessage(id, szMessage)
  118. GreenChatMessage(Target, szMessage)
  119. }
  120. return PLUGIN_HANDLED
  121. }
  122.  
  123. return PLUGIN_CONTINUE
  124. }
  125.  
  126. public client_putinserver(id)
  127. {
  128. new szName[32], szMsg[64]
  129.  
  130. get_user_name(id, szName, 31)
  131.  
  132. if(is_user_admin(id))
  133. format(szMsg, 63, "[AMM] Admin: %s belepett", szName)
  134. else
  135. format(szMsg, 63, "[AMM] Jatekos: %s belepett", szName)
  136.  
  137. GreenChatMessage(0, szMsg)
  138.  
  139. g_AFKStatus[id] = 0
  140. g_AFKMessage[id] = ""
  141. }
  142.  
  143. public client_disconnect(id)
  144. {
  145. new szName[32], szMsg[64]
  146.  
  147. get_user_name(id, szName, 31)
  148.  
  149. if(is_user_admin(id))
  150. format(szMsg, 63, "[AMM] Admin %s lecsatlakozott", szName)
  151. else
  152. format(szMsg, 63, "[AMM] Jatekos %s lecsatlakozott", szName)
  153.  
  154. GreenChatMessage(0, szMsg)
  155.  
  156. }
  157.  
  158. public GreenChatMessage(id, szArgs[])
  159. {
  160. new szMsg[128]
  161. format(szMsg,127,"^x04%s",szArgs)
  162.  
  163. if (id == 0)
  164. {
  165. new Players[32],Num
  166. get_players(Players,Num)
  167.  
  168. for (new i = 0; i < Num; i++)
  169. {
  170. message_begin(MSG_ONE,get_user_msgid("SayText"),{0,0,0},Players[i])
  171. write_byte(Players[i])
  172. write_string(szMsg)
  173. message_end()
  174. }
  175. } else
  176. {
  177. message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, id)
  178. write_byte(id)
  179. write_string(szMsg)
  180. message_end()
  181. }
  182.  
  183. }
  184.  
  185. public advert()
  186. {
  187. GreenChatMessage(0,"[AMM] A plugint magyarositotta dweed")
  188. GreenChatMessage(0,"[AMM] Ird be /away , hogy nezobe allj")
  189. GreenChatMessage(0,"[AMM] Ird be /msg a privat uzenet irasahoz")
  190. GreenChatMessage(0,"[AMM] Ird be /back , hogy vissza allj jatszani")
  191.  
  192. return PLUGIN_CONTINUE
  193. }