Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 04/09/20 in all areas

  1. ROTS most of CC room2 and room3 task waypoints cc - drum task.xml cc - destroyers task.xml cc - charmers task.xml cc - bio_saib_man task.xml cc - anhilator v2 task.xml cc - anhilator task.xml cc - yao task.xml cc - vampires task.xml cc - tyranosaur task.xml cc - toxic spiders task.xml cc - swamp spiders task.xml cc - susha task.xml cc - slighty sceleton task.xml cc - skeletons task.xml cc - pterodactyls task.xml cc - pirate robot task.xml cc - mummy task.xml cc - giras task.xml cc - frozen_skel_warior task.xml
    4 points
  2. You can download it here: OTClientBot-v2.0.0-beta18c Also please remember to install Visual C++ Redistributable for Visual Studio 2015 - 2019 x86 if you haven't already. List of changes for beta 18c: fixed an issue where bot didn't try to get item info after initially failing (thus functions like isContainer were always returning false) cavebot logic improvements List of changes for beta 18b: additional security checks for lua scripts fixed onTextMessage event returning invalid message fixed LocalPlayer.getItems, LocalPlayer.getItemsCount and LocalPlayer.getItemsById functions not working List of changes for beta18a: fixed g_game.getIdleTime() not working correctly with previous version fixed cavebot walking using map clicks not working correctly with previous version fixed LocalPlayer.getInventoryItem function not working correctly with previous version updated Anti Idle.lua to respect recent constant values change List of changes: fixed cavebot's walk delay setting not being loaded correctly fixed issue where node would not process to next waypoint while being in desired range sometimes fixed issue where the same persistent script could start multiple times overlapping eachother fixed issue that caused the bot to be stuck on looting action indefinitely fixed issue with g_game.useItemOnPosition that prevented using it on inventory item position fixed g_game.move function not working at ntsw.pl fixed key walking not working at saiyansreturn.com LocalPlayer.getInventoryItem should now correctly return items from custom slots huge optimisations for tile reading performance overall major optimisations for reading game information from client overall major bot performance improvements added new lua table: g_things g_things.getThingType(id) -- return ThingType object with corresponding id ThingType object functions added: getId -- returns id isGround -- returns true if ThingType is ground isContainer -- returns true if ThingType is container isStackable -- returns true if ThingType is stackable isNotWalkable -- return true if ThingType is not walkable isNotMoveable -- return true if ThingType is not moveable isBlockProjectile -- returns true if ThingType blocks projectiles from flying through it isNotPathable -- returns true if ThingType blocks pathfinding isPickupable -- returns true if ThingType can be picked up setPathable(bool) -- sets ThingType's pathable attribute to desired state (true/false) Creature object functions added: getSkull -- returns Creature's skull getType -- returns Creature's type getShield -- returns Creature's party shield getEmblem -- returns Creature's guild eblem getIcon -- returns Creature's icon (NPC) some constant values have changed, you can check them all at libs/const.lua
    3 points
  3. Some people are reporting me this issue, but it’s very hard to find the exact cause since like you said there is no error message. I have it high in the priority list and I’m actively working on fixing that. Sorry for the inconvenience
    3 points
  4. You can download it here: OTClientBot-v2.0.0-beta13e Also please remember to install Visual C++ Redistributable for Visual Studio 2015 - 2019 x86 if you haven't already. It is advised to completly uninstall the previous bot version form your computer before installing the new one. Please make a backup of your scripts and cavebot files before doing so. Known issues: In targeting while setting the "stick" priority to higher than health/proximity may result in bot crashing and/or targeting not working correctly as a workaround please don't use a stick priority at all. -- fixed in beta13a Condition healer settings are not being loaded from save files -- fixed in beta 13b Bad lua scripts are crashing the bot instead of throwing an error -- fixed in beta 13b -- actually fixed in beta 13d Under rare circumstances the targeting can cause the bot to crash -- fixed in beta 13d "playersettings" folder is missing -- fixed in beta 13b In cavebot while using ladder/rope/pick etc the bot is trying to use the item from far away resulting in cavebot getting stuck -- fixed in beta 13b Bot can crash while saving hotkey scripts -- fixed in beta 13b Alerts don't work when loading save file from older versions -- fixed in beta 13c Lua functions don't work without explicitly setting default parameters where it applies -- fixed in beta 13c File->New doesn't reset looting tab -- fixed in beta 13c getOption and setOption functions will make bot non responding while using those functions in hotkeys -- fixed in beta 13d Tile:getTopItem() doesn't return the correct item if there are multiple items on the stack -- fixed in beta 13d Bot will crash after adding new persistent/cavebot script after deleting one while editor on the first column was open -- fixed in beta 13e Bot will crash if it can't find valid next waypoint while changing floors -- fixed in beta 13e List of changes: General bot has been rewritten from scratch and that's the main reason why there weren't any updates past month added automatic crash reporting bot stability has been increased tremendously and not a single crash has occured over a week of internal testing added lua console where you can execute scripts and print output into if for some reason the bot can't connect to the login server instead of closing the application it will pause all functionality and wait for the connection to come back with proper dialog displaying it 99% of scripts should be back compatible with the previous version, however it is possible that some may not work after loading a save file from an older version you may have to re-configure some options as the interface and available options are different UI changes various UI changes to increase quality of life and clarity of informations and options presented to the user added dark mode added new tab "Info & options" where you can see various information about the logged character including experience per hour, as well as quick toggles to enable/disable bot functions and more Healer you can now specify a value range for every condition moved the "enable" toggle into the table widget directly every change in the editor will be applied in real time Alerts fixed the whitelist not registering multiple names where it applies added spinboxes for easier editing where it applies Targeting fixed a bug where setting a creature action to "ignore" would not ignore it while using "all" as a creature name fixed a bug where creature count would be ignored or not working correctly every change in the editor will be applied in real time Cavebot fixed a bug where cavebot scripts would continue to work even with cavebot turned off added new waypoint types: Lure - character will continue to walk even while attacking Ladder waypoints are now editable directly in the table widget you can drag and drop the waypoints to move their position fixed a bug with high CPU usage while using an action waypoint with get/set option script fixed a bug where action script would not execute immediately Hotkeys fixed a bug that prevented some users from selecting a key combination Looting fixed a bug that ignored selected looting policy fixed a bug where containers inside a body weren't being open fixed a bug that caused some bodies to be skipped from looting fixed a bug where character was not trying to reach the body if it was killed from a distance you can now select containers from a dropdown box Lua interface fixed a bug where g_game.isFollowing() was not working correctly fixed a bug where text messages wasn't being captured from a distance (other channel/system message) added following functions to the LocalPlayer class: LocalPlayer:getCapacity LocalPlayer:getExperience added new functions: g_game.cancelAttack g_game.cancelFollow g_game.getFollowingCreature g_game.getBestAreaTurnDirection g_game.getCreaturesInArea g_map.getTiles added reading of map tiles with following functions (it must be enabled in the options first): Tile:getPosition Tile:getItems Tile:getCreatures Tile:isPathable Tile:isWalkable Tile:getTopItem Tile:getTopCreature added every alphanumerical key as well as space to the g_game.sendKey function I'll make my best to update the lua documentation available at the website as soon as possible, however if you have questions regarding certain new functions please make a new post about it in the proper category and I'll try to answer it with an example as soon as possible. Please keep in mind that this update is huge and I've most likely missed few things. Thank you for your support and hope that you enjoy.
    3 points
  5. local config = { timeToTurn = 15 * 60 * 1000, -- 15 minutes directions = { North, South, West, East } } if not g_game.isOnline() then return end local currentDir = g_game.getLocalPlayer():getDirection() repeat local newDir = config.directions[math.random(1, #config.directions)] g_game.turn(newDir) sleep(1000) until (g_game.getLocalPlayer():getDirection() ~= currentDir) auto(config.timeToTurn)
    2 points
  6. auto(100) if not g_game.isOnline() then return end local messagesToDetect = {"[English]", "msgheck", "bot"} -- which words should it look for? local respondToMessage = false -- should it respond if trigger word is found? local messageToRespond = "im here" -- what should it respond? local pauseBot = false -- should it pause the bot? local playAlarm = true -- should it play alarm? connect("g_game", "onTalkMessage", checkBotMessage) function checkBotMessage(name, level, mode, message, channelId, creaturePos) for _, messageToDetect in pairs(messagesToDetect) do if string.find(message, messageToDetect, 1, true) then if respondToMessage then g_game.talk(messageToRespond) end if pauseBot then setOption("Global/BotPaused", "true") end if playAlarm then for i = 1, 5 do playSound("alarm.wav") sleep(1000) end end return end end end
    2 points
  7. local idsToFind = {3031, 3035} local tiles = g_map.getTiles() for _, tile in pairs(tiles) do local topItem = tile:getTopItem() if topItem then for _, id in pairs(idsToFind) do if topItem:getId() == id then playSound("alarm.wav") break end end end end auto(100) Remember to enable the "read map tiles" box in info & options tab. Also reading tiles is limited to the current floor you are at the moment. I'm looking into expanding this tho.
    2 points
  8. if g_game.isOnScreen("Wolf") then playSound("alarm.wav") sleep(2000) end auto(100) I'll take a look at it
    2 points
  9. Makes a great run with hugest exp profit and u finish the task pretty fast! U will have to change healing/target settings ofc to your preference. Hope you enjoy it as i did! More will come if there is a need. Happy botting xD skeletons_skeleton warrior.xml
    2 points
  10. Write a brief explanation of what you would like the script to do. Please make sure that the script you requested isn't already available at the forum, otherwise your post will be removed. List of scripts: Use spell based on player's soul Auto fishing Wave/area spell Turn to target Eat food Drop specified items on the ground Use item on the map based on character's position Cast targeted spell with health check
    1 point
  11. The bot is spamming scroll lock, is it possible to stop it?
    1 point
  12. playername should not be in " ". If it needs a string you can use tostring(playername) NOTE: I haven't tested this it's just off the top of my head looking at what you posted. Let me know if this fixes your issue. EDIT: Here's the script I used to use, haven't used it in a while, but I assume it still works. -------------------------------------------- -- Heal Friend with Spell -- by Tokumei -------------------------------------------- -- Version 1.0 (21/10/2021) -- Version 1.1 (22/10/2021) -- - Minor Syntax Update -------------------------------------------- -- Edit this part -- local friendName = "Tokumei" -- insert your friends name here local healPercent = 70 -- the % of HP you want to heal your friend at (eg 70%) local spell = 'Exura sio "' -- Spell to use for healing your friend local spellCD = 1000 -- what is the internal cooldown of the spell (1000 = 1second) -- Don't edit this unless you know what you're doing -- local friend local friendHP local creatures = g_game.getCreatures() friendHeal = function(s, f) g_game.talk(s..f) end friendCheck = function(fN, m) for v,k in pairs(m) do if k:getName() == fN and k:isPlayer() then friend = k:getName() friendHP = k:getHealthPercent() friend = true break else friend = false end end return friend end if friendCheck(friendName, creatures) then if friendHP <= healPercent then friendHeal(spell, friendName) sleep(spellCD, spellCD+100) end end auto(100,150) - Tokumei
    1 point
  13. I’m aware, will most likely fix this weekend
    1 point
  14. I don't think it's necessary to use here, but you could probably use the math.random() function. local randomizer01 = tostring(math.random(150,200)) -- returns a random number between 150 and 200 local randomizer02 = tostring(math.random(20,50)) -- returns a random number between 20 and 50 if g_game.isAttacking() then setOption("Cavebot/WalkDelay", randomizer01) else setOption("Cavebot/WalkDelay", randomizer02) end auto(100) I haven't tested it at all though. Let me know if it works. - Tokumei
    1 point
  15. Looks like it was always working like this, I'll change it in the next update.
    1 point
  16. 1 point
  17. when I inject the bot the character stops walking by the arrows and walks only by mouse clicks,
    1 point
  18. with shared global cooldown it would be the best to also implement healing within a single script with attacking rotation
    1 point
  19. This should do the trick. I haven't tested it a lot so let me know if it works as intended. -------------------------------------------- -- Follow Player When Not Attacking -- by Tokumei -------------------------------------------- -- Version 1.0 (21/10/2021) -------------------------------------------- -- Edit this part -- local friend = "Tokumei" -- Name of player you want to follow. -- Don't edit this unless you know what you're doing -- local creature local creatures = g_game.getCreatures() for v, k in pairs(creatures) do if k:getName() == friend and k:isPlayer() then creature = k break end end if not g_game.isAttacking() and not g_game.isFollowing() and creature then g_game.follow(creature) end auto(100, 250) - Tokumei
    1 point
  20. Hey any chance to add option to run bot on dbvictory ?
    1 point
  21. use g_game.getLocalPlayer():getStates() to find corect state number and then add g_game.getLocalPlayer():hasState() condition to cast spell
    1 point
  22. auto(100) if not g_game.isOnline() then return end local messagesToDetect = {""} -- which words should it look for? local respondToMessage = false -- should it respond if trigger word is found? local messageToRespond = "im here" -- what should it respond? local pauseBot = false -- should it pause the bot? local playAlarm = true -- should it play alarm? connect("g_game", "onTalkMessage", checkBotMessage) connect("g_game", "onTextMessage", checkBotText) function checkBotMessage(name, level, mode, message, channelId, creaturePos) for _, messageToDetect in pairs(messagesToDetect) do if string.find(name, messageToDetect, 1, true) then if respondToMessage then g_game.talk(messageToRespond) end if pauseBot then setOption("Global/BotPaused", "true") end if playAlarm then for i = 1, 3 do playSound("alarm.wav") sleep(1000) end end return end end end function checkBotText(mode, message) for _, messageToDetect in pairs(messagesToDetect) do if string.find(message, messageToDetect, 1, true) then if respondToMessage then g_game.talk(messageToRespond) end if pauseBot then setOption("Global/BotPaused", "true") end if playAlarm then for i = 1, 3 do playSound("alarm.wav") sleep(1000) end end return end end end
    1 point
  23. can I ask for a script where the bot will respond on msgcheck?
    1 point
  24. "3x3" is not where it stand, it will mark as done if he stand in that range, but will not click in all fields in that range when try to move
    1 point
  25. @lediv I've found the issue. It seems like any message that contains special characters isn't read properly right now. I'll try to fix it as soon as possible.
    1 point
  26. if not g_game.isOnline() then return end local messageToDetect = {"msgheck", "bot"} local lastMessage = g_game.lastTextMessage().message if not lastMessage then return end for v, k in pairs(messageToDetect) do if string.find(lastMessage, k, 1, true) then g_game.talk("im here") -- message to talk in default chat setOption("Global/BotPaused", "true") g_game.lastTextMessage().message = "" for i = 1, 5 do playSound("alarm.wav") sleep(1000) end end end auto(50) It may be that they changed how things works, but I highly doubt that.
    1 point
  27. @lediv you can easily change the color of any message, it isn't an indicator of anything.
    1 point
  28. if g_game.isAttacking() then setOption("Cavebot/WalkDelay", "200") else setOption("Cavebot/WalkDelay", "25") end auto(100)
    1 point
  29. @ledivrestart both client and bot and it will be fine
    1 point
  30. If you have “target only shootable” selected and it targets that monster then I cant really do much about it, since the client sees it as shootable. I’ll try to fix the bug with ladder tho
    1 point
  31. @Zelek its possible Create a channel with some hotkeys to make scripts 100% afk?1. Check position, Potions, Cap, money to "buy", 2. Travel Npc 3. Sell items 4. Buy Potions 4. Deposit Items
    1 point
  32. local TextToFind = xxx local FoundMessage = false for k,v in pairs(g_game.getTextMessages()) do if v = TextToFind then return FoundMessage = true end end if FoundMessage then gotolabel("HUNTING", "start-hunting") end
    1 point
  33. @lediv I acknowledge the issue and it’s fixed in the candidate to the next release. I was just trying to help you to get around it.
    1 point
  34. Not ideal as you ask, but made for my needs. if not g_game.isOnline() then return end local function wave5x3() local MonstersInRangeN = 0 local MonstersInRangeE = 0 local MonstersInRangeS = 0 local MonstersInRangeW = 0 local MonstersInActualRange = 0 local direction = g_game.getLocalPlayer():getDirection() for _, creature in pairs(g_game.getCreatures()) do local playerPos = g_game.getLocalPlayer():getPosition() local creaturePos = creature:getPosition() local offsetX = playerPos.x - creaturePos.x local offsetY = playerPos.y - creaturePos.y if creature == nil then creature = playerPos end -- West if creature:isMonster() and creaturePos:isInRange(playerPos, 5, 5) and offsetX >= 1 and offsetX <= 5 and offsetY <= 1 and offsetY >= -1 then MonstersInRangeW = MonstersInRangeW + 1 end -- East if creature:isMonster() and creaturePos:isInRange(playerPos, 5, 5) and offsetX >= -5 and offsetX <= -1 and offsetY <= 1 and offsetY >= -1 then MonstersInRangeE = MonstersInRangeE + 1 end -- North if creature:isMonster() and creaturePos:isInRange(playerPos, 5, 5) and offsetY >= 1 and offsetY <= 5 and offsetX <= 1 and offsetX >= -1 then MonstersInRangeN = MonstersInRangeN + 1 end -- Sauth if creature:isMonster() and creaturePos:isInRange(playerPos, 5, 5) and offsetY >= -5 and offsetY <= -1 and offsetX <= 1 and offsetX >= -1 then MonstersInRangeS = MonstersInRangeS + 1 end end local highest = 0 local nums = {MonstersInRangeN, MonstersInRangeE, MonstersInRangeS, MonstersInRangeW} local bestdirection = direction for i,v in pairs(nums)do if v > highest then highest = v end end if highest == MonstersInRangeN and MonstersInRangeN > MonstersInRangeE and MonstersInRangeN > MonstersInRangeS and MonstersInRangeN > MonstersInRangeW then bestdirection = 0 end if highest == MonstersInRangeE and MonstersInRangeE > MonstersInRangeN and MonstersInRangeE > MonstersInRangeS and MonstersInRangeE > MonstersInRangeW then bestdirection = 1 end if highest == MonstersInRangeS and MonstersInRangeS > MonstersInRangeE and MonstersInRangeS > MonstersInRangeN and MonstersInRangeS > MonstersInRangeW then bestdirection = 2 end if highest == MonstersInRangeW and MonstersInRangeW > MonstersInRangeE and MonstersInRangeW > MonstersInRangeS and MonstersInRangeW > MonstersInRangeN then bestdirection = 3 end if direction == 0 then MonstersInActualRange = MonstersInRangeN end if direction == 1 then MonstersInActualRange = MonstersInRangeE end if direction == 2 then MonstersInActualRange = MonstersInRangeS end if direction == 3 then MonstersInActualRange = MonstersInRangeW end return MonstersInRangeN,MonstersInRangeE,MonstersInRangeS,MonstersInRangeW,MonstersInActualRange,bestdirection end local MonstersInRangeN, MonstersInRangeE, MonstersInRangeS, MonstersInRangeW, MonstersInActualRange, bestdirection = wave5x3() local player = g_game.getLocalPlayer() local checkRange = 5 local monsterinrange = 3 local monsterinrangestand = 1 local monsteraround2 = #g_game.getMonstersAround(2) local monsteraround1 = #g_game.getMonstersAround(1) local manapercent = g_game.getLocalPlayer():getManaPercent() if a == nil then a = 0 end if a ~= nil and a > 3 and monsteraround1 >= MonstersInActualRange and monsteraround1 >= 1 and g_game.isAttacking() and g_game.getIdleTime() > 300 then g_game.turn(g_game.getBestTurnDirection()) a = 0 end if g_game.isAttacking() then if manapercent >= 20 and monsteraround2 >= monsterinrange then g_game.sendKey("Fx") end if manapercent >= 20 and monsteraround2 >= monsterinrange*2 then g_game.sendKey("Fx") end if manapercent >= 20 and MonstersInActualRange >= 2 then g_game.sendKey("Fx") end if manapercent >= 20 and MonstersInActualRange >= monsterinrange then g_game.sendKey("Fx") end if manapercent >= 20 and MonstersInActualRange >= monsterinrange then g_game.sendKey("Fx") end end if a ~= nil then a=a+1 end auto(250)
    1 point
  35. Script for Bot Check on dbl @Zelek?
    1 point
  36. @AarchQuick google search pointed out that this may help: Change your Windows settings to: Region -> Regional format -> English (United States)
    1 point
  37. Hello can u do a script for bot check on dbl ots?
    1 point
  38. local healthToCast = 60 local manaToCast = xx local range = x local monsterquantity = x local spellToCast = "exori" local player = g_game.getLocalPlayer() if g_game.isAttacking() and player:getHealthPercent() >= healthToCast and player:getManaPercent()>= manaToCast and #g_game.getMonstersAround(range) >= monsterquantity then g_game.talk(spellToCast) sleep(900, 1200) end auto(100)
    1 point
  39. I think that pussydestroyer69 xDDD would like to request a same script as me. Could you make a script that uses a necro wand on DBL on corpses on the ground, it has reach of 1SQM. So Use ID on the other ID that's on the ground only within 1SQM range. Is it possible to create on like that? Also if that's not too much to ask for someone who hasn't subscribed yet: Could you create a script that uses equipment every 5 minutes. Again DBL, when training certain skill you need to repair your equipment every 15-30 minutes, you do that by pressing "Use" on armor, legs etc. Is it possible to make one like that? Even if it requires to set those items as hotkeys that would still be great.
    1 point
  40. Hello everyone, I've decided to change the free trial that was available until now to the paid one. The reason for that is a bunch of people were abusing the system to gain unlimited access to the bot for free which is unfair to the paying subscribers and to me. The new price is 1 euro / 3 days. It's purchasable only once and any kind of further abuse will end up in terminating your access to the website and bot in general. Kind regards, Zelek
    1 point
  41. @Karma1 i’ll take a look at it.
    1 point
  42. You can download it here: OTClientBot-v2.0.0-beta5 Also please remember to install Visual C++ Redistributable for Visual Studio 2015 x86 if you haven't already. List of changes: Fixed some targeting issues Fixed some issues with managing containers and items Added support for NTSW
    1 point
  43. local itemsToDrop = {3316, 4276} -- populate this table with items IDs you would like to drop local containers = g_game.getContainers() local player = g_game.getLocalPlayer() local function getItemsCount() local count = 0 for v, k in pairs(itemsToDrop) do count = count + player:getItemsCount(k) end return count end repeat for i = 1, getItemsCount() do for v, k in pairs(itemsToDrop) do g_game.move(k, player:getPosition(), 100) sleep(100) end end until getItemsCount() == 0 Add it as waypoint action in the place where you would like to drop the items
    1 point
  44. You can download it here: OTClientBot-v2.0.0-beta3 Also please remember to install Visual C++ Redistributable for Visual Studio 2015 x86 if you haven't already. List of changes: Probably fixed the bug that caused the client to crash. Fixed looting. Minor adjustments to the cavebot logic. Some other small fixes it's not worth describing.
    1 point
  45. Anyway not working. Because ROTS got fuck up data files and missing a lot of flags. Can you add just option, if bot cant attack monster A, and cant move to monster A, then attack 1st monster around him (anti stuck). When miss waypoint just try to find next one. My waypoints are ok, with stand etc. But sometimes when go -1, dont reach this movment.
    1 point
  46. Close the client, it can't install the dll because it's already being used.
    1 point
  47. You can load the “Keep Target” script that is already included in the bot. Keep soul at 100: local player = g_game.getLocalPlayer() if player:getSoul() ~= 100 then g_game.talk("furie") sleep(900, 1100) end auto(100)
    1 point
×
×
  • Create New...