Page 1 of 1

Chat logger perdarymas.

Posted: 2012 Dec 30 19:51
by Koti
Gal kas galėtų šitą pluginą perdaryt taip, jog logintu ne į "/logs/chatlog.htm", o į http://www.svetaine.lt/chatlog.htm?

Code: Select all

/* Chat Logger v2.1a   Author: Jim (jim_yang @ AlliedModders Forum)   Credit: aligind4h0us3 for the idea, suggestion and test.           Cheap_Suit           Amx Mod X Team for Adminchat plugin.      Description: It logs messages of say(@|@@|@@@), say_team(@), amx_say, amx_chat, amx_psay, amx_csay, amx_tsay   Install: put this plugin above adminchat.amxx in amxxdir\configs\plugins.ini   Cvar: cl_logmode 0  log chat messages to ChatLog.htm in amxxdir\logs\                    1  log chat messages(by date)to XXXX.XX.XX.htm in amxxdir\logs\               XXXX.XX.XX is the date.                       default is 1.         cl_log_authid <0|1> - âêë/âûêë. îòîáðàæåíèå authid â ëîã-ôàéëå (ïî-óìîë÷àíèþ 1)         cl_log_ip <0|1> - âêë/âûêë. îòîáðàæåíèå ip â ëîã-ôàéëå (ïî-óìîë÷àíèþ 1)*/ #include <amxmodx>#include <amxmisc>#include <cstrike> #define MAXLEN 511#define TITLE "<h2 align=center>Chat Logger</h2><hr>"#define FONT "<font face=^"Verdana^" size=2>"static FilePath[49]new g_cvarlogmodenew g_adminchatIDnew const HUDPOS[4][] = {"", "HUDCHAT", "HUDCENTER", "HUDBOTTOM"}new const TEAMCOLOR[_:CsTeams][] = {"gray", "red", "blue", "gray"}new const TEAMNAME[_:CsTeams][] = {"*DEAD*", "(Terrorist) ", "(Counter-Terrorist) ", "*SPEC*"}new g_cvarlog_authid,g_cvarlog_ip,len public plugin_init(){    register_plugin("Chat Logger", "2.1a", "Jim")    g_cvarlogmode = register_cvar("cl_logmode", "1")    g_cvarlog_authid = register_cvar("cl_log_authid", "1")    g_cvarlog_ip = register_cvar("cl_log_ip", "1")      register_clcmd("say", "logtext")    register_clcmd("say_team", "logtext")    register_concmd("amx_say", "logtext")    register_concmd("amx_chat", "logtext")    register_concmd("amx_psay", "logtext")    register_concmd("amx_tsay", "logtext")    register_concmd("amx_csay", "logtext")    get_localinfo("amxx_logs", FilePath, 48)} public plugin_cfg(){    g_adminchatID = is_plugin_loaded("Admin Chat")} public logtext(id){    if(is_user_bot(id)) return        new bool:IsAdminChatRunning = false    if(g_adminchatID != -1)    {        new tmp[1], status[2]        get_plugin(g_adminchatID,tmp,0,tmp,0,tmp,0,tmp,0,status,1)        if(status[0] == 0x72)            IsAdminChatRunning = true    }            static datestr[11], LogFile[65]    new timestr[9], authid[32], ip[16], cmd[9], logmsg[MAXLEN + 1]    new pos = 0, ufg = get_user_flags(id) & ADMIN_CHAT        get_time("%Y.%m.%d", datestr, 10)    get_time("%H:%M:%S", timestr, 8)            if(get_pcvar_num(g_cvarlogmode))    {        formatex(LogFile, 64, "%s/%s.htm", FilePath, datestr)        if(!file_exists(LogFile))        {               new title[80]            formatex(title, 79, "<title>Chat Logger - %s</title>%s", datestr, TITLE)            write_file(LogFile, title)            write_file(LogFile, FONT)        }        len=format(logmsg, MAXLEN, "%s", timestr)           }    else    {        formatex(LogFile, 64, "%s/ChatLog.htm", FilePath)        if(!file_exists(LogFile))        {            write_file(LogFile, "<title>Chat Logger</title>")            write_file(LogFile, TITLE)            write_file(LogFile, FONT)        }        len=format(logmsg, MAXLEN, "%s - %s", datestr, timestr)         }    if (get_pcvar_num(g_cvarlog_authid) || get_pcvar_num(g_cvarlog_ip)) len+=format(logmsg[len], MAXLEN, " ")    if (get_pcvar_num(g_cvarlog_authid)) {        get_user_authid(id, authid, 31)        len+=format(logmsg[len], MAXLEN, "<%s>",authid)               }    if (get_pcvar_num(g_cvarlog_ip)) {        get_user_ip(id, ip, 15, 1)        len+=format(logmsg[len], MAXLEN, "<%s>",ip)               }            read_argv(0, cmd, 8)    if(cmd[0] == 0x61)    {        if(!IsAdminChatRunning || !ufg) return                formatex(logmsg, MAXLEN, "%s <font color=purple>", logmsg)        if(cmd[5] == 0x68)            formatex(logmsg, MAXLEN, "%s(ADMINS) ", logmsg)        else        {            switch(cmd[4])            {                case 0x73:  formatex(logmsg, MAXLEN, "%s(ALL) ", logmsg)                case 0x74:  formatex(logmsg, MAXLEN, "%s(HUDCHAT) ", logmsg)                case 0x63:  formatex(logmsg, MAXLEN, "%s(HUDCENTER) ", logmsg)                case 0x70:                {                    new priv, pname[32]                    read_argv(1, pname, 31)                    pos = strlen(pname) + 1                    priv = cmd_target(id, pname, 0)                    if(!priv)                        return                    get_user_name(priv, pname, 31)                    CheckPlayerName(pname)                    formatex(logmsg, MAXLEN, "%s(%s) ", logmsg, pname)                }            }        }    }    else    {        new a = 0, at[5]        read_argv(1, at, 4)        while(at[a] == 0x40)            a++        if(IsAdminChatRunning && a && cmd[3])        {            pos = 1            formatex(logmsg, MAXLEN, "%s <font color=teal>(%s) ", logmsg, is_user_admin(id) ? "ADMIN" : "PLAYER")        }        else if(IsAdminChatRunning && 0 < a < 4 && !cmd[3] && ufg)        {               pos = IsColorLetter(at[a]) ? a + 1 : a            formatex(logmsg, MAXLEN, "%s <font color=purple>(%s) ", logmsg, HUDPOS[a])        }        else        {            if(!is_user_connected(id)) return            new CsTeams:team = cs_get_user_team(id)            formatex(logmsg, MAXLEN, "%s <font color=%s>", logmsg, TEAMCOLOR[_:team])            switch(team)            {                case 1, 2:                 {                    if(!is_user_alive(id))                        formatex(logmsg, MAXLEN, "%s*DEAD*", logmsg)                    if(cmd[3])                        formatex(logmsg, MAXLEN, "%s%s", logmsg, TEAMNAME[_:team])                }                case 0, 3:  formatex(logmsg, MAXLEN, "%s%s", logmsg, TEAMNAME[_:team])            }        }    }        new name[32],  said[192]    get_user_name(id, name, 31)    CheckPlayerName(name)    read_args(said, 191)    remove_quotes(said)    replace_all(said, 191, "<", "<")    replace_all(said, 191, ">", ">")    formatex(logmsg, MAXLEN, "%s%s</font> : <font color=green>%s</font><br>", logmsg, name, said[pos])    write_file(LogFile, logmsg)} CheckPlayerName(name[]){    new i = 0, c    while((c = name[i]))    {        switch(c)        {            case 0x3C: name[i] = 0x5B            case 0x3E: name[i] = 0x5D        }        i++    }} bool:IsColorLetter(c){    switch(c)    {        case 0x72,0x67,0x62,0x79,0x6D,0x63,0x6F: return true        default: return false    }    return false} 
Ar ten kaip nors į duomenų bazę, nes lygtais eina padaryt, jog iš duom. bazės kažkaip webe rodytų, ar ne?

Re: Chat logger perdarymas.

Posted: 2013 Jan 01 18:04
by Leu
Man irgi reiktu