Skip to content
/ IBot Public

Моя библиотека для удобной разработки ботов в Terraria.

Notifications You must be signed in to change notification settings

Diagenov/IBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Title

Содержание репозитория

  • IBot — файлы библиотеки;
  • Test — папка с примерами использования библиотеки:
    • Simple — простейший пример,
    • Musician — пример бота-музыканта,
    • DiscordBot — пример бота с трансляцией чата в Дискорд;
  • References — папка с вспомогательными библиотеками (для примеров).

Обзорная документация

Классы:

  • Bot — бот и сетевая работа с ним;
  • Server — сервер, за которым закрепляются боты;
  • Hooks — события (хуки) для перехвата системных сообщений, обработки сетевых процессов;
  • Player — поведение и внешний вид бота как игрового персонажа;
  • Message — обработка сообщений информационных и игрового чата;
  • Utils — различного рода инструменты ("утилиты").

Структуры:

  • Packet — сетевой пакет;
  • Buff — баффы и дебаффы;
  • Item — предметы.

Перечисления:

  • ClientVersion — ;
  • ConnectionState — ;
    • `` — ,
    • `` — ,
    • `` — ,
    • `` — ,
    • `` — ,
  • Control — ;
  • Pulley — ;
  • Miscs — ;
  • Difficulty — ;
  • Sleeping — ;
  • HideVisuals — ;
  • HideMisc — ;
  • Team — ;
  • TorchFlag — ;
  • ReadItemOrder — .

Класс сервера

Конструктор для создания объекта класса Server (сервера) содержит три необязательных аргумента:

  • ip — айпи-адрес сервера (по дефолту "127.0.0.1");
  • port — порт сервера (по дефолту 7777);
  • version — версия террарии (по дефолту ClientVersion.Version1447).

Поля, которые могут быть изменены:

  • Password — пароль сервера;
  • Area — прямоугольник, определяющий размеры мира;
  • Spawn — точка мирового спавна;
  • Name — название мира/сервера.

Замечания:

  • Пароль, если требуется, задавать до подключения ботов к серверу;
  • Поля Area, Spawn и Name определяются в процессе подключения ботов к серверу — дальше могут быть изменены как вами, так и сервером;
  • Каждый новый объект класса Server определяет свой поток (Thread) для обработки сетевых пакетов — привязка ботов к тому или иному объекту класса Server определяет, какой поток они используют для обработки пакетов (многопоточность).

Пример:

var server = new Server("terraria.tk");
server.Password = "12345";

Console.WriteLine(server.ToString()); //--> terraria.tk:7777

Класс бота

Конструктор для создания объекта класса Bot (бота) содержит два аргумента:

  • server — сервер, к которому бот привязывается;
  • name — ник бота, который рандомизируется, если не указывается.

Поля:

  • UUID — идентификатор для авторизации;
  • ID — номер сетевой ячейки, занимаемой ботом в процессе подключения;
  • Server — закрепленный сервер;
  • Player — игровой персонаж;
  • State — сетевое состояние;
  • Version — версия террарии (определяется сервером);
  • Name — ник (определяется персонажем);
  • Zones — данные для 36 пакета (опционально);

About

Моя библиотека для удобной разработки ботов в Terraria.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages