Good uplaod!
Printable View
Good uplaod!
i think line 90
elseif Spell.Hppc and $attacked.hppc <= Spell.Hppc and table.find(Spell.Monsters, $attacked.name:lower()) and $attacked.isshootable and cancastspell(Spell.object, $attacked) then
and HPPC put to 25, i think it should works
thx managed it myself
Hey Leonardo did you checked what is wrong with code? ;>
Regards
Dworak say true i had same problam, anyway its great =]
Did you guys have problem with monsters that are summoned by other thing ? I mean, swarmers are summoned by those pore stuffs. This monster can be considered in a different way by the bot so I need to know to start a fix.
no i had it with all monsters, even if i posted utito tempo 1 kolos or utito tempo 4 insectoid it shoot utito tempo on 1 insectoid too i can't put 2x utito tempo for other monsters idk why
waiting for the update of the action \o\
How can I modificate this to cast "Exevo mas san"?
I tried this but it's not working at all
init start
local Monsters = {"Dragon Hatchling", "Dragon"}
local Players = {
Consider = false,
Distance = 10,
FloorDifference = 1,
SafeList = {"Moha"},
}
local Spells = {
{Name = "exevo mas san", Amount = 2},
{Name = "exori", Amount = 1000},
{Name = "exori min", Amount = 1000},
{Name = "utito tempo", Amount = 1000},
}
local SpecialAreas = {
--{min x, max x, min y, max y, z}
}
-- DO NOT CHANGE ANYTHING BELOW THIS LINE
local i, LastFloor, Exhaust, SpellDurations = 1, $posz, $timems, {["invisible"] = 200, ["blood rage"] = 10, ["train party"] = 120, ["swift foot"] = 10, ["protector"] = 10, ["great light"] = 695, ["creature illusion"] = 180, ["protect party"] = 120, ["light"] = 370, ["magic shield"] = 200, ["strong haste"] = 22, ["haste"] = 33, ["ultimate light"] = 1980, ["sharpshooter"] = 10, ["intense recovery"] = 60, ["recovery"] = 60, ["enchant party"] = 120, ["heal party"] = 120, ["charge"] = 5}
while Spells[i] do
local info = spellinfo(Spells[i].Name)
if #info.words == 0 then
table.remove(Spells, i)
else
Spells[i].NeedDirection = table.find({"WaveSmall", "WaveVerySmall", "WaveBig", "BeamSmall", "BeamBig", "Front", "Strike"}, info.castarea) ~= nil
Spells[i].Monsters = Spells[i].Monsters or Monsters
table.lower(Spells[i].Monsters)
Spells[i].Duration = (SpellDurations[info.name:lower()] or 1) * 1000
Spells[i].Exhaust = $timems
Spells[i].Attack = info.castmode:match("Target") ~= nil
Spells[i].object = info
i = i + 1
end
end
init end
auto(200, 400)
if $posz ~= LastFloor then
LastFloor, Exhaust = $posz, $timems + 2000
return
else
for _, area in ipairs(SpecialAreas) do
local a,b,c,d,e = unpack(area)
if $posx <= b and $posx >= a and $posy <= d and $posy >= c and $posz == e then
return
end
end
end
if $timems >= Exhaust then
for i, Spell in ipairs(Spells) do
if $timems >= Spell.Exhaust and cancastspell(Spell.object) 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 = Spell.Attack and maroundspell(Spell.Name, BestDir, unpack(Spell.Monsters)) or maround(1, false, unpack(Spell.Monsters))
end
if BestAmount >= Spell.Amount then
while $self.dir ~= BestDir do
turn(BestDir)
waitping()
end
cast(Spell.Name) waitping()
Spell.Exhaust = $timems + Spell.Duration
end
elseif Spell.Hppc and $attacked.hppc >= Spell.Hppc and table.find(Spell.Monsters, $attacked.name:lower()) and $attacked.isshootable and cancastspell(Spell.object, $attacked) then
cast(Spell.Name) waitping()
Spell.Exhaust = $timems + Spell.Duration
end
end
end
end
EDIT: I think everything is working perfect except parameter "Distance". How to change that to Exevo mas san Area?