Kamui

Duuhzinhow
em Scripts

Duuhzinhow

Projeto ViteraOt
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/01/14Posts: 276Gênero: MasculinoChar no Tibia: Sonda retro

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.

Wuv4

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/01/14Posts: 21

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

Ajudei? CURTIR não cai o dedo.

Duuhzinhow

Projeto ViteraOt
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/01/14Posts: 276Gênero: MasculinoChar no Tibia: Sonda retro

 

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!

Wuv4

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/01/14Posts: 21

Fiz um edit ali, testa agora...

Ajudei? CURTIR não cai o dedo.

Duuhzinhow

Projeto ViteraOt
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/01/14Posts: 276Gênero: MasculinoChar no Tibia: Sonda retro

Fiz um edit ali, testa agora...

Mesmo erro mano... =/

mano, se nao der, tenta só pra teleportar para la, ja seria de grande ajuda, dai o jeito para voltar eu faço ;)

Wuv4

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/01/14Posts: 21

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

Ajudei? CURTIR não cai o dedo.

Duuhzinhow

Projeto ViteraOt
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/01/14Posts: 276Gênero: MasculinoChar no Tibia: Sonda retro

Vlw ae, Duvida sanada, rep+

Killua

Vivendo e Aprendendo
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 29/04/09Posts: 904Char no Tibia: Jabuti Selvagem