Shad0w 347 Posted November 21, 2014 Boas comunidade. Como tenho visto nos ulimos tempos, uns dos grandes problemas nos servidores tem sido a corrupção; Então tive a pensar no assunto, visto que estou a elaborar um projecto, e vou ser mais sincerro possível, hoje em dia não da para confiar em muita gente, ainda mais para coisas de jogos, Visto que muitos levam os jogos na brincadeira e tal, aparece sempre um amigo, a qual "tentamos" ajudar, mas essa ajuda em a trazer muitos problemas, porque ajudando um de um modo terá que ajudar todos do mesmo modo, visto que caso contrario o "amigo" sairá benificiado e facilitado contrario dos outros, dai surge a corrupção... Então como tive que analisar as soluções para isso, encontrei 4 soluções; 1 solução; Não dar cargo a ninguém.. Mas ao não dar cargo a ninguém será quase insuportável aguentar com todos os trabalhos sozinho.(Não digo que é impossível, apenas que é um pouco cansativo) 2 Solução; Correr o risco, isso de correr esse risco pode-se se ter 99% de certeza como não vai correr bem, Visto que numa "equipa" pode ou não ser mais que 2 ou três membros, e isso caso acontecesse algum "suspeitoso" iria criar má onda entre os membros da equipa, e acaba por dar Mer** 3 Solução; Ter conhecimentos suficiente, para mudar "editar" alguns comandos dos cargos; Pois é uma forma eficaz, mas ai surgem as duvidas, então quem não sabe fazer isso tem que correr risco? ou fazer tudo sozinho? (Ai vai surgir a 4 Opção) 4 Solução; através de quest´s e os comandos já configurados c: Ai vão perguntar como assim? Vamos que vou tentar explicar meu raciocínio passo a passo; Passo 1 Os tipos de comandos que existem: Comandos para [CoMa];[sGA], que é o comandos Nome no navicat = [iMPLEMENTOR] Comandos para [GA] Nome no navicat = [HIGH WIZARD] Comandos para [GM] Nome no navicat = [GOD] Comandos designado para [TGM] Nome no navicat = [LOW WIZARD] comando para [Players] Nome no navicat = [PLAYER] 2 Passo Falar um pouco sobre os comandos: Os comando da qual me refere para [CoMa];[sGA], por norma muitos dos servidor tem, vindo a ter problemas, Por esse motivo, Visto que esse comando, tem varias funções que os [GM]´s sentem falta, para realizar evento ox, Para dar block_chat etc.. Mas também esses comandos tem um lado negativo ou positivo depende do ponto de vista... Os [GM] com esses comandos também podem invocar coisas, dai surge 95% dos problemas, já falamos mais a cerca disso.. ;) Os Comandos as quais são desinadas para [GA] como disse a cima, tem usado, os comandos referidos a cima para [GA], então têm passado esses comandos para os [TGM]... Comandos que supostamente são para [TGM] esses comandos supostamente deviam ser para [TGM] mas visto que ninguém as usa para o que elas servem, elas ficam com as mesmas utilidades que os comandos dos players Tem, que é nenhuma. Comandos Player como refere a cima "mas visto que ninguém as usa para o que elas servem, elas ficam com as mesmas utilidades que os comandos dos players Tem, que é nenhuma. 3 passo Vamos falar sobre o meu raciocinio. Pensei no seguinte, podemos resolver o problema com um simples "Item" (Agora deve ser aquela parte que deem tar a pensar, fizes-te me ler isso tudo para gozar?) Mas não, não é gozo, vamos falar no seguinte, se por ventura: (Agora vem toda a explicação do raciocinio) Se implantase-mos um anel ou um item qualquer a escolha de cada um claro, e neste item mete-mos como seguinte; {Não é negociavel; Não da para mandar ao chão; Não da para vender, e assim deixando apenas utilizavel em- Homem e mulher) *Ai vocês vão perguntar e saber fazer isso? (Não precisam saber basta continuarem a ler o tópico até ao fim que Vão encontrar a solução) E então como isso vai resolver o problema? De seguinte modo: Vamos enserir essas seguintes quest´s; quest painel_de_gm begin state start begin when xxxx.use whit pc.is_gm() begin local a = select("Começar Evento Ox", "Perguntas Evento Ox", "Premio Evento Ox", "Acabar Evento Ox", "Bloquear Chat", "Fechar") if a == 6 then return elseif a == 1 then oxevent.open() elseif a == 2 then oxevent.quiz() elseif a == 3 then say("Codigo do premio: ") local item_vnum = input() say("Quantidade do premio: ") local item_count = input() oxevent.give_item(item_vnum, item_count) notice_all(""..pc.get_name() .." entregou o premio ox") elseif a == 4 then oxevent.close() elseif a == 5 then say ("Nome do jogador:") local bname = input ( ) say ("Tempo:") local btempo = input ( ) say ("Blocqueio adicionado.") command ("j " .. bname .. " " .. btempo .. "") end end endend E dos TGM´s quest painel_de_tgm begin state start begin when xxxx.use and not pc.is_gm() begin local a = select("Anunciar estado Online", "Anunciar offline", "Falar Como GM", "Anunciar Notiias", "Bloquear Chat", "Fechar") if a == 6 then return elseif a == 1 then notice_all(""..pc.get_name() ..": está online em caso de duvida PM") elseif a == 2 then notice_all(""..pc.get_name() ..": ficará offline dentro de momentos") elseif a == 3 then local falas_texto = input( ) notice_all(""..pc.get_name() ..": "..falas_texto.."") elseif a == 4 then local noticia_importante = input( ) notice_all("Noticia: "noticia_importante"") elseif a == 5 then say ("Nome do jogador:") local bname = input ( ) say ("Tempo:") local btempo = input ( ) say ("Bloqueio adicionado.") command ("j " .. bname .. " " .. btempo .. "") end end endend Onde ta xxxx depois trocam pelo id do item que querem usar id= código do tem que vão usar para meter a quest 40% do proçesso explicado. Agora vamos ao resto dos 60% Vamos a navicat e mete-mos os comandos para cada cargo como deve ser, como expliquei ao de cima; Comandos para [CoMa];[sGA] que é o comandos [iMPLEMENTOR] Comandos para [GA] [HIGH WIZARD] Comandos para [GM] [GOOD] Comandos deseginado para [TGM] [LOW WIZARD] Comandos para players (Não precisam de meter nada porque com ou sem esses comandos não podem fazer nada e não c: Agora vem a explicação da intrudução de um item novo: Eu referi-me num item-novo porque assim tem 100% de certeza como esse item, não é dropavéis, ou seja o item não será qualquer um a puder obter mas sim apenas a quem as deres; {Agora surgem duvidas do tipo e agora como dou esse item aos membros da staff?} Fácil, vamos ao [Nome da tabela na navicat] e mete-mos lá o item e aparece-ra no armazém. Pelo que tentei fazer na quest podem usar o mesmo item para as duas quest´s Caso surgiam problemas do tipo, Aparecem as duas quest´s aos GM´s mandem-me mensagem através desse tópico Explicação das quest´s: As quest´s foram feitas por mim, as quest´s vai dar so GM ou ao TGM as permissões que eles necessitam que não está nos comandos deles.. Ou seja o GM vai ouder fazer eventos OX (agora vocês dizem boa.. ele da item pela entrega de prémios..)(Pode dar, sim Mas por cada vez que o GM entrega o prémio a quest anuncia que o GM x deu premio ao x) Ou seja em caso de algo estranho todos ficam logo a saber e sendo assim as noticias rapidamente chegaram a ti x) A quest para TGM´s fazem as mesmas coisas, so que com os comandos para TGM; (Atenção que se usarem o mesmo item para ambas das coisas Não pensem que os TGM´s vão ter os mesmo direitos, porque eles não vão ter c:) Ainda não testei as quest´s caso alguém tenha reparado erros agradeço que me alerte para recompor a quest para um bom funcionamento Explicação do porque restringir o item; A explicação é simples, se os membros da staff não podem vender dar mandar fora, trocar com outra contas, não haverá desculpas de como as perderam...(E os administradores do jogo podem sempre ir avistando de onde estão os itens, visto que são poucas as pessoas que tem esse item, basta ir ao navicat e na tabela [Player e procuram pela tabela Item que está dentro da tabela Player] procurar pelo código.. 50% da ideia explicada. até posso dizer 100% explicado, para alguns que já sabem fazer ao que me refere, mas como a comunidade não é só para os que sabem, vamos passar essa parte teórica para pratica. Tutorial: Como meter o Item Tem vários tutoriais aqui na Cyber-Gamers Tem entre essas aqui:http://cyber-gamers.org/index.php?/topic/1149-adicionar-armas-armaduras-itens-na-files-e-cliente-metin2/ E tens muitos mais tutoriais basta procurar :) Tutorial: Como restringir o Item para certas funções Vamos a tabela player: Depois vamos Tabela: item_pronto Vamos procurar o item o vosso item pelo código: Carregamos Ctrl + F e escrevemos o código Depois de encontrar o nosso item vamos procurar pelo "antiflag": Ai no antiflag mete-mos o seguinte código: (esse numero serve para meter as raças, se são negociáveis, se podem se mandar ao chão, essa tabela antiflag serve para isso) O codigo que vão meter na antiflag vai ser esse: 262080 Feito isso salvam, e podem ir ao servidor e fazer /reload p "Com um char GM" que o item já ta configurado.(apenas essa parte) Tutorial: Como meter a quest Agora vamos lá meter a quest, Vamos ao filezilla: Vamos para o seguinte diretorio:/usr/ Depois vamos /usr/ no meu caso é "game" mas você tem que ir onde ta o directorio do vosso game.. Agora vamos a pasta "Share" ou seja directorio /usr/game/share no vosso caso pode ser /usr/home/game/share Depois vamos a pasta "locale" ou seja directorio /usr/game/Share/locale no vosso caso pode ser /usr/home/game/Share/locale Agora aqui dentro do locale, varria muito de server files para server files a pasta pode ser germmany, pt, etc.. mas isso não muda em nada isso são apenas nome das pastas c: No meu caso entramos na turkey ou seja directorio /usr/game/Share/locale/turkey Agora vamos a pasta quest ou seja directorio /usr/game/Share/locale/turkey/quest Agora podemos fazer isso de duas maneiras, adiciona-la no locale_list e ir a maquina e fazer sh make.sh ou simplesmente arrasta-la para dentro do filezilla (filezilla no meu caso) e ir a maquina e fazer cd /usr/game/Share/locale/turkey/quest [ENTER] ./qc nome da quest.quest [ENTER] Não aconselho a fazerem o mete-do do locale_list porque podem não ter todas as quest´s que querem no locale_list e caso não tenha la as quest´s ficam desactivadas, tem que se voltar a ativa-las, que é meter o nome delas no locale_list e fazer sh maky.sh ou meter uma a uma ./qc nome da quest.quest Mete do "./qc nome da quest.quest" Depois disso podem dar reboot, mas eu aconcelho outro comando em vez do reboot.. (em vez de reboot vão no servidor na conta "IMPLEMENTOR" e fazem /reload q) quando acabar de fazer reload as quest´s ja estão prontas as ser usadas. (Não vou meter a parte de meter o comando no servidor pk estou com muitos programas abertos e o pc e fraquinho para tantas coisas :p Tutorial: Como Meter os comandos como refere na cima: Para fazer isso vamos ao navicat: tabela: common Depois dentro das tabelas vamos ao gmlist: Como todos ja devem saber aqui e onde mete-se char a GM etc.. Agora onde ta a dizer IMPLEMENTOR nos GM´s vamos mudar para GOOD Agora vamos mudar dos TGM´s Nos TGM´s tiramos o Good e passa-mos eles para LOW WIZARD Feito isso entrem com uma conta que seja IMPLEMENTOR e façam o comando /reload a e depois basta chamar o membro da saff que mudas-te o comando /t nome do membro da staff Obrigado por teres lido o tutorial até ao fim, caso consegues-te fazer tudo sozinho até ao fim. Boa estás de parabéns, Caso não tenhas conseguido, não te aflijas, a comunidade está aqui para te ajudar c: Espero ter ajudado a quem precisou. Continuações. Creditos:Eu pela criação do tutorial; Eu pela criação das quests; Eu pela criação da parte pratica; Eu pela ideia; Eu por partilha-la com a comunidade :3 Valenza por ter usado o link do tópico dele como referencia, :3 Se tiver algum erro na escrita ou nas quest´s agradecia que alguém me alerta-se sff. 5 Kɛɛɗ, RachadoPT, ☆♕ CabrinhaSexy ♕☆ and 2 others reacted to this Share this post Link to post Share on other sites
Karbust 1,143 Posted November 21, 2014 Bom tut atéUma coisa que não faz grande sentido, ate podemos dar HIGH_WIZARD a um TGM, mas se mudarmos os poderes de HIGH_WIZARD no CMD, podemos adicionar comandos e retirar comandosMas o resto até está bem explicado Share this post Link to post Share on other sites
Shad0w 347 Posted November 21, 2014 Bom tut até Uma coisa que não faz grande sentido, ate podemos dar HIGH_WIZARD a um TGM, mas se mudarmos os poderes de HIGH_WIZARD no CMD, podemos adicionar comandos e retirar comandos Mas o resto até está bem explicado "Ter conhecimentos suficiente, para mudar "editar" alguns comandos dos cargos; Pois é uma forma eficaz, mas ai surgem as duvidas, então quem não sabe fazer isso tem que correr risco? ou fazer tudo sozinho? (Ai vai surgir a 4 Opção)" Share this post Link to post Share on other sites
Kɛɛɗ 519 Posted November 21, 2014 Bom tut até Uma coisa que não faz grande sentido, ate podemos dar HIGH_WIZARD a um TGM, mas se mudarmos os poderes de HIGH_WIZARD no CMD, podemos adicionar comandos e retirar comandos Mas o resto até está bem explicado Serio isso? Ele mesmo falou no tópico, sobre isto e Cara é obvio que podemos adicionar e retirar comandos, mas independente de fazer isto, ou não, o método que ele veio a explicar, é bem útil, agora se fosse para comentar uma coisa, obvia, era melhor ter ficado calado... 1 AdeusParaSempre-@Zé reacted to this Share this post Link to post Share on other sites
Auros ( ͡ʘ ͜ʖ ͡ʘ) 172 Posted November 21, 2014 Sempre houve corrupção nos governos e não ia existir ainda por cima nos jogos? Share this post Link to post Share on other sites
Shad0w 347 Posted November 21, 2014 Sempre houve corrupção nos governos e não ia existir ainda por cima nos jogos? Atenção que não disse "Como acabar com a corrupção, mas sim como reduzir a corrupção" Share this post Link to post Share on other sites
quenii 981 Posted November 21, 2014 É serio esse tópico mesmo? 2 Shad0w and NewWars reacted to this Share this post Link to post Share on other sites
Auros ( ͡ʘ ͜ʖ ͡ʘ) 172 Posted November 21, 2014 Atenção que não disse "Como acabar com a corrupção, mas sim como reduzir a corrupção" Vai ao mesmo Share this post Link to post Share on other sites
NewWars 875 Posted November 21, 2014 É serio esse tópico mesmo? Mds, acho que o mlk se esforçou... Para falar nada de jeito rs. Share this post Link to post Share on other sites
Shad0w 347 Posted November 22, 2014 Mds, acho que o mlk se esforçou... Para falar nada de jeito rs. Pode não ser nada de jeito para ti mas pode vir a servir a quem não sabe. (Nunca podemos esquecer que antes de saber o que sabemos hoje, não sabia-mos nada.) Cumprimentos. de acordo com o regulamento legal: 3.5. Jamais menospreze outros membros do fórum só porque eles sabem menos do que você; 3 diogo2000, Cσяvσ⋆ and RebooTz reacted to this Share this post Link to post Share on other sites
RebooTz 10 Posted November 22, 2014 Pode não ser nada de jeito para ti mas pode vir a servir a quem não sabe. (Nunca podemos esquecer que antes de saber o que sabemos hoje, não sabia-mos nada.) Cumprimentos. de acordo com o regulamento legal: 3.5. Jamais menospreze outros membros do fórum só porque eles sabem menos do que você; :like: Share this post Link to post Share on other sites
RachadoPT 140 Posted November 22, 2014 Bem, pelo que li, é uma muito boa ideia, mas tenho-te a dizer que isso não ia funcionar pq nas quest, a função command é usar um comando GM, basicamente se tiveres um personagem como LOW_WIZARD não vais poder usar um comando de IMPLEMENTOR através do command(), só por aí já é para esquecer, mas deste uma boa ideia sim senhor, mas isso tinha que ser trabalhado não em Lua apenas, mas na source também para criar funções novas e outras coisas :/ PS: quando refiro que não iriam funcionar, refiro-me apenas a parte de bloquear o chat Share this post Link to post Share on other sites
Shad0w 347 Posted November 22, 2014 Bem, pelo que li, é uma muito boa ideia, mas tenho-te a dizer que isso não ia funcionar pq nas quest, a função command é usar um comando GM, basicamente se tiveres um personagem como LOW_WIZARD não vais poder usar um comando de IMPLEMENTOR através do command(), só por aí já é para esquecer, mas deste uma boa ideia sim senhor, mas isso tinha que ser trabalhado não em Lua apenas, mas na source também para criar funções novas e outras coisas :/ PS: quando refiro que não iriam funcionar, refiro-me apenas a parte de bloquear o chat Vou fazer um pequeno teste e ja lhe digo algo c: Share this post Link to post Share on other sites
RachadoPT 140 Posted November 22, 2014 Outra coisa que tenho que te alertar numa das quests, na vez de escreveres when XXXX.use with pc.is_gm() begin na vez do 'with' meteste 'whit', corrige isso senão não vai dar >< 1 Shad0w reacted to this Share this post Link to post Share on other sites
Shad0w 347 Posted November 22, 2014 Não vejo o tal erro õ.õ when xxxx.use whit pc.is_gm() begin Share this post Link to post Share on other sites