The bottom line: The new phantom system temporarily works only for peaceful zones and duplicates the actions of the players, thereby better emulating online.
Config: gameserver\config\altrecbots.properties
Content:
Admin Commands:
//delete_bot_record -- Usage: admin_delete_bot_record <botId> | or just shift click on him
//kick_bot -- kick bot from game | or just shift click on him
//bots_strategy -- change strategy of spawn //bots_strategy OnlinePercent 10 | //bots_strategy Constant 50
//bots_disable -- turn off bots
SQL tables:
altrec_actions.sql - bot action list (move/skill/etc)
altrec_bots.sql - bot id, bot classes, bot status line noble
altrec_items.sql - items of bots
altrec_names.sql - bots names
altrec_phrases.sql - bot phrases
altrec_skills.sql - bots skills
altrec_subclasses.sql - bots subclasses list
altrec_title.sql - bot title
Config: gameserver\config\altrecbots.properties
Content:
# Is altrecbots extension enabled.
BotsEnabled = False
# Use dedicated executor. Otherwise gamed's internal will be used.
UseDedicatedExecutor = True
DedicatedExecutorThreads = 1
DedicatedScheduledThreads = 2
# Player action recording properties.
# Player actions sequence are the source of the actions bot will animate.
# Auto recording begins with the player appearing in a peace zone in a normal state
# and finishes with player ether leaving the zone or enters unanimatable state (e.g. private store).
# Only the dummiest actions are recorded: basic movement, item equip/unequip, skill use, class change, etc.
# Enable auto recording.
AutoRecordPlayerActions = True
# Min/Max players level for auto recording.
AutoRecordMinLvl = 10
AutoRecordMaxLvl = 78
# Ignore noble/hero/GM players for action recoding
AutoRecordIgnoreNoble = False
AutoRecordIgnoreHero = True
AutoRecordIgnoreGM = False
# Ignore player in those zones
AutoRecordIgnoreZones = [gludin_port1];[glludin_port2];[giran_port1];[giran_port2]
# Ignore teleporting if player teleport from one peace zone into another.
# Otherwise instantiate a new action sequence.
AutoRecordIgnorePeaceTeleport = True
# Minimum number of actions to be recorded
PlayerRecordMinSequenceLength = 10
# Maximum number of actions to be recorded
PlayerRecordMaxSequenceLength = 500
# Minimum recording time of actions (milliseconds)
PlayerRecordMinSequenceDuration = 10000
# Maximum recording time of actions (milliseconds)
PlayerRecordMaxSequenceDuration = 600000
# Instantiate a new action sequence recording again
AutoRecordNewSequence = True
# Action sequence playback properties
# Loops actions playback. Teleports back to the start location and repeat.
LoopPlayback = False
# Bot time to live
PlaybackBotTTL = 600000
# Wait interval before unspawn
BotsUnspawnIntervalMin = 5000
BotsUnspawnIntervalMax = 15000
# Wait interval after spawn
BotsFirstActionMin = 5000
BotsFirstActionMax = 15000
# Reaction to an offer to a bot to join a clan or party or trade
BotAcceptRequestChances = PARTY:10;CLAN:15;TRADE:40
BotDenyRequestChances = PARTY:10;CLAN:15;TRADE:40
# Start bot title
InitialBotsTitle =
# The chance of a title from a bot from the loaded list (nobles only)
IndividualBotTitleChance = 30
# Item enchant will be limited by this config
BotItemEnchantAnimateLimit = 10
# Bot spawn position randomization radius
PlaybackSpawnPosRandomRadius = 128
# Do not animate actions involving items with those ids
PlaybackIgnoredItemIds =
# Starting items for bots
# By default add 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
# Spawn of the bot with a certain class id probability modifier
# <classId1>:<mod1>;<classId2>:<mod2>...
# where <classIdN> - base class id
# <mod1> - 0 - will not be spawned, 0.5 - half, 1 normal, 2 - x2, ...
# Default: empty - equal probability for all.
PlaybackClassIdProbabilityMod =
# Chance in percent of a bot saying something.
BotTalkChance = 0
BotTalkChanceShout = 0
# Phrase reuse time.
PhraseReuseTime = 1000
# All bots account name
BotAccountName = bot_account
# Spawn strategy
# Constant - static spawn count
# OnlinePercent - percentage of online
BotSpawnStrategy = Constant(50)
BotsEnabled = False
# Use dedicated executor. Otherwise gamed's internal will be used.
UseDedicatedExecutor = True
DedicatedExecutorThreads = 1
DedicatedScheduledThreads = 2
# Player action recording properties.
# Player actions sequence are the source of the actions bot will animate.
# Auto recording begins with the player appearing in a peace zone in a normal state
# and finishes with player ether leaving the zone or enters unanimatable state (e.g. private store).
# Only the dummiest actions are recorded: basic movement, item equip/unequip, skill use, class change, etc.
# Enable auto recording.
AutoRecordPlayerActions = True
# Min/Max players level for auto recording.
AutoRecordMinLvl = 10
AutoRecordMaxLvl = 78
# Ignore noble/hero/GM players for action recoding
AutoRecordIgnoreNoble = False
AutoRecordIgnoreHero = True
AutoRecordIgnoreGM = False
# Ignore player in those zones
AutoRecordIgnoreZones = [gludin_port1];[glludin_port2];[giran_port1];[giran_port2]
# Ignore teleporting if player teleport from one peace zone into another.
# Otherwise instantiate a new action sequence.
AutoRecordIgnorePeaceTeleport = True
# Minimum number of actions to be recorded
PlayerRecordMinSequenceLength = 10
# Maximum number of actions to be recorded
PlayerRecordMaxSequenceLength = 500
# Minimum recording time of actions (milliseconds)
PlayerRecordMinSequenceDuration = 10000
# Maximum recording time of actions (milliseconds)
PlayerRecordMaxSequenceDuration = 600000
# Instantiate a new action sequence recording again
AutoRecordNewSequence = True
# Action sequence playback properties
# Loops actions playback. Teleports back to the start location and repeat.
LoopPlayback = False
# Bot time to live
PlaybackBotTTL = 600000
# Wait interval before unspawn
BotsUnspawnIntervalMin = 5000
BotsUnspawnIntervalMax = 15000
# Wait interval after spawn
BotsFirstActionMin = 5000
BotsFirstActionMax = 15000
# Reaction to an offer to a bot to join a clan or party or trade
BotAcceptRequestChances = PARTY:10;CLAN:15;TRADE:40
BotDenyRequestChances = PARTY:10;CLAN:15;TRADE:40
# Start bot title
InitialBotsTitle =
# The chance of a title from a bot from the loaded list (nobles only)
IndividualBotTitleChance = 30
# Item enchant will be limited by this config
BotItemEnchantAnimateLimit = 10
# Bot spawn position randomization radius
PlaybackSpawnPosRandomRadius = 128
# Do not animate actions involving items with those ids
PlaybackIgnoredItemIds =
# Starting items for bots
# By default add 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
# Spawn of the bot with a certain class id probability modifier
# <classId1>:<mod1>;<classId2>:<mod2>...
# where <classIdN> - base class id
# <mod1> - 0 - will not be spawned, 0.5 - half, 1 normal, 2 - x2, ...
# Default: empty - equal probability for all.
PlaybackClassIdProbabilityMod =
# Chance in percent of a bot saying something.
BotTalkChance = 0
BotTalkChanceShout = 0
# Phrase reuse time.
PhraseReuseTime = 1000
# All bots account name
BotAccountName = bot_account
# Spawn strategy
# Constant - static spawn count
# OnlinePercent - percentage of online
BotSpawnStrategy = Constant(50)
//delete_bot_record -- Usage: admin_delete_bot_record <botId> | or just shift click on him
//kick_bot -- kick bot from game | or just shift click on him
//bots_strategy -- change strategy of spawn //bots_strategy OnlinePercent 10 | //bots_strategy Constant 50
//bots_disable -- turn off bots
SQL tables:
altrec_actions.sql - bot action list (move/skill/etc)
altrec_bots.sql - bot id, bot classes, bot status line noble
altrec_items.sql - items of bots
altrec_names.sql - bots names
altrec_phrases.sql - bot phrases
altrec_skills.sql - bots skills
altrec_subclasses.sql - bots subclasses list
altrec_title.sql - bot title
Last edited: