lol thats never worked
Printable View
mmm if i say true idk how to post it there.. hehe :/
After X time bot stop the scripter ... I Mean , The script are still there , but he dont work ...Hard to explain xD ... like the bot skip every label...
But this happen after a X time of boting , not a the first road of the map XD :P
Some one can help me and say how can i upload here an lua script?
THANKS!
mabye equipt items like rings and amulets by hotkey next update? plizzzzzzzzzzzz
[code=lua]BoltsBp = "Purple Backpack"
DefaultBoots = 3079 -- Your Boots ID, Draken Boots ID is 4033, Boots of Haste ID is 3079
ManaToEquip = 90 -- Mana Amount to equip or unequip Soft Boots in percentage
--!!!!!!!!!!!!!!!!!!!!!!!
--!!!DO NOT EDIT BELOW!!!
--!!!!!!!!!!!!!!!!!!!!!!!
function equipSoftBoots()
local BOOTS1ID = 6529 -- Soft Boots ID
local SOFTSINUSE = 3549 -- softs being in use
local Backpack = Container.GetFirst()
if (Self.Feet().id == 6530) then
for Spot = 0, Backpack:ItemCount() do
local Boots = Backpack:GetItemData(Spot)
if (Boots.id == DefaultBoots) then
Backpack:MoveItemToEquipment(Spot, "feet")
end
end
elseif (math.floor((Self.Mana() / Self.MaxMana()) * 100)) < ManaToEquip and (Self.Feet().id ~= SOFTSINUSE) then
for Spot = 0, Backpack:ItemCount() do
local Boots = Backpack:GetItemData(Spot)
if (Boots.id == BOOTS1ID) then
Backpack:MoveItemToEquipment(Spot, "feet")
end
end
elseif (math.floor((Self.Mana() / Self.MaxMana()) * 100)) > ManaToEquip and (Self.Feet().id ~= DefaultBoots) then
for Spot = 0, Backpack:ItemCount() do
local Boots = Backpack:GetItemData(Spot)
if (Boots.id == DefaultBoots) then
Backpack:MoveItemToEquipment(Spot, "feet")
end
end
end
end
function equipLifeRing()
local Backpack = Container.GetFirst()
if (Self.Ring().id ~= 3089) then
for Spot = 0, Backpack:ItemCount() do
local Ring = Backpack:GetItemData(Spot)
if (Ring.id == 3052) then
Backpack:MoveItemToEquipment(Spot, "ring")
end
end
end
end
Self.HealthPercent = function ()
return math.abs(Self.Health() / (Self.MaxHealth() * 0.01))
end
function healer()
if (Self.HealthPercent() < 90) and (Self.HealthPercent() > 71) and (Self.CanCastSpell("exura")) then
Self.Say("exura")
elseif (Self.HealthPercent() < 75) and (Self.HealthPercent() > 56) and (Self.CanCastSpell("exura gran")) then
Self.Say("exura gran")
elseif (Self.HealthPercent() < 60) and (Self.CanCastSpell("exura gran san")) then
Self.Say("exura gran san")
end
end
function SpellCast(spell)
local Monster1 = "Lizard High Guard"
local Monster2 = "Lizard Legionnaire"
local Monster3 = "Lizard Dragon Priest"
local Monster4 = "Killer Caiman"
local TargetID = Self.TargetID()
local Target = Creature.GetByID(TargetID)
local pos = Self.Position()
if (Self.CanCastSpell(spell)) and (Target:Name() == Monster1) and (getDistanceBetween(Target:Position(), pos) <= 4) then
Self.Say(spell)
elseif (Self.CanCastSpell(spell)) and (Target:Name() == Monster2) and (getDistanceBetween(Target:Position(), pos) <= 4) then
Self.Say(spell)
elseif (Self.CanCastSpell(spell)) and (Target:Name() == Monster3) and (getDistanceBetween(Target:Position(), pos) <= 4) then
Self.Say(spell)
elseif (Self.CanCastSpell(spell)) and (Target:Name() == Monster4) and (getDistanceBetween(Target:Position(), pos) <= 4) then
Self.Say(spell)
elseif (not Self.MeetsSpellRequirements(spell)) then
print("%s can not be cast. You either lack the mana or required level!", spell)
end
end
while (true) do
healer()
SpellCast("exori san")
equipSoftBoots()
equipLifeRing()
if (Self.DistanceFromPosition(33197, 31347, 6) < 1) then
gotoLabel("AfterTP")
wait(1000)
elseif (Self.DistanceFromPosition(33144, 31248, 6) < 1) then
gotoLabel("AfterTP1")
wait(1000)
elseif (Self.DistanceFromPosition(33200, 31347, 6) < 1) then
gotoLabel("AfterTP2")
wait(1000)
elseif Self.ItemCount(236) >= 1 and (Self.HealthPercent() <= 65) then
Self.UseItemWithMe(236)
sleep(math.random(200, 600))
elseif Self.ItemCount(283) >= (math.random(10, 15)) then
Self.DropItems(Self.Position().x, Self.Position().y, Self.Position().z, 283, 284, 285)
elseif Self.ItemCount(10328) > 0 then
Self.DropItems(Self.Position().x, Self.Position().y, Self.Position().z, 10328)
elseif Self.ItemCount(3450) >= 1 then
local MainBp = Container.GetFirst()
local DestinationBp = Container.GetByName(BoltsBp)
for spot = 0, MainBp:ItemCount() do
local item = MainBp:GetItemData(spot)
if (item.id == 3450) then
MainBp:MoveItemToContainer(spot, DestinationBp:Index(), 0)
wait(500)
break
end
end
end
wait(200)
end [/code]
Ok I use 2 lua fil in my script , and I notice just one stop work ... maybe it the way they are made ? .. beacause I botted 7 account .. and 3 with the same script , and only this 3 get bug , but before the update I never notice this bug ..
registerEventListener(WALKER_SELECTLABEL, "onWalkerSelectLabel")
function onWalkerSelectLabel(labelName)
if (labelName == "Check1") then
setBotEnabled(false)
if ((Self.ItemCount(3031) >= 1000)) or (Self.Cap() < 90) or ((Self.ItemCount(12517) >= 3)) then
setBotEnabled(true)
gotoLabel("Godepot")
else
setBotEnabled(true)
gotoLabel("Cave2")
end
elseif (labelName == "Check2") then
setBotEnabled(false)
if ((Self.ItemCount(3031) >= 1000)) or (Self.Cap() < 90) or ((Self.ItemCount(12517) >= 3)) then
setBotEnabled(true)
gotoLabel("Godepot")
else
setBotEnabled(true)
gotoLabel("Cave3")
end
elseif (labelName == "Check3") then
setBotEnabled(false)
if ((Self.ItemCount(3031) >= 1000)) or (Self.Cap() < 90) or ((Self.ItemCount(12517) >= 3)) then
setBotEnabled(true)
gotoLabel("Godepot")
else
setBotEnabled(true)
gotoLabel("Cave1")
end
elseif (labelName == "AllezHunt") then
setBotEnabled(false)
gotoLabel("Gocave")
setBotEnabled(true)
elseif (labelName == "Allezdepot") then
setBotEnabled(false)
gotoLabel("Godepot")
setBotEnabled(true)
elseif (labelName == "Place1") then
setBotEnabled(false)
gotoLabel("Cave1")
setBotEnabled(true)
elseif (labelName == "Place2") then
setBotEnabled(false)
gotoLabel("Cave2")
setBotEnabled(true)
elseif (labelName == "Place3") then
setBotEnabled(false)
gotoLabel("Cave3")
setBotEnabled(true)
elseif (labelName == "Bin voir") then
setBotEnabled(false)
gotoLabel("Gocave")
setBotEnabled(true)
elseif (labelName == "Acheterbp") then
setBotEnabled(false)
gotoLabel("Temple")
setBotEnabled(true)
end
end
[code=lua]BoltsBp = "Purple Backpack"
DefaultBoots = 3079 -- Your Boots ID, Draken Boots ID is 4033, Boots of Haste ID is 3079
ManaToEquip = 90 -- Mana Amount to equip or unequip Soft Boots in percentage
--!!!!!!!!!!!!!!!!!!!!!!!
--!!!DO NOT EDIT BELOW!!!
--!!!!!!!!!!!!!!!!!!!!!!!
function equipSoftBoots()
local BOOTS1ID = 6529 -- Soft Boots ID
local SOFTSINUSE = 3549 -- softs being in use
local Backpack = Container.GetFirst()
if (Self.Feet().id == 6530) then
for Spot = 0, Backpack:ItemCount() do
local Boots = Backpack:GetItemData(Spot)
if (Boots.id == DefaultBoots) then
Backpack:MoveItemToEquipment(Spot, "feet")
end
end
elseif (math.floor((Self.Mana() / Self.MaxMana()) * 100)) < ManaToEquip and (Self.Feet().id ~= SOFTSINUSE) then
for Spot = 0, Backpack:ItemCount() do
local Boots = Backpack:GetItemData(Spot)
if (Boots.id == BOOTS1ID) then
Backpack:MoveItemToEquipment(Spot, "feet")
end
end
elseif (math.floor((Self.Mana() / Self.MaxMana()) * 100)) > ManaToEquip and (Self.Feet().id ~= DefaultBoots) then
for Spot = 0, Backpack:ItemCount() do
local Boots = Backpack:GetItemData(Spot)
if (Boots.id == DefaultBoots) then
Backpack:MoveItemToEquipment(Spot, "feet")
end
end
end
end
function equipLifeRing()
local Backpack = Container.GetFirst()
if (Self.Ring().id ~= 3089) then
for Spot = 0, Backpack:ItemCount() do
local Ring = Backpack:GetItemData(Spot)
if (Ring.id == 3052) then
Backpack:MoveItemToEquipment(Spot, "ring")
end
end
end
end
Self.HealthPercent = function ()
return math.abs(Self.Health() / (Self.MaxHealth() * 0.01))
end
function healer()
if (Self.HealthPercent() < 90) and (Self.HealthPercent() > 71) and (Self.CanCastSpell("exura")) then
Self.Say("exura")
elseif (Self.HealthPercent() < 75) and (Self.HealthPercent() > 56) and (Self.CanCastSpell("exura gran")) then
Self.Say("exura gran")
elseif (Self.HealthPercent() < 60) and (Self.CanCastSpell("exura gran san")) then
Self.Say("exura gran san")
end
end
function SpellCast(spell)
local Monster1 = "Lizard High Guard"
local Monster2 = "Lizard Legionnaire"
local Monster3 = "Lizard Dragon Priest"
local Monster4 = "Killer Caiman"
local TargetID = Self.TargetID()
local Target = Creature.GetByID(TargetID)
local pos = Self.Position()
if (Self.CanCastSpell(spell)) and (Target:Name() == Monster1) and (getDistanceBetween(Target:Position(), pos) <= 4) then
Self.Say(spell)
elseif (Self.CanCastSpell(spell)) and (Target:Name() == Monster2) and (getDistanceBetween(Target:Position(), pos) <= 4) then
Self.Say(spell)
elseif (Self.CanCastSpell(spell)) and (Target:Name() == Monster3) and (getDistanceBetween(Target:Position(), pos) <= 4) then
Self.Say(spell)
elseif (Self.CanCastSpell(spell)) and (Target:Name() == Monster4) and (getDistanceBetween(Target:Position(), pos) <= 4) then
Self.Say(spell)
elseif (not Self.MeetsSpellRequirements(spell)) then
print("%s can not be cast. You either lack the mana or required level!", spell)
end
end
while (true) do
healer()
SpellCast("exori san")
equipSoftBoots()
equipLifeRing()
if (Self.DistanceFromPosition(33197, 31347, 6) < 1) then
gotoLabel("AfterTP")
wait(1000)
elseif (Self.DistanceFromPosition(33144, 31248, 6) < 1) then
gotoLabel("AfterTP1")
wait(1000)
elseif (Self.DistanceFromPosition(33200, 31347, 6) < 1) then
gotoLabel("AfterTP2")
wait(1000)
elseif Self.ItemCount(236) >= 1 and (Self.HealthPercent() <= 65) then
Self.UseItemWithMe(236)
sleep(math.random(200, 600))
elseif Self.ItemCount(283) >= (math.random(10, 15)) then
Self.DropItems(Self.Position().x, Self.Position().y, Self.Position().z, 283, 284, 285)
elseif Self.ItemCount(10328) > 0 then
Self.DropItems(Self.Position().x, Self.Position().y, Self.Position().z, 10328)
elseif Self.ItemCount(3450) >= 1 then
local MainBp = Container.GetFirst()
local DestinationBp = Container.GetByName(BoltsBp)
for spot = 0, MainBp:ItemCount() do
local item = MainBp:GetItemData(spot)
if (item.id == 3450) then
MainBp:MoveItemToContainer(spot, DestinationBp:Index(), 0)
wait(500)
break
end
end
end
wait(200)
end [/code]
Some one can check it?
check in order to?
[highlight=lua]
while (true) do
if (Self.DistanceFromPosition(33197, 31347, 6) < 1) then
gotoLabel("AfterTP")
wait(1000)
elseif (Self.DistanceFromPosition(33144, 31248, 6) < 1) then
gotoLabel("AfterTP1")
wait(1000)
elseif (Self.DistanceFromPosition(33200, 31347, 6) < 1) then
gotoLabel("AfterTP2")
wait(1000
[/highlight]
In my opinion this would make you permanently jumping between labels "AfterTP"; "AfterTP1" and "AfterTP2".
This should be made with either oneliner or label manager.
@DarkstaR idk what is happening that the bot is not buying the right amount of mps and in my case if i havent used any ultimate healing potion it buys 1 mor every reffil. idk if theres someone that already said it i havent read all the replies
Most lua's call the function "buyAlotOfItemsBecauseItsSuchAGodDamnBigDeal" instead of Shop.BuyItem or whatever, because of this the script will always buy at least 1 of every item even if you are already have enough. If it's set to buy uhp before manas, and it didn't withdraw money for uhp due to the fact that it doesn't need any and then in turn the script buys one, it'll fail to buy manas. What you need to do is change the amount it withdraw for manas from 50 to around ~75gp that way it'll have enough money to buy both. It'll leave you with a little extra cash in your backpack when you return to the hunt but it'll solve the problem you are having.
thats why I use this one instead.
[code=lua]
function buyItems(item, count) -- item = item ID, count = how many you want to buy up to
wait(900, 1200)
if (Self.ItemCount(item) < count) then
Self.ShopBuyItem(item, (count-Self.ItemCount(item)))
wait(200, 500)
end
end
[/code]
Yesterday looter was working fine again. It's been working fine ever since I last made this post. But now it's back :(
@Demonic Saint. The problem is that i dont use that function "buyAlotOfItemsBecauseItsSuchAGodDamnBigDeal"
@Demonic Saint, @stefps
buyAlotOfItemsBecauseItsSuchAGodDamnBigDeal = Self.ShopBuyItem
Because oh look at that, I made both of them, and they have the same exact contents... Open up the library...
This is the function that is currently in the native library... look familiar?
[code=lua]Self.ShopBuyItem = function(item, count)
local func = (type(item) == "string") and shopBuyItemByName or shopBuyItemByID
count = tonumber(count) or 1
repeat
local amnt = math.min(count, 100)
if (func(item, amnt) == 0) then
return 0, amnt
end
wait(300,600)
count = (count - amnt)
until count <= 0
return 1, 0
end[/code]
@ Joe
u know how to do? :D
@Syntax then what could be the problem?
The function does not check natively for how many you already have, nor should it, that's your job. See how @Infernal Bolt did it above. Quite simple.
@Syntax. so something had changed because the script was working good before the update
then why im having this problem in this new update
I've been botting both Frost dragons and Dragon lords, it seems like the bot skips to pick up 100gp stacks in the monsters some time.
It's always the same thing, the loot is 147 gp or something, it picks up 47 gp first and then ignore then 100gp left.
I must confess, I still experience more bugs even in this updated version.
Many full AFK scripts have gotten stuck in simple places like depositing money (doesn't talk to NPC, gets stuck) or when to travel somewhere (doesn't talk with the NPC on the boat, gets stuck). Also I get random "walker stuck" messeges, without anything blocking me, and after 5-10 seconds it starts moving again.
Also, it goes up stairs and falls down in places more often, eventhough should have been fixed in this version? For example, I have a script I've run several hours without any problems with getting stuck, though after this update I've experienced that my walker has gone up some stairs in DP and gotten stuck there.
Those are the bugs I've come up with so far that's effected me.
I'm really not sure what the problem with the looter could be but I'll check it out. The walker stuck is the same as before with mapclicks but with a bit longer delay. If it thinks it's stuck it will alert twice and try again. This keeps it from spamming mapclick and getting you banned for sending 50 clicks a second for an hour. I still have some tweaks to do to pathfinding as well.
I didnt see your msg, becouse you mentioned me in wrong way.
There must NOT be any space between '@' and nich of user youre mentioning @Tirekos.
on your question.
you should add labels like: 'position check1, position check2' and so on. Then you go to your luafile and add in label manager:
[highlight=lua]
elseif (labelName == "checkpos1") then
if (Self.DistanceFromPosition(x, y, z) > distance)
then gotoLabel("xxxx")
end
[/highlight]
Sorry for tabbing, cant tab in quick reply.
@Joe
and where ill need put it?just at final?
in the function:
[highlight=lua]onWalkerSelectLabel(labelName)[/highlight]
i think the mapclicker has not been completly fixed because sometimes it still get stucked and does not try to find the waypoint again. @DarkstaR
please any1 here can help me, I need an alternative auto looter, wich works only when i open the dead bodies manual, i want it for draken hunts, should be on bp -3 (dragon backpack) I alredy tried with sirmate's looter script but doesnt work and that from spectrus auto open the corpses, i need to open them manual, please would be rlly nice thanks
My bot have started to crash after a while of botting.
@Infernal Bolt
what can I do with oneliner then?
what is max length of the script in it?