Ir para conteúdo
  • Cadastre-se

(Resolvido)Piso que só pode passar de fly,ride ou pokemon


Ir para solução Resolvido por Adriano SwaTT,

Posts Recomendados

alguem teria um script em que eu coloque um certo action em um piso e o player não poderia passar mas somente de fly , ride ou só o pokemon dele passase e quando ele tentasse passar aparecia uma msg Only pokemon pass here sla rep +

Link para o post
Compartilhar em outros sites

Poderia criar um Script Movements onde checa Storage do Player, não sei muito bem como funciona o sistema de Pokemons e Fly, mas se estes scripts adicionam Storage no player quando ativo, seria fácil montar este sisteminha para você.

 

Basicamente ficaria, mais ou menos, assim: NãoTestei

local strg1, strg2, strg3 = 17000, 17001, XXXX  -- aqui agora coloque o Storage do Surf que não me forneceu

        function onStepIn(cid, fromPosition, toPosition)
local get1 = getPlayerStorageValue(cid, strg1)
local get2 = getPlayerStorageValue(cid, strg2)
local get3 = getPlayerStorageValue(cid, strg3)
    if isPlayer(cid) == true and get1 > 0 or get2 > 0 or get3 > 0 then
        doPlayerSendTextMessage(cid, 21, "Welcome.")
    elseif (not isPlayer(cid)) == true then
        return true
    else
        doPlayerSendCancel(cid, "Only Pokemons pass here.")
        doTeleportThing(cid, fromPosition)
    end
  return true
end

Obs: Os valores dos "XXXX" você substitui pelo número da Storage que o Pokemon, o Fly e o Ride da ao player.

 

-EDIT-

Ficou faltando por o valor do Storage do SURF no último conjunto de XXXX, coloque e teste.

Depois faremos do Pokemons poder passar.

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

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

O título do tópico for alterado de : "Preciso de um script assim" para "Piso que só pode passar de fly,ride ou pokemon
".
Leia as regras do fórum : www.tibiaking.com/forum/forum/23-regras-do-forum/

 

2.3 - Use títulos e ícones adequados:
Ao criar um novo tópico no fórum, dê a ele um título que esteja relacionado ao
conteúdo do tópico. Títulos como "Ajudaaa!" ou "Entrem aqui!" só pioram as
coisas: ninguém vai saber do que se trata, e menos pessoas irão entrar para olhar
o que você postou.


O tópico foi movido para a área correta, preste mais atenção da próxima vez!
Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:
De: "OTServSuporte OTServSuporte de Scripts"
Para: "OTServSuporte OTServSuporte de Servidores Derivados"

Link para o post
Compartilhar em outros sites

você substitui pelo número da Storage que o Pokemon, o Fly e o Ride da ao player.
não entendi eu tenho que colocar a storage do fly e do ride apenas? as storages são essas : 17001 -- ride

17000 -- fly mas não sei a storage do pokemon teria como voce alterar para mim no script se não posso fazer caca


cara coloque a storage do fly, ride e surf só pra testa e não funfo passei normal com o player

Link para o post
Compartilhar em outros sites

Editei o tópico acima..

Teste e me diga.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

ta quase lá , quando eu passo com o player aparece a msg mas não impede q ele passe e quando eu passo de fly ou ride aparece a msg welcome. a propósito a storage do surf é 63215

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

Acusa a mensagem de que "Apenas Pokemons podem passar" mas não teleporta o player para trás?

Não da nenhum erro no Launcher do Server?

Pelo que parece o servidor não está reconhecendo a função "fromPosition".

Que dependendo da versão do seu Servidor, pode ser "fromPos", "lastPosition", "lastPos", etc..

 

 

Sendo assim, teste esta abaixo, que pode ser configurada a gosto:

local strg1, strg2, strg3 = 17000, 17001, 63215  -- aqui agora coloque o Storage do Surf que não me forneceu

        function onStepIn(cid, fromPosition, toPosition)
local get1 = getPlayerStorageValue(cid, strg1)
local get2 = getPlayerStorageValue(cid, strg2)
local get3 = getPlayerStorageValue(cid, strg3)
local get_pos = getCreaturePosition(cid)

    if isPlayer(cid) == true and get1 > 0 or get2 > 0 or get3 > 0 then
        doPlayerSendTextMessage(cid, 21, "Welcome.")
    elseif (not isPlayer(cid)) == true then
        return true
    else
        doPlayerSendCancel(cid, "Only Pokemons pass here.")
        doTeleportThing(cid, {x=get_pos.x, y=get_pos.y+1, z=get_pos.z})
    end
  return true
end
Na linha "doTeleportThing(cid, {x=get_pos.x, y=get_pos.y+1, z=get_pos.z}) vou te explicar como funciona.

Basicamente é coordenadas, do modo que está com o "+1" no "y=get_pos.y" ele teleportará o player 1 sqm para baixo do piso que programou este script, caso queira que teleporte 1 sqm para cima, troque o valor "+1" por "-1", ou seja, 1 sqm a menos do que a posição do piso.

 

E caso queira que teleporte 1 sqm para esquerda ou para direita, como se trata de posição para horizontal, agora tratamos do "x", então remova o "+1" ficando como abaixo:

{x=get_pos.x, y=get_pos.y, z=get_pos.z}

E agora adicione o "+1" se quiser que ele vá para baixo, ou "-1" se quiser que ele vá para cima do piso, ficando assim.

{x=get_pos.x-1, y=get_pos.y, z=get_pos.z} -- esquerda
ou
{x=get_pos.x+1, y=get_pos.y, z=get_pos.z} -- direita

E se quiser teleportá-lo para um andar abaixo ou acima, basta fazer o mesmo, só que agora na posição "z".

{x=get_pos.x, y=get_pos.y, z=get_pos.z+1} ou {x=get_pos.x, y=get_pos.y, z=get_pos.z-1}

 

Simples, não?

 

Espero que tenha compreendido.

Qualquer dúvida, pode ficar a vontade em perguntar.

 

Boa sorte.

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

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

cara muito obrigado fique com meu rep+ , só uma pergunta teria como por um efeito quando eu não pudesse entrar e quando eu entrasse com o poke? Tipo esse efeito sairia do player

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Boa noite.

Aì ficaria assim:

 

local strg1, strg2, strg3 = 17000, 17001, 63215  -- aqui agora coloque o Storage do Surf que não me forneceu
local eff_in, eff_out = 10, 15 -- substitua aqui o efeito

        function onStepIn(cid, fromPosition, toPosition)
local get1 = getPlayerStorageValue(cid, strg1)
local get2 = getPlayerStorageValue(cid, strg2)
local get3 = getPlayerStorageValue(cid, strg3)
local get_pos = getCreaturePosition(cid)

    if isPlayer(cid) == true and get1 > 0 or get2 > 0 or get3 > 0 then
        doPlayerSendTextMessage(cid, 21, "Welcome.")
        doSendMagicEffect(getThingPos(cid), eff_in)
    elseif (not isPlayer(cid)) == true then
        return true
    else
        doPlayerSendCancel(cid, "Only Pokemons pass here.")
        doTeleportThing(cid, {x=get_pos.x, y=get_pos.y+1, z=get_pos.z})
        doSendMagicEffect(getThingPos(cid), eff_out)
    end
  return true
end

Basta você por a ID do efeito que quer.

Lembrando que local eff_in, eff_out = 10, 15 tem que substituir o valor 10 para efeito de entrada e o 15 para efeito rejeitada a entrada.

 

Boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

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