Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Cave Exclusiva

VlVKQKC.png&key=d5c17620ae9567a1f898dd7a

 

Cave exclusiva ou também conhecido como Super UP é um sistema que assim como o nome indica proporciona ao jogador acesso a uma cave exclusiva, onde somente ele tem acesso e pode caçar sem ser perturbado. Eu particularmente não gosto da ideia do sistema, mas querendo ou não é bem popular nos servidores Baiak. Escrevi esse sistema a mais ou menos uns 2 anos atrás quando um amigo que era dono de um servidor Baiak na época estava tendo problemas com o sistema que usava, sistema esse que acredito ser o que vem por padrão nas bases de Baiak por ai e o que provavelmente é o mais usado até hoje.

 

 

Sobre o sistema

Oj5H4Xi.png&key=718831efb62cbc5653dc0eff42299961764d9021fa0eda1af263307301843bee

O sistema foi testado apenas em OTX2, mas provavelmente também funcione em TFS 0.4

 

Com a intenção de fazer com que fosse de fácil configuração, eu escrevi o sistema mantendo as funções principais e configurações em uma Lib separada dos arquivos, irei citar algumas características do sistema.

 

  • Reiniciar o servidor ou manter ativo o global save não interfere na funcionalidade do sistema, todas as caves são entregues novamente no momento de abertura do servidor.
  • O sistema funciona através de global storage e devido a isto não é necessário modificação alguma no banco de dados.
  • O jogador tem a liberdade de escolher a cave que quiser, desde que ela esteja livre.
  • O jogador pode verificar o status de cada uma das caves registradas no sistema e ver informações como quem é o dono de determinada cave e o tempo restante para que a cave esteja livre novamente.

 

Algumas imagens

Spoiler

UlciaXs.png

iMEZH7t.png

sjHOy6Z.png

mirx8mj.png

4KzUlmZ.png

 

Instalação

Oj5H4Xi.png&key=718831efb62cbc5653dc0eff42299961764d9021fa0eda1af263307301843bee

Este sistema utiliza de funções contidas na lib do link abaixo, então antes de mais nada é necessário adicionar esta lib no servidor.

Spoiler

 

 

Todos os arquivos necessários para instalação do sistema estão anexados no tópico, irei apenas mostrar como deve ser configurado. Como auxilio para saber onde vai cada um, todos os scripts contém a tag XML a ser registrada.

 

Como mencionado anteriormente toda configuração do sistema se encontra na lib do mesmo, segue abaixo explicação de como configurar.

caveExclusiva = {

	config = {
		rentTime = 4 * 60 * 60,
		buyItemID = 11758,
		caveStats = true,
		buyMessage = "Você comprou a cave de %s por %s.",
		timeLeftMessageInCave = "Seu tempo na cave de %s acabou e você foi teleportado para o templo.",
		timeLeftMessage = "Seu tempo na cave de %s acabou.",
		signs = {
			useSigns = true,
			signID = 1815,
			signLook = "Esta cave pertence a %s, estará livre novamente as %s."
		}
	},

	caves = {
		[9851] = {
			gStor = 7330,
			caveName = "Cave 1",
			enterPos = {x=0, y=0, z=7},
			signPos = {x=0, y=0, z=7}
		},
		[9852] = {
			gStor = 7331,
			caveName = "Cave 2",
			enterPos = {x=0, y=0, z=7},
			signPos = {x=0, y=0, z=7}
		}
	},
	

	storages = {
		cave = 35070,
		inCave = 35071,
		time = 35072
	}
}
  • rentTime: tempo que o jogador vai permanecer como dono de uma cave, o valor deve ser definido em segundos.
  • buyItemID: ID do item em que o jogador deve usar o item definido na action para comprar uma cave.
  • caveStats: pode ser definido como true ou false, se definido como falso não irá permitir o uso da talkaction que exibe informações sobre as caves.
  • buyMessage: esta é a mensagem que irá aparecer quando o jogador comprar uma cave.
  • timeLeftMessageInCave: esta é a mensagem que irá aparecer quando acabar o tempo e o player estiver dentro da cave.
  • timeLeftMessage: esta é a mensagem que irá aparecer quando acabar o tempo e o player estiver fora da cave.

 

  • useSignspode ser definido como true ou false, se definido como verdadeiro irá exibir o dono e o tempo restante em um quadro ou qualquer item configurado na variável abaixo.
  • signIDID do item em que será exibido as informações da cave.
  • signLook: mensagem a ser exibida ao dar look no item definido na variável acima.

 

As caves devem ser adicionadas e configuradas da seguinte maneira:

[9851] = { -- Action ID, um pra cada cave.
  gStor = 7330, -- Global storage, um valor pra cada cave.
  caveName = "Cave 1", -- Nome da cave.
  enterPos = {x=0, y=0, z=7}, -- Posição que o player vai ser teleportado ao entrar na cave.
  signPos = {x=0, y=0, z=7} -- Posição do item que foi configurado na variavel signID no mapa.
},

No mapa é necessário adicionar tudo que foi definido na configuração do sistema, isso inclui action IDs e os items configurado em buyItemIDsignID, veja abaixo alguns exemplos.

Spoiler

 vCh6a1f.png

Em Verde é o item configurado em buyItemID

Em Amarelo é o item configurado em signID

 

xXENrkK.pngoGNI7zP.png

 

Cada item com o ID definido em buyItemID deve conter também o action ID referente a cave que representa. E cada item com o ID definido em signID deve conter o texto: Esta cave esta livre!

 

D29DBDz.png

 

O mesmo action ID configurado no item de compra deve estar registrado no SQM de entrada para cave.

 

fxFzlIA.png

 

Os teleportes de saída de cada cave deve conter a action ID registrada na tag XML do script cave_exit.lua

 

Créditos

Oj5H4Xi.png&key=718831efb62cbc5653dc0eff42299961764d9021fa0eda1af263307301843bee

@Baalszor por testar todo o sistema.

 

cave_action.lua cave_creaturescript.lua cave_enter.lua cave_exit.lua cave_start.lua cave_talkaction.lua lib_exclusivecave.lua

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

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

  • Respostas 26
  • Visualizações 6.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @WooX Parabéns pelo sistema, realmente bem desenvolvido e pensado em tudo.

  • Eu tenho um sistema que eu julgo ser muito bom mas o seu parece ser mais enxuto, muito bom cara. Vc sempre traz conteúdos muito bons pro forum

  • Sistema muito bem feito, obrigado pela contribuição.

Posted Images

Postado

@WooX Obrigado pela contribuição. Tópico aprovado!

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Postado

Eu tenho um sistema que eu julgo ser muito bom mas o seu parece ser mais enxuto, muito bom cara. Vc sempre traz conteúdos muito bons pro forum

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