Postado Maio 26, 2017 8 anos Desculpe a demora. Arrumei aqui, o erro estava dando porque dentro da sua lib não tinha a área SQUARE1x1 já determinada. Mudei o jeito de colocar a area. O ARR1 e do TRAP, ARR2 e do attack. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 36) setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 1497) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 43) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 36) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -40, -4, -15, -5) arr1 = { {1, 1, 1}, {1, 2, 1}, {1, 1, 1} } arr2 = { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 500, parameters) return TRUE end Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.
Postado Maio 26, 2017 8 anos Autor 2 horas atrás, tetheuscunha disse: Desculpe a demora. Arrumei aqui, o erro estava dando porque dentro da sua lib não tinha a área SQUARE1x1 já determinada. Mudei o jeito de colocar a area. O ARR1 e do TRAP, ARR2 e do attack. Ocultar conteúdo local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 36) setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 1497) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 43) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 36) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -40, -4, -15, -5) arr1 = { {1, 1, 1}, {1, 2, 1}, {1, 1, 1} } arr2 = { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 500, parameters) return TRUE end script foda cara parabens,soque nao tira a lava ´;/ a lava fica la 2 horas atrás, tetheuscunha disse: Desculpe a demora. Arrumei aqui, o erro estava dando porque dentro da sua lib não tinha a área SQUARE1x1 já determinada. Mudei o jeito de colocar a area. O ARR1 e do TRAP, ARR2 e do attack. Mostrar conteúdo oculto local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 36) setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 1497) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 43) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 36) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -40, -4, -15, -5) arr1 = { {1, 1, 1}, {1, 2, 1}, {1, 1, 1} } arr2 = { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 500, parameters) return TRUE end a spell e igual o gif acima,sao os meteoros e a lava que te falei
Postado Maio 27, 2017 8 anos 5 horas atrás, Nto Advance disse: script foda cara parabens,soque nao tira a lava ´;/ a lava fica la a spell e igual o gif acima,sao os meteoros e a lava que te falei O negocio da larva é no items.xml Procura o id da larva que voce quer e coloca essas linhas <attribute key="decayTo" value="0" /> <attribute key="duration" value="20" /> Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.
Postado Maio 27, 2017 8 anos @Nto Advance Spoiler local remove_time = 5 -- tempo em segundos para remover as magic wall local item_id = 5750 -- id da magic wall function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 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 function removeItem(posAll) for i=1, #posAll do for j=0, 255 do pos_stack = {x=posAll[i].x,y=posAll[i].y,z=posAll[i].z,stackpos=j} removeTile = getThingfromPos(pos_stack) if removeTile.itemid == item_id then doRemoveItem(removeTile.uid) end end end end function onCastSpell(cid, var) local waittime = 3 -- Tempo de exhaustion em segundos local storage = 5853 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas! if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.") return false end local pos = getThingPos(getCreatureTarget(cid)) posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1} posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1} posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1} posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1} posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1} posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1} posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1} posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1} posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8} for i=1, #posAll do if isWalkable(posAll[i]) then doCreateItem(item_id, 1, posAll[i]) end end addEvent(removeItem, remove_time*1000, posAll) exhaustion.set(cid, storage, waittime) return true end
Postado Maio 27, 2017 8 anos Autor 5 minutos atrás, KotZletY disse: @Nto Advance Ocultar conteúdo local remove_time = 5 -- tempo em segundos para remover as magic wall local item_id = 5750 -- id da magic wall function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 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 function removeItem(posAll) for i=1, #posAll do for j=0, 255 do pos_stack = {x=posAll[i].x,y=posAll[i].y,z=posAll[i].z,stackpos=j} removeTile = getThingfromPos(pos_stack) if removeTile.itemid == item_id then doRemoveItem(removeTile.uid) end end end end function onCastSpell(cid, var) local waittime = 3 -- Tempo de exhaustion em segundos local storage = 5853 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas! if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.") return false end local pos = getThingPos(getCreatureTarget(cid)) posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1} posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1} posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1} posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1} posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1} posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1} posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1} posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1} posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8} for i=1, #posAll do if isWalkable(posAll[i]) then doCreateItem(item_id, 1, posAll[i]) end end addEvent(removeItem, remove_time*1000, posAll) exhaustion.set(cid, storage, waittime) return true end Amigo o script e Perfeito,so que esta com 1 erro e nao esta completo. [18:29:14.957] [Error - Spell Interface] [18:29:14.959] data/spells/scripts/bijuu/yonbi/yonbi.lua:onCastSpell [18:29:14.962] Description: [18:29:14.962] data/spells/scripts/bijuu/yonbi/yonbi.lua:47: attempt to index local 'pos' (a boolean value) [18:29:14.962] stack traceback: [18:29:14.977] data/spells/scripts/bijuu/yonbi/yonbi.lua:47: in function <data/spells/scripts/bijuu/yonbi/yonbi.lua:34> e nao esta caindo os meteoros
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.