Postado Janeiro 11, 2011 14 anos Auto Exori Mostrar conteúdo oculto init start local monsters = {'Sea Serpent', 'Dragon Lord'} local playersetup = {checkplayers = true, checkonlyonfloor = true, maxplayerdist = 7, safelist = {'Bubble', 'Eternal Oblivion'}} local spells = { {name = 'fierce berserk', monsteramount = 5}, {name = 'front sweep', monsteramount = 2}, {name = 'berserk', monsteramount = 3}, {name = 'annihilation', targethp = 45}, {name = 'brutal strike', targethp = 30}, {name = 'groundshaker', monsteramount = 7}, {name = 'whirlwind throw', targethp = 15}, } --dont change things below local searchtype = 'p' if playersetup.checkonlyfloor then searchtype = 'pf' end table.lower(playersetup.safelist) table.lower(monsters) for i,j in ipairs(spells) do if spells[i].name ~= 'strike' and spells[i].name ~= 'strong strike' then spells[i].info = spellinfo(j.name) if not spells[i].info then table.remove(spells,i) end end if spells[i].info and table.find({'front', 'bigbeam','smallbeam','bigwave','smallwave','strike'},spells[i].info.condition) then spells[i].needdir = true else spells[i].needdir = false end end local function haveplayer() if playersetup.checkplayers then foreach creature p searchtype do if p ~= $self and p.dist <= playersetup.maxplayerdist and not table.find(playersetup.safelist,p.name:lower()) then return true end end end return false end init end auto(100) for i,j in ipairs(spells) do if (j.info and cancastspell(j.info)) or cancastspell(j.name,$attacked) then if not haveplayer() and j.monsteramount then local highest,bestdir = 0 if j.needdir then highest, bestdir = 0 local dirs = {w = 0, e = 0, n = 0, s = 0} for a,b in pairs(dirs) do b = maroundspell(j.info.condition, a, table.unpack(monsters)) if b > highest or (b >= highest and a == $self.dir) then highest = b bestdir = a end end else highest = maroundspell(j.info.condition, table.unpack(monsters)) bestdir = $self.dir end if highest >= j.monsteramount then if $self.dir ~= bestdir then turn(bestdir) wait(50,70) end cast(j.info.words) wait(cooldown('attack')) end elseif j.targethp and $attacked.id ~= 0 and $attacked.hppc <= j.targethp and cancastspell(j.info,$attacked) then cast(j.info.words) wait(cooldown('attack')) end end end Healer Elite Knight serve para usar UHP, GHP, etc. apenas se estiverem visiveis! Mostrar conteúdo oculto local setup = { potions = { uhp = {hppc = {35,45}, mppc = {100,100}, exaust = {400,600}, id = 7643, visible = false}, ghp = {hppc = {45,55}, mppc = {100,100}, exaust = {400,600}, id = 239, visible = true}, shp = {hppc = {60,70}, mppc = {100,100}, exaust = {900,1000}, id = 236, visible = true}, mp = {hppc = {100,100}, mppc = {60,85}, exaust = {900,1000}, id = 268, visible = true}, }, spells = { intenserecovery = {hppc = {30,40}, exaust = {1000,1200}, info = spellinfo('intense recovery')}, recovery = {hppc = {60,70}, exaust = {1000,1200}, info = spellinfo('recovery')}, intensewoundcleansing = {hppc = {60,70}, exaust = {1000,1200}, info = spellinfo('intense wound cleansing')}, woundcleansing = {hppc = {80,90}, exaust = {1000,1200}, info = spellinfo('wound cleansing')}, } } local potexaust, spellexaust = 0, 0 for i,j in pairs(setup.potions) do j.randmp = math.random(table.unpack(j.mppc)) j.randhp = math.random(table.unpack(j.hppc)) end for i,j in pairs(setup.spells) do j.randhp = math.random(table.unpack(j.hppc)) end init end auto(100) if $timems > potexaust then for i,j in pairs(setup.potions) do if $hppc <= j.randhp and $mppc <= j.randmp and (not j.visible or itemcount(j.id) > 0) then useoncreature(j.id,$self) potexaust = $timems+math.random(table.unpack(j.exaust)) j.randhp = math.random(table.unpack(j.hppc)) j.randmp = math.random(table.unpack(j.mppc)) break end end end if $timems > spellexaust then for i,j in pairs(setup.spells) do if $hppc <= j.randhp and cancastspell(j.info) then cast(j.info.words) spellexaust = $timems+math.random(table.unpack(j.exaust)) j.randhp = math.random(table.unpack(j.hppc)) break end end end Exeta Res nesse caso vai seguir o 'Hellspawn', e falar 'exeta res', se o 'Bubble' disser exura, exura gran, exura vita ou exura san, o que significa que ele foi atacado pelo hellspawn. Mostrar conteúdo oculto init start local playername = 'Bubble' local creaturetores = 'Hellspawn' local player init end auto(200) player = player or findcreature(playername) foreach newmessage m do if m.sender == playername and m.content:find('exura') then local c foreach creature p 'mf' do if p.name == creaturetores and (math.abs(player.posx-p.posx) <= 1 and math.abs(player.posy-p.posy) <= 1 and player.posz == p.posz) then c = p break end end if c then if not (math.abs($posx-c.posx) <= 1 and math.abs($posy-c.posy) <= 1 and $posz == c.posz) then reachcreature(c) end if cancastspell('challenge') then cast('exeta res') end end end end Exori X Monstro Mostrar conteúdo oculto init start local monsterstoexori = {'Wyrm', 'Energy Elemental'} --monstros pra soltar exori local amounttoexori = 3 --quantidade de monstros pra soltar exori local worldtype = 'pvp' local safelist = {'Bubble', 'Eternal Oblivion'} local consideronlyfloor = true local playersdist = 7 local spell = 'exori' local spellmp = 120 for i=1, #safelist do safelist[i] = safelist[i]:lower() end init end auto(100)local monstersaround,p,searchtype,i = 0if not monsterstoexori[1] then monstersaround = maround(1) else for i=1,#monsterstoexori do monstersaround = monstersaround+maround(1,monsterstoexori[i]) end end local foundplayer = falseif (worldtype == 'pvp') then if consideronlyfloor then searchtype = 'pf' else searchtype = 'p' end foreach creature p searchtype do if p ~= $self then local playername = p.name:lower() i = 1 while (i <= #safelist) and (safelist[i] ~= playername)do i = i+1 end if (i > #safelist) and p.dist <= playersdist then foundplayer = true break end end end endif (monstersaround >= amounttoexori) and ($mp >= spellmp) and (not foundplayer) then cast(spell) wait(900,1200)end
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.