Ir para conteúdo

Featured Replies

Postado
  • Autor

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

  • Respostas 8
  • Visualizações 549
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Adriano SwaTT
    Adriano SwaTT

    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 "from

  • Adriano SwaTT
    Adriano SwaTT

    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 efei

Postado
  • 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

Postado
  • Autor

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

  • 2 weeks later...
Postado

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

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