Ir para conteúdo

Featured Replies

Postado

Iae galera do Tibia King.

Bom vamos a o que interessa, galera eu proucurei em vários lugares mas não encontrei essa spell.

Tipo assim eu uso a spell no target e esse player que estava sendo atacado vai para uma outra dimensão (outro local) e depois de um certo tempo o player volta para o mesmo local.

Resolvido por xWhiteWolf

Ir para solução
  • Respostas 21
  • Visualizações 3.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local config = { pos = {x=42, y=234, z=7}, -- posição da aegis dimension tempo = 15, -- tempo pra voltar effect1 = 66, -- efeito ao ser teleportado effect2 = 10 -- efeito ao voltar } function

  • [NEW] Hiraishin Ni No Dan http://www.tibiaking...shin-ni-no-dan/

  • a de se teleportar eu ja fiz.. a outra eu não vou fazer porque ela requer um nível de detalhes que eu não to afim de ficar discutindo com você até você me explicar.   local config = { pos = {x=42,

Postado

olha cara, eu pensei em várias coisas mas a maioria delas vai bugar o seu servidor, então eu decidi fazer uma coisa que eu nunca fiz antes (e não sei se é possível) que foi salvar a posição num storage. Caso isso funcione, só vai faltar a função teleportback que eu não consegui pensar em como fazer mas em todo caso vou disponibilizar o script pra quem for tentar te ajudar:
Nota 1: Não usem "for" na área teleportada pra encontrar o player porque se mais de um player usar essa magia ao mesmo tempo corre o risco dos targets serem trocados
 

local combat = createCombatObject()




local config = {
    exhaustStorage = 1338010, -- storage do exhaust
    exhaustTime = 5, -- Seconds
duration = 20, -- tempo em segundos que ele vai ficar na outra dimensão
postorage = 1338011 -- storage que vai salvar a posição do target (isso é possível?)
    }




function teleportback(cid, var, targetpos, target)if isPlayer(target.uid) then
doTeleportThing(target, getPlayerStorageValue(target.uid, config.postorage))
doPlayerSendTextMessage(target.uid,25, "You are back, time for a twist!")
end
end








function onCastSpell(cid, var)
    local mypos = getCreaturePosition(cid)
    local target = getCreatureTarget(cid)
    local targetpos = getCreaturePosition(target)
local place = {x = 160, y=54, z= 7}
setPlayerStorageValue(target.uid, config.postorage, targetpos)
    if not exhaustion.get(cid, config.exhaustStorage) then
if isPlayer(cid) and isPlayer(target.uid) then
doPlayerSendTextMessage(cid,25, "You teleported ".. getCreatureName(target.uid) ..". He will be back in "..config.duration.." seconds.")
                doTeleportThing(target, place)
                doSendDistanceShoot(mypos, targetpos, CONST_ANI_ENERGYBALL)
doSendMagicEffect(targetpos, CONST_ME_ENERGYHIT)
doPlayerSendTextMessage(target.uid,25, "You have been teleported by ".. getCreatureName(cid) ..". You'll be back in "..config.duration.." seconds.")
                addEvent(teleportback, config.duration*1000, cid, var, targetpos, target)
                exhaustion.set(cid, config.exhaustStorage, config.exhaustTime)
else
doPlayerSendCancel(cid, "You can only use this spell in players!")
return false
                else
        doPlayerSendCancel(cid, "You have to wait " .. exhaustion.get(cid, config.exhaustStorage) .. " seconds to send player to another dimension!")
        return false
end
end
    doCombat(cid, combat, var)
    return true
end

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)

Postado
  • Autor
  Em 03/05/2014 em 11:20, xWhiteWolf disse:

 

olha cara, eu pensei em várias coisas mas a maioria delas vai bugar o seu servidor, então eu decidi fazer uma coisa que eu nunca fiz antes (e não sei se é possível) que foi salvar a posição num storage. Caso isso funcione, só vai faltar a função teleportback que eu não consegui pensar em como fazer mas em todo caso vou disponibilizar o script pra quem for tentar te ajudar:

Nota 1: Não usem "for" na área teleportada pra encontrar o player porque se mais de um player usar essa magia ao mesmo tempo corre o risco dos targets serem trocados

 

local combat = createCombatObject()




local config = {
    exhaustStorage = 1338010, -- storage do exhaust
    exhaustTime = 5, -- Seconds
duration = 20, -- tempo em segundos que ele vai ficar na outra dimensão
postorage = 1338011 -- storage que vai salvar a posição do target (isso é possível?)
    }




function teleportback(cid, var, targetpos, target)if isPlayer(target.uid) then
doTeleportThing(target, getPlayerStorageValue(target.uid, config.postorage))
doPlayerSendTextMessage(target.uid,25, "You are back, time for a twist!")
end
end








function onCastSpell(cid, var)
    local mypos = getCreaturePosition(cid)
    local target = getCreatureTarget(cid)
    local targetpos = getCreaturePosition(target)
local place = {x = 160, y=54, z= 7}
setPlayerStorageValue(target.uid, config.postorage, targetpos)
    if not exhaustion.get(cid, config.exhaustStorage) then
if isPlayer(cid) and isPlayer(target.uid) then
doPlayerSendTextMessage(cid,25, "You teleported ".. getCreatureName(target.uid) ..". He will be back in "..config.duration.." seconds.")
                doTeleportThing(target, place)
                doSendDistanceShoot(mypos, targetpos, CONST_ANI_ENERGYBALL)
doSendMagicEffect(targetpos, CONST_ME_ENERGYHIT)
doPlayerSendTextMessage(target.uid,25, "You have been teleported by ".. getCreatureName(cid) ..". You'll be back in "..config.duration.." seconds.")
                addEvent(teleportback, config.duration*1000, cid, var, targetpos, target)
                exhaustion.set(cid, config.exhaustStorage, config.exhaustTime)
else
doPlayerSendCancel(cid, "You can only use this spell in players!")
return false
                else
        doPlayerSendCancel(cid, "You have to wait " .. exhaustion.get(cid, config.exhaustStorage) .. " seconds to send player to another dimension!")
        return false
end
end
    doCombat(cid, combat, var)
    return true
end

 

[03/05/2014 15:12:13] [Error - LuaScriptInterface::loadFile] data/spells/scripts/obito/mangekyou kamui.lua:17: unexpected symbol near '?'
[03/05/2014 15:12:13] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/obito/mangekyou kamui.lua)
[03/05/2014 15:12:13] data/spells/scripts/obito/mangekyou kamui.lua:17: unexpected symbol near '?'
 
 
 
Deu esse erro .' ajuda ae pliz .'
Postado

logico que deu erro cara, vc não leu nada doque eu te falei? o script não tá completo, é só a logica que a pessoa que for te ajudar tem que seguir.. eu não sei como fazer pra voltar de uma forma que não bugue, mas enfim, o erro é aqui:

-- storage que vai salvar a posição do target (isso é possível?)

tira o 

(isso é possível?)

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)

  • 2 weeks later...

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