Ir para conteúdo

(Resolvido)entrar no teleport por determinado tempo e depois ser teleportado depois de 10m

Featured Replies

  • Respostas 17
  • Visualizações 1.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @poko360 Acredito que agora vai funcionar   1 - Apague o script do globalevent/scripts e exclua a linha do globalevents.XML   2 - Vá em creatureevents/scripts e crie um arquivo cha

  • -------------   creaturescript   roomkick.lua function onLogin(cid) registerCreatureEvent(cid, "RoomKickCheck") return true end function onThink(cid, interval) if getP

  • @poko360 Testei aqui e funcionou.   18:33 [Vodkart]:  Iniciou uma hunt em Nishapur 1 [PVP]  18:34 seu tempo na sala acabou   e fui jogado para o Templo.   Unica coisa que

Postado

@poko360 Acredito que agora vai funcionar

 

1 - Apague o script do globalevent/scripts e exclua a linha do globalevents.XML

 

2 - Vá em creatureevents/scripts e crie um arquivo chamado teleportSala.lua e cole isso:

Citar

x_inicial = 158 -- Posição X inicial da sala
x_final = 161 -- Posição X final da sala 
y_inicial = 52 -- Posição Y inicial da sala 
y_final = 55 -- Posição Y final da sala
z_andar = 7 -- Andar da sala (Posição Z)

teleport_effect = 10 -- Efeito do teleport
position_teleport = {x=160,y=55,z=7}-- Posição aonde o player será teleportado depois dos 10 minutos.
storageInRoom = 88779 -- o mesmo storage que voce colocou no script moveevent
storageStop = 88180 

function onThink(cid, interval)

    if (getPlayerStorageValue(cid, storageInRoom) <= os.time() and getPlayerStorageValue(cid, storageStop) >= 1) then

        for i = x_inicial, x_final do
            for j = y_inicial, y_final do

                local position = {x=i,y=j,z=z_andar,stackpos=STACKPOS_TOP_CREATURE}
                local player = getTopCreature(position)

                if (isPlayer(player.uid)) then
                    if(getThingPos(cid).x == position.x and getThingPos(cid).y == position.y and getThingPos(cid).z == position.z) then
                        local newPos = doTeleportThing(cid, position_teleport)
                        doSendMagicEffect(getThingPos(cid), teleport_effect)
                        setPlayerStorageValue(cid, storageStop, -1)
                        break
                    else
                        setPlayerStorageValue(cid, storageStop, -1)
                        break
                    end
                end
            end
        end
    end
    return true
end

 

2.1 - Registre o evento no creatureevents.XML e no Login.lua em creatureevents/scripts:

Citar

Creatureevents.XML


<event type="think" name="teleportSala" interval="5" event="script" value="teleportSala.lua"/>

Login.LUA


registerCreatureEvent(cid, "teleportSala")

 

 

3 - Altere o script que esta em movements/scripts para este:

Citar

storageInRoom = 88779
storageStop = 88180
time = 10 -- tempo em minutos que o player podera ficar na sala

function onStepIn(cid, item, pos)

local getP = getPoints(cid)

    if getP >= 800 then
        
        if (isPlayer(cid)) then
            if (getPlayerStorageValue(cid, storageInRoom) < os.time()) then
                setPlayerStorageValue(cid, storageInRoom, os.time() + (time * 60))
                setPlayerStorageValue(cid, storageStop, 1)
            end
        end
        
        doTeleportThing(cid, {x=56, y=1463, z=7})
        doPlayerRemovePoints(cid, 800)
        doBroadcastMessage("["..getCreatureName(cid).."]: \ Iniciou uma hunt em Nishapur 1 [PVP] \n Gastou: 800x Online coins \n Account balance: [".. getP .."] online coins", 25)
        doBroadcastMessage("["..getCreatureName(cid).."]: \ Iniciou uma hunt em Nishapur 1 [PVP] \n Gastou: 800x Online coins \n Account balance: [".. getP .."] online coins", MESSAGE_STATUS_CONSOLE_BLUE)
    else
        doCreatureSay(cid, "Voce nao possui 800 online coins na sua account.", TALKTYPE_ORANGE_1)
        doTeleportThing(cid, fromPosition, true)
    end
    
return TRUE
end

 

 

Postado
  • Autor

funcionou, agr so falta tipo outro movement que remove essa storage, pra eu colocar dentro da sala, caso o player saia manualmente (pra n bugar)

é so criar um movement simples e colocar isso?
setPlayerStorageValue(cid, storageStop, -1)

Postado
  • Autor

ahhhhh, eu fiz um teste aqui, se eu entrar no tp dnv, ele n ta zerando o tempo, ele continua contando o tempo da primeira entrada =s

ai botei 1 minuto pra testar, fiquei 1 minuto fora do quadrado, quando fui entrar no quadrado dnv, o script me jogou fora
tipo, ele so ta zerando a storage dps q eu sou jogado pra fora (nao quando eu saio manualmente)

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

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.7k

Informação Importante

Confirmação de Termo