Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Zombie Event

VlVKQKC.png&key=d5c17620ae9567a1f898dd7a

Zombie Event é um evento já muito conhecido em que os participantes são jogados em uma arena e zombies são invocados até que reste apenas um jogador, quando um jogador é tocado por um zombie ele é teleportado para o templo, o ultimo jogador a ficar na arena é definido como vencedor e o evento é finalizado ai. Já faz um bom tempo que tive a ideia de mudar o funcionamento deste tradicional evento e finalmente decidi por a mão na massa, irei explicar melhor o que foi alterado abaixo.

 

 

Sobre o sistema

Oj5H4Xi.png

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

 

Pra quem quiser esse evento funcional para TFS 1.x, o @Movie se comprometeu a fazer a adaptação, então podem mandar mensagem privada pra ele cobrando que ele gosta.

 

Quem é familiar com filmes e séries de zombies sabe que quando um zombie morde alguém a pessoa que foi mordida não simplesmente morre, mas ela se torna um zombie, é isso que torna a ideia de um apocalipse zombie tão aterrorizante. Pensando nisso eu tive a ideia de alterar o sistema pra que quando algum player fosse pego por um zombie ele também se transformasse em um e não fosse simplesmente teleportado para o templo. Essa alteração deixa a interação entre os jogadores no evento mais dinâmica pois eventualmente se torna um jogo de Player vs Player ao invés de Player vs Maquina, embora no fim continue sendo uma batalha entre vivos e mortos.

 

Irei listar abaixo mais algumas características do evento.

 

  • É possivel configurar para que seja permitido ou não o uso de MCs.
  • Todos os jogadores ao entrar na arena ficam com a mesma velocidade.
  • Para tornar mais competitivo e divertido, não é permitido utilizar a função Follow dentro do evento.
  • O jogador que foi transformado em zombie que mais contaminar outros jogadores também recebe uma recompensa.
  • Os jogadores que forem transformados em zombies podem subir de rank conforme forem contaminando outros jogadores, alterando assim sua aparência e velocidade na arena.

 

Vídeozinho

Spoiler

 

Instalação

Oj5H4Xi.png

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 evento estão anexados no tópico, irei apenas mostrar como deve ser configurado.

 

Toda configuração do sistema se encontra na lib do mesmo, segue abaixo explicação de como configurar.

Spoiler

-- Lib Zombie-Event by WooX

zombieEvent = {
	config = {
		startTime = {
			[1] = {"09:00", "15:00"}, -- domingo
			[2] = {"09:00", "15:00"}, -- segunda
			[3] = {"09:00", "15:00"}, -- terça
			[4] = {"09:00", "15:00"}, -- quarta
			[5] = {"09:00", "15:00"}, -- quinta
			[6] = {"09:00", "15:00"}, -- sexta
			[7] = {"09:00", "15:00"}  -- sabado
		},
		
		messages = {
			announcement = "O ataque de zombies esta prestes a começar, o teleporte será fechado em %d minuto",
			startEvent = "O teleporte fechou, boa sorte aos participantes!",
			playerBitten = "O jogador %s acaba de ser mordido e agora está no time dos zombies!",
			endEvent = "%s foi o sobrevivente do ataque de zombies! Párabens!",
			notEnoughPlayers = "Apenas %d jogadores não é o suficiente para se defender de um ataque zombie, os zombies venceram antes mesmo do ataque começar",
			
			zombiesRant = {"Mst.... klll....", "Whrrrr... ssss.... mmm.... grrrrl", "Dnnnt... cmmm... clsrrr....", "Httt.... hmnnsss...", "Uhhhhhhh!", "Aaaaahhhh!", "Hoooohhh!", "Chhhhhhh!"}
		},
		
		minOnlinePlayers = 50, -- Quantidade minima de jogadores online para iniciar o evento
		minPlayers = 15, -- Quantidade minima de jogadores para iniciar o evento
		
		closeTeleportTime = 5, -- Tempo em minutos para fechar o teleporte de entrada do evento apos aviso de inicio
		countDownTime = 30, -- Tempo em segundos para iniciar o evento apos o fechamento do teleporte de entrada
		
		zombieRatio = 0.3, -- Quantidade inicial de Zombies = [quantidade de players no evento multiplicado pelo valor definido aqui]
		playerSpeed = 300,
		delayToTransform = 3, -- Tempo em segundos para o jogador que foi mordido virar um zombie
		allowMultiClient = false,
		
		rewards = {
			human = {{2160, 10}, {6527, 20}}, -- {id, count}
			zombie = {{6527, 5}} -- {id, count}
		},
		
		zombiesRank = {
			[0] = {lookType = 100, speed = 250},
			[{1, 2}] = {lookType = 18, speed = 270},
			[{3, 4}] = {lookType = 68, speed = 290},
			[{5, math.huge}] = {lookType = 246, speed = 310}
		},
		
		area = {
			fromPos = {x = 560, y = 176}, -- Coordenadas ponto superior-esquerdo
			toPos = {x = 599, y = 216}, -- Coordenadas ponto inferior-direito
			z = 7,
		},
		
		teleportAid = 1800,
		teleportPos = {x = 166, y = 52, z = 7}, -- Onde o teleporte pra entrada do evento vai ser criado.
	},
}

 

 

  • startTime: configuração de horários para inicio do evento a depender do dia da semana (para cada horário diferente definido aqui um registro extra é necessário no globalevents.xml)
  • announcement: mensagem a ser exibida quando o teleporte para o evento for aberto.
  • startEvent: mensagem a ser exibida quando o teleporte para o evento for fechado e o evento iniciado.
  • playerBitten: mensagem a ser exibida quando um jogador for mordido por um zombie.
  • endEvent: mensagem a ser exibida quando o evento for finalizado.
  • notEnoughPlayers: mensagem a ser exibida quando não houver players suficiente para o evento.
  • zombiesRant: falas que serão randomicamente selecionadas para um jogador que foi transformado em zombie falar.

 

  • minOnlinePlayers: define a quantidade minima de jogadores online para o teleporte do evento ser aberto.
  • minPlayers: define a quantidade minima de jogadores na arena para o evento ser iniciado.
  • closeTeleportTime: tempo para fechar o teleporte após o anuncio (o valor deve ser definido em minutos).
  • countDownTime: tempo para iniciar o evento após o fechamento do teleporte (o valor deve ser definido em segundos).

 

  • zombieRatio: define a quantidade inicial de zombies baseado na quantidade de jogadores participando do evento.
  • playerSpeed: define a velocidade que o jogador terá durante o evento (valido apenas para jogadores que não foram transformados em zombies).
  • delayToTransform: define o intervalo para um jogador que foi mordido se transformar em um zombie (o valor deve ser definido em segundos).
  • allowMultiClient: pode ser definido como true ou false, se definido como falso não irá permitir a entrada de jogadores com o mesmo IP no evento.

 

  • rewards: define as recompensas a serem entregues tanto para o ultimo sobrevivente na arena como para o zombie que mais contaminar outros jogadores.
  • zombiesRank: define os ranks dos zombies, a quantidade de pontos necessária para avançar de rank, aparência e velocidade (valido apenas para jogadores que foram transformados em zombies).
  • area: define a área onde ocorrerá o evento, deve ser preenchido as coordenadas do ponto superior-esquerdo, ponto inferior-direito e o andar do local.
  • teleportAid: define a actionID a ser adicionado no teleporte de entrada do evento (este valor deve ser o mesmo a ser registrado na tag XML do script de movements).
  • teleportPos: define as coordenadas onde deve ser criado o teleporte de entrada para o evento.

 

Créditos

Oj5H4Xi.png

@LeandroRissa por testar todo o sistema.

event zombie.xml lib_zombie.lua zombieEvent.lua zombieEvent_creature.lua zombieEvent_movement.lua

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

  • Respostas 22
  • Visualizações 5.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Zombie Event Zombie Event é um evento já muito conhecido em que os participantes são jogados em uma arena e zombies são invocados até que reste apenas um jogador, quando um jogador é tocado

  • Ando muito ocupado, as vezes que entro no fórum ou no discord da academia de codding estou pelo celular. De qualquer forma, irei disponibilizar isso gratuitamente, portanto faço no meu tempo.

  • Que evento lindo, com certeza irei usar ?

Posted Images

  • 2 weeks later...
Postado
3 horas atrás, Old tibians disse:

Vou tentar colocar pra tfs1x. o movie é preguiçoso kkkk

 

Edit1: Se eu conseguir vou deixar aqui neste mesmo tópico á versão

Ando muito ocupado, as vezes que entro no fórum ou no discord da academia de codding estou pelo celular.

De qualquer forma, irei disponibilizar isso gratuitamente, portanto faço no meu tempo.

 

Espero que consiga trazer logo pro 1.x, daí não vou ter que terminar de passar :) 

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.6k

Informação Importante

Confirmação de Termo