Счетчик репортов с сохранением для CRMP/SAMP + исходники » KOTOFF.net
KOTOFF.NET
  • Главная
  • Пользователи
  • Контакты
  • Статистика
  • Правила
  • О нас
  • Вход / Регистрация

Счетчик репортов с сохранением для CRMP/SAMP + исходники

Программы


Когда я был администратором на одном из проектов CRMP, я написал себе программу для подсчета репортов (/ans) так как статистику на всегда скидывали, да и норму выполнять так было проще. Программа сохраняет все результаты, суммируя с прошлыми.

P. S. Программу писал по памяти изучения данного языка в 2009 году, поэтому код очень грубый, при желании можете доработать/переписать.

Если Вы являетесь действующим администратором проекта «Amazing RP» то Вы можете запустить программу и сразу пользоваться, для остальных проектов потребуется изменение кода, делается это очень легко и просто, ниже я опишу как это сделать. Скачать архив с исходниками и самой программой можно в самом низу поста.

Как работать с программой и ее функционал.
Для начала распакуйте архив, там лежат 2 основных файла, Project1.exe и stats.ini программа и файл для сохранения результатов.
Запускаем, в этой версии я уже дописал автоматическое определение ника из реестра, там хранится ник с самого клиента CRMP, поэтому его указывать больше не нужно. Если не нашел ник или он другой, укажите нужный в Multiplayer'e

Вы можете заранее указать уже существующие показания ваших ответов и выданных наказаний. Спешу отметить, что данная программа сохраняет только репорты (/ans) и джаилы (/jail) остальное работает не корректно и требует доработки (Может быть когда-нибудь сяду и перепишу этот быдло код bowtie)

В архиве вас ждет новая версия 3.0, с небольшими доработками. Запускаем и пользуемся.


Как изменить исходник, скомпилировать и пользоваться.

Эта часть самая трудоемкая, если ранее Вы вообще ничего не писали подобного. Вам потребуется установить среду программирования Borland Delphi 7 версии 2002 года, именно на ней я писал эту программу, на ней и буду показывать примеры, она самая легкая, по сравнению с новыми версиями.

Я использую Delphi XE8 2015 года, но там сложная процедура установки, и весит она в разы больше, да и она не нужна Вам для такой простой программы, тут можно обойтись старой версией.





После установки самой среды, скачиваем архив с программой и исходником, распаковываем и запускаем Project1.dbr

И ищем данную процедуру с функцией
procedure TForm1.BitBtn4Click(Sender: TObject);
function CountWords(substr,str: string): Integer;
const
  Delims: set of Char=[#10,#13,' ',',','.'];
var
  p: Integer;
begin
  Result:=0;
  str:=' '+str+' ';
  substr:=trim(substr);
  p:=1;
  repeat
    p:=PosEx(substr,str,p);
    if (p>0) and (str[p-1] in Delims) and (str[p+Length(substr)] in Delims)
      then Inc(Result);
    Inc(p);
  until p=1;
end;

begin
Label12.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' [' + Label5.Caption + '] для' , Memo1.Text)));  // Репорт
Label30.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' [' + Label5.Caption + '] для' , Memo1.Text)));   // Репорт
Label14.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' выдал предупреждение' , Memo1.Text)));      //  Варны
Label17.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' посадил в деморган' , Memo1.Text)));        //  Джаилы
Label18.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' наказал' , Memo1.Text)));                   // Джаилы
Label13.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' кикнул' , Memo1.Text)));                       // кик
Label16.Caption :=  IntToStr(StrToInt(Label17.Caption)+StrToInt(Label18.Caption)) ;     //



end;


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

Строки типа:
Label12.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' [' + Label5.Caption + '] для' , Memo1.Text)));  // Репорт
Label30.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' [' + Label5.Caption + '] для' , Memo1.Text)));   // Репорт
Label14.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' выдал предупреждение' , Memo1.Text)));      //  Варны
Label17.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' посадил в деморган' , Memo1.Text)));        //  Джаилы
Label18.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' наказал' , Memo1.Text)));                   // Джаилы
Label13.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' кикнул' , Memo1.Text)));                       // кик
Label16.Caption :=  IntToStr(StrToInt(Label17.Caption)+StrToInt(Label18.Caption)) ;     //
В этом случае в файле ChatLog.txt хранится ответ вот в таком формате:
Администратор NickName [228] для Tom_Friman: Приятной игры!

Мы ищем только: 
Администратор NickName [228] для 


Их и нужно переписывать, к примеру Вы администратор на другом проекте и у Вас в ChatLog.txt сохраняется текст в таком формате:

Администратор NickName (228) ответил игроку Tom_Friman: Приятной игры!

Переписываем строки
Label12.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' [' + Label5.Caption + '] для' , Memo1.Text)));  // Репорт
Label30.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' [' + Label5.Caption + '] для' , Memo1.Text)));
 
на

Label12.Caption := (IntToStr(CountWords('Администратор  '+ Label3.Caption + ' (' + Label5.Caption + ')  ответил игроку ' , Memo1.Text)));  // Репорт
Label30.Caption := (IntToStr(CountWords('Администратор '+ Label3.Caption + ' (' + Label5.Caption + ')  ответил игроку ' , Memo1.Text)));

В этом случае программа уже ищет текст в таком виде:
Администратор NickName (228) ответил игроку 

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

Если развернуть окно в Delphi 7, то мы увидим скрытые компоненты, они нужны для корректной работы программы и сохранения копии ChatLog.txt, так как после закрытия, она его отчищает.


Программа сама считает репорты и сохраняет их за все время использования, ее можно запустить даже если Вы уже в игре и ответили несколько репортов, она найдет их и сразу же сохранит. Любой запуск и закрытие программы, удаляет ChatLog.txt, но создает его копию, вдруг пригодится.

Компилируем и собираем проект в исполняемый файл Project1.exe

Можем пользоваться. Проект сохранится в папку с которой Вы его запустили.


Если редактировать ничего не нужно и Вы администратор проекта «Amazing RP» можете сразу запускать программу после распаковки архива и пользоваться. Она максимально простая и компактная, по исходникам можете убедится сами что никаких ваших данных я не получаю и ,вообще, программа не работает с сетью. (За код прошу извинить grin )

kotoff_net_stats.rar

Для агентов поддержки // Amazing
agent.rar
  • Сергей Котов
  • 15.02.2019
  • 2 558
  • 0
Как создать образ с Windows 7/10 USB DVD Download Tool / Media Creation Tool
Как создать образ с Windows 7/10 USB DVD Download Tool / Media Creation Tool
25-12-2018, 16:50, Статьи
Unchecky - Программа, которая снимает галочки за вас!
Unchecky - Программа, которая снимает галочки за вас!
26-12-2018, 18:30, Программы
Улучшаем графику в SAMP/CRMP и добавляем приятные тени
Улучшаем графику в SAMP/CRMP и добавляем приятные тени
24-12-2018, 15:09, Игры
Как действительно начать зарабатывать в интернете
Как действительно начать зарабатывать в интернете
25-12-2018, 03:01, Статьи
Movie

Нет комментариев. Не желаешь оставить первый комментарий?

Перед публикацией, советую ознакомится с правилами!

{login}

Твой комментарий..

Заказывай!
Разработка ботов на заказ, любой сложности, обращаться:
 VK KOTOFF.net - Сообщество, в личные сообщения или по контактам указанным там 
 mail: [email protected]

  • Новости
  • Блог
  • Игры
  • Обновления
  • Программы
  • Статьи
    • PHP
    • Python
  • Магазин
Комментарии
Авторизация на сайте с помощью ВК, простой и понятный способ на PHP!
В настройках приложения какой урл для редиректа указали?
Авторизация на сайте с помощью ВК, простой и понятный способ на PHP!
{"error":"invalid_request","error_description":"redirect_uri is incorrect, check application
Python и LongPoll VK, или как запустить скрипт ВК и настроить Python, для новичков
откуда наследуется peer_id - не возвращает его. Скорее всего потому, что получение peer_id идёт до
Python и LongPoll VK, или как запустить скрипт ВК и настроить Python, для новичков
Помогите, всё работает, но при отправке сообщения боту, выходит ошибка Traceback (most recent call
[VK BOT] Бот раздающий ключи Steam
keys users Но если память мне не изменяет, библиотека RB сама создает таблицы
Все комментарии..
Полный список последних комментариев
Лучшие новости
Делаем отображение статистики за день, неделю месяц и все время PHP простой и удобный способ

Делаем отображение ...

14-02-2021, 22:30
Прием авто платежей в своем боте с самым низким процентом, используем VLITO.ru

Прием авто платежей в своем ...

22-02-2021, 22:08
Всего публикаций: 47
Добавлено за сутки: +0
Записей в блоге: 0
Добавлено за сутки: +0
Комментариев: 684
Добавлено за сутки: +0
Пользователей: 3003
Добавлено за сутки: +1
Полная статистика..
Подробная статистика сайта
Loading...

Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter

Полезные ссылки
  • О проекте
  • Наши контакты
  • Администрация
  • Рекламные материалы
  • Идеи и предложения
  • Ответы на вопросы
Информация
  • Условия сделки
  • Способы оплаты
  • Поддержка / F.A.Q
  • Онлайн документация
  • Статистика сайта
  • Список пользователей
Услуги/Работа
  • Разработка ботов ВК
  • Обновление проекта
  • Консультация/поддержка
KOTOFF.net

Copyright © Footer 2019-2021. All right reserved.
KOTOFF.net - Уроки по PHP, SQL, IT новости
Быстрый вход

Используйте социальные сети для быстрой регистрации и авторизации.

Google
ВКонтакте
Яндекс
Mail.ru
Создать аккаунт / Регистрация
Авторизация

Я забыл свой пароль