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

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo