Finnaly! :D
Darkstar my friend, how you doing in Electric Ladyland?
I heard you get angry due my small release for polish mates from Cebuland.
What you know about cracking?
Why you dont fix Tibiasock.dll? Don't tell me about lack of time. We both know that you laze all night long.
I just downloaded crack for XenoBot. @DarkstaR can you help me configure it?
No i don't have
I noticed one, with conversion calling (push 1 -> mov cl,1) so how we know, this means that they change it into fastcall or thiscall.Quote:
I might re-write it to be better (there are a lot of issues with how it currently works)
Rest of function have small differences beetween opcodes.
Trust me, it looks like you wanted to take monopoly in bot's underground.
And tell me why Xenobot is crackable via Cheat Engine and poor webserver?
They changed compilers and the new one is aggressively implementing __fastcall. The previous compiler only did it to standalone integers, but this one is doing, always, to the first 2 4-byte elements. So even if you have:
struct pos { DWORD x, y, z; }
func(pos)
pos.x and pos.y still get passed using registers.
Oh my dear friend. Take a look on tpforums and back with memory 4 years ago.
Diff is not with new users but with old pricks, which left forums. You are one of them.
It not seems like you go to sweet 'retirement', but i couldnt see you there. That's why i said you grab monopoly.
You got big knowlegde about Tibia Internals and Programming, but i angry for you due your disrespectful behaviour.
Look at this: http://web.archive.org/web/201004200.../tpforums.org/
That was a library for newcomes.
Do something with this! There are still ppl who want help!
It seems that you made a grade and you let go.
Look at BlackD, he still updating his tools even if he no takes money for this. He release on his forums new things and ways.
That's the point of my angry on you.
Today i was released sources of new container structures for my buddies, but you got them yesterday and i could saw them anywhere. Tell me why? Your 0 of time? It that really hard to copy 10 lines of code and paste 'em?
"W imię zasad skurwysynu"
@DarkstaR
No idea if you notice my report earlier but seems like something is interrupting the Self.DepositItems() function, sometimes it doesn't deposit all items - ie. when all items are split into 2 functions, first for rares and second for stackable items then it sometimes doesn't deposit stackable items at all. Few people can confirm that. And it's not my connection for sure.
Yes, got it like that:
lua code:Self.DepositItems({7427, 0}, {21175, 0}, {3318, 0}, {21174, 0}, {3381, 0}, {3037, 0}, {21176, 0}, {3039, 0}, {3091, 0}, {8082, 0}, {7401, 0}, {3415, 0}, {7425, 0}, {21177, 0}, {21166, 0}, {3371, 0}, {3370, 0}, {3049, 0}, {3098, 0})
wait(500, 1000)
Self.DepositItems({21200, 1}, {7443, 1}, {5911, 1}, {21201, 1}, {5912, 1}, {5910, 1}, {21204, 1}, {21199, 1}, {239, 1}, {238, 1}, {236, 1}, {21202, 1}, {11473, 1}, {11472, 1}, {5878, 1})
wait(500, 1000)
Self.DepositItems({3029, 2}, {3032, 2}, {3033, 2}, {3030, 2}, {3028, 2}, {9057, 2}, {5944, 2})
still failed to deposit items from 2nd and 3rd function call. Restarting walker at Deposit label and it deposited properly, it works fine sometimes and sometimes it doesn't.
It simply deposit items from first function call, then open browse field where locker is and it's done, Walker keeps going.
@Nakuu, why are you splitting it into two functions? This isn't an issue related to Apophis either, it's never worked well calling it back to back. Keep it in one function.
There's a reason you can specify multiple destination backpacks. If you really want to use multiple deposit functions, close your containers after the first deposit >.< it needs to reset.
I don't see why you would though, it's faster to do it in one.
@Syntax
Worked fine before 10.50 update therefore seems like a bug introduced in latest update to me. Probably because DarkstaR added BrowseField to OpenDepot function. Anyway looking at the code it seems like calling function twice shouldn't really matter...
And sure, I can do quick-fix to over ~150 scripts, dunno about other scripters though + people who doesn't check forum every day for script updates.
The problem is the competition is now using anything I release against me, I can't keep promoting that. And it's a dead forum, you can't blame me for that. When I stay up from midnight until 1:30 PM with no sleep on 32 hours of up time, you can't expect me to just go post that information freely while my competitors are still looking for it. That's just retarded.
was not working, but fixed it in 30 seconds and added shit items drop :D Thanks!!
This is the one after my edit
lua code:function Self.RemoveRust()
local rustyitems = {8894, 8895, 8896, 8897, 8898, 8899}
local function getFlaskContainer()
local cont = Container.GetFirst()
while (cont:isOpen()) do
if ((cont:CountItemsOfID(9016)) > 0) then
return cont
end
cont = cont:GetNext()
end
return nil
end
local contto = Container.GetFirst()
while (contto:isOpen()) do
for _, item in ipairs(rustyitems) do
if (contto:CountItemsOfID(item) > 0) then
contfrom = getFlaskContainer()
if (not contfrom) then
return false
end
for spotfrom = 0, contfrom:ItemCount() - 1 do
if (contfrom:GetItemData(spotfrom).id == 9016) then
for spotto = 0, contto:ItemCount() - 1 do
if (contto:GetItemData(spotto).id == item) then
local unrust = false
while (not unrust) do
unrust = contfrom:UseItemWithContainerItem(spotfrom, contto:Index(), spotto)
wait(800, 1500)
end
return true
end
end
end
end
end
end
contto = contto:GetNext()
end
return true
end
function dropshit()
if (Self.ItemCount(3357) > 0) or (Self.ItemCount(3377) > 0) or (Self.ItemCount(3359) > 0) or (Self.ItemCount(3358) > 0) or (Self.ItemCount(3372) > 0) or (Self.ItemCount(3558) > 0) or (Self.ItemCount(3557) > 0) or (Self.ItemCount(3362) > 0) then
Self.DropItems(Self.Position().x, Self.Position().y, Self.Position().z, 3357, 3377, 3359, 3358, 3372, 3558, 3557, 3362)
wait(2000)
end
end
while (true) do
Self.RemoveRust()
wait(2000)
dropshit()
wait(1000)
end
Sweet :)
Btw. @Rydan, I guess you have to fix your Loot/Deposit List Creator script as well then since it creates 2 functions for stackables/nonstackables, just to not spread 'wrong function's usage' ;)
EDIT#1:
Deposit function also fails to deposit all items when you've looted dozens of same item - ie. I always loot like 5-10 each refill of heavy trident and I end up with like 2-3 left in my backpack even though there is plenty of space left in the depot's backpacks.
Will u post when Xenosuit can be restarted with the new wait during deposit? @DarkstaR
Same here on a lot of scripts, since the neo-bot.comwhatever loot generator separated the lines, so its easier to dismiss the items that shouldent be there (like mana pots that u use etc).
As said, can be done on all just a matter of time ,but I dont see why the code wouldent work? It used to work just fine.
You have it backwards.
The code shouldn't have worked very well at all on multiple lines, you're depositing into backpacks that have already been dug down into. That should be a clear sign that something is wrong.
When the deposit function was first released everyone (mostly) used it properly. For some reason, now, it's being called multiple times in everyone's script. Anyways, Nick will fix the issue by adding a delay and closing the depot and depot backpacks.
I do recommend you fix your scripts though. You can span the table across multiple lines and tab properly if you wish to distinguish the items, it's cleaner than multiple functions.
lua code:Self.DepositItems(
-- First Depot Backpack
{7427, 0},
{21175, 0},
{3318, 0},
{21174, 0},
{3381, 0},
-- Second Depot Backpack
{21200, 1},
{7443, 1},
{5911, 1},
{21201, 1},
{5912, 1}
)
Btw, is it meant to be that if mana pots is not visible, he wont even try to use them?
Sure good thing to have anti-spam so it dont go around spaming when on 0, but when you have a 1000 in a backapck thats not open, its going to try to use lvl 50+ manas, even tho its a knight without any such thing in support?
Hey guys since the update my backpackreset on scripts stopped working. any idea how i can fix this ?
Sorry not sure how to fit it in coding hope this is what you need
lua code:
elseif (labelName == "ResetBps") then
delayWalker(2000)
setWalkerEnabled(false)
Container.Close(goldBP)
sleep(math.random(500, 1000))
Container.GetFirst():OpenChildren(goldBP)
sleep(math.random(500, 1000))
setWalkerEnabled(true)
function openBackpacks(...)
local backpacks = {...} -- List of backpacks to open.
local open = Container.GetIndexes() -- List of already open backpacks.
local main = Container.GetFirst() -- First open container is assumed to be main backpack (will be 0 if no container is open).
local toOpen = #backpacks -- Number of backpacks we need to open (used to check success).
local defaultOpen = {} -- A place to store the backpacks to open by container:OpenChildren(), if any.
local bps = {} -- A place to store the backpacks to open by container:UseItem(), if any. Why not always use :OpenChildren()? This way I can open bps by their relative position instead of id, so you don't have to worry about colours anymore.
if main:ID() == 0 then -- If no backpack is open, we need to open main.
if backpacks[1] ~= Self.Backpack().id then
toOpen = toOpen + 1
end
repeat -- Open main backpack.
wait(200, 600)
until Self.UseItemFromEquipment("backpack") > 0
wait(500)
main = Container.GetFirst()
end
for i = 1, #backpacks do
if type(backpacks[i]) == "table" then
if backpacks[i][1] > 16 then
if backpacks[i][2] ~= main:Index() then
main = Container.GetFromIndex(backpacks[i][2])
for spot = 0, main:ItemCount()-1 do
local item = main:GetItemData(spot)
if Item.isContainer(item.id) then
table.insert(bps, spot)
end
end
main:UseItem(bps[backpacks[i][1]])
wait(500, 900)
end
elseif backpacks[i][1] ~= main:ID() then
main = Container.GetFromIndex(backpacks[i][2])
main:OpenChildren(backpacks[i][1])
wait(500, 900)
end
elseif backpacks[i] < 16 then
if i == 1 then
for spot = 0, main:ItemCount()-1 do
local item = main:GetItemData(spot)
if Item.isContainer(item.id) then
table.insert(bps, spot)
end
end
for _, num in ipairs(backpacks) do
main:UseItem(bps[num])
wait(500, 900)
end
break
end
elseif backpacks[i] ~= main:ID() then
table.insert(defaultOpen, backpacks[i])
end
end
if #defaultOpen > 0 then
main:OpenChildren(unpack(defaultOpen))
end
wait(400)
if #open + toOpen == #Container.GetIndexes() then
return true
end
return false
end
function getOpenBackpacks()
local indexes = Container.GetIndexes() -- Find index for all open backpacks
local open = {} -- Create a place to store our open backpacks
for i = 1, #indexes do -- Search all open backpacks
tmpBP = Container.GetFromIndex(indexes[i])
table.insert(open, tmpBP:ID()) -- Store this backpack
end
return open -- Return found backpacks
end
function resetBackpacks(reset)
setWalkerEnabled(false)
local open = {} -- Create a table to hold backpack list
local close = {}
local indexes = Container.GetIndexes() -- Get ids of open backpacks.
if reset then
if reset > 0 and reset < #indexes then
for i = (#indexes-reset)+1, #indexes do
table.insert(open, indexes[i])
end
else
for i = 2, #indexes do -- If 'reset' is above the number of open backpacks we should reset all.
table.insert(open, indexes[i])
end
end
else
for i = 2, #indexes do -- If 'reset' is nil (empty argument) we should reset all backpacks.
table.insert(open, indexes[i])
end
end
local tries = 3 -- Give the script 3 tries to achieve a successful reset.
repeat
if reset then
if reset > 0 and reset < #indexes then
closeBackpacks(unpack(open)) -- Close selected backpacks
else
Self.CloseContainers() -- Close all backpacks.
end
else
Self.CloseContainers() -- Close all backpacks
end
wait(600, 800) -- wait a little while
local reopen = openBackpacks(unpack(open)) -- I store the return from openBackpacks, true if successfull, false otherwise
if tries == 0 then -- Check how many tries the function has left
print("BackpackReset failed!") -- Tell the user that reset has failed
return false
end
tries = tries - 1 -- One try has been spent
wait(100,200)
until reopen -- If reopen is true it means all backpacks were opened successfully and function is done
setWalkerEnabled(true)
return true
end
@lonatic
Just try replacing this line:
lua code:Container.GetFirst():OpenChildren(goldBP)
with:
lua code:Self.OpenMainBackpack(true):OpenChildren({goldBP,true})
lol that bp resetter tho >.<
That closed my backpacks, Disabled walker. Didnt re open any and enable walker again :/
Changed it as you told - to call it only once - and it didn't deposit my rare items at all, dunno if it's any better sadly :(
Deposited (stackable) items to first backpack in depo just fine (it had to go deeper into cascaded backpacks) then re-opened browse field (to open second backpack in depot) and got stuck here (as you can see on the screenshot) trying to do some crazy shit, eventually stopped trying and ran away.
Here is the screenshot: http://i.imgur.com/Y1fdQl3.png
well, i think it should get count of containers opened before it starts to depositing. I am looting items to 6 different bps and when its going to depositer browse field window is 7th and loot bp 8th. When bot deposit items to one bp then its trying to open browse field again and its getting closed and open again. Then loot bp is moving to 7th spot and its trying to deposit items already deposited from 7th backpack. Its staying really long next to depot and finnaly when its leaving its not depositing items which bot should put to other bps. Items which should be deposited to first backpack are deposited fine, and then its moving items in this first bp on and on and not depositing anything else.
Edit: It works same way with one function or multiple functions, same problem.
please ADD link download 10.50 preview