Jump to content

Banimentos


Mário.
 Share

Recommended Posts

Bem, fiz esta quest desde o primeiro momento que comecei o meu projeto, por isso não me culpem por algo básico.

O que ela faz é simplesmente registrar os valores das pessoas que vocês baniram de forma a que os outros membros da equipa saibam.

É recomendado terem adicionado o comando /ban de forma a ser mais prático e mais útil.

 

--[[
É uma quest que registra os valores depois de um GM usar o /ban
Todo o processo é manualmente, para a melhor organização do servidor
]]
quest banimentos begin
	state start begin
		when letter with pc.is_gm() begin
			send_letter("Banimentos")
		end
		
		when button or info with pc.is_gm() begin
			say_title("LSM2:")
			say("")
			say("Escolhe a opção:")
			
			local a = select("Registrar um bloqueamento","Ver a lista de bloqueamentos","Apagar a lista de bloqueamentos","Cancelar")
			
			if a == 1 then
				say_title("LSM2:")
				say("")
				say_reward("Importante:")
				say("Não metas alguém que tu não baniste.")
				say("Isto é apenas uma forma de organizar o nosso trabalho.")
				say("Se estás na equipa, é porque esperamos confiança,[ENTER]",
				"e acima de tudo, respeito.[ENTER]",
				"Independentemente de seres Moderador ou Game Master,[ENTER]",
				"não estragues isto com falsos valores.")
				wait()
				
				say_title("LSM2:")
				say("")
				say("Mete o nome do jogador que bloqueaste:")
				
				local jogador = input()
				local procurar_jogador = find_pc_by_name(jogador)
			
				if procurar_jogador == nil then
					say_title("LSM2:")
					say("")
					say_reward("Existem 4 erros possíveis:")
					say("1. Não meteste nenhum carácter válido.")
					say("2. O jogador não existe.")
					say("3. Estás a meter o teu próprio nome.")
					return
				end
				
				say_title("LSM2:")
				say("")
				say("Mete a duração do bloqueamento em horas:")
				
				local tempo = input()
				
				if tempo == '' then
					say_title("LSM2")
					say("")
					say("Mete um caractér válido a não ser 0.")
					return
				end
				
				say_title("LSM2:")
				say("")
				say("Qual foi a razão para teres bloqueado o jogador "..jogador.."?")
				
				local razao = input()

				if razao == '' then
					say_title("LSM2")
					say("")
					say("Mete um caractér válido a não ser 0.")
					return
				end
		
				mysql_query("INSERT into log.jogadores_banidos (jogador,tempo,razao,gamemaster,data) VALUES ('"..jogador.."','"..tempo.."','"..razao.."','"..pc.get_name().."', CURRENT_TIMESTAMP);")
				
				say_title("LSM2:")
				say("")
				say("O registro foi adicionado com sucesso aos logs.")
				say("Podes ver, indo na lista dos bloqueamentos.")
			end

			if a == 2 then
				say_title("LSM2:")
				say("")
				say_reward("JOGADOR | TEMPO | RAZÃO | BANIDO POR | DATA")
			
				local query = mysql_query("SELECT jogador, tempo, razao, gamemaster, data FROM log.jogadores_banidos ORDER by data DESC;")
			
				for position in ipairs(query) do
					say(query.jogador[position].." | "..query.tempo[position].." hora(s) | "..query.razao[position].." | "..query.gamemaster[position].." | "..query.data[position])
				end
			end

			if a == 3 then
				say_title("LSM2:")
				say("")
				say_reward("Importante:")
				say("Não apagues a tabela sem primeiro teres tirado print[ENTER]",
				"de forma a que os outros membros da equipa saibam.[ENTER]",
				"É muito importante que saibas valorizar o nosso trabalho [ENTER]coletivo.")
				say("É recomendado que apagues 1x por dia!")
				say("")
				say_reward("Tens conhecimento do que estás a fazer?")

				local a = select("Sim, tenho conhecimento.","É melhor não fazer")

				if a == 2 then
					send_letter("Banimentos")
					return
				
				else
					say_title("LSM2:")
					say("")
					say("A lista foi apagada com sucesso.")
					mysql_query("DELETE FROM log.jogadores_banidos")
					
				end

			end

			if a == 4 then
				send_letter("Banimentos")
				return
			end
		end
	end
end

 

Adicionar uma query na tabela logs:

 

/*
Navicat MySQL Data Transfer

Source Server         : Metin2
Source Server Version : 50541
Source Host           : 
Source Database       : log

Target Server Type    : MYSQL
Target Server Version : 50541
File Encoding         : 65001

Date: 2017-09-27 13:55:31
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for jogadores_banidos
-- ----------------------------
DROP TABLE IF EXISTS `jogadores_banidos`;
CREATE TABLE `jogadores_banidos` (
  `jogador` varchar(255) NOT NULL,
  `tempo` int(11) NOT NULL,
  `razao` varchar(255) NOT NULL,
  `gamemaster` varchar(255) NOT NULL,
  `data` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

Qualquer coisa, avisem.

 

 

Edited by Mário.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...