Mário. Posted September 30, 2017 at 11:34 PM Share Posted September 30, 2017 at 11:34 PM (edited) 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 September 30, 2017 at 11:37 PM by Mário. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now