Ir para conteúdo

Featured Replies

Postado

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!!.

  • Respostas 17
  • Visualizações 966
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • tetheuscunha
    tetheuscunha

    Qual versão do TFS???       Pro 0.4 (não testei, testa e me avisa se der algum erro)

  • tetheuscunha
    tetheuscunha

    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

  • @Nto Advance lamento a demora, estava busy hard. Hahaha   script: Onde eu coloquei configuração, é pra você poder centralizar o efeito caso ele seja meio torto, onde tem 500 é o tempo

Posted Images

Postado
  • 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 
 

 

 

1pscnq.gif.7f54df0387f21891854c65d1e7882682.gif

 

a spell e igual o gif acima,sao os meteoros e a lava que te falei

Postado
5 horas atrás, Nto Advance disse:

script foda cara parabens,soque nao tira a lava ´;/ a lava fica la

1pscnq.gif.7f54df0387f21891854c65d1e7882682.gif

 

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

@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

 

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Postado
  • 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo