Postado Fevereiro 22, 2015 11 anos Autor Pronto: Você vai ter que fazer uma pequena alteração no seu spells.xml, deixando ele assim: <instant name="Dark Hole" words="buraco negro" lvl="160" direction="1" mana="500" prem="1" exhaustion="2000" needlearn="0" event="script" value="especiais/buraco negro.lua"> <vocation id="6"/> <vocation id="7"/> <vocation id="5"/> </instant> com esse direction = "1" e o script vc deve deixar assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4) arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) local function canEffect(pos, pz, proj) -- Night Wolf based on Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end local function isEven(arg) return arg % 2 == 0 and true or false end function onCastSpell(cid, var) local dist = 4 -- distancia que vai sair o buraco negro (4 sqm pra frente) --------------------------------------- local dir = getPlayerLookDir(cid) + 1 local dirx = dist * (isEven(dir) and (dir == 2 and 1 or -1) or 0) local diry = dist * (isEven(dir) and 0 or (dir == 1 and -1 or 1)) ---------------------------------------------------------------- local pos = {x = getPlayerPosition(cid).x + dirx, y = getPlayerPosition(cid).y + diry, z = getPlayerPosition(cid).z} local raio = 3 -- alcance do buraco negro i = ((pos.x)-raio) while i <= ((pos.x)+raio) do j = ((pos.y)-raio) while j <= ((pos.y)+raio) do player = getThingfromPos({x=i,y=j,z=pos.z,stackpos=253}) if ((isMonster(player.uid) or isPlayer(player.uid)) and ((math.abs(i-(pos.x)) > 1) or (math.abs(j-(pos.y)) > 1)) and (canEffect({x = i, y = j, z = pos.z}))) then npos = getClosestFreeTile(cid, pos, false, true) if canEffect(npos) then doSendMagicEffect(npos, 10) doTeleportThing(player.uid,npos, false) end end j = j + 1 end i = i + 1 end doCombat(cid, combat, var) return true end Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Setembro 6, 2017 9 anos Autor aqui: setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
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.