hlmod.hu
https://hlmod.hu/

chat logger hiba
https://hlmod.hu/viewtopic.php?f=9&t=25083
Oldal: 1 / 1

Szerző:  elit [2016.06.03. 17:36 ]
Hozzászólás témája:  chat logger hiba

üdv.
a 143 -ba mi lehet a gond?
  1. L 06/03/2016 - 10:52:44: [AMXX] Displaying debug trace (plugin "chat_logger_gen.amxx")
  2. L 06/03/2016 - 10:52:44: [AMXX] Run time error 4: index out of bounds
  3. L 06/03/2016 - 10:52:44: [AMXX]    [0] chat_logger_gen.sma::logtext (line 143)
  4. L 06/03/2016 - 10:53:21: [AMXX] Displaying debug trace (plugin "chat_logger_gen.amxx")
  5. L 06/03/2016 - 10:53:21: [AMXX] Run time error 4: index out of bounds
  6. L 06/03/2016 - 10:53:21: [AMXX]    [0] chat_logger_gen.sma::logtext (line 143)


  1. /* Chat Logger v2.1a
  2.    Author: Jim (jim_yang @ AlliedModders Forum)
  3.    Credit: aligind4h0us3 for the idea, suggestion and test.
  4.            Cheap_Suit
  5.            Amx Mod X Team for Adminchat plugin.
  6.    
  7.    Description: It logs messages of say(@|@@|@@@), say_team(@), amx_say, amx_chat, amx_psay, amx_csay, amx_tsay
  8.    Install: put this plugin above adminchat.amxx in amxxdir\configs\plugins.ini
  9.    Cvar: cl_logmode 0  log chat messages to ChatLog.htm in amxxdir\logs\
  10.                     1  log chat messages(by date)to XXXX.XX.XX.htm in amxxdir\logs\
  11.                XXXX.XX.XX is the date.
  12.                        default is 1.
  13. */
  14.  
  15. #include <amxmodx>
  16. #include <amxmisc>
  17.  
  18. #define MAXLEN 511
  19. #define TITLE "<h2 align=center>Chat Logger</h2><hr>"
  20. #define FONT "<font face=^"Verdana^" size=2>"
  21. static FilePath[49]
  22. new g_cvarlogmode
  23. new g_adminchatID
  24. new const HUDPOS[4][] = {"", "HUDCHAT", "HUDCENTER", "HUDBOTTOM"}
  25. new const TEAMCOLOR[4][] = {"gray", "red", "blue", "gray"}
  26. new const TEAMNAME[4][] = {"*DEAD*", "(Terrorist) ", "(Counter-Terrorist) ", "*SPEC*"}
  27.  
  28. public plugin_init()
  29. {
  30.     register_plugin("Chat Logger", "2.1a", "Jim")
  31.     g_cvarlogmode = register_cvar("cl_logmode", "1")
  32.     register_clcmd("say", "logtext")
  33.     register_clcmd("say_team", "logtext")
  34.     register_concmd("amx_say", "logtext")
  35.     register_concmd("amx_chat", "logtext")
  36.     register_concmd("amx_psay", "logtext")
  37.     register_concmd("amx_tsay", "logtext")
  38.     register_concmd("amx_csay", "logtext")
  39.     get_localinfo("amxx_logs", FilePath, 48)
  40. }
  41.  
  42. public plugin_cfg()
  43. {
  44.     g_adminchatID = is_plugin_loaded("Admin Chat")
  45. }
  46.  
  47. public logtext(id)
  48. {
  49.     if(is_user_bot(id)) return
  50.    
  51.     new bool:IsAdminChatRunning = false
  52.     if(g_adminchatID != -1)
  53.     {
  54.         new tmp[1], status[2]
  55.         get_plugin(g_adminchatID,tmp,0,tmp,0,tmp,0,tmp,0,status,1)
  56.         if(status[0] == 0x72)
  57.             IsAdminChatRunning = true
  58.     }
  59.        
  60.     static datestr[11], LogFile[65]
  61.     new timestr[9], authid[32], ip[16], cmd[9], logmsg[MAXLEN + 1]
  62.     new pos = 0, ufg = get_user_flags(id) & ADMIN_CHAT
  63.    
  64.     get_time("%Y.%m.%d", datestr, 10)
  65.     get_time("%H:%M:%S", timestr, 8)
  66.     get_user_authid(id, authid, 31)
  67.     get_user_ip(id, ip, 15, 1)
  68.    
  69.     if(get_pcvar_num(g_cvarlogmode))
  70.     {
  71.         formatex(LogFile, 64, "%s/%s.htm", FilePath, datestr)
  72.         if(!file_exists(LogFile))
  73.         {  
  74.             new title[80]
  75.             formatex(title, 79, "<title>Chat Logger - %s</title>%s", datestr, TITLE)
  76.             write_file(LogFile, title)
  77.             write_file(LogFile, FONT)
  78.         }
  79.         formatex(logmsg, MAXLEN, "%s &lt;%s&gt;&lt;%s&gt;", timestr, authid, ip)
  80.     }
  81.     else
  82.     {
  83.         formatex(LogFile, 64, "%s/ChatLog.htm", FilePath)
  84.         if(!file_exists(LogFile))
  85.         {
  86.             write_file(LogFile, "<title>Chat Logger</title>")
  87.             write_file(LogFile, TITLE)
  88.             write_file(LogFile, FONT)
  89.         }
  90.         formatex(logmsg, MAXLEN, "%s - %s &lt;%s&gt;&lt;%s&gt;", datestr, timestr, authid, ip)
  91.     }
  92.    
  93.     read_argv(0, cmd, 8)
  94.     if(cmd[0] == 0x61)
  95.     {
  96.         if(!IsAdminChatRunning || !ufg) return
  97.        
  98.         formatex(logmsg, MAXLEN, "%s <font color=purple>", logmsg)
  99.         if(cmd[5] == 0x68)
  100.             formatex(logmsg, MAXLEN, "%s(ADMINS) ", logmsg)
  101.         else
  102.         {
  103.             switch(cmd[4])
  104.             {
  105.                 case 0x73:  formatex(logmsg, MAXLEN, "%s(ALL) ", logmsg)
  106.                 case 0x74:  formatex(logmsg, MAXLEN, "%s(HUDCHAT) ", logmsg)
  107.                 case 0x63:  formatex(logmsg, MAXLEN, "%s(HUDCENTER) ", logmsg)
  108.                 case 0x70:
  109.                 {
  110.                     new priv, pname[32]
  111.                     read_argv(1, pname, 31)
  112.                     pos = strlen(pname) + 1
  113.                     priv = cmd_target(id, pname, 0)
  114.                     if(!priv)
  115.                         return
  116.                     get_user_name(priv, pname, 31)
  117.                     CheckPlayerName(pname)
  118.                     formatex(logmsg, MAXLEN, "%s(%s) ", logmsg, pname)
  119.                 }
  120.             }
  121.         }
  122.     }
  123.     else
  124.     {
  125.         new a = 0, at[5]
  126.         read_argv(1, at, 4)
  127.         while(at[a] == 0x40)
  128.             a++
  129.         if(IsAdminChatRunning && a && cmd[3])
  130.         {
  131.             pos = 1
  132.             formatex(logmsg, MAXLEN, "%s <font color=teal>(%s) ", logmsg, is_user_admin(id) ? "ADMIN" : "PLAYER")
  133.         }
  134.         else if(IsAdminChatRunning && 0 < a < 4 && !cmd[3] && ufg)
  135.         {  
  136.             pos = IsColorLetter(at[a]) ? a + 1 : a
  137.             formatex(logmsg, MAXLEN, "%s <font color=purple>(%s) ", logmsg, HUDPOS[a])
  138.         }
  139.         else
  140.         {
  141.             if(!is_user_connected(id)) return
  142.             new team = get_user_team(id)
  143.             formatex(logmsg, MAXLEN, "%s <font color=%s>", logmsg, TEAMCOLOR[team])
  144.             switch(team)
  145.             {
  146.                 case 1, 2:
  147.                 {
  148.                     if(!is_user_alive(id))
  149.                         formatex(logmsg, MAXLEN, "%s*DEAD*", logmsg)
  150.                     if(cmd[3])
  151.                         formatex(logmsg, MAXLEN, "%s%s", logmsg, TEAMNAME[team])
  152.                 }
  153.                 case 0, 3:  formatex(logmsg, MAXLEN, "%s%s", logmsg, TEAMNAME[team])
  154.             }
  155.         }
  156.     }
  157.    
  158.     new name[32],  said[192]
  159.     get_user_name(id, name, 31)
  160.     CheckPlayerName(name)
  161.     read_args(said, 191)
  162.     remove_quotes(said)
  163.     replace_all(said, 191, "<", "&lt;")
  164.     replace_all(said, 191, ">", "&gt;")
  165.     formatex(logmsg, MAXLEN, "%s%s</font> : <font color=green>%s</font><br>", logmsg, name, said[pos])
  166.     write_file(LogFile, logmsg)
  167. }
  168.  
  169. CheckPlayerName(name[])
  170. {
  171.     new i = 0, c
  172.     while((c = name[i]))
  173.     {
  174.         switch(c)
  175.         {
  176.             case 0x3C: name[i] = 0x5B
  177.             case 0x3E: name[i] = 0x5D
  178.         }
  179.         i++
  180.     }
  181. }
  182.  
  183. bool:IsColorLetter(c)
  184. {
  185.     switch(c)
  186.     {
  187.         case 0x72,0x67,0x62,0x79,0x6D,0x63,0x6F: return true
  188.         default: return false
  189.     }
  190.     return false
  191. }

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/