Ir para conteúdo
  • 0

Duuhzinhow

Pergunta

Olá galera, eu to com um script aki e precisava de uma ajudinha de quem entende mais...

 

esse é o script do kamui me \/

 

local toPos = {x = 1248, y = 728, z = 7} --pos para onde o player vai ser teleportado

local tempo = 20 --tempo q ele vai ficar la... em segs
local function teleport(cid, pos)
if isCreature(cid) then
doSendMagicEffect(pos, 21)
doTeleportThing(cid, pos, false)
end
end
function onCastSpell(cid, var)
local pos = getPlayerPosition(cid)
doTeleportThing(cid, toPos, false)
doSendMagicEffect(pos, 21)
addEvent(teleport, tempo*1000, cid, pos)
return true
end
Ele funciona assim, voce usa e é teleportado para tal area, e em 'x" segundos voce volta para onde estava. Eu gostaria de saber como faço para que ele seja teleportado normalmente... mas só volte quando utilizar a spell novamente, Ou caso nao consiga, poderia ser também assim: voce é teleportado, e nao volta sosinho, mas no local, terá um teleport que te mandaria de volta para onde estava.
Vlw ae, e espero que ajudem! ^^ 2 rep+ pra quem ajudar.
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Tentei fazer pra ele voltar só quando usa novamente a magia, acho que funciona...

local toPosition = {x = 1248, y = 728, z = 7}  --Posicao para qual o player vai ser mandado
local spellStorage = 49999                --Storage usado para saber se o player esta indo ou voltando com a magia
local storage_x = 50000                   --Storage que guarda a posicao x
local storage_y = 50001                   --Storage que guarda a posicao y
local storage_z = 50002                  --storage que guarda a posicao z

 
function onCastSpell(cid, var)
    local toPos = toPosition
    local pos = getPlayerPosition(cid)
    local storageSpell = getPlayerStorageValue(cid,spellStorage)
    if storageSpell > 0 then
        toPos.x = getPlayerStorageValue(cid, storage_x)
        toPos.y = getPlayerStorageValue(cid, storage_y)
        toPos.z = getPlayerStorageValue(cid, storage_z)
        setPlayerStorageValue(cid, spellStorage, 0)
    else
        setPlayerStorageValue(cid, storage_x, pos.x)
        setPlayerStorageValue(cid, storage_y, pos.y)
        setPlayerStorageValue(cid, storage_z, pos.z) 
        setPlayerStorageValue(cid, spellStorage, 1)
    end
    doTeleportThing(cid, toPos, false)
    doSendMagicEffect(pos, 21)
    return true
end
Editado por Wuva
Link para o comentário
Compartilhar em outros sites

  • 0

 

Tentei fazer pra ele voltar só quando usa novamente a magia, acho que funciona...

local config = {
    local toPos = {x = 1248, y = 728, z = 7},  --Posicao para qual o player vai ser mandado
    local spellStorage = 49999,                --Storage usado para saber se o player esta indo ou voltando com a magia
    local storage_x = 50000,                   --Storage que guarda a posicao x
    local storage_y = 50001,                   --Storage que guarda a posicao y
    local storage_z = 50002,                   --storage que guarda a posicao z
 
    local time = 20
}
 
function onCastSpell(cid, var)
    local toPos = config.toPos
    local pos = getPlayerPosition(cid)
    local storageSpell = getPlayerStorageValue(cid, config.spellStorage)
    if storageSpell > 0 then
        toPos.x = getPlayerStorageValue(cid, config.storage_x)
        toPos.y = getPlayerStorageValue(cid, config.storage_y)
        toPos.z = getPlayerStorageValue(cid, config.storage_z)
        setPlayerStorageValue(cid, config.spellStorage, 0)
    else
        setPlayerStorageValue(cid, config.storage_x, pos.x)
        setPlayerStorageValue(cid, config.storage_y, pos.y)
        setPlayerStorageValue(cid, config.storage_z, pos.z) 
        setPlayerStorageValue(cid, config.spellStorage, 1)
    end
    doTeleportThing(cid, toPos, false)
    doSendMagicEffect(pos, 21)
    return true
end

Vou testar, mas valeu desde ja, por tentar ajudar!

mano aconteceu esse erro aki,

 

[25/01/2014 16:55:26] [Error - LuaScriptInterface::loadFile] data/spells/scripts/obito/kamuiteste.lua:2: unexpected symbol near 'local'
[25/01/2014 16:55:26] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/obito/kamuiteste.lua)
O que deu errado? se puder ajeita pra mim.. vlw!
Link para o comentário
Compartilhar em outros sites

  • 0

Testa esse

local toPosition = {x = 1248, y = 728, z = 7}  --Posicao para qual o player vai ser mandado
local spellStorage = 49999                --Storage usado para saber se o player esta indo ou voltando com a magia
local storage_x = 50000                   --Storage que guarda a posicao x
local storage_y = 50001                   --Storage que guarda a posicao y
local storage_z = 50002                  --storage que guarda a posicao z

 
function onCastSpell(cid, var)
    local toPos = toPosition
    local pos = getPlayerPosition(cid)
    local storageSpell = getPlayerStorageValue(cid,spellStorage)
    if storageSpell > 0 then
        toPos.x = getPlayerStorageValue(cid, storage_x)
        toPos.y = getPlayerStorageValue(cid, storage_y)
        toPos.z = getPlayerStorageValue(cid, storage_z)
        setPlayerStorageValue(cid, spellStorage, 0)
    else
        setPlayerStorageValue(cid, storage_x, pos.x)
        setPlayerStorageValue(cid, storage_y, pos.y)
        setPlayerStorageValue(cid, storage_z, pos.z)
        setPlayerStorageValue(cid, spellStorage, 1)
    end
    doTeleportThing(cid, toPos, false)
    doSendMagicEffect(pos, 21)
    return true
end
Editado por Wuva
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...