Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá Tkianos tudo bom ?

 

Estava a procura de um script "perfeito" para que apenas players PREMIUM possam ser teletransportados e que o scripts seria totalmente configurável.

OBS¹: Esse sistema de VIP não utiliza STORAGE e sim premium padrão do server.
OBS²: Testado apenas em OTX 0.4 e TFS 0.4 não sei se funciona nas demais.

 

Em data/movements/movements.xml adicione está tag:

<movevent type="StepIn" actionid="14000" event="script" value="premiumteleport.lua"/>

Abra a pasta data/movements/scripts/ e crie um arquivo chamado premiumteleport.lua, dentro dele adicione:

function onStepIn(cid, item, position, fromPosition, toPosition)
local tileConfig = {
    teleport = {x=654, y=1009, z=6}, -- Posição do teleport.
    kickPos = fromPosition, kickEffect = CONST_ME_POFF,
    kickMsg = "Você precisa ser um jogador premium para acessar esta área.",
    enterMsg = "Bem-vindo à área Premium!",
    enterEffect = 10,
}
if isPremium(cid) then
  doTeleportThing(cid, tileConfig.teleport)
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
  doSendMagicEffect(tileConfig.teleport, tileConfig.enterEffect)
    else
      doTeleportThing(cid, tileConfig.kickPos)
      doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
      doPlayerSendCancel(cid, tileConfig.kickMsg)
    end
  return true
end
Para fazer funcionar é fácil basta abrir seu map, clica com o botão direito em cima do tile ir em Properties.
Logo em seguida, aonde está escrito Action ID adicione o número 14000 e de OK.
Só salvar e reiniciar o OTSERV, pois não tem como da /reload em world (mapa).
 
LEGENDA
 
Aonde está escrito teleport = {x=654, y=1009, z=6}, você altera para onde o player irá se teletransporta.
Aonde está escrito kickMsg = "Você precisa ser um jogador premium para acessar esta área.", você altera para a fala quando o player for free.
Aonde está escrito enterMsg = "Bem-vindo à área Premium!", você altera para quando o player for teletransportado.
Aonde está escrito enterEffect = 10, você altera para o efeito que irá acontecer quando for teletransportado. (Para ver os efeitos só utilizar o comando /z)
 
OPCIONAL
Caso não queira as falas só remover as linhas.
doPlayerSendCancel(cid, tileConfig.kickMsg) -- Caso o player for premium.
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg) -- Caso o player NÃO for premium.
 
https://www.youtube.com/watch?v=ML4r1miAyoQ&feature=youtu.be
 

Te ajudei ? REP +

Até mais Tkianos  :)

Editado por p e o p l e (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Bem legal, explicado e organizado :), tópico aprovado e movido a área correta.

Você recebeu um REP pela contribuição.

Link para o post
Compartilhar em outros sites

Alguém testou em  TFS 0.4?

Pelas funções utilizadas, deve executar de boa.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites
  • 1 year later...

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