Ir para conteúdo
  • Cadastre-se

(Resolvido)Alavanca, storage e tile.


Ir para solução Resolvido por Noob II,

Posts Recomendados

Alguém que possa compartilhar uma script que faça as seguintes funções;

O jogador ganha uma storage ao ativar uma alavanca e é teletransportado para X posição

e um script de tile que com essa storage ele é teletransportado ao passar pelo tile.

Link para o post
Compartilhar em outros sites

Script da alavanca:


local config = {
    topos = {x=1111, y=2222, z=7}, -- Posição para onde o player será teleportado.
    strg = 33339 -- valor da storage.
}

function onUse(cid)
    if doTeleportThing(cid, config.topos) then
        setPlayerStorageValue(cid, config.strg, 1)
        doPlayerSendTextMessage(cid,20,"Você foi teleportado e ganhou a storage " .. config.strg .. ".")
    end
end

 

script do tile: 

function onStepIn (cid, position, fromPosition)
    
    local config = {
        topos = {x=1111, y=2222, z=7}, -- Posição para onde o player será teleportado.
        strg = 33339, -- valor da storage.
        action = 0000 -- Action ID do Tile
    } 
    
    if item.actionid == config.action then ---- 
        if getPlayerStorageValue(cid, config.strg) == 0 then
            doTeleportThing(cid, config.topos)
        end
    end
    
    return true
    
end

Link para o post
Compartilhar em outros sites

Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.

Spoiler

This is an automated message! This topic has been moved to the correct area.
Please read the forum rules.

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
2 horas atrás, Noob II disse:

Script da alavanca:

 


local config = {
    topos = {x=1111, y=2222, z=7}, -- Posição para onde o player será teleportado.
    strg = 33339 -- valor da storage.
}

function onUse(cid)
    if doTeleportThing(cid, config.topos) then
        setPlayerStorageValue(cid, config.strg, 1)
        doPlayerSendTextMessage(cid,20,"Você foi teleportado e ganhou a storage " .. config.strg .. ".")
    end
end

 

 

script do tile: 

 


function onStepIn (cid, position, fromPosition)
    
    local config = {
        topos = {x=1111, y=2222, z=7}, -- Posição para onde o player será teleportado.
        strg = 33339, -- valor da storage.
        action = 0000 -- Action ID do Tile
    } 
    
    if item.actionid == config.action then ---- 
        if getPlayerStorageValue(cid, config.strg) == 0 then
            doTeleportThing(cid, config.topos)
        end
    end
    
    return true
    
end

 

Olá amigo, você conseguiria colocar para mandar 2 MSG, uma para quando o player  não tivesse a storage e outra para quando o player tivesse.

Link para o post
Compartilhar em outros sites
11 minutos atrás, BazirFoxer disse:

Olá amigo, você conseguiria colocar para mandar 2 MSG, uma para quando o player  não tivesse a storage e outra para quando o player tivesse.

 

Tenta esse:

 

function onStepIn (cid, position, fromPosition)
    
    local config = {
        topos = {x=1111, y=2222, z=7}, -- Posição para onde o player será teleportado.
        strg = 33339, -- valor da storage.
        action = 0000 -- Action ID do Tile
    } 
    
    if item.actionid == config.action then ---- 
        if getPlayerStorageValue(cid, config.strg) == 0 then
            doTeleportThing(cid, config.topos)
            doPlayerSendTextMessage(cid, 27, "Parabéns você tem a storage.")
        else
            return doPlayerSendCancel(cid, "Você não tem a storage.")
        end
    end
    
    return true
    
end

Link para o post
Compartilhar em outros sites
1 hora atrás, Noob II disse:

 

Tenta esse:

 

 


function onStepIn (cid, position, fromPosition)
    
    local config = {
        topos = {x=1111, y=2222, z=7}, -- Posição para onde o player será teleportado.
        strg = 33339, -- valor da storage.
        action = 0000 -- Action ID do Tile
    } 
    
    if item.actionid == config.action then ---- 
        if getPlayerStorageValue(cid, config.strg) == 0 then
            doTeleportThing(cid, config.topos)
            doPlayerSendTextMessage(cid, 27, "Parabéns você tem a storage.")
        else
            return doPlayerSendCancel(cid, "Você não tem a storage.")
        end
    end
    
    return true
    
end

 

Então amigo, está ocorrendo um erro, ele não está reconhecendo o ITEM em item.actionid.

Meu movements está :
 

 <movevent type="StepIn" uniqueid="13700" event="script" value="tiletibiaking.lua"/>

Movements/script
 

function onStepIn (cid, position, fromPosition)
    
    local config = {
        topos = {x=1408, y=1169, z=7}, -- Posição para onde o player será teleportado.
        strg = 33339, -- valor da storage.
        action = 0000 -- Action ID do Tile
    } 
    
    if item.actionid == config.action then ---- 
        if getPlayerStorageValue(cid, config.strg) == 0 then
            doTeleportThing(cid, config.topos)
            doPlayerSendTextMessage(cid, 27, "Parabéns, você tem acesso a este local")
        else
            return doPlayerSendCancel(cid, "Você não concluiu o acesso a este local.")
        end
    end
    
    return true
    
end

No mapeditor, estou colocando UniqueID/ActionID: 13700.

 

 

Link para o post
Compartilhar em outros sites
  • Solução

Isso só acontece dps que adicionei as mensagens? tenta assim:

function onStepIn(cid, item, position, fromPosition)
    
    local config = {
        topos = {x=1408, y=1169, z=7}, -- Posição para onde o player será teleportado.
        strg = 33339 -- valor da storage.
    } 
    
        if getPlayerStorageValue(cid, config.strg) == 0 then
            doTeleportThing(cid, config.topos)
            doPlayerSendTextMessage(cid, 27, "Parabéns, você tem acesso a este local")
        else
            return doPlayerSendCancel(cid, "Você não concluiu o acesso a este local.")
        end
    return true
    
end

 

<movevent type="StepIn" actionid="13700" event="script" value="tiletibiaking.lua"/>

Link para o post
Compartilhar em outros sites
12 minutos atrás, Noob II disse:

Isso só acontece dps que adicionei as mensagens? tenta assim:

 


function onStepIn(cid, item, position, fromPosition)
    
    local config = {
        topos = {x=1408, y=1169, z=7}, -- Posição para onde o player será teleportado.
        strg = 33339 -- valor da storage.
    } 
    
        if getPlayerStorageValue(cid, config.strg) == 0 then
            doTeleportThing(cid, config.topos)
            doPlayerSendTextMessage(cid, 27, "Parabéns, você tem acesso a este local")
        else
            return doPlayerSendCancel(cid, "Você não concluiu o acesso a este local.")
        end
    return true
    
end

 

 

 


<movevent type="StepIn" actionid="13700" event="script" value="tiletibiaking.lua"/>

 

Não não, anteriormente eu não tinha testado, quando bati o olho na script não vi a MSG e logo lembrei que tinha esquecido de pedir.

Eu consegui resolver.
 

function onStepIn(cid, item, position, fromPosition)
    
    local config = {
        topos = {x=1408, y=1169, z=7}, -- Posição para onde o player será teleportado.
    } 
    
        if getPlayerStorageValue(cid, 33339) == 1 then
            doTeleportThing(cid, config.topos)
            doPlayerSendTextMessage(cid, 27, "Parabéns, você tem acesso a este local")
        else
            return doPlayerSendCancel(cid, "Você não concluiu o acesso a este local.")
        end
    return true
    
end
 

Praticamente o mesmo que você postou, só mudou o, == 0 then.


Muito obrigado pela sua ajuda/tempo.

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo