Having trouble with a couple of scripts, any help?
I've been having trouble with a couple of scripts. It might be cause they are older and I've altered them to suit my needs, but they'll work....whenever they please instead of when I'm wanting them too. Neither code was mine to begin with, and kudos to the ones that made them in the beginning, I've been playing Tibia off and on for nearly 20 years (give or take). I'm not sure when I got them nor whom actually first made the scripts, but I'm giving them their due for making them to begin with.
That being said any help would be most grateful, and of course if anybody can get them to work properly, enjoy them.
Oh and the OT server I play on is Pandorum.eu, if you need to use the same server to help me figure out what I've done wrong.
Thanks to all.
KennethFlynn
Code Script 1 ~ All coins Pick up.
(The OT Server I play on sometimes will suddenly drop coins in different areas after the server safe at 2am EST. Now this will work sometimes and not at others. Any help would be nice.)
Code:
init start
local itemsID = {'3031', '3035', '3043'}
local CollectingBackpack = 'Backpack of Holding' -- bp to collect items to
local capMin = 0 ------ min cap to pick up any item u set
table.id(itemsID)
init end
auto(1000)
for j = -7, 7 do
for i = -5, 5 do
for _, v in ipairs(itemsID) do
local top = topitem($posx+j, $posy+i, $posz).id
if windowcount(moveOnBp) == 1 and $cap >= capMin and itemproperty(top, ITEM_PICKUPABLE) and $attacked.id == 0 then
moveitems(v, moveOnBp, ground($posx+j, $posy+i, $posz), 100) waitping()
end
end
end
end
Code 2 Script ~ OT Training Monk Spells
(Again OT server I play on has spells for Level 300+ Vocations. Each Voc has a different spell and I've tried to use them during Training to gain Magic Levels a little faster. And if I can get them to work properly, I'd love to add them into my hunting areas as well.
Voc spells are as follows:
Paladins = divine
Knights = berserk
Druids = morta
Code:
init start
local Monsters = {"Training Monk"}
local Players = {
Consider = true,
Distance = 10,
FloorDifference = 1,
SafeList = {"Bubble", "Eternal Oblivion"},
}
local Spells = {
{Name = "divine", Mppc = 160},
}
local SpecialAreas = {
-- {min x, max x, min y, max y, z}
}
local UseTargetState = true
-- DO NOT CHANGE ANYTHING BELOW THIS LINE
local i, LastFloor, Exhaust = 1, $posz, $timems
while Spells[i] ~= nil do
Spells[i].Info = spellinfo(Spells[i].Name)
if Spells[i].Info.words == 0 then
table.remove(Spells, i)
else
Spells[i].Monsters = Spells[i].Monsters or Monsters
Spells[i].NeedDirection = table.find({"WaveSmall", "WaveMedium", "WaveVerySmall", "WaveBig", "BeamSmall", "BeamBig", "Front", "Strike"}, Spells[i].Info.castarea) ~= nil
Spells[i].AttackSupport = Spells[i].Info.group:match("Support") ~= nil
table.lower(Spells[i].Monsters)
i = i + 1
end
end
init end
auto(200, 400)
if $posz ~= LastFloor then
LastFloor, Exhaust = $posz, $timems + 2000
return
end
if $timems >= Exhaust and ($targeting or not UseTargetState) then
for _, Spell in ipairs(Spells) do
if cancast(Spell.Info) and not isinsidearea(SpecialAreas) then
if Spell.Amount and (not Players.Consider or paroundfloorignore(Players.Distance, Players.FloorDifference, unpack(Players.SafeList)) == 0) then
local BestAmount, BestDir = 0, $self.dir
if Spell.NeedDirection then
for Dir, Amount in pairs({n = 0, e = 0, s = 0, w = 0}) do
Amount = maroundspell(Spell.Name, Dir, unpack(Spell.Monsters))
if Amount > BestAmount or (Amount >= BestAmount and Dir == $self.dir) then
BestAmount, BestDir = Amount, Dir
end
end
else
BestAmount = not Spell.AttackSupport and maroundspell(Spell.Name, BestDir, unpack(Spell.Monsters)) or maround(1, false, unpack(Spell.Monsters))
end
if BestAmount >= math.max(Spell.Amount, 1) then
while $self.dir ~= BestDir do
turn(BestDir) waitping()
end
cast(Spell.Name) waitping()
end
elseif Spell.Hppc and $attacked.hppc >= math.max(Spell.Hppc, 1) and table.find(Spell.Monsters, $attacked.name:lower()) and cancast(Spell.Info, $attacked) then
cast(Spell.Name) waitping()
end
end
end
end