Суть: Новая система фантомов временно работает только для мирных зон и дублирует действия игроков, тем самым более качественно эмулирует онлайн.
Конфиг: gameserver\config\altrecbots.properties
Содержание:
Админ команды:
//delete_bot_record -- Использовать: //delete_bot_record <botId> | or just shift click on him
//kick_bot -- кикнуть из игры | или по шифт клику по нему можно
//bots_strategy -- изменить стратегию спауна ботов. Первая процент от онлайна, второй это константа //bots_strategy OnlinePercent 10 | //bots_strategy Constant 50
//bots_disable -- выключить ботов
SQL таблицы:
altrec_actions.sql - записи действий игрока для ботов
altrec_bots.sql - бот id. его класс, нобл или нет
altrec_items.sql - предметы которыми владеет бот
altrec_names.sql - имена ботов
altrec_phrases.sql - фразы ботов
altrec_skills.sql - скилы ботов
altrec_subclasses.sql - сабклассы ботов
altrec_title.sql - титулы
Конфиг: gameserver\config\altrecbots.properties
Содержание:
# Включить ли систему ботов повторяющиеся действия игроков
BotsEnabled = False
# Использование выделенного экзекютера. В противном случае будет использоваться внутренний игрового сервреа.
UseDedicatedExecutor = True
DedicatedExecutorThreads = 1
DedicatedScheduledThreads = 2
# Свойства записи действий игрока.
# Последовательность действий игрока является источником действий, которые будет анимировать бот.
# Автоматическая запись начинается с того, что игрок появляется в мирной зоне в нормальном состоянии
# и заканчивается тем, что игрок покидает зону или переходит в неживое состояние (например, частный магазин).
# Записываются только самые эффективные действия: базовое движение, экипировка/снятие предметов, использование навыков, смена класса и т.д.
# Включить автоматическую запись.
AutoRecordPlayerActions = True
# Минимальный/максимальный уровень игроков для автоматической записи.
AutoRecordMinLvl = 10
AutoRecordMaxLvl = 78
# Игнорировать благородных/героев/GM игроков для записи действий
AutoRecordIgnoreNoble = False
AutoRecordIgnoreHero = True
AutoRecordIgnoreGM = False
# Игнорировать игрока в этих зонах
AutoRecordIgnoreZones = [gludin_port1];[glludin_port2];[giran_port1];[giran_port2]
# Игнорировать телепортацию, если игрок телепортируется из одной мирной зоны в другую.
# В противном случае создайте новую последовательность действий.
AutoRecordIgnorePeaceTeleport = True
# Минимальное количество действий для записи
PlayerRecordMinSequenceLength = 10
# Максимальное количество записываемых действий
PlayerRecordMaxSequenceLength = 500
# Минимальное время для записи действий (milliseconds)
PlayerRecordMinSequenceDuration = 10000
# Максимальное время для записи действий (milliseconds)
PlayerRecordMaxSequenceDuration = 600000
# Создайте новую запись последовательности действий снова.
# Один игрок может пораждать множество записей, в противном случаи - только одну.
AutoRecordNewSequence = True
# Воспроизведения последовательности действий
# Циклическое воспроизведение действий. Телепортирует обратно в исходное место и повторяет.
LoopPlayback = False
# Максимальное время жизни бота
PlaybackBotTTL = 600000
# Интервал ожидания перед деспауном
BotsUnspawnIntervalMin = 5000
BotsUnspawnIntervalMax = 15000
# Интервал ожидания после появления в мире
BotsFirstActionMin = 5000
BotsFirstActionMax = 15000
# Реакция на предложение боту вступить в клан, пати или обмен
BotAcceptRequestChances = PARTY:10;CLAN:15;TRADE:40
BotDenyRequestChances = PARTY:10;CLAN:15;TRADE:40
# Стартовый титул бота
InitialBotsTitle =
# Шанс того что бот выставит себе другой титул (делает только нобл бот)
IndividualBotTitleChance = 30
# Визуальное ограничение заточки предметов
BotItemEnchantAnimateLimit = 10
# Радиус рандомизации позиции появления бота
PlaybackSpawnPosRandomRadius = 128
# Не воспроизводит действия игроков с этими id предметорв (разделитель ,)
PlaybackIgnoredItemIds =
# Стартовые предметы ботов
# По умолчанию: SS/BSS
BotAdditionalInventoryItems = 5789:100,1835:100,1463:100,1464:100,1465:100, 1466:100, 1467:100, 5790:100, 2509:100, 2510:100, 2511:100, 2512:100, 2513:100, 2514:100
# Появление бота с определенным модификатором вероятности идентификатора класса
# <classId1>:<mod1>;<classId2>:<mod2>...
# где <classIdN> - базовый класс id
# <mod1> - 0 - не будет заспаунен вообще, 0.5 - половина, 1 стандартное, 2 - x2, ...
# Default: пустой - равная вероятность для всех.
PlaybackClassIdProbabilityMod =
# Вероятность в процентах того, что бот что-то скажет.
BotTalkChance = 0
BotTalkChanceShout = 0
# Время повторного использования фразы.
PhraseReuseTime = 1000
# Имя учетной записи всех ботов (аккаунт)
BotAccountName = bot_account
# Стратегия спауна ботов
# Constant - статический спауне к примеру 50 ботов: BotSpawnStrategy = Constant(50)
# OnlinePercent - процент от онлайна к примеру 20%: BotSpawnStrategy = OnlinePercent(20)
BotSpawnStrategy = Constant(50)
BotsEnabled = False
# Использование выделенного экзекютера. В противном случае будет использоваться внутренний игрового сервреа.
UseDedicatedExecutor = True
DedicatedExecutorThreads = 1
DedicatedScheduledThreads = 2
# Свойства записи действий игрока.
# Последовательность действий игрока является источником действий, которые будет анимировать бот.
# Автоматическая запись начинается с того, что игрок появляется в мирной зоне в нормальном состоянии
# и заканчивается тем, что игрок покидает зону или переходит в неживое состояние (например, частный магазин).
# Записываются только самые эффективные действия: базовое движение, экипировка/снятие предметов, использование навыков, смена класса и т.д.
# Включить автоматическую запись.
AutoRecordPlayerActions = True
# Минимальный/максимальный уровень игроков для автоматической записи.
AutoRecordMinLvl = 10
AutoRecordMaxLvl = 78
# Игнорировать благородных/героев/GM игроков для записи действий
AutoRecordIgnoreNoble = False
AutoRecordIgnoreHero = True
AutoRecordIgnoreGM = False
# Игнорировать игрока в этих зонах
AutoRecordIgnoreZones = [gludin_port1];[glludin_port2];[giran_port1];[giran_port2]
# Игнорировать телепортацию, если игрок телепортируется из одной мирной зоны в другую.
# В противном случае создайте новую последовательность действий.
AutoRecordIgnorePeaceTeleport = True
# Минимальное количество действий для записи
PlayerRecordMinSequenceLength = 10
# Максимальное количество записываемых действий
PlayerRecordMaxSequenceLength = 500
# Минимальное время для записи действий (milliseconds)
PlayerRecordMinSequenceDuration = 10000
# Максимальное время для записи действий (milliseconds)
PlayerRecordMaxSequenceDuration = 600000
# Создайте новую запись последовательности действий снова.
# Один игрок может пораждать множество записей, в противном случаи - только одну.
AutoRecordNewSequence = True
# Воспроизведения последовательности действий
# Циклическое воспроизведение действий. Телепортирует обратно в исходное место и повторяет.
LoopPlayback = False
# Максимальное время жизни бота
PlaybackBotTTL = 600000
# Интервал ожидания перед деспауном
BotsUnspawnIntervalMin = 5000
BotsUnspawnIntervalMax = 15000
# Интервал ожидания после появления в мире
BotsFirstActionMin = 5000
BotsFirstActionMax = 15000
# Реакция на предложение боту вступить в клан, пати или обмен
BotAcceptRequestChances = PARTY:10;CLAN:15;TRADE:40
BotDenyRequestChances = PARTY:10;CLAN:15;TRADE:40
# Стартовый титул бота
InitialBotsTitle =
# Шанс того что бот выставит себе другой титул (делает только нобл бот)
IndividualBotTitleChance = 30
# Визуальное ограничение заточки предметов
BotItemEnchantAnimateLimit = 10
# Радиус рандомизации позиции появления бота
PlaybackSpawnPosRandomRadius = 128
# Не воспроизводит действия игроков с этими id предметорв (разделитель ,)
PlaybackIgnoredItemIds =
# Стартовые предметы ботов
# По умолчанию: SS/BSS
BotAdditionalInventoryItems = 5789:100,1835:100,1463:100,1464:100,1465:100, 1466:100, 1467:100, 5790:100, 2509:100, 2510:100, 2511:100, 2512:100, 2513:100, 2514:100
# Появление бота с определенным модификатором вероятности идентификатора класса
# <classId1>:<mod1>;<classId2>:<mod2>...
# где <classIdN> - базовый класс id
# <mod1> - 0 - не будет заспаунен вообще, 0.5 - половина, 1 стандартное, 2 - x2, ...
# Default: пустой - равная вероятность для всех.
PlaybackClassIdProbabilityMod =
# Вероятность в процентах того, что бот что-то скажет.
BotTalkChance = 0
BotTalkChanceShout = 0
# Время повторного использования фразы.
PhraseReuseTime = 1000
# Имя учетной записи всех ботов (аккаунт)
BotAccountName = bot_account
# Стратегия спауна ботов
# Constant - статический спауне к примеру 50 ботов: BotSpawnStrategy = Constant(50)
# OnlinePercent - процент от онлайна к примеру 20%: BotSpawnStrategy = OnlinePercent(20)
BotSpawnStrategy = Constant(50)
Админ команды:
//delete_bot_record -- Использовать: //delete_bot_record <botId> | or just shift click on him
//kick_bot -- кикнуть из игры | или по шифт клику по нему можно
//bots_strategy -- изменить стратегию спауна ботов. Первая процент от онлайна, второй это константа //bots_strategy OnlinePercent 10 | //bots_strategy Constant 50
//bots_disable -- выключить ботов
SQL таблицы:
altrec_actions.sql - записи действий игрока для ботов
altrec_bots.sql - бот id. его класс, нобл или нет
altrec_items.sql - предметы которыми владеет бот
altrec_names.sql - имена ботов
altrec_phrases.sql - фразы ботов
altrec_skills.sql - скилы ботов
altrec_subclasses.sql - сабклассы ботов
altrec_title.sql - титулы
Last edited: