antiblock
Rodnia | Alpha & Omega

Cevic

Membro
  • Content Count

    17
  • Joined

  • Last visited


Reputation Activity

  1. Upvote
    Cevic reacted to Papix in Avaliações A Servidores Privados Português   
    Boas Família .
     
    Bem neste tópico irei realizar umas mini avaliações e detalhes para alguns servidores privados português .



    EliteMt2
     
     
    -O EliteMt2 já é bastante antigo , mas não perde a qualidade não me lembro de ter ouvido falar de corrupção sobre o servidor , e estilo PvM/PvP , o nível máximo é 250 , mas com uma recente actualização passou a 240 sendo assim jogadores acima de 240 ficaram com o nível actual para não haver confusões , O servidor de vez em quanto leva actualizações importantes como implantação de armas/armaduras/ entre outros , nunca levou reseet .


    Avaliação de 1 a 10 : [09]
     
    _____________________________________________________________________


    MKMT2

    -O MKMT2 é um bom servidor estilo PvP PvM  já têm uns bons anos , já ouvi certos casos de corrupção não sei se é verdade ou não  , eu já joguei e não notei o cheiro a corrupção , o MKMT2 têm como nível máximo 150  , Também leva actualizações de longe a longe mas importantes novo objectos mapas entre outros , o MK têm andado apagado do PvP sendo assim um servidor mas virado para o PvM , a população que anda pelo Mk são os português e os brasileiros . o Mk já levou mais que um Reseet .


    Avaliação de 1 a 10 : [06]

    _____________________________________________________________________
    DragonSD

    -O DragonSD é um servidor estilo PvM é um servidor recente já têm um bom tempo , nunca ouvi falar de corrupção no servidor , eu também jogo e não senti o aroma a corrupção nem nada do género , como todos os servidores há duelos , têm a quest de Kill´s PvP e não têm de PvM o que acho estranho num servidor PvM , o DragonSD Têm como nível máximo 215 , não me lembro de actualizações no DragonSD . O DragonSD já levou reseet .

    _____________________________________________________________________

    Avaliação de 1 a 10 : [08]

    MyLastPvP

    -O MyLastPvP é um servidor polémico , por o sucedido no passado , actualmente é um dos melhores servidor português a meu ver , gosto bastante de jogar , apesar de ter sido banido mas isso explicarei no final do tópico , o servidor e PvP/PvM mas mais virado para o PvP , é um servidor português actualmente mas a uns tempos atrás tinha pessoal inglês , como havia muita pouco gente o servidor passou a ser Oficialmente Português , O servidor têm uma equipa actual muito profissional e disposta a ajudar quem precise , O servidor penso que nunca levou nenhum Reseet .

    _____________________________________________________________________

    Avaliação de 1 a 10 : [09]
    DKMT2

    -O DKMT2 é um servidor PvP/PvM , apesar de tudo que já passei com o DKMT2 , confusões com o Administrador , há de se ser realistas e profissionais , é um bom servidor não há corrupção eu próprio joguei , e muitos apontam que aja corrupção na guild ReborN , mas não há pois eu fui da guild ReborN e não ouve qualquer tipo de corrupção , o nível máximo é 150 penso , é um servidor recente e bom , o DKMT2 Já levou Reseet .


    Avaliação de 1 a 10 : [08]
    _____________________________________________________________________

    M2Dragon
     
     
    OO M2Dragon é um servidor Full PvP , começas-se a nível 65 e têm como nível máximo 105 , este servidor não é como os outros para podermos upar temos de acumular Kills ou seja por cada jogador morto por nós recebemos EXP , eu pessoalmente jogo e adoro ! têm uma boa equipa , gosto bastante da comunidade , o M2Dragon nunca levou reseet até a data .



    Avaliação de 1 a 10 : [09]

    ______________________________________________________________________

    Como fui banido no MyLastPvP o.o ?

    -Bem como disse no texto da avaliação ao MyLastPvP irei explicar como fui parar banido !
    Bem eu um dia decidi trocar os meus equipamentos todos Metin2.PT por MyLastPvP , na altura era permitida a troca inter servidores , mas a suposta pessoa que eu troquei fez Farm Kill , eu fui banido por estar em posse de itens de um char banido por Farm Kill fui um pouco injustiça do comentem com a vossa opinião sobre este assunto , eu ainda não falei com o administrador do MyLastPvP após a actualização da equipa , irei tentar falar com ele tentar resolver este problema , pois eu naquela época fiquei praticamente limpo no pt recentemente consegui refazer a minha vida no pt e gostaria de voltar ao MyLastPvP :)

    _____________________________________________________________________

    Isto foi a minha Opinião sobre alguns servidores privados Português .

     
     

    Cumprimentos
    Pastor Alemão#
  2. Upvote
    Cevic got a reaction from JustTryII in Pickup Bot + Multihack [Pt E Privados]   
    Alguen Sabe Como Coloca Para Pegar Um Item Especifico? Tipo Como Faz Com o Yang So Q Com Ostras?
  3. Upvote
    Cevic reacted to RachadoPT in [Dedicado] Estréia Metin2 Go [30/11/2013]   
    Servidor parece muito bom pelo que parece, em principio vou jogar, mas uma sugestão que muita gente irá concordar de certeza: se os bonus forem pt-br, metam pt-pt e no 6-7 metam só bonus de pvm, senão o pvp fica muito abusado. Isto a meu ver claro, mas boa sorte com o server ^^
  4. Upvote
    Cevic reacted to KlepY in Revelação Origin   
    Pessoal aceitem-no como ele é!
     
     
    Cumprimentos CroSSie
  5. Upvote
    Cevic reacted to KlepY in Bot Rodar Addictmt2 [11-11-13]   
    Boas pessoal, vou ser muito breve, trago um bot de rodar funcionar com a nova atualização feita no cliente.
     
     
    Tutorial/Video
     


     
     
    Download
     
    http://www.4shared.com/rar/zisXqpb3/Bot_de_rodar_AddictMT2_11-11-1.html?
     
    Scan
     
    https://www.virustotal.com/ro/file/51752a06838b91a2159f2cd919f0e6366c1041e8740c2f918558258d9a082206/analysis/1384203917/
     
    Créditos
     
    TheRealFreak
    Eu
     
     
    Se ajudei ou gostaste dá +1, não custa nada!
     
     
     
    Cumprimentos CroSSie
  6. Upvote
    Cevic got a reaction from •αddicτ• in Computador Lento   
    Tenta Usar o Game Booster E o CCleaner
  7. Upvote
    Cevic reacted to Dreams in Dano Das Aranhas Do V3...   
    Boas
    Venho aqui falar sobre o dano das aranhas do V3, eu sou Guerreiro mental, lvl 93, já experimentei vários bonos nos meus equips, e mesmo assim as aranhas pequenas sacam-me 2k e as grandes 3k, ora isto parece pouco agora imaginem várias aranhas a tirar isto, morro muito rapido, o que me impede de passar de nível, eu até tiro bom dano mas não basta se elas me tiram muito. O que eu cria propor era se dava para baixar o dano das aranhas do V3, porque realmente está bue alto.
    Cumpz: Dreams
  8. Upvote
    Cevic reacted to 'PACI in Como Alterar Os Moobs Que Saiem Das Metins   
    Não me lembro do nome da coluna, sei que é no mob_proto..
  9. Upvote
    Cevic reacted to Rancoroso in Quest Teletransportar Para Perto Do Líder Do Grupo   
    Bom para quem precisa de um item que teletransportar para perto do líder do grupo.Observação: necessário está no grupo para usar o item de teletransportar para perto do líder do grupo.
    quest teamwarp begin state start begin when ID_DO_ITEM.use begin if party.is_party() then if party.is_leader() then say_title("Gruppenmitglieder ansprechen!") say("Möchtest du die Gruppenmitglieder ansprechen?") local ss = select("Ja","Nein") if ss == 1 then item.remove() party.setf ( "x", pc.get_x() ) party.setf ( "y", pc.get_y() ) party.chat("======== Der Leader spricht zu euch! ========") party.chat("======= Ihr könnt euch nun teleportieren! =======") else say("bye!") end else say("Zum Leiter teleportieren!") say("Möchtest du dich nun teleportieren?") local ss = select("Ja","Nein") if ss == 1 then if party.getf("x") == 0 or party.getf("y") == 0 then say("Dein Leiter ist nicht bereit.") else item.remove() pc.warp(party.getf("x").."00",party.getf("y").."00") end end end else say("Du bist in keiner Gruppe.") end end endendCréditos: SoNicce.
  10. Upvote
    Cevic reacted to đŗaѵєη in Qual O Melhor Marcador De Livres   
    Ronaldinho, Cristiano Ronaldo, Roberto Carlos !
    Cumprimentos,
    đŗaѵєη
  11. Upvote
    Cevic reacted in Site num Webhost (sem Xamp)   
    Boas familia cyber.
    Venho ca esclarecer o que para uns não e novidade e para outros pode ser.
    Este tuturial destina-se a pessoal que tenha o seu servidor com os serviços da NO-IP
    Introdução
    Veja-se livre do xamp e consiga um site 24/7
    Pode adequiri um Subdomino gratis em qualquer webhost free - Webhost usado neste tut: 000webhost
    1ºPasso
    Depois de adquiri um subdominio num webhost gratís e de arranjar um site de metin2, configure-o da seguinte maneira.
    Host: "Seu endereço no-ip"
    User: root
    Password: 123454321 (sua pass)
    2º Passo
    Comprimir o site num arquivo .zip e realizar o upload para "public_html" no seu webhost atraves do painel de cliente
    3ºPasso
    Abrir a porta (3306) no portmap tal e qual como uma porta de jogo. (deixo o esquema)
    3306 | 3306 | any | 3306 | 192.168.5.100
    4ºPasso
    Abrir a porta (3306) no router tal e qual como uma porta de jogo. (TCP e UDP)
    5º Passo
    Testar e ser feliz
    Notas finais:
    [*]Pode nao funcionar coretamente se as ligações do webhost ate ti forem lentas
    [*]Favor de configurar o site direito
    [*]Aconcelho a mudar a password da base de dados (idiotas chamam navicat) porque a porta fica aberta a coneçoes externas e qualquer um pode entrar nela basta digitar a password das files e entra. Por isso toca a mudar a pass para vossa segurança e do servidor.

    Creditos: Henrique Oliveira
    Mais alguma coisa comentem ai em baixo
    Se gostarem deem http://cyber-gamers.org/public/style_emoticons/default/451960.gif 's
    Quem nao quer nao usa apenas estou a partilhar uma informação que tive de aprender sozinho porque quando eu queria a 3 meses, ninguem me sabia responder, ao fim de dois meses lembreime de partilhar para que ninguem volte a ter de passar pelo mesmo.
    Cumprimentos Henrique Oliveira
  12. Upvote
    Cevic reacted to Rancoroso in Overgame By Rancoroso   
    Olá pessoal, bom hoje trago o meu trabalho em montar uma serverfiles ótima para disponibilizar para que as pessoas não tenha dificuldade de entender e de compreender basicamente como essa serverfiles funcionar. Essa serverfiles foi criada por mim não está totalmente completar falta 30% para completar pois falta quests e eventos, está serverfiles pode ser pvm ou pvp vai ao gosto do seu desenvolvedor, as quests iníciais foram removidas por mim então só tem as quests importante como você vai nota assim que você baixar para testa mas já garanto de início que está serverfiles estão ótima.
    Atenção!
    Para iníciar os 10 channels necessário 12 Gbs de Ram.
    Ser você gostou do meu trabalho não esqueça de agradecer.
    Bem-vindo ao Overgame Beta.
    Descrição do servidor Overgame:
    Proteções contra ataques.
    Gamecore2089.
    Dbcore1667.
    Lib2010.
    Nível máximo 120.
    Contém 10 channels.
    Contém sistema de install quest.
    Contém sistema de backup manual.
    Contém sistema de clear manual.
    Sistema de energia.
    Sistema de costume.
    Sistema de vouchers.
    Sistema de mascotes.
    Sistema imperial.
    Sistema de auto-potes.
    Sistema de novas montarias (22-30).
    Guild wars Fixed.
    OX QUIZ Fixed.
    Guerra de reinos.
    Guerra da Tochas.
    Todas as montarias oficiais.
    Todos os penteados oficiais.
    Quase todas as metins novas oficiais.
    Quase todos os itens novos oficiais.
    Todas as refinações oficiais.
    Novos monstros.
    Sexta skill warrior e ninja.
    Terceiro andar da Gomi
    Mapas da invasão.
    Caverna demoniaca.
    Quase todos os pets.
    Mapa gm_guild_castle.
    Mapa gm_guild_build.
    Gruta chun fixed.
    Lojas normais.
    Sem bug de gold.
    Novo locale.lua.
    Vários bugs corrigido.
    Todas as quest basicas configuradas.
    Linguagem alemão 91%, 1% br, 6% chinês e 2% inglês.
    Descrição do FreeBSD 7.4:
    Instalado Apache2.2
    Instalado Mysql5.1
    Instalado PHP5
    Instalado IP Firewall Rules.
    Instalado Paketfilter e Antiflood.
    Instalado Kernel.
    Instalado Serverfiles2011 criado por Rancoroso.
    Tamanho do hd virtual 80 Gbs.
    Login do VirtualBox:
    User: root
    Password: 123456
    Login da MySql:
    User: rancoroso
    Password: 123456
    Login da conta:
    User: rancoroso
    Password: 123456
    Portas do channels:
    13001,13002,13003,13004,13005,13006,13007,13008,13009,13010.
    Comandos da serverfiles2011:
    Iníciar o servidor: sh start
    Limpar logs: sh del
    Criar backup: sh backup
    Re-instalar quests: sh quest
    Reiniciar o servidor: reboot
    Caminho de arquivos:
    game2089: /usr/rancoroso/share/game
    dbcore1667: /usr/rancoroso/database/db
    backup.sh: /usr/rancoroso/backup.sh
    start.sh: /usr/rancoroso/start.sh
    clear.sh: /usr/rancoroso/clear.sh
    channel: /usr/rancoroso/channels/
    backup: /usr/rancoroso/backup/
    quest: /usr/rancoroso/share/locale/germany/quest
    www: /usr/local/www/apache22/data/index.php
    Novos comandos:
    /go gm1
    /go gm2
    /go devil1
    Novos monstros:
    2600 gnoll_helhound
    2601 gnoll_warrior
    2602 gnoll_mage
    2603 gnoll_commander
    2620 gnoll_minotaur
    2630 troll_warrior
    2631 troll_archer
    2632 troll_mage
    2633 troll_commander
    2650 troll_argus
    2660 naga_soldier
    2661 naga_archer
    2662 naga_mage
    2663 naga_warrior
    2680 naga_commander
    Novos npcs:
    30129 Sr.Coelho.
    33002 Sr.Lorey.
    33008 Sr.Jack.
    30121 Espectro Shura.
    33003 até 33007 Andarilho Desafortunado.
    Montarias:
    ID: 20110 até 20119.
    ID: 20213 até 20219.
    Pets:
    ID: 20120 até 20143.
    ID: 34001 até 34003.
    Download do Overgame Beta
    Cliente Oficial das Serverfiles
    Criado por Rancoroso.
    Autor: Rancoroso.
    Créditos: Rancoroso.
    Skype: invisionbrazil.
    Qualquer dúvida entra em contato com o criador.

    Bom, amigos deixo aqui o stop para minha serverfiles2011.
    Tutorial incluído no download....
    Download do stop dos channels full
    https://www.virustot...sis/1361309828/
    depois de adicionar basta usar o comando
    sh stop
    bom, é isso sejam feliz.
  13. Upvote
    Cevic reacted to conta apagada in Extras Importantes Que Não Pode Faltar No Seu Navegador   
    Hoje vou falar de uns extras/plugins importantes, para o google chrome e firefox.
    O que são extras ?
    Extras são mini programas (muito leves), que se instalam nos navegadores do firefox ou google chrome ou outros.
    Como instalar ?
    No firefox: Clique no botão verde que diz "+ Adicionar ao firefox", aquilo a seguir fica a transferir em poucos segundos. Depois acabado de transferir vai aparecer uma caixa, clica no botão "instalar". O firefox vai pedir para você reiniciar o firefox, e pronto já tem o extra instalado.
    No google chrome: Clique no botao azul que diz "+ Instalar" (alguns extras é preciso iniciar a sessao para trasferir). A seguir vai aparecer uma caixa de confirmação você clica no botão "Adicionar", e o extra fica a instalar. Passando pouco tempo acaba, e já esta o extra instalado.

    Extras (que eu recomendo) para firefox:
    Anti-publicidade:
    já esta farto de imagens e textos de publicidade ? Este extra acaba com isso
    https://addons.mozil...lus/?src=search
    Anti-pop-ups:
    Já esta farto de janelas pequenas abrirem sem voce abrir ? Este extra acaba com isso
    https://addons.mozil...don/?src=search
    tradução:
    Esta farto de ver textos em outras línguas ? Este extra traduz tudo para português.
    https://addons.mozil...e-t/?src=search
    Desprotetor de Links:
    Esta casando de ver links para colocar o numero de telemóvel/celular para poder fazer o download ? Este extra acaba com isso
    https://addons.mozil...nks/?src=search

    Extras (que eu recomendo) para google chrome:
    Anti-publicidade:
    já esta farto de imagens e textos de publicidade ? Este extra acaba com isso
    https://chrome.googl...aibdccddilifddb
    Anti-pop-ups:
    Já esta farto de janelas pequenas abrirem sem voce abrir ? Este extra acaba com isso.
    https://chrome.googl...cnamgkkbiglidom
    Desprotetor de Links:
    Esta casando de ver links para colocar o numero de telemovel/celular para poder fazer o download ? Este extra acaba com isso
    https://chrome.googl...blgehihofbfbmei

    Fui eu que escrevi tudo (não copiei em nenhum lado).
    Espero que gostem :)
    Desculpem pelos os erros ortográficos.
    Me da http://cyber-gamers.org/public/style_emoticons/default/451960.gif plx ??
  14. Upvote
    Cevic reacted to conta apagada in Windows 8 Pt-Pt (Com Todas As Versoes)   
    Olá, venho anunciar neste tópico o download do windows 8 pt-pt final, e testado também por mim no virtualbox (menos o
    activador). E sem vírus.
    Informações:
    Processador de 1GHz para o de 32 bits ou 64 bits.
    Memória RAM de 1GB para o de 32 bits e 2GB para o de 64 bits.
    Espaço de 16GB disponível no Disco Rígido.
    Placa de vídeo de 128MB com suporte a DX9.
    Isto tudo para poder ter o windows 8
    http://cyber-gamers.org/public/style_emoticons/default/espi28.gif
    Foram usados os cds originais da Microsoft em PT-PT.
    Por isso esta totalmente em Português de Portugal.
    Não necessita de chave para instalar.
    Nome do ficheiro: Windows_8_AIO_PTG-Zyrtec.iso
    TAMANHO do ficheiro: 4,13 GB
    Versões disponíveis para escolher na instalação:
    Windows 8 (Core) X32/86 btis
    Windows 8 (Core) X64 btis
    Windows 8 Pro X32/86 bits
    Windows 8 Pro X64 bits
    Windows 8 Enterprise X32/86 bits
    Windows 8 Enterprise X64 bits
    Download:
    http://upafacil.com/?d=5034D00511
    http://upafacil.com/?d=5034E02B11
    http://upafacil.com/?d=5034E1E911
    http://upafacil.com/?d=5034CA1811
    http://upafacil.com/?d=5034CF5011
    Senha para extrair: free
    Download do activador:
    http://uploaded.net/file/vzpykw58
    Senha para extrair: osreformados.com
    Como Instalar o windows 8:
    1-Extrair os ficheiros:
    8AIOPT_ZYR.part1
    8AIOPT_ZYR.part2
    8AIOPT_ZYR.part3
    8AIOPT_ZYR.part4
    8AIOPT_ZYR.part5
    2-Depois de extrair, gravar num cd ou numa pen o ficheiro "Windows_8_AIO_PTG-Zyrtec.iso"
    3-Iniciar o computador e arracar com o cd ou a pen usb
    4-Instalar o windows 8
    5-Abrir o activador, para activar o windows 8
    Ps:
    Download tirados do site: osreformados.com
    Tópico feito por mim
    Peço a equipa cyber-gamers para colocar mais links de download se faz favor.
    Me da http://cyber-gamers.org/public/style_emoticons/default/451960.gif plx ??
    Qualquer duvida diga nos comentários, obrigado.
  15. Upvote
    Cevic reacted to p0w3r0ff in Serverfiles 2011/2012 e Cliente by Icebeatzz™ [Root/Hamachi/DynDNS] [Metin2]   
    Como Instalar?

    http-~~-//youtu.be/Osj2S1EleK8
    Algumas armas e armaduras:

    Loja Geral:


    Professor:


    Negociante de armas:


    Negociante de Armaduras:


    Mapa Farm:


    Detalhes:

    -> 2011/2012 ServerFiles / DB / cliente
    -> Novas armas / armaduras Nova
    -> Armas
    -> Personalizado Base de dados / Lojas / cliente
    -> Nível Max 255
    -> Montadas Novas
    -> Novos Mapas
    -> 2 canais
    -> Servidor precisa de muito pouco Mb / Gb

    Bem, os arquivos do jogo tem algumas atualizações do .Kay331 & .Infinity e genommen.

    Novos comandos:

    Criar um único backup:
    cd /home/game && sh backup.sh

    Cada dia irá criar automaticamente uma cópia de segurança:
    cd /home/game && sh auto_backup.sh

    Cerca de 5 segundos após o início de um canal automaticamente, o comando é inserido:
    /etc/rc.d/netif restart
    (Ou seja, o banco de dados é mais rápido e Filezilla)
    Após as configurações sysinstall ou qualquer outra coisa o comando deve ser digitado para mais segurança:
    cd /home/game && sh make_api.sh

    reinício de Canais ou encerramento:
    cd /home/game && shut.sh
    (Close.sh também funciona)

    Conexão Filezilla:
    Alterado a porta a segurança e enorme
    Porta apropriada: 1337

    Entrar em:
    Consola:
    ID: root
    Senha: icebeatzz

    Base de dados:
    ID: root
    Senha: icebeatzz

    Jogo:
    ID: ice
    Senha: 1

    Agradecimentos especiais:
    -> Kay331.
    -> Infinity.
    -> Icebeatzz ™ [Eu]


    Download:

    Senha para DL: Icebeatzz
    Servidores Hamachi e PortMap:





    Changelog:
    Na consola o y é o z e o z é o y
    - Criar Server versão 1.0 / cliente / base de dados .
    - Port Mapt & Starters Adicionado Dl
    Creditos Epvp Criado por Icebeatzz
    Traduçao e Upload por PowerOff
  16. Upvote
    Cevic reacted to xXBoyDarkXx in Resolver O Erro Cores   
    Boas sei qu estes 2 erros afectam muita gente e por isso hoje vou ensina-los a resolve-los, então aqui vai:
    Error de cores (No souch file or directory etc.)
    erro exemplo:

    o que têm de fazer é: 1º-ir a:

    e a pagar os arquivos:
    e façam isso em todas estas pastas:
    Crédtitos UJ e eu por ter traduzido e simplificado xD
  17. Upvote
    Cevic reacted to luiscarlosgraca in Relatório do Projecto de Programação de Sistemas Informáticos [Metin2 Servidor Privado]   
    A professora pediu-nos que fizessemos um projecto e eu como gosto de Metin2 desenvolvi isto:
    Ver este Tutorial em PDF

    Espero que gostem
    E s c o l a S e c u n d á r i a D r . J o r g e C o r r e i a
    por: Paulo Gonçalves
    Aluno nº19 da turma TGPSI
    De 24/04/2012 a 08/05/2012
    Relatório do Projecto de Programação de Sistemas Informáticos
    1
    Paulo Gonçalves – Projecto de PSI
    Índice
    Índice 1
    Introdução 2
    Objectivos 3
    Desenvolvimento do Projecto 4
    Ponto 1 – Instalação e configuração dos Ficheiros do Servidor 4
    Ponto 2 – Instalação e configuração dos programas de acesso ao servidor 7
    Parte I – Instalação e configuração do Navicat 7
    Parte II - instalação e configuração do Filezilla 7
    Ponto 3 – Criação de uma conta e tornar o nosso personagem GameMaster (administrador) 8
    Parte I – Criação de uma conta. 8
    Parte II – Tornar o nosso personagem GameMaster (administrador) 9
    Ponto 4 – Ligar o cliente ao servidor. 10
    Ponto 5 – Estudo das bases de Dados. 11
    Parte I – Estudo da Base de Dados Accounts. 11
    Parte II – Base de Dados common . 12
    Parte III – Base de Dados Player. 13
    Ponto 6 – Implementação de itens, NPCS e monstros(mobs) 15
    Parte I – Implementação de itens. 15
    Parte II – Implementação de NPCS. 20
    Parte III – Implementação de monstros(mobs). 22
    Dificuldades Sentidas. 25
    Conclusão. 26
    Girias utilizadas neste documento e no mundo dos jogos. 27
    Bibliografia e Netgrafia. 28
    2
    Paulo Gonçalves – Projecto de PSI
    Introdução
    Neste módulo foi proposto pela professora desenvolvermos-mos um projecto individual sobre algo aprendido na disciplina de Programação de Sistemas de Informação e propus-me a desenvolver e explicar o processo de instalação e configuração de um servidor de jogos,
    Metin2, e ainda conectar as bases de dados do servidor com o cliente de jogo. Escolhi este projecto porque engloba várias áreas da informática, nomeadamente Sistemas Operativos, Arquitectura de Computadores, Redes de Comunicações e Programação de Sistemas de Informação.
    Para tal efeito utilizei os seguintes programas:
    -Navicat 10.0;
    -Notepad++;
    -Filezilla;
    -Virtual PC 2007;
    -M2 extractor;
    -Portmap;
    -DUC Client No-ip;
    -Ficheiros do Servidor;
    -GIMP 2.8
    -Cliente.
    O servidor como requer bibliotecas somente disponibilizadas pelo sistema operativo FreeBSD toda a configuração e instalação foi feita numa máquina virtual. Os ficheiros do servidor assim como as bases de dados foram criados por outras pessoas sendo o meu objectivo apenas o de
    melhorar os aspectos defeituosos deixados pelos criadores. Todo o conhecimento que adquiri sobre este assunto foi nos fóruns da Internet, Youtube e na
    escola, tendo tido muito trabalho de pesquisa antes de poder fazer qualquer alteração.
    3
    Paulo Gonçalves – Projecto de PSI
    Objectivos
    Este projecto tem como objectivos principais:
    -Instalação e Configuração do Servidor de Metin2;
    -Instalação e Configuração dos programas de acesso;
    -Criar uma conta e tornar o nosso personagem GameMaster (administrador);
    -Ligar o cliente ao servidor;
    -Estudo das Bases de Dados;
    -Implementação de novos itens, NPCS e monstros (mobs).
    -Desenvolvimento de um programa para fazer a transferência dos arquivos mais recentes e
    actualizados em relação ao servidor (Patcher).
    4
    Paulo Gonçalves – Projecto de PSI
    Imagem 1 - Escolha da placa de rede
    Desenvolvimento do Projecto
    Ponto 1 – Instalação e configuração dos Ficheiros do Servidor
    Primeiro comecei por fazer a instalação de uma nova placa de rede. Para este passo fui no menu Iniciar do Windows, depois na pesquisa escrevi hdwwiz. Carreguei no botão Seguinte, seleccionei o ponto Instalar o hardware que eu seleccionar manualmente a partir de uma lista e carreguei no botão
    Seguinte. Nesta lista seleccionei a aba placas de rede e cliquei no botão seguinte. Na aba fabricante escolhi Microsoft e depois
    Microsoft Adaptor Loopback. Depois Seguinte, Seguinte e ele instala. Quando a placa de rede for instalada cliquei em concluir.

    Depois segue-se a configuração da placa de rede. Para este passo fui ao Menu Iniciar, Painel de Controlo, Centro de rede e partilha e no
    meu caso cliquei na conexão local 3. Fui as propriedades e editei as configurações IP v4. Pus
    para atribuir um IP fixo com as seguintes configurações.

    Ilustração 2 - Propriedade do Protocolo IP v4
    Pus um visto no Validar Definições ao Sair e OK.
    5
    Paulo Gonçalves – Projecto de PSI

    Feito isto tive que fazer três transferências.
    Ficheiros do Servidor + Maquina Virtual: http://depositfiles....files/g1o5m24f6
    Virtual PC 2007:http://www.microsoft.com/en-us/download/details.aspx?id=4580
    Portmap: http://www.mediafire...v1fvn8e62f8zb4a

    Extrai o Portmap e os ficheiros do Servidor e instalei como um programa normal o virtual PC.
    A senha dos ficheiros do servidor é “cyber-gamers.org”.

    De seguida abri o Virtual PC e cliquei no botão New...,
    Next, Create a Virtual Machine, Next, Next. No Operating System coloquei Others, Next, Adjusting the RAM, pus 1024MB de RAM e Next.
    Escolhi a opção An existing Virtual Hard Disk e Next.
    Coloquei a localização dos ficheiros do Servidor extraÍdos (um ficheiro .vhd) e cliquei Next.
    Tendo feito isto seleccionei a máquina e cliquei em Settings. Na aba Networking seleccionei o Microsoft Adaptor Loopback.
    Depois cliquei Finish. Seleccionei a minha máquina e cliquei Start.
    O programa Virtual PC vai iniciar um sistema operativo virtual. O utilizador que usamos é o root com a password mcncc.com
    (pode ser mudada posteriormente). Depois de colocar o login e a password na consola escrevi sysinstall. Depois escolhi a opção configure



    e depois Networking, Interfaces. Optei pela opção de0 e carreguei em No, No e coloquei as seguintes configurações:



    Ok, Yes, Esc, Esc. Outra configuração que fiz neste menu foi a configuração do Teclado. Para isso fui à opção Keymap e escolhi Portuguese (accent).
    Feito isto carreguei ESC e escrevi na linha de comandos /etc/rc.d/netif restart para reiniciar as configurações de rede.
    Depois escrevi reboot para reiniciar a máquina.
    Quando a máquina reiniciou inseri o login e password e escrevi na linha de comandos ./start para iniciar o servidor.
    Depois liguei o Portmap abrindo o programa.
    Chegando ao fim da instalação e configuração da máquina fui configurar os programas de acesso.
    7
    Paulo Gonçalves – Projecto de PSI

    Ponto 2 – Instalação e configuração dos programas de acesso ao servidor
    Parte I – Instalação e configuração do Navicat Primeiro transferi o programa. http://www.mediafire...s82q276b8gd8wtd
    Extrai e instalei normalmente. Quando me pediu para inserir o Serial abri o programa encontrado na pasta
    LZ0 (keygen.exe). Colei o serial e registei o programa. Abri o navicat e fui configurar uma nova ligação.
    Para isto cliquei na opção connect e escolhi mysql.


    Ilustração 5 - Nova ligação SQL

    Depois no connection name pus um nome à minha escolha
    (metin2). No host name coloquei 192.168.5.100. O port fica igual (3306). O utilizador fica root e a password é
    123456. Pus um visto no Save Password e Cliquei no OK.
    A parte da ligação à base de dados está feita.
    Parte II - instalação e configuração do Filezilla Efectuei a transferência no site:
    http://filezilla-project.org/
    Instalei como um programa normal e procedi a configuração. Para tal fui a aba Ficheiro, Gestor de Sitios, Novo sitio.


    Ilustração 6 - Novo Sitio

    No anfitrião coloquei 192.168.5.100, na Porta 22, no protocolo SFTPD – SSH File Transfer Protocol. Na parte
    do tipo de inÍcio de sessão coloquei normal e no utilizador root com a palavra passe mcncc.com.
    Feito isto cliquei em OK e a configuração do Filezilla está feita.
    8
    Paulo Gonçalves – Projecto de PSI

    Ponto 3 – Criação de uma conta e tornar o nosso personagem GameMaster (administrador)
    Parte I – Criação de uma conta.
    Este passo é indispensável pois sem uma conta não é possÍvel fazer a ligação ao servidor através de um cliente. Neste caso usei o navicat, mas de futuro usarei uma página criada por mim, para qualquer pessoa ter acesso e poder criar uma conta.
    Para tal efeito abri o navicat e acedi à ligação previamente configurada. Seleccionei a base de dados account e abri a tabela accounts.
    Na coluna id coloquei um número que ainda não foi usado(neste caso 2) e no login o nome usado para efectuar o login no cliente.


    Ilustração 7 - Adicionar uma conta

    A password utiliza uma encriptação por tive que fazer uma consulta antes, de modo que, fui a parte query, New Query, e escrevi
    SELECT PASSWORD(‘123456’);

    Ilustração 8 – Query para gerar a password encriptada

    Cliquei em run e copiei o valor obtido e colei na coluna password.
    Depois no real_name pus o nome verdadeiro, social_id o código para apagar as personagens, e no email o meu email.
    Feito isto a conta estava criada.
    9
    Paulo Gonçalves – Projecto de PSI

    Parte II – Tornar o nosso personagem GameMaster (administrador)
    Agora com a conta criada deveremos nos tornar administradores do jogo para que possamos fazer testes e outras coisas.
    No navicat abri a base de dados common e a tabela gmlist. Lá inseri um novo registo e coloquei os seguintes valores:
    mID: um número que ainda não fosse utilizado;
    mAccount: o login da conta que foi criada anteriormente;
    mName: o nome que o personagem irá ter;
    mAuthority: IMPLEMENTOR.


    Ilustração 9 - Adicionar uma personagem à tabela dos GMs

    Quando acabei este passo ao fazer ligação com aquela conta e ao criar um personagem com o nome escolhido, este se tornava GameMaster.
    10
    Paulo Gonçalves – Projecto de PSI

    Ponto 4 – Ligar o cliente ao servidor
    Após as configurações anteriores tive que criar o personagem e testar se o servidor estava a funcionar correctamente.
    Para isso fiz as configurações necessárias no cliente para poder ligarme ao servidor.
    Para efectuar a transferência do cliente acedi a este link:
    http://uploaded.to/file/jlxzczc8
    Extrai, abri o ficheiro serverimfo.py com o notepad++ , e coloquei o ip da máquina virtual (192.168.5.100).
    Abri o programa metin2_2010.exe cliquei em START e pus as minhas credências da conta.


    Ilustração 10 - Metin2_2010.exe


    Ilustração 11 - Inserir as credenciais de conta

    Fiz a ligação ao servidor e cliquei no botão criar. Escolhi a classe e o sexo (Guerreiro e Masculino),


    Ilustração 13 - Criar o Personagem

    o nome foi aquele que coloquei previamente na tabela de gmlist e escolhi a cor que desejava que o equipamento fosse (cor 2).
    Cliquei em criar e depois quando me apareceu para escolher o personagem cliquei em começar.
    Esperei o loading e apreceu o meu personagem com o simbolo GM acima da cabeça (significando que é GameMaster).


    Ilustração 12 - Personagem no Mundo do Jogo

    Como conseguimos jogar, o servidor estava funcional.
    11
    Paulo Gonçalves – Projecto de PSI

    Ponto 5 – Estudo das bases de Dados
    Existem 3 bases de dados que são fundamentais à execução do servidor.
    Elas são Accounts, Common e Player.
    Dentro das mesmas existem tabelas que exigem a nossa compreenção. Sem saber para que serve um campo em questão uma alteração na base de dados pode
    compremeter todo o funcionamento do servidor, desde dar erro ao escolher a personagem a o servidor nem ligar.
    Parte I – Estudo da Base de Dados Accounts
    Esta base de dados serve para guardar as contas que são criadas.
    Dentro desta existe apenas uma tabela que se precisa compreender, accounts, que tem os seguintes campos:

    Id, login, password, real_name, social_id, email, phone1, phone2, zipcode, adress,
    create_time, question1, answer1, question2, answer2, is_testor, status, securitycode,
    newsletter, empire, name_checked, availDt, cash, gold_expire, silver_expire, safebox_expire,
    autoloot_expire, fish_mind_expire, marriage_fast_expire, money_drop_rate_expire,
    ttl_cash, ttl_mileage, channel_company, last_play.
    Destes todos apenas precisei de compreender o funcionamento dos seguintes:
    Id, login, password, real_name, social_id, email, phone1, phone2, zipcode, adress, question1,
    answer1, question2, answer2, status, gold_expire, silver_expire, safebox_expire,
    autoloot_expire, fish_mind_expire, marriage_fast_expire e money_drop_rate_expire.

    Destes apenas os seguintes não podem ser nulos:
    Id, login, password, social_id

    Após estudar o funcionamento de cada campo cheguei a conclusão de que os campos actuam segundo o seguinte:
    Id, é uma chave primária. Serve para identificar a que conta os personagens pertencem.
    Este campo é auto increment por isso não precisamos de especificar um valor.
    Login, é o nome utilizado para se fazer o login no cliente. Este campo tem que ser único.
    Password, é a password utilizada para se fazer o login no cliente. Este campo utiliza a
    encriptação de Password do MySQL. Este processo é irreversivel, portanto só se pode encriptar
    e não se pode desencriptar fazendo com que seja uma palavra passe muito segura.
    Social_id, é o código que vai ser utilizado ao eliminar uma personagem, fazendo assim com
    que a personagem só possa ser eliminada pelo criador da conta.
    Real_name, é o nome real do dono da conta.
    Email, é o email a que a conta está associada. Se usarmos num site uma recuperação da
    password por email, este campo torna-se essencial.
    Phone1, phone2, é um campo para que se coloque o número de telemóvel.
    Não tem muito interesse pois o utilizador nunca vai ser contactado via telemovel e no jogo não há nada que seja feito a partir do telemovel.

    Zipcode, adress, Informações relactivamente a morada. Não tem muita utilidade nesta base de dados.
    Question1, question2, São as perguntas de segurança. Se for feito a reposição de password com perguntas secretas estes campos tornam-se essenciais.
    Answer1, answer2, São as respostas as perguntas de segurança.
    Se for feito a reposição de password com perguntas secretas estes campos tornam-se essenciais.
    Status, Quando o valor deste campo for OK, poderemos fazer o login no cliente normalmente.
    Este campo é de extrema utilidade se utilizarmos algum método de validação por email.
    gold_expire, silver_expire, safebox_expire, autoloot_expire, fish_mind_expire, marriage_fast_expire e money_drop_rate_expire,
    bónus do jogo, são do tipo data e guardam
    até que dia estes bónus estão activos. São extremamente uteis caso queiramos fazer um sistema VIP.
    Feito este estudo cheguei a conclusão de que a query óptima para acrescentar uma nova conta é:

    INSERT INTO accounts(login, password, social_id, email, question1, question2, answer1,answer2, status, gold_expire, silver_expire, safebox_expire, autoloot_expire,fish_mind_expire, marriage_fast_expire e money_drop_rate_expire) VALUES (‘login’,PASSWORD(‘password’), ‘código de apagar a personagem’, ‘email’, ‘questão 1’, ‘questão2’,‘resposta1’, ‘resposta2’, ‘OK’, ‘data de hoje mais dez dias’, data de hoje mais dez dias’, datade hoje mais dez dias’, data de hoje mais dez dias’, data de hoje mais dez dias’, data de hojemais dez dias’, data de hoje mais dez dias’); Parte II – Base de Dados common
    Esta base de dados serve para guardar as coisas comuns ao servidor.
    Uma das tabelas é a gmlist, que serve para guardar os GameMasters que o servidor tem.
    Esta tem os seguintes campos: mID, mAccount, mName, mAuthority, mContactIP, mServerIP
    Destes apenas os seguintes não podem ser nulos:
    mID, mAccount, mName, mAuthority Depois de estudar esta tabela cheguei à conclusão que:
    O campo mID é a chave primária e guarda o número do GM.
    O campo mAccount serve para dizer a que conta o GM pertence, para que se for criado um
    personagem com o mesmo nome do GM este não ter poderes de administração.
    O campo mName é o nome do personagem que é GM.
    O campo mAuthority é onde se designa que tipo de GM ele é, Implementor, que tem acesso a
    tudo ou apenas um Wizard, que pode só fazer apenas algumas coisas.


    13
    Paulo Gonçalves – Projecto de PSI

    Com isto cheguei a conclusão que a query optima é:

    INSERT INTO gmlist(mID, mAccount, mName, mAuthority, mServerIP) VALUES (‘id’, ‘nome daconta’, ‘nome do personagem’, ‘IMPLEMENTOR’, ‘ALL’); Parte III – Base de Dados Player
    Esta base de dados guarda todos os dados relactivamente ao jogo.
    Todas as tabelas são deveras importantes, embora para atingir o meu objectivo só precisei compreender as tabelas
    item_proto e mob_proto. Outras tabelas importantes são a player que guarda os registos dos
    personagems, guild, que guarda todas as alianças feitas no jogo, land, que guarda os terrenos das alianças, item, que guarda a quem pertence tal item, item_atrr, que guarda os especiais e quantidades que podem ser aplicados nos items, shop, que designa a determinado NPC uma
    loja e shop_item que determina que lojas vendem determinado item e que quantidades.
    Vou começar por falar da tabela item_proto.
    Ao estudar a tabela vi que tem os seguintes campos:

    Vnum, name, locale_name,type, subtype, weight, size, antiflag, flag, wearflag, immuneflag,
    gold, shop_buy_price, refined_vnum, refine_set, refine_set2, magic_pct, limittype0,
    limitvalue0, limittype1, limitvalue1, applytype0, applyvalue0, applytype1, applyvalue1,
    applytype2, applyvalue2, value0, value1, value2, value3, value4, value5, socket0, socket1,
    socket2, socket3, socket4, socket5, specular, socket_pct, addon_type.

    Vnum serve para identificar o id do item.
    Name serve para identificar o nome do item nos ficheiros do servidor.
    Locale_name serve para identificar os nomes dos itens no cliente.
    Type, subtype, servem para identificar qual o tipo de item (espada, leque, poção, item normal,).
    Size, o tamanho que ocupa no inventario.
    Antiflag, flag, wearflag, immuneflag, Restrições de raça, se pode ser vendido e se se pode deixar cair.
    Shop_buy_price, preço ao vender o item numa loja do jogo.
    Refined_vnum, refine_set, refine_set2, informações sobre a refinação do item.
    limittype0, limitvalue0, limittype1, limitvalue1, restrições de nivel.
    applytype0, applyvalue0, applytype1, applyvalue1, applytype2, applyvalue2, bonus daquela arma.
    value0, value1, value2, value3, value4, value5, valores referentes ao tipo de item que é.
    E depois estudei a tabela mob_proto que tem os seguintes campos:

    14
    Paulo Gonçalves – Projecto de PSI

    vnum, name, locale_name, rank, type, battle_type, level, size, ai_flag, mount_capacity,
    setRaceFlag, setImmuneFlag, empire, folder, on_click, st, dx, ht, iq, damage_min,
    damage_max, max_hp, regen_cycle, regen_percent, gold_min, gold_max, exp, def,
    attack_speed, move_speed, aggressive_hp_pct, aggressive_sight, attack_range, drop_item,
    resurrection_vnum, enchant_curse, enchant_slow, enchant_poison, enchant_stun,
    enchant_critical, enchant_penetrate, resist_sword, resist_twohand, resist_dagger, resist_bell,
    resist_fan, resist_bow, resist_fire, resist_elect, resist_magic, resist_wind, resist_poison,
    dam_multiply, summon, drain_sp, mob_color, polymorph_item, skill_level0, skill_vnum0,
    skill_level1, skill_vnum1, sp_berserk, sp_stoneskin, sp_godspeed, sp_deathblow, sp_revive,
    skill_level2, skill_vnum2, skill_level3, skill_vnum3, skill_level4, skill_vnum4

    vnum, o id que identifica o mob.
    Name, o nome que identifica nos ficheiros do servidor.
    Locale_name, o numero que identifica no cliente.
    Rank, o nivel de dificuldade.
    Type, o tipo de mob que é.
    Level, o nivel do mob.
    Ai_flag, como o mob se comporta.
    Empire, o império ao qual pertence o moob.
    On_click, o que o mob faz quando se clica nele.
    St, dx, ht, iq, status do mob.
    Damage_min, damage_max, dam_multiply, valores de dano do mob.
    skill_level1, skill_vnum1, skill_level2, skill_vnum2, skill_level3, skill_vnum3, skill_level4, skill_vnum4, que habilidades o moob tem.
    resist_sword, resist_twohand, resist_dagger, resist_bell, resist_fan, resist_bow, resist_fire, resist_elect, resist_magic, resist_wind, resist_poison, resistencias aos personagens que o mob tem.

    15
    Paulo Gonçalves – Projecto de PSI

    Ponto 6 – Implementação de itens, NPCS e monstros(mobs)
    Para concluir este passo já é preciso descompactar ficheiros do servidor. Para tal usamos a ferramenta do M2 Extractor.
    Como já é uma ferramenta antigo que eu possuo e não aencontro já disponibilizada na internet eu próprio fiz o upload.
    Primeiro fiz a transferência do M2 Extractor http://www.mediafire.com/?jxao19gjw5oboqa
    Depois copiei para o caminho C:m2 e extrai. Fiquei com um programa chamado m2.exe.
    Este programa trabalha com os ficheiros .eix e .epk do cliente através de ficheiros .xml.
    Para o usar tive que ir à linha de comandos do Windows (Menu Iniciar e na pesquisa escrever cmd) e ir para a pasta do programa (cd c:m2).
    Feito isto tive que criar um ficheiro .xml e copiar o arquivo que desejo descompactar do cliente.
    Depois escrevi na consola m2 ficheiro.xml e ele extraiu-me os ficheiros para a pasta Source.Depois tive que ir através do navegador do Windows (explorer) ir a pasta c:m2source e lá encontravam-se todos os ficheiros que estavam dentro do ficheiro .epk.
    Parte I – Implementação de itens.
    Nesta parte adicionei 3 itens comuns que irão fazer parte de uma missão. O nome desses itens
    são, Chave de Azurite, Cabeça Encolhida e Totem do Resto. Todos estes itens têm um Ícone. Os Ícones podem ser encontrados nestes links:
    Chave de Azurite
    Cabeça Encolhida
    Totem do Resto
    Guardei as 3 imagens no meu computador.
    De seguida criei 4 ficheiros XML, icon.xml, root.xml, locale_de.xml, item_proto.xml em que os conteúdos eram os seguintes:
    icon.xml

    <Buildfile version="1.1"><Action type="extract" archivePath="C:m2icon" outputPath="Source" extractAll="YES"createXML="YES" xmlPath="iconpack.xml" /></Buildfile>16
    Paulo Gonçalves – Projecto de PSI

    locale_de.xml
    item_proto.xml
    De seguida copiei os ficheiros icon.epk, icon.eix, locale_de.epk, locale_de.eix da pasta pack do cliente para a pasta c:m2 e os ficheiros criados para a pasta c:m2.
    Abri a consola e fui para a pasta m2. Escrevi m2 root.xml. O programa extraiu sem quaisquer erros.
    Ilustração 14 - Linha de comandos Windows

    Fiz o mesmo para o ficheiro icon.xml e locale_de.xml. Foi criado a pasta Source, o ficheiro
    rootpack.xml,o ficheiro locale_depack.xml e o ficheiro iconpack.xml.
    No explorador do Windows fui à pasta c:m2Source e lá tinha os ficheiros todos que estavam dentro dos ficheiros .epk.
    Feito isto editei as imagens no GIMP para passar de png para tga, o formato de imagem do metin2.
    Para efectuar este passo abri as imagens no GIMP e na
    aba ficheiro -> exportar selecionei a extensão .tga.

    Ilustração 15 - Edição das imagens no GIMP

    Primeiro copiei as três imagens editadas para a pasta c:m2sourceiconitem

    <Buildfile version="1.1"><Action type="extract" archivePath="C:m2locale_de" outputPath="Source" extractAll="YES"createXML="YES" xmlPath="locale_depack.xml" /></Buildfile><Buildfile version="1.1"><Action type="item_proto_extract" path="item_proto" output="item_proto_dump.xml" /></Buildfile>17
    Paulo Gonçalves – Projecto de PSI

    Depois abri o ficheiro c:m2sourcelocaledeitemlist.txt com o notepad++.
    Efectuei uma pesquisa (CTRL + F) com o número 30311, 30312 e 30319 para verificar se já existiam entradas
    desse número nesse ficheiro. Como não existia entrada para esses números eu fui acrescentar estas linhas:
    Depois editei o ficheiro c:m2sourcelocaledeitem_desc.txt com o notepad++. Efectuei uma
    pesquisa (CTRL + F) com o número 30311, 30312 e 30319 para verificar se já existiam entradas
    desse número nesse ficheiro. Como não existia adicionei as seguintes linhas:
    Agora copiei o ficheiro c:m2Sourcelocaledeitem_proto para a pasta c:m2. Executei na
    consola do Windows, na pasta c:m2, o comando m2 item_proto.xml. Isto criou o ficheiro item_proto_dump.xml.
    Editei esse ficheiro. Fiz a pesquisa acima referida, e mais uma vez como não existia adicionei as seguintes linhas:

    30311 ETC icon/item/30311.tga30312 ETC icon/item/30312.tga30319 ETC icon/item/30319.tga30311 Chave de Azurite Esta delicada chave, com uma pedra de Azurite, abre a
    passagem para o 2º Andar das Catacumbas do Demónio.
    30312 Totem de Rosto Este pedaço de madeira com um rosto cravado serve como
    chave para o 6º Andar das Catacumbas do Demónio.
    30319 Cabeça Encolhida Esta cabeça de demónio encolhida abre o selo para o 3º Andar das Catacumbas do Demónio. Este item é negociável.

    <Item vnum="30311" name="Chave de Azurite" gb2312name="Chave de Azurite" type="5" subtype="0"weight="0" size="1" antiflag="0" flag="4" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="0"limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0"applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0"socket1="64944" socket2="127" socket3="65008" socket4="21631" socket5="4855" refine_vnum="0" refine_set="0"magic_pct="0" specular="0" socket_pct="0" /><Item vnum="30312" name="Totem do Resto" gb2312name="Totem do Resto" type="5" subtype="0" weight="0"size="1" antiflag="0" flag="4" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="0" limitvalue0="0"limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0"applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0" socket1="64944"socket2="127" socket3="65008" socket4="21631" socket5="4855" refine_vnum="0" refine_set="0" magic_pct="0"specular="0" socket_pct="0" /><Item vnum="30319" name="Cabeça Encolhida" gb2312name="Cabeça Encolhida" type="5" subtype="0"weight="0" size="1" antiflag="0" flag="4" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="0"limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0"applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0"socket1="64944" socket2="127" socket3="65008" socket4="21631" socket5="4855" refine_vnum="0" refine_set="0"magic_pct="0" specular="0" socket_pct="0" />18
    Paulo Gonçalves – Projecto de PSI

    Agora compactei os arquivos de novo para colocar no cliente.
    Para tal o que eu fiz primeiro foi a criacção de um outro ficheiro .xml, item_protopack.xml com o seguinte conteudo:
    Ainda acrescentei no ficheiro iconpack.xml as seguintes linhas:
    Executei na consola do Windows, na pasta c:m2, o comando m2 item_protopack.xml.
    Isto criou o ficheiro item_proto. Copiei o item_proto para a pasta c:m2Sourcelocalede e
    Voltei a compactar tudo com os seguintes comandos:
    m2 locale_depack.xml
    m2 iconpack.xml
    Copiei os ficheiros icon.epk, icon.eix, locale_de.epk e locale_de.eix para a pasta pack do cliente.
    Abri o navicat, liguei-me a ligação ahamachi(nome escolhido anteriormente), escolhi a base de dados player e em new query inseri a seguinte query:

    <Buildfile version="1.1"><Action type="item_proto_create" path="item_proto_dump.xml" output="item_proto" /></Buildfile>INSERT INTO item_proto VALUES ('30311', 'Chave de Azurite', 'Chave de Azurite', '5', '0', '0', '1','0', '4', '0', '', '0','0', '0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0', '-1', '-1', '-1', '-1','-1', '-1', '0', '0', '0');INSERT INTO item_proto VALUES ('30312', 'Totem do Resto', 'Totem do Resto', '5', '0', '0', '1','0', '4', '0', '', '0','0', '0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0', '-1', '-1', '-1', '-1','-1', '-1', '0', '0', '0');INSERT INTO item_proto VALUES ('30319', 'Cabeça Encolhida', 'Cabeça Encolhida', '5', '0', '0', '1','0', '4', '0', '', '0','0', '0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0', '-1', '-1', '-1', '-1','-1', '-1', '0', '0', '0');<File archivedPath="icon/item/30311.tga"type="1"><![CDATA[Sourceiconitem30311.tga]]></File><File archivedPath="icon/item/30312.tga"type="1"><![CDATA[Sourceiconitem30312.tga]]></File><File archivedPath="icon/item/30319.tga"type="1"><![CDATA[Sourceiconitem30319.tga]]></File>19
    Paulo Gonçalves – Projecto de PSI

    Feito isto fui ao cliente, fiz login, escolhi a personagem e no chat escrevi /reload p para fazer um recarregamento as tabelas _proto.
    Depois no chat fiz /i 30311. Verifiquei se apareceu o item. Repeti o mesmo passo para os items 30312 e 30319.
    Ilustração 16 - Os três novos itens

    20
    Paulo Gonçalves – Projecto de PSI

    Parte II – Implementação de NPCS.
    Nesta parte foi adicionado um NPC (Non Playable Character), para fazer o teletransporte para dentro uma nova zona implementada.
    Para isso usei um modelo já existente de NPC (um ficheiro .gr2).
    As únicas coisas que fiz foi a instrução SQL e integrar o NPC com o cliente para que o possamos visionar.
    O primeiro passo que tomei foi extrair o ficheiro root.epk, e para tal efeito criei o ficheiro root.xml.
    Nele escrevi o seguinte:
    Copiei os ficheiros root.epk e root.eix, executei o seguinte comando na pasta c:m2: m2 root.xml e o programa descompactou os ficheiros contidos dentro do ficheiro root.
    Editei o documento c:m2sourcenpclist.txt com o notepad++ e pesquisei para ver se existe a linha 20133.
    Como não existia adicionei a seguinte linha nesse mesmo ficheiro:
    Feito isto guardei o documento e na consola executei o comando m2 rootpack.xml.
    Copiei o root.epk e root.eix gerados e colei dentro da pasta pack do cliente.

    Ilustração 17 - Modelo do NPC

    <Buildfile version="1.1"><Action type="extract" archivePath="C:m2root"outputPath="Source" extractAll="YES" createXML="YES"xmlPath="rootpack.xml" /></Buildfile>20133 jinno_patrol_spear21
    Paulo Gonçalves – Projecto de PSI

    Depois fiz a query SQL:
    Fiz login no jogo, digitei no chat /reload p e depois /m 20133.
    Ilustração 18 - NPC adicionado

    INSERT INTO mob_proto VALUES (20133, 'Guardião das Catacumbas', 'Guardião dasCatacumbas', '5', '1', '0', '120', '', 'NOMOVE', '0', '', 'STUN,SLOW,CURSE,TERROR', '0', '', '2','0','0','0','0','0','0', '120', '3', '1', '0','0', '100', '4', '100', '100', '0', '2000', '150', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', null, null, null, null, null, null);[/center][center]22
    Paulo Gonçalves – Projecto de PSI

    Parte III – Implementação de monstros(mobs).
    O cliente que fiz a transferência já tem todos os monstros que quero inserir implementados,
    portanto só precisei de trabalhar as querys SQL que foram as seguintes:
    INSERT INTO `mob_proto` VALUES ('2501', 'zombie_diseased_kid', 0x48F66C6C656E7175616C6C65, '1', '0', '0', '100', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0','30', '40', '200', '10', '300', '450', '15000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2502', 'zombie_diseased_dog', 0x48F66C6C656E68756E64, '1', '0', '0', '98', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '33','40', '200', '10', '300', '450', '15000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2503', 'Zombie', 0x48F66C6C656E6F6666697A696572, '2', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '34', '40','200', '10', '300', '450', '15000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2504', 'zombie_diseased_sword', 0x48F66C6C656E6F6666697A696572, '2', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0','', '0', '40', '40', '200', '10', '300', '450', '15000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2505', 'zombie_diseased_spear', 0x48F66C6C656E77E46368746572, '2', '0', '0', '110', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '300', '700', '50000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100','5000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2506', 'zombie_diseased_bow', 0x5A7765696B6F70662D48F66C6C656E736368FC747A65, '2', '0', '0', '105', '', 'AGGR','0', 'HUMAN', '', '0', '', '0', '43', '40', '200', '10', '300', '450', '15000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2507', 'zombie_diseased_boss', 0x48F66C6C656E67726569666572, '4', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '','0', '47', '40', '200', '10', '300', '450', '15000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2508', 'zombie_soldier_scythe', 0x48F66C6C656E6B726965676572, '3', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '','0', '65', '40', '200', '10', '600', '800', '150000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '11974', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2509', 'zombie_soldier_bow', 0x48F66C6C656E736368FC747A65, '3', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0','59', '40', '200', '10', '300', '450', '30000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2510', 'zombie_soldier_spear', 0x48F66C6C656E73706565726BE46D70666572, '3', '0', '0', '105', '', 'AGGR', '0','HUMAN', '', '0', '', '0', '70', '40', '200', '10', '300', '450', '30000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2511', 'zombie_magician', 0x48F66C6C656E7072696573746572, '3', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0','80', '40', '200', '10', '300', '450', '30000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2512', 'zombie_bigboss', 0x48F66C6C656E6D616A6F72, '4', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '80', '40','200', '10', '300', '450', '30000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2513', 'zombie_ghost', 0x48F66C6C656E6D65747A6C6572, '2', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '67','40', '200', '10', '300', '450', '30000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2514', 'zombie_general', 0x48F66C6C656E67656E6572616C, '4', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '86','40', '200', '10', '300', '450', '30000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');23
    Paulo Gonçalves – Projecto de PSI

    INSERT INTO `mob_proto` VALUES ('2541', 'zombie_soldier_scy', 0x42F67365722048F66C6C656E6B726965676572, '4', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '81', '40', '200', '10', '600','800', '150000', '3', '3', '8500000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '11973', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2542', 'zombie_soldier_bow', 0x42F67365722048F66C6C656E736368FC747A65, '2', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '66', '40', '200', '10', '300','450', '50000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2543', 'zombie_soldier_spear', 0x42F67365722048F66C6C656E73706565726BE46D70666572, '2', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '70', '40', '200','10', '300', '450', '50000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2544', 'zombie_magician', 0x42F67365722048F66C6C656E7072696573746572, '2', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '59', '40', '200', '10', '300','450', '50000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2545', 'zombie_bigboss', 0x42F67365722048F66C6C656E6D616A6F72, '4', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '76', '40', '200', '10', '300', '450','50000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2546', 'zombie_ghost', 0x42F67365722048F66C6C656E6D65747A6C6572, '3', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', '', '0', '', '0', '80', '40', '200', '10', '300', '450','50000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2547', 'zombie_general', 0x42F67365722048F66C6C656E67656E6572616C, '5', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '','0', '90', '40', '200', '10', '300', '450', '50000', '3', '3', '5000000', '5000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2591', 'zombie_king', 0x5461727461726F73, '5', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '90', '40', '200', '10', '450','800', '200000', '3', '3', '12000000', '12000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2592', 'zombie_king', 0x48F66C6C656E62617374617264, '5', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '90', '40', '200','10', '450', '800', '200000', '3', '3', '12000000', '12000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2593', 'zombie_king', 0x48F66C6C656E62617374617264, '5', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '90', '40', '200','10', '450', '800', '200000', '3', '3', '12000000', '12000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2594', 'zombie_king', 0x48F66C6C656E62617374617264, '5', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '90', '40', '200','10', '450', '800', '200000', '3', '3', '14000000', '14000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2595', 'zombie_king', 0x457265626F73, '5', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '90', '40', '200', '10', '450', '800','200000', '3', '3', '14000000', '14000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2596', 'zombie_king', 0x417A7261656C732042727574, '5', '0', '0', '105', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '90', '40', '200', '10','700', '900', '200000', '3', '3', '14000000', '14000000', '350000', '70', '100', '100', '100', '2000', '120', '11972', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2597', 'zombie_god', 0x436861726F6E, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '90', '40', '200', '10', '700', '800','200000', '3', '3', '16000000', '16000000', '350000', '70', '100', '100', '100', '2000', '120', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('2598', 'zombie_god', 0x417A7261656C, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN', 'SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000','250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0');24
    Paulo Gonçalves – Projecto de PSI

    Tendo efectuado as querys foi ao cliente, fiz /reload p e expirimentei evocar todos os mobs que adicionei tendo sido eles:

    2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2541,
    2542, 2543, 2544, 2545, 2546, 2547, 2591, 2592, 2593, 2594, 2595, 2596, 2507, 2598, 30101,
    30102, 30103, 30104, 30111, 30112, 30113, 30114, 30115, 30116, 30117, 30118, 30119.
    Ilustração 19 - Monstros implementados

    INSERT INTO `mob_proto` VALUES ('30101', '?????', 0x53746174756520646573204B7564, '5', '1', '0', '70', '', 'NOMOVE', '0', '', 'STUN,SLOW,CURSE,TERROR', '0', '', '2', '0', '0', '0', '0', '0', '0', '3954','3', '1', '0', '0', '562', '79', '100', '100', '0', '2000', '150', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30102', '?????', 0x426173616C742D4F62656C69736B, '5', '1', '0', '70', '', 'NOMOVE', '0', '', 'STUN,SLOW,CURSE,TERROR', '0', '', '2', '0', '0', '0', '0', '0', '0', '3954','3', '1', '0', '0', '562', '79', '100', '100', '0', '2000', '150', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30103', '?????', 0x536368696C646B72F674656E66656C73, '5', '1', '0', '70', '', 'NOMOVE', '0', '', 'STUN,SLOW,CURSE,TERROR', '0', '', '2', '0', '0', '0', '0', '0', '0','3954', '3', '1', '0', '0', '562', '79', '100', '100', '0', '2000', '150', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0','0', '0');INSERT INTO `mob_proto` VALUES ('30104', '?????', 0x52756E656E706661686C, '5', '1', '0', '70', '', 'NOMOVE', '0', '', 'STUN,SLOW,CURSE,TERROR', '0', '', '2', '0', '0', '0', '0', '0', '0', '3954', '3', '1', '0','0', '562', '79', '100', '100', '0', '2000', '150', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30111', 'zombie_ghost_door', 0x312E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30112', 'zombie_ghost_door', 0x322E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30113', 'zombie_ghost_door', 0x332E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30114', 'zombie_ghost_door', 0x342E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30115', 'zombie_ghost_door', 0x352E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30116', 'zombie_ghost_door', 0x362E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30117', 'zombie_ghost_door', 0x372E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30118', 'zombie_ghost_door', 0x382E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');INSERT INTO `mob_proto` VALUES ('30119', 'zombie_ghost_door', 0x392E20546F72206465722056657264616D6D6E6973, '5', '0', '0', '120', '', 'AGGR', '0', 'HUMAN','SLOW,FALL,CURSE,POISON,TERROR', '0', '', '0', '120', '40', '150', '10', '800', '1000', '250000', '3', '3', '16000000', '16000000', '600000', '70', '100', '100', '100', '5000', '120', '11971', '0', '0', '0', '0','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');25
    Paulo Gonçalves – Projecto de PSI

    Dificuldades Sentidas
    Uma das dificuldades que senti no desenvolvimento deste projecto foi o de encontrar uns ficheiros de servior funcionais,
    pois todas as transferências que efectuei davam erros de configuração.
    Outra dificuldade foi o tempo que tive para a concretização do mesmo.

    26
    Paulo Gonçalves – Projecto de PSI

    Conclusão
    Diverti-me a realizar este projecto pois é uma coisa de que gosto muito.
    Embora não tenha conseguido concretizar todos os objectivos por falta de tempo, penso que o tempo foi bem
    distribuido para as tarefas, e consegui fazer o máximo que o tempo me permitia.
    Passei grandes momentos a fazer pesquisas, falar com outras pessoas sobre problemas encontrados
    nos ficheiros do servidor e a publicar tuturiais de minha autoria sobre este assunto.
    Tive ajuda do meu irmão Luis Carlos Graça, pois ele me disponibilizou um computador para montar os ficheiros de servidor,
    embora esteja a usar o meu computador de momento por falhas de configurações.
    No futuro desejo abrir o servidor ao público para que mais pessoas possam disfrutar do meu
    trabalho e desenvolver os objectivos que me faltam. Desejo ainda implementar mais coisas a
    nivel de missões, profissões, masmorras e campos de batalha.
    Para concluir espero que este relatório seja objectivo e de fácil compreensão.
    Paulo Gonçalves

    27
    Paulo Gonçalves – Projecto de PSI

    Girias utilizadas neste documento e no mundo dos jogos
    Download – Transferência;
    Upload – Alojar o ficheiro num servidor;
    Cliente – Programa que estabelece a ligação entre o utilizador e o servidor;
    NPC – Non Playable Character – Personagem comandada pelo computador;
    Mob – NPC com o qual o jogador luta para adquirir experiência, bens e dinheiro;
    Masmorras – Mapa que se tem de fazer determinadas condições para ir passando para a
    próxima área, normalmente precisa-se de um grupo para conseguir completar uma masmorra;
    Campo de Batalha – Mapa em que os jogadores se defrontam com o objectivo de marcar mais
    pontos. Cada morte de um jogador equivale a um ponto;
    Alianças – Uniões feitas entre jogadores com os mesmos ideais ou fins;
    Grupo – Junção temporário de Vários jogadores com o fim de atingir determinado objectivo;
    HP – Health Points – Pontos de Vida, é o tanto de vida que um jogador tem;
    SP – Spirit Points – Pontos de Espirito, é o tanto de mana que o jogador tem para executar as habilidades;
    Skills – Habilidades – Ataques especiais que só podem ser executados por determinada raça;
    Noob – Jogador novato, sem experiência de jogo;
    Leet – Jogador experiente, já jogou bastantes horas o jogo de forma que aprendeu muitos
    truques e dicas para fazer o máximo dinheiro e/ou experiência;
    Experiência – Quando se chega a uns determinados pontos de experiência o jogador sobe um nÍvel.
    Dinheiro – Moeda de troca no jogo.

    28
    Paulo Gonçalves – Projecto de PSI

    Bibliografia e Netgrafia
    http://cyber-gamers.org/ - Tutoriais escritos em português
    http://www.youtube.com/user/mt2tuguinha - Tutoriais em Video
    http://newmetin2.net/2010/02/02/codigos-gm-pt-pt/ - Códigos utilizados pelos GMs
    http://www.elitepvpers.com/forum/metin2-pserver-discussions-questions/ - Tutoriais escritos em alemão.
  18. Upvote
    Cevic reacted in [Exclusivo]5Armadura By Origin   
    Partilho hoje com vocês o pack de armaduras 50 - 99 !
    Criadas por mim para o servidor "CyberMt2" e "AddictMt2"


    http-~~-//www.youtube.com/watch?v=gmChS0o1TOM&feature=player_embedded


    Pack:
    -locale-
    -Icon-
    -Pc-
    -Pc2--root-
    -Query's-

    ID's:
    Warrior
    42050 - 42059
    42060 - 42069
    42070 - 42079
    42080 - 42089
    42090 - 42099

    Ninja
    44050 - 44059
    44060 - 44069
    44070 - 44079
    44080 - 44089
    44090 - 44099

    Sura
    46050 - 46059
    46060 - 46069
    46070 - 46079
    46080 - 46089
    46090 - 46099

    Shaman
    48050 - 48059
    48060 - 48069
    48070 - 48079
    48080 - 48089
    48090 - 48099

    Disfrutem !



    http://www.mediafire...9q6mtpobeq5okbc

    Créditos:
    Origin - Cyber-Gamers.Org