timeouts.txt: Difference between revisions

From OpenKore Wiki
Jump to navigation Jump to search
No edit summary
Line 289: Line 289:




;ai_attack_route_adjust(<seconds>)
;ai_attack_route_adjust (<seconds>)
:When trying to attack a monster, after the specified number of seconds Kore will check if target moved and will try to adjust the route.
:When trying to attack a monster, after the specified number of seconds Kore will check if target moved and will try to adjust the route.



Revision as of 17:25, 26 April 2021

Kore uses timeouts to keep AI routines synchronized or allow some AI functions to be executed within certain times. Delays are also used to keep the bot in sync with the server and to prevent Kore from spamming the server with unnecessary packets which would usually cause a disconnection. The file timeouts.txt allows you to modify some of the timeouts Kore uses.

Don't mistake this to a speed hack. Although configuring this file properly will make your bot think and execute functions more efficiently, it will not make your character move any faster than it can normally move.


Syntax

The format of this file is simply a set of lines that observes the following syntax:

<timeout key> <seconds>


Details

<timeout key>
This is one of the timeout variable names used by Kore. See the timeout list below for a list of available timeout keys.
<seconds>
This is the time in seconds (any positive number). This could be a fractional value.


You shouldn't need to modify most of the timeouts. The default timeouts are already fine. But if you want to custom up the bot, go ahead.


Note. Lines that begin with the pound sign (#) are comment lines. They are ignored by Openkore.

Console command timeout <timeout key> can be used to display the current value, and timeout <timeout key> <seconds> to set a new value.

Timeout List

AI

ai (<seconds>)
Activate AI only when the specified number of seconds elapsed after the map is loaded.




AI_Attack

ai_attack (<seconds>)
When attacking a target with a weapon, send the 'attack' packet every specified number of seconds.


ai_homunculus_attack (<seconds>)
When your homunculus is attacking a target, send the 'attack' packet every specified number of seconds.


ai_mercenary_attack (<seconds>)
When your mercenary is attacking a target, send the 'attack' packet every specified number of seconds.


ai_attack_auto (<seconds>)
If auto-attack is enabled (see attackAuto in config.txt), check for monsters to attack every specified number of seconds.


ai_homunculus_attack_auto (<seconds>)
If homunculus auto-attack is enabled (see attackAuto in config.txt), check for monsters for him to attack every specified number of seconds.


ai_mercenary_attack_auto (<seconds>)
If mercenary auto-attack is enabled (see attackAuto in config.txt), check for monsters for him to attack every specified number of seconds.


ai_attack_giveup (<seconds>)
When trying to attack a monster, give up and drop the target if you can't reach or damage the monster within the specified number of seconds.


ai_check_monster_auto(<seconds>)
See PR#3145


ai_attack_unfail (<seconds>)
When Kore dropped an attack target because you can't reach or damage it, Kore will not try to attack it again until the specified number of seconds elapsed.


ai_attack_unstuck (<seconds>)
When attacking a monster and you haven't dealed any damage to the monster within the specified number of seconds even if you are close enough to the target, the recorded character position might be out of sync so try to unstuck by moving again to the current position.



AI_Avoid

ai_avoidcheck (<seconds>)
If Kore is set to avoid players (see avoidGM_near and AvoidList in config.txt), check for players to avoid every specified number of seconds.



AI_buyAuto

ai_buyAuto (<seconds>)
If Kore is set to automatically buy items from a buy/sell NPC (see BuyAuto in config.txt), check for items you need to buy every specified number of seconds.


ai_buyAuto_giveup (<seconds>)
When trying to buy an item from a buy/sell NPC, give up if you weren't able to buy the item within the specified number of seconds.


ai_buyAuto_wait (<seconds>)
After talking to the buy/sell NPC during auto-buy, wait for the specified number of seconds before buying items.


ai_buyAuto_wait_buy (<seconds>)
During auto-buy, buy items from the same buy/sell NPC every specified number of seconds.



AI_cartAuto

ai_cartAuto (<seconds>)
If Kore is set to automatically add/get items to/from cart (see items_control.txt), transfer an item to/from cart every specified number of seconds.


ai_cartAutoCheck (<seconds>)
If Kore is set to automatically add/get items to/from cart (see items_control.txt), check for items to add/get to/from cart every specified number of seconds. [<<]




Connection

charlogin (<seconds>)
Server connection timeout when Kore logs in to the character server.


master (<seconds>)
Server connection timeout when Kore logs in to the master server.


gamelogin (<seconds>)
Server connection timeout when Kore logs in to the game server.


maplogin (<seconds>)
Server connection timeout when Kore logs in to the map server.


play (<seconds>)
If you are already in the game but Kore does not receive sync within the specified number of seconds, it will try to reconnect again.


reconnect (<seconds>)
When disconnected, wait for the specified number of seconds before reconnecting again.




AI_Dead

ai_dead_respawn (<seconds>)
If you died and Kore is set to respawn to the save point on death (see DcOnDeath in config.txt), wait for the specified number of seconds before respawning.



AI_Deal

ai_dealAuto (<seconds>)
If Kore is set to automatically accept deals (see DealAuto in config.txt), wait for the specified number of seconds before you :
  1. accept an incoming deal
  2. finalize your part of the deal
  3. accept the finalized deal and trade.
ai_dealAutoCancel (<seconds>)
If Kore is set to automatically refuse deals (see DealAuto in config.txt), wait for the specified number of seconds before you cancel the deal request.



AI_equip

ai_equip_giveup (<seconds>)
When trying to equip an item, give up if you can't equip the item within the specified number of seconds.




AI_Follow

ai_follow_lost_end (<seconds>)
If you are in "follow" mode and you lost your master, give up trying to find the master after the specified number of seconds.


ai_homunculus_standby (<seconds>)
If homunculus gets too far from master try to teleport to it every specified number of seconds.


ai_mercenary_standby (<seconds>)
If mercenary gets too far from master try to teleport to it every specified number of seconds.




AI_GetInfo

ai_getInfo (<seconds>)
If there are unknown players, NPCs, monsters and pets around, update by requesting information from the server every specified number of seconds.




AI_Guild

ai_guildAutoDeny (<seconds>)
If Kore is set to deny incoming guild join requests (see GuildAutoDeny in config.txt), wait for the specified number of seconds before you cancel a guild join request.



AI_Items

ai_items_gather_giveup (<seconds>)
When trying to gather an item, give up if you weren't able to take it within the specified number of seconds.


ai_items_gather_start (<seconds>)
When checking for items to gather, only take an item if the specified number of seconds has elapsed since the item appeared on screen.


ai_items_take_end (<seconds>)
When your monster died and there are no more monster loots to take, stop checking for loots after the specified number of seconds.


ai_items_take_start (<seconds>)
When your monster died and Kore is set to take items dropped by monsters you killed (see ItemsTakeAuto in config.txt), start checking for monster loots after the specified number of seconds.



AI_Look

ai_look (<seconds>)
When trying to look to a certain direction, send the 'look' packet every specified number of seconds.




AI_Move

ai_move_giveup (<seconds>)
When trying to move, give up if you weren't able to change your location within the specified number of seconds.




AI_Npc

ai_npcTalk (<seconds>)
When talking to an NPC, wait at most the specified number of seconds for the NPC to respond; give up talking to the NPC if the NPC didn't respond within the specified number of seconds.




AI_Portal

ai_portal_wait (<seconds>)
When moving to a map and the next portal is near, send the 'move' packet every specified number of seconds. Default is 0.5.


ai_portal_give_up (<seconds>)
How long we should wait before assuming a portal does not exist or doesn't work and remove it from portals


ai_portal_re_add_missed (<seconds>)
How long to wait before re-adding a portal that was removed during route




AI_Route

ai_route_calcRoute (<seconds>)
When trying to move to another map, Kore will not spend more than the specified number of seconds to calculate the best route.


ai_route_npcTalk (<seconds>)
If talking to a Warp NPC is part of the map solution to reach your destination, and the conversation takes longer than the specified number of seconds, Kore will assume failure and try to restart the conversation or find an alternate route.

Note. If this option is not set, Kore will use a default value of 10.


ai_attack_route_adjust (<seconds>)
When trying to attack a monster, after the specified number of seconds Kore will check if target moved and will try to adjust the route.


ai_attack_failedLOS (<seconds>)
Ignore monster for the specified number of seconds seconds if there is no route to it.



AI_SellAuto

ai_sellAuto (<seconds>)
During auto-sell, wait for the specified number of seconds before selling again.


ai_sellAuto_giveup (<seconds>)
When trying to sell an item to a buy/sell NPC, give up if you can't sell the item after the specified number of seconds.




AI_Shop

ai_shop (<seconds>)
If Kore is set to automatically open a vending shop (see ShopAuto_open in config.txt), open the shop after being idle for the specified number of seconds.
ai_shop_useskill_delay (<seconds>)
If Kore is set to set to open a shop using the skill Vending (see Shop_useSkill in config.txt), will be opened after the specified delay.




AI_Buyer_Shop

ai_buyer_shopCheck (<seconds>)
If Kore is set to automatically open a buyer shop (see BuyerShopAuto_open in config.txt), open the shop after being idle for the specified number of seconds.




AI_Sit/AI_Stand

ai_sit (<seconds>)
When trying to sit/stand, send the 'sit'/'stand' packet every specified number of seconds until you are already sitting/standing.


ai_sit_idle (<seconds>)
If Kore is set to automatically sit when idle (see sitAuto_idle in config.txt), sit after being idle for the specified number of seconds.


ai_sit_wait (<seconds>)
When trying to sit, wait for the specified number of seconds delay before actually sending the 'sit' packet.


ai_stand_wait (<seconds>)
When trying to stand, wait for the specified number of seconds delay before actually sending the 'stand' packet.



AI_Skill

ai_skill_use_giveup (<seconds>)
When trying to use a skill, give up if you can't to use the skill within the specified number of seconds.




AI_StorageAuto

ai_storageAuto (<seconds>)
During auto-storage, store/get an item from/to storage every specified number of seconds.


ai_storageAuto_giveup (<seconds>)
When storing an item to the storage, give up putting the item to storage if the item is still not transfered within the specified number of seconds.




AI_Sync

ai_sync (<seconds>)
Send the ping packet every specified number of seconds.

Note. You would rather have to leave it at 12 (default value).




AI_Take

ai_take (<seconds>)
When picking up items, send the 'take' packet every specified number of seconds until the item has been taken.


ai_take_giveup (<seconds>)
When trying to pick up an item, give up if you weren't able to take the item after the specified number of seconds.




AI_Teleport

ai_teleport (<seconds>)
When using items to teleport (Fly Wing or Butterfly Wing), only use another item if the specified number of seconds has elapsed since the last teleport item was used.

This timeout is also used when Kore is set to respawn to savepoint when it is not on one of the allowed maps (see allowedMaps and allowedMaps_reaction in config.txt), only try to respawn if the specified number of seconds has elapsed since you last tried to respawn.


ai_teleport_away (<seconds>)
If Kore is set to teleport when a certain monster is seen (see mon_control.txt), only try to teleport away if the specified number of seconds has elapsed since you last teleported to avoid a monster.


ai_teleport_delay (<seconds>)
If this option is set, when attempting to use the Teleport skill, Kore will wait for the specified number of seconds for the skill to be successfuly cast before actually teleporting. This makes Kore look less bot-like.

Note. This is ignored on emergency teleport (e.g. teleportAuto_deadly).


ai_teleport_hp (<seconds>)
If Kore is set to teleport due to insufficient HP/SP or too many aggressives (see teleportAuto_hp, teleportAuto_sp, teleportAuto_minAggressives, and teleportAuto_minAggressivesInLock in config.txt), only try to teleport away if the specified number of seconds has elapsed since you last teleported.


ai_teleport_idle (<seconds>)
If Kore is set to teleport when idle (see teleportAuto_idle in config.txt), teleport after being idle for the specified number of seconds.


ai_teleport_portal (<seconds>)
If Kore is set to teleport to avoid portals (see teleportAuto_portal in config.txt), only try to teleport away if the specified number of seconds has elapsed since you last teleported to avoid a portal.


ai_teleport_retry (<seconds>)
When trying to use the Teleport skill, Kore will wait for the specified number of seconds before retrying to cast the skill again if it has not been successfully casted.

Note. This is ignored on emergency teleport (e.g. teleportAuto_deadly).


ai_teleport_safe_force (<seconds>)
If Kore is set to teleport only if there are players around (see teleportAuto_onlyWhenSafe in config.txt), Kore will only consider it safe to teleport (even when there are players around to see) if the specified number of seconds has elapsed since your last map change or since you last teleported.



AI_Thanks

ai_thanks_set (<seconds>)
When a player sent Kore the chat command thanks, Kore will only reply if the previous chat command that succeeded was issued within the specified number of seconds.




WelcomeText

welcomeText (<seconds>)
When using XKore mode and the welcome message is not yet shown, display the welcome text if the specified number of seconds has elapsed after the map is loaded.



AI_Wipe

ai_wipe_check (<seconds>)
Internally, Kore saves in a cache the information about players, NPCs, monsters, items and portals that disappeared. Kore will try to check if it needs to clean up this cache every specified number of seconds.
ai_wipe_old (<seconds>)
When Kore checks for its cache of disappeared players, NPCs, monsters, items and portals (see ai_wipe_check), units that have been gone for the specified number of seconds will be permanently removed.

AI_Pet

ai_petFeed (<seconds>)
Every x seconds, check pet hungry for feeding.

AI_party

ai_partyShareCheck (<seconds>)
check party settings every x seconds

AI_IGNORE

ai_ignoreAll (<seconds>)
Delay in x seconds between map_loaded and send ignoreAll command

AI_CLIENTSUSPEND

ai_clientSuspend (<seconds>)
Time to wait before load map in xKore mode. See #3041. Using xKore 1 or 3 and depending on the type of device the OpenKore is running on, map load may take longer or less time.


TODO

  • Timeout ranges for timeouts randomization.