Ir para conteúdo
  • Cadastre-se

(Resolvido)[Spell] Teleport De Ida e De Volta


Ir para solução Resolvido por Danihcv,

Posts Recomendados

tenho quase ctz que muintas pessoas procura esse script mais nunca consegue achar que nem eu :'C,procurei de 1001 formas pelo site do TK,entretanto nem um deles são oque eu Realmente preciso,então vim aki criar o topico.

 

então pessoal queria um spell +- assim, eu fala-se "TP In" e o spell me leva-se para um lugar e fica-se la sem precisar ter pressa para sai e depois quando eu queire-se volta eu fala-se "TP Out" e eu voltava para a Pos onde eu estava.sendo assim "Tp In(Ida para o Otro Lugar)" e "Tp Out(Volta-se para onde usou a Spell)".

 

Rep+ para quem ajuda pq sei q é complicado :'C

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

Link para o post
Compartilhar em outros sites

Amigo, tem que ser pro local onde o player estava?

Pq eu to meio enferrujado ainda e ñ to conseguindo pensar em um jeito de guardar essa informação (de onde o player estava qnd usou o comando)

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

tem sim manim é tipo essa spell na minha opnião é que nem éssa spell do xWhiteWolf a diferença é

 

1. Não Deixara item no chao

2. Ela vai fazer ir para um Outro local e Quando Tiver Naquele Local ira poder volta ultilizando a mesma Spell se for o caso(fica da escolha de quem criar fazendo 2 spells ou 2 em 1 unica)

3. a do XWhiteWolf é a Hiraishin Kunai. Ex

 

Spell Do Xwhitewolf

 

ela deixa um item na onde o player ultilizou o Spell e o item fica la durante certo tempo e até o tempo acaba ele pode volta naquele local ultilizando o mesmo spell

 

Spell Que Eu Quero

 

o Player Ultiliza a spell e vai para o um certo luga e quando tive la quando ele ultiliza a mesma spell ele voltara para onde ele ultilizou a Spell

local storage = 9873 -- storage
local item = 2181 -- id do item
local time = 30 -- tempo em segundos que o item vai ficar na posição.


local pos = {}


    function terminus(cid)
     local a = getTileItemById(pos[1], item)
       if a.uid > 0 then
          doRemoveItem(a.uid)
       end
       if isPlayer(cid) then
          doPlayerSendTextMessage(cid, 22, "Expirou Seu Hiraishin Seal.")
       end
        table.remove(pos, 1)
    end


function onCastSpell(cid, var)


if getPlayerStorageValue(cid, storage) - os.time() <= 0 then
  table.insert(pos, getCreaturePosition(cid))
    setPlayerStorageValue(cid, storage, os.time()+time)
     doCreateItem(item, getCreaturePosition(cid))
    doSendMagicEffect(getCreaturePosition(cid), 3)
  addEvent(terminus, time*1000, cid)
elseif getPlayerStorageValue (cid, storage) - os.time() >= 1 then
  doTeleportThing(cid, pos[1])
  doSendMagicEffect(getCreaturePosition(cid), 10)
end


return true
end

OBS: Não precisa ultiliza essa como base é só uma semelhança que eu to colocando...

Editado por Onepiece (veja o histórico de edições)

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

Link para o post
Compartilhar em outros sites

Fiz uma modificação rapida aqui tenta ae:

local storage = 9874 -- storage
local item = 2181 -- id do item
local position = {x=1, y=1, z=1} --Position pra onde o player vai ao usar a spell

function onCastSpell(cid, var)


if getPlayerStorageValue(cid, storage) <= 0 then
  table.insert(pos, getCreaturePosition(cid))
    setPlayerStorageValue(cid, storage, 1)
     doCreateItem(item, getCreaturePosition(cid))
    doSendMagicEffect(getCreaturePosition(cid), 3)
    doTeleportThing(cid, position)
local a = getTileItemById(pos[1], item)
       if a.uid > 0 then
          doRemoveItem(a.uid)
       end
       if isPlayer(cid) then
          doPlayerSendTextMessage(cid, 22, "Expirou Seu Hiraishin Seal.")
       end
        table.remove(pos, 1)
elseif getPlayerStorageValue (cid, storage) >= 1 then
  doTeleportThing(cid, pos[1])
  doSendMagicEffect(getCreaturePosition(cid), 10)
end


return true
end

Se der certo, dps qnd voltar deixo mais do jeito que vc queria.

 

@Edit, é muito provavel que dê errado, pois fiz numa carrera descomunal.

Editado por danihcv (veja o histórico de edições)

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

deu erro :'C

2dadjck.jpg

Editado por Onepiece (veja o histórico de edições)

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

Link para o post
Compartilhar em outros sites

@Danihcv, dessa forma que vc fez vai dar erro na lista de players porque pensa cmg: vc tá adicionando e removendo valores de uma tabela indefinidamente e toda vez que vc tirar um valor a tabela inteira vai ter um index menor a partir do index removido:

local tb = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

se eu removo o 3 o tb[3] vai passar a ser 4 e assim sucessivamente.

Pra fazer essa spell vc pode salvar o x num storage, o y num outro e o z num último storage e aí mandar pra uma posição e setar um storage ativo, se o valor do storage ativo for 1 e usar dnv ele manda pra posiçao onde x, y e z são os valores dos storages x, y e z; Não sei se ficou muito superficial essa explicação mas é uma das formas de fazer.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

@white wolf, realmente. Eu ja tinha pensado em.fazer com storage, mas tava na correria e o membro mandou um script ae pra eu ter ideia então ne... podia ser mais rápido.

@topic, ja sei como fazer, porém to no cell, afinal eh véspera de natal. Dps qnd eu entrar faço teu script. Abraços e feliz natal pra vcs!

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

me desculpem como fis topico no dia 24 pra 25 e éra vespora de natal e o natal eu fui comemorar com minha familia,vou testa aki e ja falo se funciona se funciona Rep+,vo fica aguardando Danihcv

Editado por Onepiece (veja o histórico de edições)

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

Link para o post
Compartilhar em outros sites

auguem pra ajuda nesse topico? é urgente  :(

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

Link para o post
Compartilhar em outros sites

Amigo, eu fiz por talkaction. Ao dizer tp o player é direcionado pra coordenada configurada no script. Ao dizer tp denovo, o player volta pro local onde usou o comando.

 

Va em data/talkactions e adicione essa tag ao arquivo talkactions.xml:

	<talkaction words="tp" event="script" value="tpsystem.lua"/>

Agora va na pasta data/talkactions/scripts e crie um arquivo chamado tpsystem.lua e coloque isso dentro:

local storage = 9874 -- storage
local position = {x=32263, y=32341, z=7} --Position pra onde o player vai ao usar a spell

local pos = {}

function onSay(cid, param, word)


if getPlayerStorageValue(cid, storage) ~= 1 then
  table.insert(pos, getCreaturePosition(cid))
    setPlayerStorageValue(cid, storage, 1)
    doSendMagicEffect(getCreaturePosition(cid), 3)
    doTeleportThing(cid, position)

else
  doTeleportThing(cid, pos[1])
  setPlayerStorageValue(cid, storage, 0)
  table.remove(pos)
  doSendMagicEffect(getCreaturePosition(cid), 10)
end


return true
end

Se ajudei, REP+ ^^

Editado por danihcv (veja o histórico de edições)

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

irei testa ja edito.

 

--edited-

 

deu erro aki 

[Error - TalkAction Interface]
data/talkactions/script/test1.lua:onsay
Description:
attempt to index a nil value
stack traceback:
           [C]: in function 'doTeleportThing'
           data/talkactions/script/test1.lua:16

 

 

Editado por Onepiece (veja o histórico de edições)

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

Link para o post
Compartilhar em outros sites

Vc ja tinha usado meu script anterior, e ele settou a storage que eu tinha colocado, por isso deu erro.

local storage = 8910 -- storage
local position = {x=32263, y=32341, z=7} --Position pra onde o player vai ao usar a spell

local pos = {}

function onSay(cid, param, word)


if getPlayerStorageValue(cid, storage) ~= 1 then
  table.insert(pos, getCreaturePosition(cid))
    setPlayerStorageValue(cid, storage, 1)
    doSendMagicEffect(getCreaturePosition(cid), 3)
    doTeleportThing(cid, position)

else
  doTeleportThing(cid, pos[1])
  setPlayerStorageValue(cid, storage, 0)
  table.remove(pos)
  doSendMagicEffect(getCreaturePosition(cid), 10)
end


return true
end

Agora alterei a storage. Deve funcionar sem problemas.

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Vlw Funcionou,mas só a ultima coisa pra eu te da meu Rep+ como éra pra ser uma spell e se fes por Talkaction teria como fazer só X vocation usar? e coloca pra sai 1 effect a kd Ida e a Kd Volta

Editado por Onepiece (veja o histórico de edições)

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

Link para o post
Compartilhar em outros sites
  • Solução
local storage = 8910 -- storage
local position = {x=32263, y=32341, z=7} --Position pra onde o player vai ao usar a spell
local voc = 1 --ID da vocation
local effectIda = 3 --Numero do effect de ida
local effectVinda = 10 --Numero do effect da volta

local pos = {}

function onSay(cid, param, word)

if getPlayerVocation(cid) == voc then

if getPlayerStorageValue(cid, storage) ~= 1 then
  table.insert(pos, getCreaturePosition(cid))
    setPlayerStorageValue(cid, storage, 1)
    doSendMagicEffect(getCreaturePosition(cid), effectIda)
    doTeleportThing(cid, position)

else
  doTeleportThing(cid, pos[1])
  setPlayerStorageValue(cid, storage, 0)
  table.remove(pos)
  doSendMagicEffect(getCreaturePosition(cid), effectVinda)
end

end
return true
end

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites
local storage = 8910 -- storage
local effect = {10, 11} -- {efeito de ida, efeito da volta}
local vocs = {1, 2, 3} -- vocation IDs
local position = {x=32263, y=32341, z=7} --Position pra onde o player vai ao usar a spell
local pos = {}

function onSay(cid)
    if not isInArray(vocs, getPlayerVocation(cid)) then
        return doPlayerSendCancel(cid, 'Your vocation is not allowed to use this command.')
    end
    
        if getPlayerStorageValue(cid, storage) ~= 1 then
            setPlayerStorageValue(cid, storage, 1)
            table.insert(pos, getCreaturePosition(cid))
            doTeleportThing(cid, position)
            doSendMagicEffect(getThingPos(cid), effect[1])
        else
            setPlayerStorageValue(cid, storage, 0)
            table.remove(pos)
            doTeleportThing(cid, pos[1])
            doSendMagicEffect(getThingPos(cid), effect[2])
        end
    
    return true
end

(códigos do membro danihcv)

Editado por Suicide (veja o histórico de edições)

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Bom gente eu queria por area tipo que tiver ao redo do player que usa a spells vai tb e quando fala novamente volta todos os teleportados

Link para o post
Compartilhar em outros sites

@CreatServer
Embora o que você quer seja um pouco semelhante ao pedido do membro, esse tópico já foi solucionado.
Crie o seu próprio e informe seu pedido nele.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

@CreatServer

Embora o que você quer seja um pouco semelhante ao pedido do membro, esse tópico já foi solucionado.

Crie o seu próprio e informe seu pedido nele.

Min descupe vou fazer isso vlw
Link para o post
Compartilhar em outros sites

tem como usar esse script para ao dar use em um item ele abra um portal na frente do cara, e deixe o portal no lugar que ele estava até ele voltar, e tem um porém, o teleporte só pode ser usado por ele ou por quem esteja em party com ele (tanto o portal de ida quanto o de volta), qm está em party pode ir e voltar normal, mas quando o que usou o item voltar, o teleporte some... (igual o diablo 3 :trollface: )

 

tem um detalhe, se duas pessoas usarem o item o portal vai abrir no mesmo local?

Eu que não fumo, queria um cigarro
Eu que não amo você
Envelheci dez anos ou mais
Nesse último mês
Eu que não bebo, pedi um conhaque
Pra enfrentar o inverno
Que entra pela porta
Que você deixou aberta ao sair
avatar_1218.gif
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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo