Ir para conteúdo
  • Cadastre-se

(Resolvido)Teleportando summon para perto.


Ir para solução Resolvido por L3K0T,

Posts Recomendados

I RAPAZ, POSTEI NO LUGAR ERRADO, SORRY!!!

.Qual servidor ou website você utiliza como base? 

tfs 0.4 8.60

Qual o motivo deste tópico? 

Se eu me distancio muito do summon ele desaparece.

preciso que ele seja teleportado para perto quando eu me distanciar.

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 function onCastSpell(cid, var)
local from,to = {x=962, y=885, z=7},{x=973, y=892, z=7} -- começo e final do mapa
local from2,to2 = {x=979, y=901, z=7},{x=991, y=905, z=7} -- começo e final do mapa
local playerpos = getPlayerPosition(cid)
local position1 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z}
local position2 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
local MaximoSummon = 3 --- Maximo de Monstros Sumonados!!

local summons = getCreatureSummons(cid)
if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) then
doPlayerSendCancel(cid, "Você não pode usar Summons Aqui!") return true
end
if(table.maxn(summons) < MaximoSummon) then -- no summons
local clone = doCreateMonster("katsuyo heal", playerpos)
doConvinceCreature(cid, clone)
doSendMagicEffect(position1, 152)
doSendMagicEffect(position2, 111)
doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') 
return TRUE
end
end

 

Já tentei usar o seguinte 

addEvent(doTeleportThing, 300, clone, playerpos)

Mas não funcionou 

 

 

e nesse outro script tbm não teleporta, e quando o summon desaparece , gera esse erro.

Citar

[Error - Spell Interface]
In a timer event called from:
data/spells/scripts/kuchyose/akamaru.lua:onCastSpell
Description:
(luaDoRemoveCreature) Creature not found
 

function onCastSpell(cid, var)

local waittime = 60 -- Tempo de exhaustion
local storage = 8321

if exhaustion.check(cid, storage) then
doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde ".. exhaustion.get(cid, storage) .. " segundos para usar o jutsu novamente.", TALKTYPE_CHANNEL_O, CHANNEL_SPELL)
return false
end

        local maxSummons = 1    
        for n = 1, maxSummons do
                if #getCreatureSummons(cid) >= maxSummons then
                        break
                end
                local clone = doCreateMonster("Akamaru Wakai", getThingPos(cid), false)
                if isCreature(clone) then
                        doTeleportThing(clone, getThingPos(cid), false)
                        doConvinceCreature(cid, clone)
                        setCreatureMaxHealth(clone, 5000)
                        doCreatureAddHealth(clone, 5000)
                        doSendMagicEffect(getThingPos(cid), 111)
                end
        end
		local poz = getCreaturePosition(cid) -- effeito no caster
		local seconds = 60
		for _, monsters in ipairs(getCreatureSummons(cid)) do
				addEvent(doRemoveCreature, seconds*1000, monsters)
				addEvent(doSendMagicEffect, seconds*1000, {x = poz.x, y = poz.y, z = poz.z}, 111)
		end
		
exhaustion.set(cid, storage, waittime)
return true
end

 

Editado por diarmaint (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Moderador
  • Solução
11 horas atrás, diarmaint disse:

I RAPAZ, POSTEI NO LUGAR ERRADO, SORRY!!!

.Qual servidor ou website você utiliza como base? 

tfs 0.4 8.60

Qual o motivo deste tópico? 

Se eu me distancio muito do summon ele desaparece.

preciso que ele seja teleportado para perto quando eu me distanciar.

Está surgindo algum erro? Se sim coloque-o aqui. 

 

Você tem o código disponível? Se tiver publique-o aqui: 


 function onCastSpell(cid, var)
local from,to = {x=962, y=885, z=7},{x=973, y=892, z=7} -- começo e final do mapa
local from2,to2 = {x=979, y=901, z=7},{x=991, y=905, z=7} -- começo e final do mapa
local playerpos = getPlayerPosition(cid)
local position1 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z}
local position2 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
local MaximoSummon = 3 --- Maximo de Monstros Sumonados!!

local summons = getCreatureSummons(cid)
if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) then
doPlayerSendCancel(cid, "Você não pode usar Summons Aqui!") return true
end
if(table.maxn(summons) < MaximoSummon) then -- no summons
local clone = doCreateMonster("katsuyo heal", playerpos)
doConvinceCreature(cid, clone)
doSendMagicEffect(position1, 152)
doSendMagicEffect(position2, 111)
doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') 
return TRUE
end
end

 

Já tentei usar o seguinte 

addEvent(doTeleportThing, 300, clone, playerpos)

Mas não funcionou 

 

 

e nesse outro script tbm não teleporta, e quando o summon desaparece , gera esse erro.


function onCastSpell(cid, var)

local waittime = 60 -- Tempo de exhaustion
local storage = 8321

if exhaustion.check(cid, storage) then
doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde ".. exhaustion.get(cid, storage) .. " segundos para usar o jutsu novamente.", TALKTYPE_CHANNEL_O, CHANNEL_SPELL)
return false
end

        local maxSummons = 1    
        for n = 1, maxSummons do
                if #getCreatureSummons(cid) >= maxSummons then
                        break
                end
                local clone = doCreateMonster("Akamaru Wakai", getThingPos(cid), false)
                if isCreature(clone) then
                        doTeleportThing(clone, getThingPos(cid), false)
                        doConvinceCreature(cid, clone)
                        setCreatureMaxHealth(clone, 5000)
                        doCreatureAddHealth(clone, 5000)
                        doSendMagicEffect(getThingPos(cid), 111)
                end
        end
		local poz = getCreaturePosition(cid) -- effeito no caster
		local seconds = 60
		for _, monsters in ipairs(getCreatureSummons(cid)) do
				addEvent(doRemoveCreature, seconds*1000, monsters)
				addEvent(doSendMagicEffect, seconds*1000, {x = poz.x, y = poz.y, z = poz.z}, 111)
		end
		
exhaustion.set(cid, storage, waittime)
return true
end

 

eu uso assim https://tibiaking.com/forums/topic/71188-teleporte-summon-tfs-036

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo