Как сделать чат лог в самп

Добавил пользователь Morpheus
Обновлено: 19.09.2024

Привет: Гость

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!

--> -->Статистика -->

Как создать сервер:

Файл конфигурации по умолчанию выглядит так:

Команды администратора:

/rcon changemode - изменить игровой мод (например /rcon changemode lvdm)
/rcon login - вход в режим администратора. Необходимо для выполнения следующих команд.
/rcon exec - запустить конфиг.
/rcon cmdlist - отобразить список всех команд.
/rcon varlist - отобразить список всех переменных.
/rcon exit - выход.
/rcon kick - kick player по id. Выбрасывает игрока.
/rcon ban - ban player по id. Выбрасывает игрока перманентно.
/rcon gmx - перезапуск сценария.
/rcon changemode - смена текущей карты.
/rcon say - напечатать в чате "text" от админа.
/rcon echo - напечатать текст на стороне консоли.
/rcon reloadbans - reloads bans.
/rcon password - установка или изменение пароля на сервер.
/rcon unbanip - разбанить игрока.
/rcon reloadlog - очистить лог сервера (server_log.txt.)
/rcon players - Показывает игроков на сервере (с их именами, IP & пингом).
/rcon banip [IP] - Банит игрока по IP адресу (например: /rcon banip 127.0.0.1).
/rcon unbanip [IP] - Разбанивает игрока по IP адресу (например: /rcon unbanip 127.0.0.1).
/rcon gravity - Изменить гравитацию (например: /rcon gravity 0.008).
/rcon weather [ID] - Изменить погоду (например: /rcon weather 1).
/rcon loadfs - Загрузить определённый фильтрскрипт (например: /rcon loadfs adminfs).
/rcon unloadfs - Выгрузить с сервера определённый фильтрскрипт (example: /rcon unloadfs adminfs).
/rcon reloadfs - Перезагрузить определённый фильтерскрипт (example: /rcon reloadfs adminfs).

Как правильно забанить и разбанить игрока на сервере.

Чтобы забанить пишем /ban IP или /ban nick или /ban ID

Чтобы разбанить следует вначале ввести /unban nick, далее, для полного разбанивания нужно быть залогиненым через ркон /rcon login (ваш пароль) и пишем /rcon unbanip адрес (IP адрес можно просмотреть открыв с помощью блокнота файл samp.ban) Для завершения процедуры unban, необходимо ввести команду /rcon reloadbans (либо просто /rcon exit и заново включить сервер).
Всё игрок может зайти на сервер.

Как сделать себя админом на сервере?

Очень просто, после того как вы установили свой rcon пароль в файле Server.cfg, вам просто нужно в игре прописать /rcon login пароль ( /rcon login - так и пишем, а вот слово "пароль" заменяем своим установленным паролем) После того как появится надпись You are logged in as admin, которая означает что всё сделано правильно, вам нужно сделать себя админом в моде, сконкретной команды нет, у каждого мода свои команды установки админа, но чаще всего это /makeadmin ID 1337, где ID - это ваш айди номер, чтобы узнать свой айди номер нужно нажать tab и посмотреть какая цифра стоит рядом с вашим ником это и есть ваш айди. А вот 1337 - это уровень админа, он может быть так же 1, 2, 3 и т.д. в зависимости от мода, так что если не работает при вводе /makeadmin ID 1337, попробуйте ввести /makeadmin ID 1.
Второй вариант это /setadmin ID 1 - ну тут как и выше, команда, айди, уровень админа. Можно например себя назначить главным админом, уровня 1337 или первого, а можно ещё взять себе в помощники когото, прописать /makeadmin ID 3или2, и ваш помощник будет админом но с ограниченными возможностями. Чтобы узнать доступные в моде уровни админа, пишем в чате /help или /adminhelp (/ahelp)

Есть еще способ, как сделать себя админом с определенными правами.
В некоторых случаях самый действенный. Ищете в папке с сервером папку Scriptfiles. Открываете её и находите файл, название которого совпадает с вашим ником/логином. Открываете его с блокнотом или с любым другим текстовым редактором и смотрите строку "level=[ID]".
Это и есть уровень "привилегий" данного игрока. Ставите нужный ID уровня, сохраняете файл, закрываете текстовый редактор, запускаете сервер и проверяете. ID уровня обычно обозначается числом, от нуля и выше (до 3, до 5, до 10) - в зависимости от мода.

В SA-MP 0.3b появилась запись логов на стороне клиента, но с некоторыми неудобствами. Логи записываются только за один игровой сеанс, что довольно не удобно. В связи с этими неудобностями, на днях мы с Griosh придумали и решили сделать альтернативное решение этой проблемы.

Нами была придумана программа для удобного управления логами чата в SAMP 0.3b. Изначально для личных целей, позже решили опубликовать ее для всех желающих.
По умолчанию программка просто переименовывает файл chatlog.txt с логами от самп в файл с именем формата: Год_Месяц_Число_Час_Минута.txt. (То есть после выхода из игры после очередного сеанса Вам достаточно запустить программку и она автоматически сделает все за Вас, избавив от необходимости лезть в папку с логами и переименовывать файл в ручную.).

Программа так же имеет дополнительные функции:

  • Записывать логи в один общий файл log.txt:
    Это значит, что при включение данной опции в отличие от обычного переименовывания файла с логами в файл с именем в формате: Год_Месяц_Число_Час_Минута.txt, программа будет склеивать все записи логов из chatlog.txt в один файл log.txt.
  • Не переименовывать файл chatlog.txt после записи логов в общий файл и удалять все его содержимое:
    Эта опция так же позволяет сохранять все логи из каждого сеанса игры из файла chatlog.txt в один файл log.txt, но при этом оставляет chatlog.txt на месте и очищает его.
  • Приписывать дату к логам в общем файле log.txt:
    Эта функция доступна только тогда, если Вы выбрали запись всех логов в один файл log.txt. По умолчанию SA-MP записывает в логи только время событий чата слева, в начале строки. Если Вы включите эту опцию, то в то время когда программа будет конвертировать Ваш лог в файл log.txt, будет так же добавлять дату в начале каждой строки.
  • Больше не показывать это меню при запуске программы и выполнять все действия автоматически:
    Эта функция позволяет один раз настроить программу так, как Вам нравиться. И при дальнейших запусках пропускать окошки настройки программы.
  • После запуска программа не следит постоянно за Вашими логами, и выполняет лишь определенные функции, после чего завершает свою работу. После каждого сеанса игры нужно запускать программу в ручную.
  • Программу необходимо запускать сразу после того, как Вы закончили играть.
    В противном случае, у Вас могут возникнуть две проблемы:
    1.) В первом случае, это если Вы закончили играть(вышли из игры), не запустили программу и например через 15 минут снова зайдете играть на сервер.В этом случае предыдущие логи будут утеряны.
    2.) Во втором случае проблема может возникнуть если Вы используете опцию "Записывать логи в один общий файл log.txt" и "Приписывать дату к логам в общем файле log.txt". Смысл в том, что если Вы закончите играть и запустите программу только на следующие сутки. У Вас будет выставлена дата в логах на день позже, чем были записаны логи. То есть дата будет стоять не соответствующая реальным событиям.
  • Если Вы выбрали опцию "Больше не показывать это меню при запуске программы и выполнять все действия автоматически", то как сказаного было выше, программа будет выполняться сразу. Без меню настроек программы. Если вдруг по какой-то причине Вы снова захотите попасть в меню настроек, то Вам необходимо в ручную удалить файл настроек saves.txt в папке "Мои документы/GTA San Andreas User Files/SAMP".

1. Вы уже скачали программу и перед Вами лежит файл SALogsManager.exe а так же у Вас имеется файл chatlog.txt с последнего сеанса игры в папке "Мои документы/GTA San Andreas User Files/SAMP".
2. Запускаем ее и Вас встретит окошко приветствия по первому запуску программы. Читаем еще раз внимательно что там напсиано и после нажимаем OK.

3. Дальше появиться окошко настроек программы.

Я выбрал опции: "Записывать логи в один общий файл log.txt", "Приписывать дату к логам в общем файле log.txt", "Больше не показывать это меню при запуске программы и выполнять все действия автоматически" по своему вкусу, Вы можете выбрать другие, опираясь на описание выше.
4. Остается нажать кнопку "Запустить программу" и если у Вас все правильно ждать результата.

Как видимо все Выполнено и в папке "Мои документы/GTA San Andreas User Files/SAMP" у нас появился готовый файл с логами, который не будет утерян при следующем входе в игру.


КОПИРОВАНИЕ И ПУБЛИКАЦИЯ ДАННОЙ ПРОГРАММЫ ЗА ПРЕДЕЛАМИ RSRL БЕЗ РАЗРЕШЕНИЯ АВТОРА ЗАПРЕЩЕНЫ. (Относитесь с пониманием и уважением к чужому труду, не нарушая условия.)


Идея: Griosh & ROTER.
Разработка/программирование: Griosh.
Тестирование: ROTER.
SA-MP 0.3b Logs manager © 2010

хмм полезная весч.
а нельзя ли как нить ее запускать в фоновом режиме вместе с сампом? скажем каким нить левым параметром

Окошко первого запуска содержит слишком много текста. Думаю достаточно.
"Эта программа предназначена для удобного сохранения логов sa-mp 0.3b, подробности читайте в инструкции" и соответственно написать инструкцию и запихать в программу чтоб вызывалось по отдельной кнопке или клавише F1.

Дату создания лога лучше сделать автоматической, так как если я правильно понял то будут создаваться блокноты формата "log1.txt" "log2.txt" что не есть гуд.
По поводу предупреждения игры в более 24 часа, то опять же слишком много ненужного текста(и багу лучше пофиксить а то игруны обидяться xD)

текст с флажком "Больше не показывать это меню при запуске. бла бла бла." сократить до "Не показывать это окно(меню) при запуске"

так же заменить флажок "Записывать логи в один общий log.txt" разделить на два пункта которые можно выбрать оба это:
Хранить общий файл
1 сеанс игры - 1 файл.(написать только по другому, но думаю суть ясна)
и соответственно сделатьоба вида логов(если выбраны оба пункта)

"Не перименовывать chatlog.txt бла-бла-бла" вообще не понятна суть данной функции и ее лучше убрать, пусть самп дальше пишет последний сеанс.


нашел багу:
При запуске флажок "Приписывать дату к логам бла-бла бла" горит серым цветом(неактивным) При выборе первого флажка, третий флажок загораеться даже если снять выделение с первого флажка, как должно быть правильно, решать создателю xD

оО полезненько, спс вам :*

а нельзя ли как нить ее запускать в фоновом режиме вместе с сампом? скажем каким нить левым параметром

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

Дату создания лога лучше сделать автоматической, так как если я правильно понял то будут создаваться блокноты формата "log1.txt" "log2.txt" что не есть гуд.

Суть в том, что если ты только поставишь галочку "записывать логи в общий файл log.txt" и будешь запускать программу, то у тебя в папке SAMP будет много много блокнотиков (после месяца игры допустим), и каждый блокнотик будет назван по дате и времени, когда ты играл, и плюс ко всему этому будет лежать файл log.txt в котором будут все ТЕ ЖЕ логи, но склееные в один блокнот-файл. Склеивать в один файл удобно для того, что если ты забыл, какого числа допустим произошел тот или иной эпизод, но точно помнишь, что там была фраза "я лечу на апаче", то ты заходишь в общий файл log.txt, выбираешь функцию найти и легко находишь нужную строку. Это же удобнее, чем открывать каждый отдельный файл по очереди, и искать в каждом файле эту фразу. А в случае, если ты поставишь галочку "Не перименовывать chatlog.txt бла-бла-бла", тогда у тебя в папке SAMP будет лежать ТОЛЬКО общий файл log.txt где будут склееные логи за все твои игры, а так же файл chatlog.txt, который после каждого запуска программы будет просто опустошаться, при этом все логи, которые были в нем до запуска программы, переедут в файл log.txt

А баг сейчас поправлю)

Поправила баг в программе, а также добавила меню со справкой, инструкцией и описанием программы smile3.jpg С минуты на минуту Рут должен обновить ссылку в первом посте smile3.jpg

интересно, идея эта пришла до или после того как я в чат написал как все то же сделать системными командами в одну строчку?

создаете *.bat файл, в нем пишете
ren "%userprofile%\My Documents\GTA San Andreas User Files\SAMP\chatlog.txt" chatlog_%date%.txt
и все дела

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

SetWorkingDir, %A_MyDocuments%\GTA San Andreas User Files\SAMP
FileAppend, `n`n %A_DD%.%A_MM%.%A_YYYY% - %A_Hour%:%A_Min% `n`n, fullchatlog.txt
FileRead, temp, chatlog.txt
FileAppend, %temp%, fullchatlog.txt

- так же до кучи блоки текстов от разных применений разделяются пропусками строк и внесением даты и времени каждого добавления

ну а если нужно только переименовать последний лог чтобы он оставался от каждого применения свой отдельный, то :

SetWorkingDir, %A_MyDocuments%\GTA San Andreas User Files\SAMP
FileMove, chatlog.txt, chatlog_%A_DD%.%A_MM%.%A_YYYY% - %A_Hour%-%A_Min%.txt

- т.е. собсно решение основного вопроса

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

я как скриптер 0, так что не знаю

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

а нельзя ли как нить ее запускать в фоновом режиме вместе с сампом? скажем каким нить левым параметром

я создал прогу, которая занимается тем, что отслеживает каждый выход непосредственно из gta, и предлагает запустить указанный в этой теме SALogsManager. На самом деле этот мэнэджер мне очень понравился, но я всегда забывал его запускать, дырявая башка блин xD После создания моей проги эта проблема отпала сама собой)

Собственно как эта прога работает:
Я думаю, что большинство игроков конечно же не залезают каждый раз в папку с гта, для запуска сампа, а делают это с помощью ярлыка на самп, который они расположили в удобном для себя месте. Из этого я и исходил, создавая программу. При запуске программы, она работает просто как ярлык на самп, то есть тупо запускает самп. Но помимо этого, она сама в фоновом режиме постоянно следит, играете вы в гта, или нет. И если вы выходите из гта, то она тут же предлагает вам запустить мэнэджэр. Вырубается прога только тогда, когда вы НЕ играете в гта, и у вас НЕ открыто окошко сампа. Т.е. вполне можно законектиться к серверу, потом отрубить окошко сампа, спокойно играть, и при выходе из игры прога все равно вас спросит, запустить ли мэнэджэр.


Теперь что нужно сделать, чтобы все работало:
1) Располагаете мою прогу (San Andreas MP.exe) в удобном для вас месте, например на рабочем столе.
2) При первом запуске, программа попросит вас указать путь к файлам samp.exe и SALogsManager.exe. Эти пути она сохраняет в текстовом файле savef.txt, который кладет по адресу Мои документы\GTA San Andreas User Files\SAMP.
3) Указываете пути к файлам и вуаля, прога запускает окошко с сампом. После этого больше не паритесь, и играете сколько влезет. Только учтите, что чтобы прога работала, самп нужно всегда запускать через нее. Но это по моему не так сложно, просто считайте, что это не прога, а ярлык на самп

Если найдете какие-то баги, или у кого-то программа будет не запускаться - пишите сюда. Также хочу узнать от вас, нужно ли делать такую прогу для автозапуска? Ну то есть чтобы она запускалась с включением винды и постоянно висела в процессах, в ожидании вашей игры в самп. Или и так нормально, как есть?


Сейчас объясню, что где используется:

Смысл данной функции прост:

playerid – узнаёт ID игрока.
color – вписываем цвет (можно так же обратится к define’ам, в прошлом уроке я рассказывал про установку цвета, приводя пример COLOR_RED).
“Текст” – думаю понятно, что в кавычки можно вставить текст.

Примеры использования каждой функции

SendClientMessage с движением объекта:

if (strcmp("/move", cmdtext, true, 10) == 0)
MoveObject(obj,0, 0, 9, 4);
SendClientMessage(playerid,COLOR_RED,"Объект передвинут");
return 1;

И закончу его движение:

if (strcmp("/moveback", cmdtext, true, 10) == 0)
MoveObject(obj,0, 0, 0, 4);
SendClientMessage(playerid,COLOR_RED,"Объект передвинут обратно");
return 1;
>

cmd = strtok(cmdtext, idx);
if(strcmp("/pm", cmd, true) == 0)
tmp = strtok(cmdtext,idx);

new /> gMessage = strrest(cmdtext,idx);

if(playerid != id) GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
[b]SendPlayerMessageToPlayer(playerid, senderid,Message);[/b]
format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
[b]SendPlayerMessageToPlayer(playerid, senderid,Message);[/b]
PlayerPlaySound(id,1085,0.0,0.0,0.0);
>
else SendClientMessage(playerid,COLOR_RED,"Писать ПМ себе – это неприлично");
>
return 1;
>

format(output, sizeof(output), "(%d) %s", playerid, text);
SendPlayerMessageToAll(playerid, output);
return 0;
>

SendClientMessageToAll с отправлением действия игрока в чат всем игрокам:

И переносит на специальную координату:

GameTextForPlayer

Простенькая функция – выводит на экран игроку определённый текст.

Некоторые русские переводы плохие, и я перечислю вам их символы:

Текст вводится капсом (кроме символа-исключения (u - ц)):

A - a6 – бB - вF - гD - дE - e, эG - ж3 - зN - иK - кL - лM - мH - нO - оZ - пP - рC - сT - тY - уQ - фX - хu - ц4 - чW - ш, щJ - ь, ъS - ыU - юR - я

Эти символы я взял из собственного опыта и знания.

5000 – это время
3 – тип

Всего я знаю 7 типов:

Следующее – это тот же самый текст, только для всех игроков – GameTextForAll

Тоже самое что и GameTextForPlayer – справедливы все его функции, кроме PlayerID – его не будет, так как этот текст будет показан для всех. Следите за набором текста, указано выше – какие буквы русские будут показаны на экране.

Как обычно пример использования:

if (strcmp("/move", cmdtext, true, 10) == 0)
MoveObject(obj,0, 0, 9, 4);
GameTextForPlayer(playerid, "O6JEKT ZEPEDBNHYT", 5000, 1); //Написано: Объект передвинут
return 1;

ну и закончу его движение

if (strcmp("/moveback", cmdtext, true, 10) == 0)
MoveObject(obj,0, 0, 0, 4);
GameTextForAll("O6JEKT BEPHYLCR HA CBOE MECTO", 5000, 3 ); //Написано: Объект вернулся на своё место
return 1;
>

killerid – ID убийцы (в случае суицида, killerid и playerid могут сравняться, а иногда killerid просто не высвечивается)
playerid – ID убитого
reason – причина смерти (обычно тут используются иконки оружия, но в код они не вписываются, а используется только reason), иногда можно использовать ICON_CONNECT и ICON_DISCONNECT (Иконки присоединения и выхода)

3. Шаг третий

Первое знакомство с сервером SAMP

Итак, мы переходим к самому интересному шагу — знакомство с SA-MP (САМП) сервером.

Открываем папку с Вашим SA-MP 0.3x сервером.

Img

Файлы (6 штук) и 7 папок:
announce.exe
samp-license.txt
samp-npc.exe
samp-server.exe
server.cfg
server-readme.txt

Учимся настраивать конфигурацию (настройку) сервера

Открываем файл server.cfg через любой текстовый редактор, будь то простой блокнот.

Содержимое файла server.cfg для SA-MP 0.3x:

echo Executing Server Config. — Информирует систему о том, что данный файл является конфигом (нам данная строчка не нужна, её не трогаем).

lanmode — 0 – игра по интернету, 1 – игра по локальной сети (мы собираемся играть по интернету, поэтому не трогаем).

maxplayers — 50 - максимальное количество игроков на сервере (можно указать от 1 до 1000).

port — 7777 - порт Вашего сервера (сейчас нам не нужно редактировать этот параметр, поэтому пропускаем его).

Сохраняем файл server.cfg и закрываем его. Настройка конфигурации сервера закончена.

Запускаем samp-server.exe. Данный файл служит запуском для SA-MP сервера.

Если Вы правильно настроили server.cfg по моим рекомендациям указаниям, то откроется Консоль.

В Windows — это обычная командная строка:

Img

Если же окно открылось и сразу же закрылось, то это может означать, что Вы неправильно настроили server.cfg.

Внимательно проверьте, всё ли Вы так сделали, как мы Вам посоветовали?
Если Вы неплохо владеете английским языком, то можете узнать свою ошибку через server_log.txt, который автоматически создаётся в папке сервера после запуска samp-server.exe.

SA-MP Dedicated Server
----------------------
v0.3x, (C)2005-2013 SA-MP Team

[00:00:00] Error: Your password must be changed from the default password, please change it.

Буквально, её сможет перевести любой переводчик. Воспользуемся переводчиком от Google:

Итак, сервер работает, в консоли ошибок нет.
--------

Первые шаги на SAMP сервере

Чтобы мы как-то зашли на наш сервер, нам нужно узнать его адрес.

Так, как сервер находится у Вас на компьютере, то его адрес — Ваш IP адрес.

Img

Теперь Ваш сервер добавлен в Favorite List!

Если в списке серверов данные Вашего сервера обновятся и сервер будет доступен, то Вы сделали всё правильно! :)

Вы — администратор SA-MP сервера!

По стандарту, в каждом SA-MP сервере присутствует только одна система администрирования — RCON.

Вот мы и будем в неё входить через наш RCON-пароль, который мы указывали в server.cfg.

Открываем чат (английская буква "T" на клавиатуре) и вводим туда:

/rcon login ВашRconПароль

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

А как RCON-администраторы управляют сервером?

Все функции RCON-администраторы выполняются с помощью RCON-команд.

Чтобы сделать Ваш сервер похожим на другие, Вы должны установить нужный Вам игровой Gamemode (игровой мод, сценарий).

Именно он определяет жанр Вашего сервера, его порядки и условия игры на нём.
Скачали? Теперь распаковываем содержимое архива в в любую папку.

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

В будущем, Вы конечно же поймёте, что означает каждая комплектующая сервера, но всё приходит со временем.

Чтобы Вам уже запустить Ваш сервер и начать играть, Вам необходимо просто отредактировать конфигурацию Вашего сервера.

Открываем server.cfg и редактируем конфиг под себя по рекомендациям выше.

Читайте также: