Postado Julho 9, 2015 9 anos 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. 1º Em data/movements/movements.xml adicione está tag: <movevent type="StepIn" actionid="14000" event="script" value="premiumteleport.lua"/> 2º 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 1º Aonde está escrito teleport = {x=654, y=1009, z=6}, você altera para onde o player irá se teletransporta. 2º Aonde está escrito kickMsg = "Você precisa ser um jogador premium para acessar esta área.", você altera para a fala quando o player for free. 3º Aonde está escrito enterMsg = "Bem-vindo à área Premium!", você altera para quando o player for teletransportado. 4º 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 Julho 14, 2015 9 anos por p e o p l e (veja o histórico de edições)
Postado Julho 9, 2015 9 anos Bem legal, explicado e organizado , tópico aprovado e movido a área correta. Você recebeu um REP pela contribuição.
Postado Julho 13, 2015 9 anos Alguém testou em TFS 0.4? Editado Julho 13, 2015 9 anos por matheus36000 (veja o histórico de edições)
Postado Julho 14, 2015 9 anos Alguém testou em TFS 0.4? Pelas funções utilizadas, deve executar de boa.
Postado Julho 14, 2015 9 anos Autor Alguém testou em TFS 0.4? Acabei de testar em TFS 0.4, e funcionou perfeitamente !
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.