Ir para conteúdo
  • 0

Spells


Helflin

Pergunta

Bom,

 

\data\spells\scripts\attack\fire bomb.lua

 

 

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1492)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)

function onCastSpell(cid, var)
local from,to = {x = 133, y = 52, z =7},{x = 161, y = 76, z =7} --zombie event
local from,to = {x = 981, y = 1027, z =7},{x = 1007, y = 1046, z =7} -- demon oak
local from,to = {x = 1076, y = 1175, z =7},{x = 1097, y = 1197, z =7} -- yalahar quest
if isInRange(getCreaturePosition(cid), from, to) then
doPlayerSendCancel(cid, "Não é permitido usar FireBomb Rune aqui espertinho!!")
return true
end

return doCombat(cid, combat, var)
end

 

 

 

Acontece o seguinte,

local from,to = {x = 133, y = 52, z =7},{x = 161, y = 76, z =7} --zombie event
local from,to = {x = 981, y = 1027, z =7},{x = 1007, y = 1046, z =7} -- demon oak
local from,to = {x = 1076, y = 1175, z =7},{x = 1097, y = 1197, z =7} -- yalahar quest

Não funciona os três lugares, funciona apenas em um lugar. Eu gostaria que fosse proibido usar a runa nesses 3 lugares.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Meu rapaz, você declara a variável uma vez e depois redefine seu valor duas vezes, claro que vai checar uma posição só.

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1492)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)

local positions = {
	{{x = 133, y = 52, z = 7}, {x = 161, y = 76, z = 7}},
	{{x = 981, y = 1027, z = 7}, {x = 1007, y = 1046, z = 7}},
	{{x = 1076, y = 1175, z = 7}, {x = 1097, y = 1197, z = 7}},
}

function onCastSpell(cid, var)
	for _, position in ipairs(positions) do
		if isInRange(getCreaturePosition(cid), position[1], position[2]) then
			doPlayerSendCancel(cid, "Não é permitido usar Firebomb Rune aqui, espertinho!!")
			return false
		end
	end
	return doCombat(cid, combat, var)
end
Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

  • 0

Meu parceiro, sou iniciante ainda ;D

 

 

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1492)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)

local positions = {
{{x = 133, y = 52, z = 7}, {x = 161, y = 76, z = 7}},
{{x = 981, y = 1027, z = 7}, {x = 1007, y = 1046, z = 7}},
{{x = 1076, y = 1175, z = 7}, {x = 1097, y = 1197, z = 7}},
}

function onCastSpell(cid, var)
for _, position in ipairs(positions) do
if isInRange(getCreaturePosition, position[1], position[2] then
doPlayerSendCancel(cid, "Não é permitido usar Firebomb Rune aqui, espertinho!!")
return false
end
end
return doCombat(cid, combat, var)
end

 

 

 

Deu erro:

2gvn3h2.jpg

 

 

Resolvido, PODEM FECHAR O TÓPICO, vlws.

 

alterei:

        if isInRange(getCreaturePosition, position[1], position[2] then

para:

        if isInRange(getCreaturePosition(cid), position[1], position[2]) then
Editado por Helflin
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...