Ir para conteúdo
  • 0

Moveevent Ao Equipar Colar Envoca Criatura Ao Tirar Desummona


nbb147

Pergunta

galera estou com dois scripts moveevents, um é para summonar um certo monstro, e o outro é para desummonar, eles estao com problema quando eu equipo o item ele summon duas criaturas sendo que eu progamei para summonar so uma, e outro problema é que quando tiro o amulet ele nao desummona o monstro, scripts:

 

Summonar monstro:

 

 

 

function onEquip (cid, item, slot)

 

local monster = "Demon"

local summon = doSummonCreature(monster, getPlayerPosition(cid))

doConvinceCreature(cid, summon)

 

return true

end

 

Desummonar monstro:

 

 

 

function onDeEquip(cid, item, slot)

 

local monster = "Demon"

if #getCreatureSummon(cid) >= 1 then

for _, summon in ipairs(getCreatureSummon(cid)) do

if getCreatureName(summon) == monster then

doSendMagicEffect(getPlayerPosition(summon), 21)

doRemoveCreature(summon)

end

end

end

return true

end

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

a function onEquip é errada mesmo, ela executa duas vezes, você só precisa implementar um códigozinho em lua mesmo pra evitar a dupla execução, quanto ao script de retirar o summon ao remover o colar do slot, não há nenhum erro, mas como "Demon" não é um monstro convinceable, será impossível que você se torne mestre dele usando a função doConvinceCreature, veja se a script funciona assim:

 

local protection = {}
local monster = "Demon"

function onEquip (cid, item, slot)

if protection[cid] then
	protection[cid] = nil
	return true
end

protection[cid] = true
local mid = 0

if type(doSummonMonster) then
	local func_ret = doSummonMonster(cid, monster)
	if func_ret == 3 then
		return doPlayerSendCancel(cid, "There is not enough room to summon your monster.")
	end
	local s = getCreatureSummons(cid)
	mid = s[#s]		
else
	mid = doCreateMonster(monster, getThingPos(cid), false)
	if mid == true then
		return doPlayerSendCancel(cid, "There is not enough room to summon your monster.")
	end
	doConvinceCreature(cid, mid)
end

      if not isCreature(mid) then return true end

if getCreatureMaster(mid) ~= cid then
	doRemoveCreature(mid)
else
	doSendMagicEffect(getThingPos(mid), CONST_ME_TELEPORT)
end

return true
end

Editado por brun123
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...