XenoBot Forums - Powered by vBulletin

User Tag List

Page 10 of 10 FirstFirst ... 8910
Results 91 to 93 of 93

Thread: 100% AFK Script Making

  1. #91
    mikjail's Avatar
    Join Date
    Jan 2016
    Location
    Venezuela
    Posts
    39
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    outdate? deprecated?

  2. #92

    Join Date
    Jul 2017
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb help guys

    Sup Guys!

    I have ben tryed change this script and update then for a knight hunt.
    But, idk why, the scrip cant read how many potions the character have and always buy all supply again, in addition to always leave on checkers hunt.

    So, can someone help me?

    this is my try:

    Code:
    ------ REFILL SETTINGS ------
    local LeaveMana = 500 --- How many mana potions until you leave the hunt?
    local BuyMana = 1500 --- How many mana potions you begin the hunt with?
    
    local LeaveHealth = 50 --- How many health potions until you leave the hunt?
    local BuyHealth = 100 --- How many health potions you begin the hunt with?
    
    local AmmoName = "Royal Spear"	--- What ammunition are you using?
    local LeaveAmmo = 0 --- How much ammunition until you leave hunt?
    local BuyAmmo = 0 --- How much ammunition do you begin the hunt with?
    local AmmoCost = 0 --- What is the cost of your selected ammunition?
    
    local LeaveCap = 100 --- Leaves spawn when character reaches this cap.
    local HideEquipment = true --- Do you want to minimize your equipment?
    local LogoutStamina = false --- Do you want to logout at 16 hours? (Inside the depot)
    
    -- Item ID's, if you don't want to use SHP and SMP, change these:
    
    local ManaName = "mana potion" 
    local ManaCost = 50
    local HealthName = "supreme health potion" 
    local HealthCost = 500
    
    -- Backpack Configuration:
    
    local LootBP = "Backpack"
    local GoldBP = "Brocade Backpack"
    
    -- Spawn Options
    
    local HuntMiddle = true
    
    -- Here I'm gonna get the item ids, leave this as it is.
    
    local ManaID = Item.GetID(ManaName)
    local HealthID = Item.GetID(HealthName)
    local AmmoID = Item.GetID(AmmoName)
    
    -- These are the flask IDs, not worth changing since it will sell all flasks regardless of type.
    local FlaskID = 283
    local FlaskIDA = 284
    local FlaskIDB = 285
    
    -- local GoldBP = 5801 --- Item ID of your gold backpack.
    -- local GoldBP = 5801 --- Item ID of your gold backpack.
    
    registerEventListener(WALKER_SELECTLABEL, "onWalkerSelectLabel")
    
    function onWalkerSelectLabel(labelName)
    	if (labelName == "Checker") then
    		-- Check Supplies, Hunt or Leave
    		Walker.ConditionalGoto((Self.ItemCount(ManaID) <= LeaveMana) or (Self.Cap() < LeaveCap) or (Self.ItemCount(HealthID) <= LeaveHealth), "Leave", "BeginHunt")
    
    	elseif (labelName == "Start") then
    		Walker.ConditionalGoto((Self.Position().z == 11), "BeginHunt", "ReachDepot")
    	
    	elseif (labelName == "DepositGold") then
    		-- Deposit Gold, check balance.
    		Walker.Stop()
    		Self.SayToNpc({"hi", "deposit all", "yes"}, 100)
    
    		local withdrawManas = math.max(BuyMana - Self.ItemCount(ManaID), 0)*ManaCost
    		local withdrawHealths = math.max(BuyHealth - Self.ItemCount(HealthID), 0)*HealthCost
    		local total = math.abs(withdrawManas + withdrawHealths)
    
    		if total >= 1 then
    			Self.SayToNpc({"withdraw " .. total, "yes", "balance"}, 100)
    		end
    		Walker.Start()
    
    	elseif (labelName == "DepositItems") then
    		-- Deposit Items
    		Walker.Stop()
    		Self.ReachDepot(5)
    		Self.DepositItems({12683, 2}, {14043, 2}, {14247, 2}, {14248, 2}, {14250, 2}, {3052, 2}, {13987, 2}, {13990, 2}, {14009, 2}, {14247, 2}, {3052, 2}, {12683, 2}, {14040, 2}, {14042, 2}, {12683, 2}, {14043, 2}, {14247, 2}, {14248, 2}, {14250, 2}, {3052, 2}, {12683, 2}, {14040, 2}, {14042, 2}, {3052, 2}, {13987, 2}, {13990, 2}, {14009, 2}, {14247, 2}, {238, 1}, {239, 1}, {3029, 1}, {12730, 1}, {14010, 1}, {14011, 1}, {14044, 1}, {14142, 1}, {3029, 1}, {3578, 1}, {5895, 1}, {12730, 1}, {14008, 1}, {14085, 1}, {238, 1}, {239, 1}, {3032, 1}, {5895, 1}, {12730, 1}, {14012, 1}, {14013, 1}, {14041, 1}, {14085, 1}, {14252, 1}, {238, 1}, {239, 1}, {3029, 1}, {12730, 1}, {14010, 1}, {14011, 1}, {14044, 1}, {14142, 1}, {238, 1}, {239, 1}, {3032, 1}, {5895, 1}, {12730, 1}, {14012, 1}, {14013, 1}, {14041, 1}, {14085, 1}, {14252, 1}, {281, 1}, {3029, 1}, {3578, 1}, {5895, 1}, {12730, 1}, {14017, 1}, {3029, 1}, {3578, 1}, {5895, 1}, {12730, 1}, {14008, 1}, {14085, 1})
    		Walker.Start()
    
    	elseif (labelName == "BuyManas") then
    		-- Buy Mana Potions
    		Walker.Stop()
    		if (Self.ItemCount(ManaID) < BuyMana) or (Self.ItemCount(HealthID) < BuyHealth) then
    			print("Buying manas or healths")
    			Self.SayToNpc({"hi", "flasks"}, 100)
    			while (Self.ItemCount(FlaskID) >= 1) or (Self.ItemCount(FlaskIDA) >= 1) or (Self.ItemCount(FlaskIDB) >= 1) do
    				Self.SayToNpc("yes", 100)
    			end
    			wait(2000)
    			Self.SayToNpc("trade", 100)
    			wait(2000)
    			while (Self.ItemCount(ManaID) < BuyMana) do
    				Self.ShopBuyItemsUpTo(ManaID, BuyMana)
    				wait(500,800)
    			end
    			if (Self.ItemCount(HealthID) < BuyHealth) then
    				Self.ShopBuyItemsUpTo(HealthID, BuyHealth)
    				wait(500)
    			end
    			wait(200, 500)
    		end
    		Walker.Start()
    
    	elseif (labelName == "CheckGoneUp") then
    		-- Check we're on floor 3
    		Walker.ConditionalGoto((Self.Position().z == 7), "OpenSouth", "Leave")
    
    	elseif (labelName == "CheckGoneDown") then
    		-- Check we're on floor 7
    		Walker.ConditionalGoto((Self.Position().z == 11), "AmDown", "EnterResp")
    
    	elseif (labelName == "BuySpears") then
    			--------------------------------- TODO -------------------------
    		Walker.Stop()
    		Self.SayToNpc({"hi", "trade"}, 100)
    		-- Buy spears, make sure Self.ItemCount returns items in hands.
    		while (Self.ItemCount(AmmoID) < BuyAmmo) do
    			Self.ShopBuyItemsUpTo(AmmoID, BuyAmmo)
    			wait(500,800)
    		end
    		Walker.Start()
    
    	elseif (labelName == "ResetBps") then
    		-- Reset Backpacks
    		Walker.Stop()
    		Self.CloseContainers()
    		Self.OpenMainBackpack(true):OpenChildren({LootBP, true}, {GoldBP, true})
    		Container.GetFirst():Minimize()
    		Walker.Start()
    
    	elseif (labelName == "OpenNorth") then
    		Walker.Stop()
    		Self.UseItemFromGround(Self.Position().x, Self.Position().y - 1, Self.Position().z) 
    		Walker.Start()
    
    	elseif (labelName == "OpenSouth") then
    		Walker.Stop()
    		Self.UseItemFromGround(Self.Position().x, Self.Position().y + 1, Self.Position().z) 
    		Walker.Start()
    
    	elseif (labelName == "MiddleSpawn") then
    		Walker.Stop()
    		Walker.ConditionalGoto(HuntMiddle, "MiddleGo", "MiddleDone")
    		Walker.Start()
    	end
    end
    
    Self.ReachDepot = function (tries)
    	local tries = tries or 3
    	Walker.Stop()
    	local DepotIDs = {3497, 3498, 3499, 3500}
    	local DepotPos = {}
    	for i = 1, #DepotIDs do
    		local dps = Map.GetUseItems(DepotIDs[i])
    		for j = 1, #dps do
    			table.insert(DepotPos, dps[j])
    		end
    	end
    	local function gotoDepot()
    		local pos = Self.Position()
    		print("Depots found: " .. tostring(#DepotPos))
    		for i = 1, #DepotPos do
    			location = DepotPos[i]
    			Self.UseItemFromGround(location.x, location.y, location.z)
    			wait(1000, 2000)
    			if Self.DistanceFromPosition(pos.x, pos.y, pos.z) >= 1 then
    				wait(5000, 6000)
    				if Self.DistanceFromPosition(location.x, location.y, location.z) == 1 then
    					Walker.Start()
    					return true
    				end
    			else
    				print("Something is blocking the path. Trying next depot.")
    			end
    		end
    		return false
    	end
    	
    	repeat
    		reachedDP = gotoDepot()
    		if reachedDP then
    			return true
    		end
    		tries = tries - 1
    		sleep(100)
    		print("Attempt to reach depot was unsuccessfull. " .. tries .. " tries left.")
    	until tries <= 0
    
    	return false
    end
    
    Map.GetUseItems = function (id)
        if type(id) == "string" then
            id = Item.GetID(id)
        end
        local pos = Self.Position()
        local store = {}
        for x = -7, 7 do
            for y = -5, 5 do
                if Map.GetTopUseItem(pos.x + x, pos.y + y, pos.z).id == id then
                    itemPos = {x = pos.x + x, y = pos.y + y, z = pos.z}
                    table.insert(store, itemPos)
                end
            end
        end
        return store
    end
    Last edited by Barao; 07-15-2017 at 02:37 AM.

  3. #93

    Join Date
    Sep 2017
    Posts
    3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Anyone know what to add to make it travel by boat? would really appreciate it!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •