Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Информационная доска

Данный раздел предназначен для обсуждения, а также решения технических проблем связанных с серверной частью. Обсуждения касательно игровых клиентов ведутся здесь.

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

Чат логи

Статус пользователя laker_42
сообщение 15.4.2012, 5:47
Сообщение #1
Стаж: 14 лет

Сообщений: 42
Благодарностей: 5
Полезность: < 0

Ребят я знаю что есть такой плагин ChatLogs, подскажите как его вывести на сайт? Отдельной страничкой. Заранее спс.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Drotik
сообщение 15.4.2012, 6:17
Сообщение #2
Стаж: 18 лет

Сообщений: 1319
Благодарностей: 780
Полезность: 0

Меценат Меценат

Код
Плагин пишет лог команд:
say, say_team, amx_say, amx_chat, amx_psay, amx_csay, amx_tsay
say @(@@|@@@)
say_team @
в директорию amxmodx\logs\filename.htm

Переменные:
cl_logmode 0 | 1 (default is 1)
0 : Имя файла ChatLog, означает, что весь лог пишется в один htm файл.
1 : Имя файла XXXX.XX.XX, где X'ы заменятся датой, т.е. каждый день лог пишется в отдельный htm.

Установка:
Впишите этот плагин выше adminchat.amxx или он не будет писать лог команд adminchat'а (plugins.ini):
; Chat / Messages
chat_logger.amxx; log chat messages by jim
adminchat.amxx; console chat commands
antiflood.amxx; prevent clients from chat-flooding the server
;scrollmsg.amxx; displays a scrolling message
;imessage.amxx; displays information messages
adminvote.amxx; vote commands

Лог будет выглядеть как показано ниже (chatlod.htm):
22:55:46 <STEAM_0:1:23456789><000.000.000.000> *DEAD*.:|:. : hello
22:55:51 <STEAM_0:1:23456789><000.000.000.000> .:|:. : hello
22:55:54 <STEAM_0:1:23456789><000.000.000.000> (Terrorist) .:|:. : hello
22:55:59 <STEAM_0:1:23456789><000.000.000.000> .:|:. : hello
22:56:01 <STEAM_0:1:23456789><000.000.000.000> (Counter-Terrorist) .:|:. : hello
22:56:13 <STEAM_0:1:23456789><000.000.000.000> *SPEC*.:|:. : hello
22:56:21 <STEAM_0:1:23456789><000.000.000.000> *DEAD*(Terrorist) .:|:. : hello
22:56:23 <STEAM_0:1:23456789><000.000.000.000> *DEAD*.:|:. : hello
22:56:30 <STEAM_0:1:23456789><000.000.000.000> (Good Luck!) .:|:. : hello
22:56:46 <STEAM_0:1:23456789><000.000.000.000> (HUDCHAT) .:|:. : hello
22:56:50 <STEAM_0:1:23456789><000.000.000.000> (HUDCENTER) .:|:. : hello
22:56:55 <STEAM_0:1:23456789><000.000.000.000> (HUDBOTTOM) .:|:. : hello
22:57:04 <STEAM_0:1:23456789><000.000.000.000> (ALL) .:|:. : hello
22:57:11 <STEAM_0:1:23456789><000.000.000.000> (ADMINS) .:|:. : hello
22:57:17 <STEAM_0:1:23456789><000.000.000.000> (ADMIN) .:|:. : hello
16:17:20 <STEAM_0:1:23456789><000.000.000.000> (PLAYER) .:|:. : hello

Или в обрезанном виде (chatlog.htm):
*DEAD*.:|:. unsigned team cmd: say
*SPEC*.:|:. spectator cmd: say or say_team
.:|:. terrorist alive cmd: say
(Terrorist) .:|:. terrorist alive cmd: say_team
(Good Luck!) .:|:. admin cmd: amx_psay "Good Luck!" is the listener.
(HUDCHAT) .:|:. admin cmd: amx_tsay or say @
(HUDCENTER) .:|:. admin cmd: amx_csay or say @@
(HUDBOTTOM) .:|:. admin cmd: say @@@
(ALL) .:|:. admin cmd: amx_say
(ADMINS) .:|:. admin cmd: amx_chat
(ADMIN) .:|:. player(is admin) cmd: say_team @
(PLAYER) .:|:. player cmd: say_team @



Chat Logger 2.1a
/* 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.
*/

#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_cvarlogmode
new g_adminchatID
new const HUDPOS[4][] = {"", "HUDCHAT", "HUDCENTER", "HUDBOTTOM"}
new const TEAMCOLOR[_:CsTeams][] = {"gray", "red", "blue", "gray"}
new const TEAMNAME[_:CsTeams][] = {"*DEAD*", "(Terrorist) ", "(Counter-Terrorist) ", "*SPEC*"}

public plugin_init()
{
register_plugin("Chat Logger", "2.1a", "Jim")
g_cvarlogmode = register_cvar("cl_logmode", "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)
get_user_authid(id, authid, 31)
get_user_ip(id, ip, 15, 1)

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)
}
formatex(logmsg, MAXLEN, "%s <%s><%s>", timestr, authid, ip)
}
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)
}
formatex(logmsg, MAXLEN, "%s - %s <%s><%s>", datestr, timestr, authid, 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©
{
case 0x3C: name[i] = 0x5B
case 0x3E: name[i] = 0x5D
}
i++
}
}

bool:IsColorLetter©
{
switch©
{
case 0x72,0x67,0x62,0x79,0x6D,0x63,0x6F: return true
default: return false
}
return false
}

Пошукай версію новішу;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: