Ir para conteúdo
  • Cadastre-se

(Resolvido)Spells Criar portal no chao


Ir para solução Resolvido por Roy,

Posts Recomendados

Ola, Boa noite, tou precisando de uma spells que funcione mais o menos assim

o player usa a magia , ai cria um portal em baixo dele e esse portal irar levar para "X" position, (esse portal some em "X" segundos).

sendo que la no destino vai ter um portal para voltar pro mesmo lugar em que a magia foi usada! porem para voltar teria que esperar "X"

segundos para poder atravessar o portal de volta. E tipo um kamui no jutso de Nto. Agradeço a quem tentar ajudar.

 

Link para o post
Compartilhar em outros sites
  • Respostas 16
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

É o seguinte o portal será criado Ok, mas o tempo do outro portal deve ser maior senão o player irá voltar para o local onde ele foi teleportado ou seja, não o local onde o portal foi criado, a partir do momento em que o portal criado for removido ao ele usar o outro portal ele será teleportado para o Removido, Acho que deu para entender.   Spell local config = {storage = 8001}--Seleciona a storage 8001 e separa entre 3, exemplo - "8001, 8002, 8003", Entao nao use nenhuma dessas 3

Poxa cara. Tudo bem então Você vai fazer o seguinte, vai criar a  Spell e colocar o script dela acima Ok. Agora você vai adicionar essas duas linhas no seu movements.xml <movevent type="StepIn" actionid="9000" event="script" value="piso.lua"/> <movevent type="StepIn" actionid="9001" event="script" value="teleport.lua"/> você pode colocar o nome que quiser o cria uma arquivo .lua com o script de cada.

É o seguinte ele irá castar a Spell em alguém tipo. Exiva Black Fenix E ambos terá que está em party(somente em party) e então  serão teleportado para o local. O portal criado não irá funcionar mais até porque somente ambos irá poder passar pelo portal do outro lado no caso.   adicionar na tag xml da spell: needtarget="1" params="1" range="1" range="1" = distância necessária para poder castar a spell. 1 = Player próximo um do outro.   E irá ficar assim: &lt

Posted Images

  • Solução

É o seguinte o portal será criado Ok, mas o tempo do outro portal deve ser maior senão o player irá voltar para o local onde ele foi teleportado ou seja, não o local onde o portal foi criado, a partir do momento em que o portal criado for removido ao ele usar o outro portal ele será teleportado para o Removido, Acho que deu para entender.

 

Spell

local config = {storage = 8001}--Seleciona a storage 8001 e separa entre 3, exemplo - "8001, 8002, 8003", Entao nao use nenhuma dessas 3 storages em outros scripts.
local cfg = {storage = 8000, Tempo = 1*60}  --1 minuto. Tempo que poderá passar no piso ao redor do Teleport.
local function doSavePlayerPos(uid, storage, pos)
doCreatureSetStorage(uid, storage, pos.x)
doCreatureSetStorage(uid, storage+1, pos.y)
doCreatureSetStorage(uid, storage+2, pos.z)
end

function onCastSpell(cid, var)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
local TeleportID = 1387
local Teleport = {
config = {
ToPos = {x = 309, y = 287, z = 7}, -- Local onde o jogador será teleportado
Pos = getCreaturePosition(cid),
Time = 10, --Quanto tempo irá durar o Teleport
},
}

function removeTeleport(Teleport)
local t = getTileItemById(Teleport.config.Pos, TeleportID)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(Teleport.config.Pos, CONST_ME_POFF)
end
end

doCreateTeleport(TeleportID, Teleport.config.ToPos,Teleport.config.Pos)
addEvent(removeTeleport, Teleport.config.Time * 1000, Teleport)
setPlayerStorageValue(cid, cfg.storage, os.time()+cfg.Tempo)
doSavePlayerPos(cid, config.storage, getThingPos(cid))
----------------------------------------------------------------------------------------------------------------------------------------------------------------
return TRUE
end

Movements.xml

<movevent type="StepIn" actionid="9000" event="script" value="piso.lua"/>
<movevent type="StepIn" actionid="9001" event="script" value="teleport.lua"/>

 

piso.lua

function onStepIn(cid, item, position, fromPosition)
local config = {storage = 8000}
if (getPlayerStorageValue(cid, config.storage) <= os.time()) then
return true
else
doTeleportThing(cid, fromPosition, false)
doPlayerSendCancel(cid, "Você deve aguardar " ..getPlayerStorageValue(cid, config.storage) - os.time().." para poder entrar nesse portal!")
end
return true 
end

 

Teleport.lua

function onStepIn(cid, item, position, fromPosition)
local config = {storage = 8001}
local function getSavedPlayerPos(uid, storage)
return {x = getCreatureStorage(uid, storage), y = getCreatureStorage(uid, storage+1), z = getCreatureStorage(uid, storage+2)}
end
if (getPlayerStorageValue(cid, config.storage) <= os.time()) then
doTeleportThing(cid, getSavedPlayerPos(cid, config.storage))
else
doTeleportThing(cid, fromPosition, false)
doPlayerSendCancel(cid, "Você deve aguardar " ..getPlayerStorageValue(cid, config.storage) - os.time().." para poder entrar nesse portal!")
end
return true 
end
Editado por Roy (veja o histórico de edições)
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.

  • Estatísticas dos Fóruns

    96850
    Tópicos
    519614
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo