========= ### 1.9.2 ========= *** INCOMPATIBLE CHANGES ***: - You need to download the latest responses.txt (in the config pack) to use the new 'exp' and 'version' chat commands. Credits: - Molag: Ayothaya portals contributions. - DarkShado: XileRO server information updates. - johnny: Homunculus skills. - piroJOKE: field file contributions. - cloud2squall: server information contributions. - n0rd: support for compressed field files. Bug fixes: - Fixed a crash when unequipping items (bug #16) - Fixed an auto-completion crash bug (bug #24) - Fixed the "Can't store CODE items" bug (bug #37) New features: - Added AI::Homunculus module for homunculus AI support with automated homunculus feeding, following, and attacking (see new config options and commands). - Support for homunculus skills in skills.txt (use normal skill blocks to use them). - Add support for new vRO. Use serverType 10. - Added teleportAuto_lostTarget, teleport when target is lost. - Added a mob-training control. Use attack flag 3 in mon_control.txt to activate this. More details are available at: http://forums.openkore.com/viewtopic.php?p=134002 - Added command chaining, preform multiple commands in 1 line. the " ; " character is used to delimit the command.s Example: c watch out im using an item now;is 0;c see, i used it! - Added Aegis 10.4 new classes support. - Added Taekwon mission support. - Added manualAI Where autoskills could be executed in ai manual mode. for more information : http://forums.openkore.com/viewtopic.php?t=24513 New config options: - attackChangeTarget automatically change target to an aggressive monster if the target monster is not yet reached or damaged. This prevents you from continuously routing to your target while dragging a mob of aggressive monsters behind you. - homunculus_followDistanceMax - homunculus_followDistanceMin Kore and the homunculus will always try to keep within these distances from each other. - homunculus_attackAuto - homunculus_attackAuto_party - homunculus_attackAuto_notInTown - homunculus_attackAuto_onlyWhenSafe - homunculus_attackDistance - homunculus_attackMaxDistance - homunculus_attackMaxRouteTime - homunculus_attackMinPlayerDistance - homunculus_attackMinPortalDistance - homunculus_attackCanSnipe - homunculus_attackCheckLOS - homunculus_attackNoGiveup same as the attackAuto* counterparts. - homunculus_attackChangeTarget same as attackChangeTarget. - homunculus_route_step this option is required or your homunculus will not be able to move. - homunculus_runFromTarget - homunculus_runFromTarget_dist these will mostly be not needed but they are still included for posterity. - homunculus_tankMode - homunculus_tankModeTarget same as the tankMode* counterparts. You can use this so that your homunculus can tank you. Set homunculus_tankModeTarget to your character name. - homunculus_teleportAuto_deadly - homunculus_teleportAuto_dropTarget - homunculus_teleportAuto_dropTargetKS - homunculus_teleportAuto_hp - homunculus_teleportAuto_maxDmg - homunculus_teleportAuto_maxDmgInLock - homunculus_teleportAuto_totalDmg - homunculus_teleportAuto_totalDmgInLock - homunculus_teleportAuto_unstuck same as the teleportAuto* counterparts. - Shared Block Attributes: homunculus_hp [%] and homunculus_sp [%] same as the hp/sp block attributes. These are useful for using homunculus skills on your skill blocks. - teleportAuto_lostHomunculus instead of routing back to your lost homunculus (default), Kore will teleport to get the homunculus back. - Shared Block Attribute: homunculus_dead triggers the config block only if your homunculus died. - teleportAuto_lostTarget Makes the bot (attempt to) teleport after it lost its target, this to prevent it from locking onto the same target over and over in some cases. - ignoreServerShutdown Ignores the "server shutting down" error wich some servers tend to send (iRO for example). Don't use this unless you're 100% sure the errors are "fake". - Shared Block Attribute: manualAI flag 0 auto only flag 1 manual only flag 2 auto or manual New sys.txt options: - sendAnonymousStatisticReport tells whether OpenKore will report an anonymous usage report. Note that none of your sensitive information will be sent. More info is available at: http://www.openkore.com/statistics.php New commands: - homun homun s : displays homunculus status. homun feed : manually feeds homunculus. homun move : basic homunculus move command (similar to 'move' command). homun standby : basic homunculus standby command. homun ai : homunculus AI management (similar to 'ai' command). homun aiv : displays homunculus AI sequences. homun skills : homunculus skills management (similar to 'skills' command). New chat commands: - exp [item|monster] behaves like the 'exp' console command, but it is used as a chat command. exp : shows exp gain. exp item : shows items gain. exp monster : shows killed monsters. - version shows the OpenKore version. Incompatible Changes: - ; command separator replaced with ;;, so you can now use semicolons in chat (as long as they're not two in a row). Internal: - Updated $config{gameGuard} '2' behavior to adapt to bRO server. - The Console::Other interface has been removed in favor of the Console::Unix interface. This only affects OpenKore when running on a Unix, such as Linux. - Item has been renamed to Actor::Item for consistency. - Receive.pm : monk_spirits is now known as revolving_entity - Added Bullet support - New 'disconnected' plugin hook, called when you get disconnected from the map server ================== ### 1.9.1 ================== *** INCOMPATIBLE CHANGES ***: - Config option 'exeName' renamed to 'XKore_exeName'. - Renamed skill: "A Moonlit Water Mill" - Format of skills.txt have changed. ** Major updates in this release: - Much improved server compatibility. (Note: pRO Lighthalzen is NOT supported yet!) - Support for more maps. - Support for multiple languages. OpenKore has currently been translated to: Simplified Chinese, Portuguese, Thai, Tagalog, Indonesian OpenKore will automatically detect your language by looking at what language your Windows version is. - Many bug fixes. ** Detailed list of changes: Bug fixes: - Fixed the unknown packets when switching characters on servers that requires GameGuard to login - Fixed partySkill_0 block ignoring timeouts due to the a bug in setPartySkillTimer. - Fixed 'unblessed reference' error messages when using some old plugins. - Fixed a bug in teleportAuto_allPlayers which causes the bot to do nothing after a teleport. - Fixed Tension Relax skill deactivating. Previously kore would attempt to stand up whenever the skill activates (the skill forces the character to sit down). It now queues the ai sequence "sitAuto" - as a side effect, the config option sitAuto_hp_upper needs to be set. Example: sitAuto_hp_upper 90 useSelf_skill Tension Relax { whenStatusInactive Tension Relax hp < 70% sp > 80% } - Location-based skills are now casted on a target's present location rather than their pos_to in attackSkillSlot. - Fixed multiple sitAuto sequences being queued. - Fix the Win32 GUI interface. - Fixed a bug where the weight command only allows a single digit parameter. - Fixed a bug where kore immediately stands up when the player manually uses the 'sit' command. - The 'sit' command no longer modifies any config options. - Location-based partySkills should target better now. - teleportAuto_portal will now be temporarily disabled during autoStorage, autoSell and autoBuy. - Fixed a variable clash bug in useSelf_skill (useSelf_skill_smartHeal code) which causes equip_* options not work - Kore will now try to stand first before using the Teleport skill. - Fixed a bug where Kore uses SP on teleport when switching accessory even if teleportAuto_useSkill is set to 3. - teleportAuto_dropTarget now triggers on "Unable to calculate a route to target, dropping target". - Conversation code t="" now works with quotes only to support longer strings with whitespace and other special chars. - Minor cosmetic fix in 's' command - Fixed disconnections when a guild member logs in/out - Fix guild alliances not properly cleared - Removed the guild member log in/out messages when forged items are seen. - Fixed guild kick command sending the wrong packet. - Fixed talknpc option x - Fixed "-1" flag for "all" keyword in pickupitems.txt being meaningless - Fixed avoidGM_reconnect and avoidList_reconnect not being used. - Fixed not self skill combo not executing for certain skills "un-hard code" the skill_used_no_damage combo problem refer to : http://forums.openkore.com/viewtopic.php?p=64881 - Typo'd packet name actor_died_or_disappeard renamed to actor_died_or_disappeared. - PVP damage messages are now correctly displayed. - Fix display of Clown/Gypsy class name. - Warn about broken TCP/IP stack on Windows. - Kore will now properly look at the direction of the items being picked up. - "You attack yourself" message is no longer blank. New features: - Added XKoreProxy module. Set configuration to 'XKore proxy' to work as if on XKore 1 mode, but instead of injecting DLL, proxy the client connection - dcOnDisconnect 2 will not disconnect when you run out of paid time now, because this is an intermittent error condition that happens on some buggy private servers. - Added 'manual' AI mode, so you can still use most console commands while automatic AI is off. - An empty adminPassword disables all authentication schemes to control Kore - Manual move commands (east, west, north, south, etc) now take an optional 'distance' parameter. - Response list for refining equipments now displays correct item names - shop.txt parser will complain if you try to vend more than 30,000 of an item. (Usually happens if you got price and quantity mixed up, which is bad for you since you'd be selling items way cheap.) - Support for new Episode 10.2 skills - teleportAuto_allPlayers 2 will prevent you from teleporting away from your party unless there are other non-party players around. - Map viewer: better support for water areas. - New vender_buy_fail packet (received when you fail to buy from a street vender due to insufficient zeny or overweight). - New conversation code a="" to execute console commands. Example: talknpc 115 111 c r0 c a="is Novice Potion" c c c r0 c n - Another mapname redirect for "force_1-1.fld => force_map1.fld" - Added latest skills list (including Guild Skills) - Homunculus are properly detected now. They're currently recognized as pets. - Support for tRO's new login packets (update your servers.txt) - Support for andzRO's new login packets (update your servers.txt) - Partial support for Aegis 10.2 servers. Use serverType 7 for these. - Support for eAthena servers with episode X.5 update. Use serverType 9 for these. - Support for kRO. Use serverType 8. New config options: - autoMoveOnDeath set: autoMoveOnDeath <0/1> autoMoveOnDeath_x autoMoveOnDeath_y autoMoveOnDeath_map - serverEncoding Specifies the server's character encoding (language). Should be one of: Western Tagalog Chinese Korean Russian Cyrillic Japanese Thai - New checkSelfCondition _whenEquipped . True iff the named item is equipped. - debugPacket_received 3 will print what openkore interpreted each parameter in the packet as. - XKore 2: (manual at http://openkore.sourceforge.net/manual/xkore2.php ) XKore_ID XKore_publicIp XKore_listenIp XKore_listenPort - removeActorWithDistance Automatically remove actors from a specified distance (useful for merchants vending in prontera - set removeActorWithDistance to ~5 and you will not send as many getPlayerInfo packets, thus lessening the lag caused by you) - route_randomWalk_inTown Allow character to random walk in towns (useful for scouting all npcs in a town without manually directing the character) - teleportAuto_useChatCommand Use a specified chat command for random teleport. - saveMap_warpChatCommand Use a specified chat command for respawning or warping to saveMap. - statsAdd_over_99: set this option to make Kore lift the restriction on adding stat points over 99 - _whenNotEquipped checkSelfCondition, opposite of _whenEquipped - gameGuard (flag) Set this option to 1 if you play inRO or pRO Sakray. Set this option to 2 if you play bRO. - aggressiveAntiKS (flag) Set this to 1 to make the anti-KS code more aggressive. Kore will drop the monster if others have attacked it, regardless of whether the monster attacked you or whether you have attacked it. - route_escape_unknownMap (flag) Set this to 1 to make openkore escape from unknown places. For Example, kore teleports into a portal and landed into another map with a portal not in portals.txt, with this function, kore will attempt to enter the nearest portal or warp portal. - route_escape_randomWalk (flag) route_escape_unknownMap must be set to 1 for this function to work. Randomly walk arround the map if it got teleported into an unknown map. - route_escape_reachedNoPortal (flag) route_escape_unknownMap must be set to 1 for this function to work. if the map kore "accidentally" teleports into doesn't have a portal,it would activate the escape AI this is usually accompanied with route_escape_randomWalk. New commands: - cart release: remove cart status - falcon [release]: Display or remove falcon status - pecopeco [release]: Display or remove pecopeco status - ai manual: Pause automated botting and allow manual control - ai auto: Same as 'ai on' - guild ally : ally with another guild - ssp: Same as sm and sp commands, but takes a spell # as parameter this is for skills used for spells/traps like Remove Trap Internal: - Removed "proxied" string from XKoreProxy by users request. - Implemented the beginning of a localization framework. - Actor::get($ID) now returns $players{$ID} instead of $monsters{$ID} when both exist (which shouldn't happen, but this is a workaround for players being incorrectly detected as monsters). - packet_outMangle/$switch hook is now called before openkore's built-in mangling, to give plugins more freedom. - packet_attack hook now has extra 'type' argument. - 'player' plugin hook, when called by 'Player Exists', is now called after all $player->{...} have been set to give more accurate information. - all receive packets have been moved to Receive.pm now. - $item->{ID} is now stored. - New modes for $AI: 0 = off, 1 = manual, 2 = auto. - partySkill now operates on an Actor::Player object always. This should fix the problem when a party member is on your screen, but never moved before and thus has no coordinates in $char->{party}{users}{$ID} and causes location-based partySkills to cast on (0,0). - additional conStates 1.2 and 1.3 for servers who need to receive proper gameguard authentication first before allowing the client to continue its login sequence - Removed %skills_lut, %skills_rlut, %skillsID_lut and %skillsID_rlut Use Skills->new() instead. - Renamed subs: Receive.pm: guild_name_request => guild_member_online_status Receive.pm: guild_logon => character_name Send.pm: sendGuildMemberNameRequest => sendGetCharacterName - guildID and guildEmblem unpacking format changed from "V" to "a4" - %itemsPickup renamed to %pickupitems Credits: - id-mardi: fix for setPartySkillTimer, move the rest of the receive packets to Receive.pm - mondlicht: teleportAuto_avoidAllPlayers bugfix - Lord_Balmon: fix for the Win32 GUI interface - h4rry84: Indonesian translation - hakore: fix for weight command, manual AI mode - illusionist: move receive packets to Receive.pm, falcon and peco release support, fix for manual 'sit' behavior, support for bRO - vivi: autoMoveOnDeath, check XKore 2 username, Kaite/Kaizel/Kaupe statuses homunculus monster ID and names - rufvin: useSelf_skill_smartHeal bug - piroJOKE: field files updates. - Crypticode: fix and improve npc talk sequence, mapname redirects - zdivpsa: fix guild packets, guild ally command, guild kick bug - abt123: new tRO login packets - Star-Kung: new tRO login packet enhancement - --Roger--: reconnect timeout bug - windserfer: aliases for PvP/MvP Rooms (Room Rock On, Four Room, and Copass) - lighthazen: major help on cleaning up old servers.txt entries - DesperadoStrike: new monster names - patapum: new hooks and some bug fixes - chade: ssp command - FIrewall: Lighthalzen portals contributions ================== ### 1.9.0 ================== *** INCOMPATIBLE CHANGES ***: - NPC IDs are no longer supported, you must use the location syntax. - A few more statuses have been renamed such as 'Cartboost' status renamed to 'Cart Boost' for consistency with the skill name. 'Hide' to 'Hiding', too. - \$remote_socket parameter removed from some Network/Send.pm functions: sendCartAdd sendCartGet - hp, sp options now have a new format. hp > 50 - means more than 50hp hp > 50% - means more than 50 percent of you hp. - Old hp_upper,sp_upper removed, use hp sp instead Old minAggressives, maxAggressives skill block options removed. Use aggressives instead. - You must use the new tables/emotions.txt or emotions won't work. The "e" command now uses the RO client commands instead of the number. - Vigor condensation renamed to Vigor Condensation for consistency - equipAuto onTeleport changed to teleportAuto_equip_{slot} equipAuto skills is no longer used, use _equip_ equipAuto syntax is changed, read below. equipAuto_def is removed. - spells.txt "Big Magic (SG/LoV/MS/GX)" renamed to "Big Magic". - avoid_ignore_# is replaced with avoidGM_ignoreList (see below) - equipAuto misses changed to target_misses equipAuto totalMisses changed to target_totalMisses - 'party create ""' command renamed to 'party create '. - 'Pink Spring' renamed to "Roki's Weil" to match the skill name in spells.txt (for whenGround/whenNotGround). - All FileParsers must return 1 if the file was parsed successfully. Otherwise, kore will bail out with an error. - Warp Portal-related spells.txt entries translated from Japanese. - Cards in item names are now separated by ':' instead of ',', because ',' is also used as a separator in a list of items. - Obsolete command 'equipment' removed; use 'eq' instead. Bug fixes: - 'i' command now displays equipped arrows under Equipment (Equipped). - Fix useSelf_item dcOnEmpty and getAuto buggyness caused by lag. - Don't try to statsAddAuto before the stat point info has been received. - Shop title in shop.txt is detected better. - Fix autoTalkCont (caused next step to happen too fast). - Don't redirect command output if XKore_silent is enabled. - Fix "party leave" crash when not in party. - Only teleport-on-hit from monsters if they do not miss. - Hopefully fix daggersins' weapons ending up on the wrong hand. - Guild auto deny timeout was not included in timeouts.txt. Deal auto deny timeout was not being used. - 'private 1' in servers.txt is also effective when changing map server. - Fix crash with the weight command. - Give an error if someone tries to storage an equipped item. - Show unknown for public chat distance if player is off screen. - Don't display PVP rank if you're not in PVP. (Workaround for server-side bug that still sends you your PVP rank for some reason.) - Detect NPC spawning (only happens when server first loads). - Don't storage or cart-add pets if they are in use (caused disconnect). - Show full class name in the pl # command. - 'as' command works now when attacking players. - Detect when a targeted player dies ("attack" ai_seq will be dequeued). - Fix cartAuto crash bug for Perl 5.6. Caused by: delete $cart{'inventory'}[$index]; - Don't show warnings when "vl" command has weird shops. - Don't attempt to gather items near portals lest they suck you in. - Fix avoid list for playerIDs near you. - Faster buy/sellAuto conversation (Use steps "b e" and "s e" instead of "b"). - teleportAuto_hp responds faster now (is checked whenever you get attacked.) - avoidGM was always happening if avoidGM_namePattern was blank. - attackComboSlot fixed with Tiger Knuckle Fist and Chain Crush Combo. - teleportAuto_equip should work for Teleport lv2 now too. - Fix error message for if we are missing skill or item descriptions. - Don't check cards on pet eggs (caused weirdly named eggs). - Check storageAuto more reliably now (a bot logging in with insufficient supplies will now storageAuto before lockMap). - Replace "version # failed." with a better error message. - Zeny added to a deal via 'deal add z <#>' will now be correctly added when the deal is finalized automatically by dealAuto. - Standpoint option in buyAuto and sellAuto did not work. - Fixed mon_control syntax for monsters marked as Always Aggressive (2). The bot won't attack anymore if the monster is impossible to attack (blocked by walls) or if it is being already attacked by someone else. - Fixed monsters listed in the monsters condition of equipAuto now doesn't necessarily have to be your attack target. - encrypt/decrypt was mangling some packets (at least on serverType 2; I'm not sure for the other RO's) causing disconnections and unparsed erros. - useSelf_skill equip_rightHand and similar constructs will now correctly equip items whose names have commas in them. - Command storage will now check first if the storage has been opened. - Use sane default for $config{sleepTime} when it is missing from Interface.pm. - openkore will now realize immediately when a portals.txt NPC conversation terminated prematurely. - Guild member list is correctly refreshed when you type 'guild' now. Previously, if you left a guild and joined another guild with less players, then some of the players from the old guild would falsely show up in the roster. - Display walk speed in 'pl <#>' command at correct resolution. - Avoid skill will move (3,3) instead of (2,2) blocks, e.g. for avoiding Minorous' Hammer Fall. Hopefully this will work better. - Match.pm can now be reloaded via 'rc' command (it wasn't registered properly in openkore.pl). - Match::inventoryItem() will no longer return false items in holes in the inventory array. - On servers with the new party packet (01E9) follower bot will now correctly follow its master through portals. - Bot should no longer cast teleport non-stop when teleportAuto_useSkill is 2, teleportAuto_equip is set, and another player is on screen. - attackLooters will check for mon_control settings before attacking looters. New features: - Console::Unix interface no longer has "Press ENTER to continue" prompt, since UNIX terminals generally don't close when openkore exits. - Your level/job level is now displayed when you level up. - Player names are now cached, so that they don't have to be re-retrieved as often. This can save a lot of bandwidth, especially when you're walking in town. - When teleportAuto_useSkill > 0, always cast Teleport skill if we are trying to respawn to saveMap (lets us auto-detect it). - You must specify target_dead 1 to use a skill on a dead person. This will prevent any problems where the bot keeps trying to use a skill like Heal or Blessing on someone who is dead. - You can now attack looters even if the are normally ignored set attackLooters to 1 in config.txt - 'cart add' and 'cart get' commands now accept names. - 'eq slots' displays list of slotnames 'eq slotname item' will try to equip item in slotname - Fractional weight in inventory is now displayed. - Show proper SP for all skills (auto-detected). - Improved storage list, sorts the items by category like the real client. - Emotion command now uses the real commands from the RO client. Example: e thx - When casting the Teleport skill, openkore will wait for the skill to be successfuly cast before actually teleporting, unless this is an emergency teleport (e.g. teleportAuto_deadly). (Looks less bot-like.) Be sure to update timeouts.txt to get ai_teleport_retry and ai_teleport_delay. - Shop prices are now formatted with thousands separators. - The 'vender' command now shows vender's name and index. - Support "That person is in another deal." error. - 'pl' command now displays everyone's level. - tables/skills.txt: updated for almost all advanced class skills now. - New " got married!" message. - Taekwon, Star Gladiator, Flying Star Gladiator and Soul Linker jobs are now recognized. - 'exp' command will now display number of bytes sent and received. Helpful if you need to know your bandwidth usage. - Error message when you specify an unknown skill name in skillsAddAuto. - 'eq ' command now only matches unequipped items. - When an item is identified, you will see its inventory index now. - openkore will now return a fatal error if an !include file is missing in config.txt. - Bot will now follow its master through warp portals. - 'guild info' command now displays ally list. - The vending limit has been increased to 1 billion (1,000,000,000) zeny. - Support for bulk-selling items with the 'sell' command. Items are now put in a sell list instead of sold immediately. See the 'New commands' section. - 'i desc' command now accepts item names. - (partial) support for oRO commercial servers. Use serverType 6 for this. - New Win32::GUI interface. Run 'openkore --interface=Win32' to enable. - New Brehensam checkLineSnipable() algorithm. Maybe it'll work better in some cases, though it's still not perfect. - Hunters that keep trying to shoot at something they don't really have LOS to will now "Cannot reach or damage target, dropping target" correctly (AI::args->{unstuck}{count}). - Show coordinates of players when they are added/removed from 'pl'. (TODO: Do this for monsters too.) - Ability to bypass the RO client's bot detection (the "Do not use bots!" message). - Implemented 0189 no_teleport packet so that "Unavailable Area To Teleport/Memo" message is now displayed. - 'is' command now accepts item names. - Implement fail code 2 in packet deal_add_you. (happens when you try to trade wedding rings) New commands: - getplayerinfo (number) Ask the server for the name of the object with that ID. You will not see the reply unless you have debug level 2. - storage addfromcart [] storage gettocart [] Support for adding/getting items directly to/from merchant cart - storage [] Only list equipments (eq), usable (u), or non usable (nu) items. - whoami Displays your character and account ID. - damage Displays the monsters and skills that damaged you. - help [command] not new but updated and more useful you get now all options for a specific command - guild break Disband your guild. - guild create Create a guild. - guild kick Kick a guild member out of the guild. - storage desc Display storage item description. - eq Lists what you are wearing in each equipment slot. - take first Takes the first item on the ground. - The sell commands have been changed. The new sell commands are: sell [] Put inventory items in sell list. sell list Show items in the sell list. sell done Sell everything in the sell list. sell cancel Clear the sell list. - The exp commands have been changed. The new exp commands are: exp only shows exp exp report shows the old exp report (shows everything) exp monster shows monster killed count only exp item shows item change count only exp reset resets the exp report New config options: - partySkill: target_dist (range) This is the same as target_dist for attackSkillSlot. Only use the skill if the player is in the given range. - partySkill: isSelfSkill (flag) Use this skill on yourself after checking the party conditions. Useful for Magnificat or Gloria. - cachePlayerNames (flag) Turns player name caching on or off. cachePlayerNames_duration (seconds) Cache player names for a maximum time of (seconds). The default is 900 seconds (15 minutes). cachePlayerNames_maxSize (number) Maximum cache size. The default is 100. - storageAuto_keepOpen (flag) Set to true if you want to keep storage open after storageAuto sequence. Only enable this if you know what you're doing. (Note: You cannot use items while storage is open.) - itemsTakeAuto_new (flag) Activates experimental new item taking code; might work better for archers who keep failing to take items. - "s" sequence for NPC talk steps; the client sends this when you click "Sell" at a shop NPC. - attackLooters (flag) Enables Looter attack. (Warning attacks all monsters.). Will only attack if item_pickup is not 0 - teleportAuto_dropTargetKS (flag) Teleport if Kore drops target due to kill-steal. This is a workaround for constantly dropping and selecting the same target. - logConsole (flag) Log everything that openkore prints on the console to logs\console.txt. - attackAuto_notInTown (flag) Don't attack monsters while inside a town. - new option in buyAuto: zeny (range) only buy if you have the specified Zeny - teleportAuto_equip_{slot} use this instead of equipAuto onTeleport you can use all slots but it is recommended to use only either right or left Accessory slot - buyAuto now uses checkSelfCondition. This means you can now specify options like hp, sp, and other options in useSelf* in your buyAuto config block e.g. buyAuto Monster's Feed { npc prontera 64 125 distance 5 minAmount 0 maxAmount 100 hp < 20% inInventory Red Potion <5, Yellow Potion <2 } - inCart much like its inInventory counterpart and uses the same syntax. Use this to check cart inventory before executing a config block. - dcOnStorageFull (flag) If the character's weight >= itemsMaxWeight_sellOrStore just after having completed storageAuto, then log out because something is wrong. - getAuto: dcOnEmpty (flag) If true, kore will disconnect if the amount of the item in inventory plus storage is below minAmount. - dcOnLevel (level) If true, then when you gain a level, kore will log out if you are now >= the specified level. - dcOnJobLevel (level) Like dcOnLevel, but for job levels. - avoidGM_ignoreList (list of names) Ignore any player on this list when checking for GMs nearby. - repairAuto (flag) Automatically repair items when using the repair skill on players. - teleportAuto_search (number) Previously this was a flag. Now, set it to the minimum number of search-monsters that must be on the screen (area attack bots can use this to find mobs). - attackComboSlot: autoCombo (flag) This will automatically calculate the waitBeforeUse time for you. - notOnAction condition (opposite of onAction) - logAppendUsername (flag) this will add _username_char# to your log files - items_control.txt: store flag 2 If you set the store flag to 2, it will automatically transfer items out of your cart into storage as well as from the inventory. Example: Zargon 0 2 0 1 Automatically put Zargon into the cart while leveling, then storage later. - cartMaxWeight (weight amount) Once the cart weight is above this amount, no longer auto add to cart. Default in config.txt is 7900, 100 less than the maximum. - timeouts.txt: ai_cartAutoCheck 2 Check if we need to do cartAuto functions every x seconds. - inMap and notInMap (list) These shared block options are for using a block when you're (not) on a certain map. - itemsMaxNum_sellOrStore Trigger the autosell AI sequence when the total amount of items in inventory is equal to or exceeds the specified amount. Similar to itemsMaxWeight_sellOrStore but uses amounts instead of weight percentage. - equipAuto: target (monsters) If this option is set, auto-equip when you are attacking any of the specified comma-separated list of monsters. - equipAuto: target_deltaHp target_dist target_timeout target_whenGround target_whenNotGround target_whenStatusActive target_whenStatusInactive These conditions are the same as those used in partySkill, but tested on your target monster. - route_maxNpcTries Default 5. If an NPC conversation is used to reach your destination, this is the maximum number of times it will try to talk to that NPC before giving up and plotting an alternate path. - XKore_bypassBotDetection Set to 1 if you want Kore to try to bypass the RO client's bot detection. This feature is experimental and has only been tested with the iRO client, so enable this at your own risk! - timeouts.txt: ai_route_npcTalk Default 10. If an NPC conversation used to reach your destination takes longer than this, it will assume failure. - clientSight Some private servers like Freya will send actor packets from a ridiculous distance from the bot, and use this for automated banning. This config option will make Kore ignore those actors and hopefully avoid auto-bans. Internal: - Obsolete getActorHash() function removed (use Actor::get() instead). - The format of $npcs_lut has changed, IDs are completely abandoned. - Attack AI routines should now support players as well. - New Match::cartItem() function, similar to Match::inventoryItem(). - The S and L pack types have been completely removed. Do not use these anymore; use v and V respectively. - 'ai print' command should mangle less characters into '.'. - Moved packets to Network/Receive.pm: cart_item_added cart_item_removed item_used - New whenFlag/whenNotFlag condition references %flags in checkSelfCondition. Currently, only plugins or 'eval' command could change %flags so this is only useful to developers (you can turn on/off groups of skill blocks easily using %flags now). - whenGroundStatus() now takes a third argument $mine which will make it only check for spells originating from you. - inventory/storage/cart item added/removed packets now set $args->{item} so that plugins can access it. - $ai_v{temp}{pvp} moved to $pvp because the former seems to get erroneously cleared sometimes. - New Actor#snipable method; boolean whether you have snipable LOS to the actor. - "Player Connected" did not trigger 'player' plugin call. - Store $char->{attack_delay}. You attack once every $char->{attack_delay}/500 seconds. - Use bitshift-packing/unpacking to deal with coordinates in the protocol. - Support new packets 0229, 022A, 022B, 022C, 01E9 which caused some official servers (like mRO and pRO) to not handle actors correctly. Credits: - doenet: chatLangCode bugfixes. - isieo: attackComboSlot fixes/improvements. - piroJOKE: new emotions, new fields. - hakore: commanddescriptions.txt, avoidGM_ignore/deltaHp fix, standpoint bug, equipAuto bug, storage desc command, attackLooters fix - illusionist: fix for force-aggressive monsters not being dropped when no LOS, Follow master through warp portal. - clovanzo: Louyang portals - h4rry84: Auto Berserk/Preserve status support. - jojobaoil: Bit-shift packing code, RO client bot detection bypassing, network & XKore stack overhaul. - amacc_boy: Win32::GUI interface - woeisiong: improvement in exp command - punkpudding: factor meditatio in smartHeal - mondlicht, ZLord: clientSight