antiblock
Cyphriun

CoMa Sy

Membro
  • Content Count

    10
  • Joined

  • Last visited


Reputation Activity

  1. Upvote
    CoMa Sy reacted to GunTL in Serverfiles Azylon2   
    pois a mim tambem liga tudo certinho... mas dá conection refused... 
     
    tava a dar este erro
     
    Could not Load ThreeWayWar Setting file
     
     
    A resolução dele é ir hã DB , ir a Common e ir a Locale  e onde diz germany ou turkey ou la o que lá diz é mudar para o vosso ,
     
     
    Exemplo podem saber indo 
    a
     /usr/home/game/share/locale/germany
     
     
    pronto é germany apenas mudam lá o nome metam o nome certo e só dar reboot.
  2. Upvote
    CoMa Sy reacted to ɱɑcɑcѳ in Pack De Armaduras   
    Boas comunidade Cybergamers, encontrei umas armaduras lindas e vim aqui postalas,
    Imagens:
















    Tutorial:
    1- Introduzimos o:
    eyvil.eix
    eyvil.epk
    Na pasta pack do cliente.
    2- Abrimos o ficheiro Index e colocamos isto na linha final:
    *
    eyvil
    3-Descompactamos os ficheiros Root e adicionamos os msm.
    4-Descompilamos o locale e adicionamos as informações no item_list e item_proto.
    Nota:Para alterar as informações do item_proto terão de descompilar o item_proto.
    6-Ir ao Navicat e colocar as Querys.
    Divirtam-se!
    Download: http://www.4shared.c..._Armaduras.html
    Se o item_proto não estiver a dar para compilar usem este: http://www.mediafire...3py11g25c15ayj3
    VirusScan:
    https://www.virustot...sis/1362240879/
    https://www.virustot...sis/1362241284/
    https://www.virustot...sis/1362241380/
    https://www.virustot...sis/1362241610/
    https://www.virustot...sis/1362241861/
    Ps:Algumas destas armaduras estão em outros topicos deste forum, mas faltavam alguns ficheiros nesses topicos como item_proto os ids item_list e as queries.
    Espero que gostem!
    :D
    Créditos: www.metin2zone.net
  3. Upvote
    CoMa Sy reacted to GunTL in [TUT]Editar EXP Game 2019 & 2089   
    Olá.

    Este tutorial, Ajuda a Editar Alguns Games.

    A Versão 2019/2089 (Versão GameFile de 2010-2011) e Por ai.

    Primeiro de tudo Saquem o EXP Editor By Eddy No seguinte link:

    http://www.megaupload.com/?d=Q8MY55YV

    Depois Sigam os Seguintes passos.

    1º Extraem os Arquvios.

    Abrem o Programa.

    Abrirá o seguinte Separador:

    Depois Selecionam a opção "Addresse".

    Assim:



    Em Adresse é o principal.

    Se for Game File 2019 Metem:

    - 0x2FF040

    Se for Game File 2089 Metem:

    - 0x2FF0C0

    Grenze: Metem o LVL Da vossa Game File.

    E Clicam "GO".

    Depois Abrirá isto.


    Agora Clicam na Lupa, E Abrem o Vosso "GameFile".
    Depois Editam a EXP a vossa maneira, E Clicam no "Certo".
    Clicam Sim, e Está a EXP Editada nos Game Files 2019/2089.
    Espero que tenha ajudado alguém
    Créditos Tutorial: Kanetas
  4. Upvote
    CoMa Sy reacted to WildEgo in [TUT]Editar EXP Game 2019 & 2089   
    http://www.2shared.com/file/GbYkzQ5L/EXP_Edit_v15_by_Eddy.html
    Novo link de download!
    Cumpz,
    [*]Luis Bizarro


  5. Upvote
    CoMa Sy reacted to Kɛɛɗ in Querry Creator By Biff Junior   
    Apresentação
     
    Cria Querys do Client para MySQL com perfeição.
    Sem problema algum, ou bug na conversão para MySQL.
    Fácil utilização do mesmo e faz rápido as conversões para MySQL.
    * Com Limite de linhas para a conversão *
    * Não lembro ao certo mais penso que seja de 20 a 30 linhas no máximo *
     
    Print:

     
    Tutorial
     
    Abram o Programa (Obvio)
    Apos abrir o programa vão a o Item_proto do client descompactado 
    peguei a linha do item que quer Exemplo:
     

    (A Linha Completa ate o final )
     
    e coloquem como esta no print abaixo:

     
    Apos isto, clique em converter como no print abaixo:
     

     
    Apos isto teras as querys para colocar no MySQL como no print abaixo:
     

     
    Download Do Software:
     
    Scan Do Software:
     
    programa para descompactar item_proto
     
    Créditos Pelo Tópico,Tutorial, Link, e Scan: Kɛɛɗ
    Créditos pelo Software: biff junior
     
    Cumprimentos:
  6. Upvote
    CoMa Sy reacted to p0w3r0ff in Querry Creator By Biff Junior   
    ADORO ver tópicos organizados desta maneira.
    +2 pelo esforço.
    Cumprimentos
  7. Upvote
    CoMa Sy reacted to Cђ๏รєPєтภคร in [Release]Set Armas 2013   
    Tópico fechado.
     
    Motivo : Senha não postada.
     
    Caso, alguém saiba a senha para descompactar que me envie PM para editar o tópico.
     
    Cumprimentos,
    ChosePetras
  8. Upvote
    CoMa Sy reacted to Anon in [Quest]Matar dragão azul   
    1º Devem fazer o download do seguinte ficheiro:

    2º Depois devem ir ao seguinte directorial
    e primem enter! depois...

    e primem enter! e por ultimo escrevem...

    E já está. Bem, agora podem editar a informação da quest come quiserem, ela atualmente está só para level 100
    qualquer duvida é só mandar um pm , aqui no forum.
  9. Upvote
    CoMa Sy reacted to тнєℓιƒє in [Tut]Instalar Metin2+Kernel+Firewall Em Dedicada   
    Olá Comunidade...

    Muita gente, tem vindo a pedir tutoriais sobre instalação do dedicado, Protecção do mesmo.
    Estavas a procura deste tutorial, Acabaste de o encontrar ( http://cyber-gamers.org/public/style_emoticons/default/684881.gif ).

    Bem muitos dos utilizadores de metin2, usam IPFW para Protecção das portas, Bloqueando assim os IP's externos a entrada de "algumas" portas. (fazendo assim com que utilizadores exteriores não consigam conectar-se via ssh).

    Mas na dedicada, as coisas mudam, pois precisamos que nós mesmos entremos... Mas porque activar e utilizar uma coisa, quando podemos fazer 2 coisas em apenas 1? :)
    Bem vamos passar ao tutorial, que é o assunto do tópico...
    Atenção: Este tutorial, foi criado e Estruturado por mim....
    Atenção 2: Esta configuração sempre foi testada e usual por parte de alguns servidores portuguêses (No qual não vou referir nomes).
    Atenção 3: Tenho a agradecer apenas a 1 pessoa que em tempos antigos contribuiu para este tutorial... ( Ivan Santos ).



    1º de tudo:
    Deverás saber a versão do teu FreeBSD.

    2º Saca as Libs, Conforme a Versão do FreeBSD:
    Lib 32 Bits: http://www.mediafire...63uu644yad0e40k
    Lib 64 Bits: http://www.mediafire...jjggj1vpkd6q0fs

    3º Deverás fazer este tutorial com máxima atenção.

    4º Em caso de algum erro, Contacta-me através deste tópico.

    5º Deverás ter o VDI do teu servidor (Caseiro) para que possas Retirar backups, e Instala-los na Dedicada.






    Vamos passar ao tutorial...


    Parte 1 - Backup do VDI/Servidor
    Servidor normal:
    1º Backup do Sistema de Metin2/Quest's/Mapas/data/channels
    Vais até a consola e Escreves:
    cd /root && tar -zcf game.tar.gz /usr/home/game PS: Muda o directório /usr/home/game, conforme seja o directório das tuas serverfiles.

    2º Backup do Mysql:
    Vai até a consola, e escreve:
    tar -zcf mysql.tar.gz /var/db/mysql 3º Vais via SSH (Filezilla ou WinSCP) e No directório /root retiras os ficheiros: game.tar.gz & mysql.tar.gz, Para o teu ambiente de trabalho (Ou a pasta onde os quiseres guardar).

    Servidor By Ivan Santos:
    1º Backup do Sistema de Metin2/Quest's/Mapas/data/channels
    Vais até a consola e Escreves:
    cd /root && tar -zcf metin2.tar.gz /metin2 2º Backup do Mysql:
    Vai até a consola, e escreve:
    tar -zcf mysql.tar.gz /var/db/mysql PS: O 3º Ponto é igual ao primeiro, Logo é so ires ao /root buscar os .tar.gz.






    Parte 2 - Configuração e Instalação do Kernel
    Instalação do Kernel & Firewall:

    Ponto 1:
    Vamos até a maquina e escrevemos:
    cd /../ && fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/9.0-RELEASE/src.txz PS: Onde diz /9.0-RELEASE/ Alteram conforme a versão do vosso sistema. Exemplo: pub/FreeBSD/releases/amd64/amd64/8.2-RELEASE/src.txz


    Depois de efectuarem o download passam ao Ponto 2 da Parte - 2.

    Ponto 2:
    Vamos até a maquina e escrevemos:
    tar -xzvf src.txz Quando o mesmo acabar de Extrair, Passam ao Ponto 3 da Parte - 2.

    Ponto 3:
    Vão novamente até a maquina, e Escrevemos:
    cd /usr/src/sys/amd64/conf Após isto, Voltamos a Digitar:
    cp GENERIC THELIFE Após isto, Voltamos a Digitar:
    ee THELIFE Onde diz:
    ident GENERIC Escrevem:
    ident THELIFE Depois disto, Vamos até ao fim do Arquivo Damos 1 enter e Escrevemos:
    # Firewalloptions IPFIREWALLoptions IPFIREWALL_VERBOSEoptions IPFIREWALL_VERBOSE_LIMIT=5options IPFIREWALL_DEFAULT_TO_ACCEPToptions IPDIVERT[ENTER] Após isto, Clicam ESC, e Clicam 2 vezes no "a" para Salvarem a edição.

    Ponto 4:
    Depois do ponto 3 concluido, passamos a instalação e configuração do kernel...
    fazemos então:
    cd ../../../ && make buildkernel KERNCONF=THELIFE PS: Este processo irá demorar cerca de 20-30Minutos (Dependendo da velocidade de cada dedicada).

    Ponto 5:
    Após o ponto 4 tar concluido, Passamos a instalação do Kernel..
    Para isto, usamos o comando:
    make installkernel KERNCONF=THELIFE Após este processo estar concluido, Reiniciamos a dedicada, E temos o Kernel e Firewall Activos.






    Parte 3 - Extracção das Portsnap e UPDATE.
    Depois de terem concluido a Parte 2,Vamos extrair e fazer update as nossas Ports.

    Ponto 1: Vamos até a maquina e digitamos:
    portsnap fetch extract Ponto 2: Actualização do Portsnap
    Vamos a maquina e digitamos:
    portsnap fetch update Depois deste processo vamos até ao Parte 4.





    Parte 4 - Instalação/Configuração do MYSQL
    Ponto 1:
    Vamos a maquina e digitamos:
    cd /usr/ports/databases/mysql55-server/ && make WITH_XCHARSET=all install clean Após este processo estar concluido, sigam até ao ponto 2.

    Ponto 2:
    Digitam:
    ee /etc/rc.conf Ponto 3:
    Dentro do rc.conf Vão escrever:
    mysql_enable="YES" Ponto 4:
    Após o mysql instalado, vamos reinicia-lo, Para isso vamos usar o comando:
    /usr/local/etc/rc.d/mysql-server restart Ponto 5:
    Vamos configurar os Users do mysql.. Para isso temos de entrar no mysql 1º. Então usamos o comando:
    mysql -u root -p Ponto 6:
    Agora vamos criar os Users...
    Escrevem na maquina:
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cyber-gamers.org' WITH GRANT OPTION; Ponto 7:
    Agora tornam a escrever:
    GRANT ALL PRIVILEGES ON *.* TO 'mt2'@'localhost' IDENTIFIED BY 'mt2!@#' WITH GRANT OPTION; Após isto, escrevem:
    Flush privileges; E depois:
    quit Mais uma vez, Reiniciam o Mysql:
    /usr/local/etc/rc.d/mysql-server restart Após estes pontos, Ja podemos logar com o Navicat, Com o IP do Servidor e com os seguintes dados:
    user: root
    password: cyber-gamers.org

    Ponto 8:
    O Mysql, Cria contas automatizadas, Assim que o mesmo é instalado, Vamos entrar através de navicat, E apagar todos os users, Exepto os users Referidos abaixo:
    mt2@localhostroot@% Todos os outros utilizadores podem apagar.
    PS: Aconselho a mudarem o User root, Para outro nome, para uma maior protecção do Mysql :)







    Parte 5 - Instalação das LIB's
    Ponto 1:
    Caso o teu FreeBSD Seja uma versão 32 Bits, Salta para o Ponto 3, Ignorando assim o Ponto 2.

    Ponto 2:
    Se o teu sistema é FreeBSD 64BIT's deverás instalar o LIB 32. Para isso usamos os comandos:
    echo CHECKSUM.SHA256 CHECKSUM.MD5 install.sh lib32.a{a,b,c,d,e,f,g,h,i,j,k,l,m} lib32.inf lib32.mtree | xargs -n 1 -I%s fetch ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/8.2-RELEASE/lib32/%s Após escrito o comando acima, Escreves este comando:
    chmod -R 777 install.sh Após feito o comando acima Torna a Escrever:
    ./install.sh PS: Feito isto, o LIB32 está instalado sem qualquer problema.

    Ponto 3:
    Para 32Bits:
    Extrais o Ficheiro 32Libs.rar (No teu pc) e Passas todos os ficheiros extraidos (sem a pasta, somente os ficheiros) para o directorio:
    /usr/lib Para 64Bits:
    Extrais o ficheiro 64Libs.rar (No teu pc) e Passas todos os ficheiros extraidos da Pasta Lib para:
    /usr/lib E os ficheiros da Pasta lib32 para o directório:
    /usr/lib32

    Ponto 6 - Instalação das ServerFiles + Base de Dados.
    Sistema Normal:

    Ponto 1:
    Vais a maquina e escreves:
    tar -xzvf game.tar.gz Após isto, Fazes o comando:
    mkdir /usr/home/ Após este comando escreves este:
    mv game /usr/home/ Após isto, Vamos fazer:
    cd /root %% tar -xzvf mysql.tar.gz Depois disto vamos fazer:
    cd /root/var/db/mysql Após feito este comando, Fazemos:
    mv account /var/db/mysql && mv common /var/db/mysql && mv hotbackup /var/db/mysql && mv log /var/db/mysql && mv player /var/db/mysql Após este processo fazemos:
    cd /root && rm -R /root/var Agora vamos dar permissões a todos os ficheiros de metin2, Usando o comando:
    chmod -R 777 /usr/home/game && chown -R root /usr/home/game && chmod -R 777 /var/db/mysql && chown -R mysql /var/db/mysql Feito isto, é so fazerem:
    cd /root e Depois:
    ee iniciar.sh Dentro escrevem:
    cd /usr/home/game && ./start.sh Fazem ESC, Clicam 2 Vezes no "a" e Voltam a fazer o seguinte comando:
    ee parar.sh Dentro escrevem:
    cd /usr/home/game && ./close.sh Fazem ESC, Clicam 2 Vezes no "a" e Voltam a fazer o seguinte comando:
    chmod -R 777 iniciar.sh && chmod -R 777 parar.sh

    Servidor By Ivan Santos:
    Ponto 1:
    Fazem:
    tar -xzvf metin2.tar.gz Depois disto fazem:
    mv metin2 / Depois disto vamos fazer:
    cd /root/var/db/mysql Após feito este comando, Fazemos:
    mv account /var/db/mysql && mv common /var/db/mysql && mv hotbackup /var/db/mysql && mv log /var/db/mysql && mv player /var/db/mysql Após este processo fazemos:
    cd /root && rm -R /root/var Agora vamos dar permissões a todos os ficheiros de metin2, Usando o comando:
    chmod -R 777 /metin2 && chown -R metin2 /metin2 && chmod -R 777 /var/db/mysql && chown -R mysql /var/db/mysql Ponto 2:
    Vamos criar um User chamado Metin2, Utilizando o comando:
    adduser Feito isto Sigam o Exemplo abaixo:
    Username: metin2Full name: O Vosso NomeUid (Leave empty for default):Login group [jru]:Login group is jru. Invite jru into other groups? []:Login class [default]:Shell (sh csh tcsh zsh nologin) [sh]: shHome directory [/home]: /metin2Home directory permissions (Leave empty for default):Use password-based authentication? [yes]:Use an empty password? (yes/no) [no]:Use a random password? (yes/no) [no]:Enter password: VossaPasswordEnter password again: VossaPasswordLock out the account after creation? [no]:Username : metin2Password : ****Full Name : O Vosso NomeUid : 1001Class :Groups :Home : /metin2Shell : /usr/local/bin/shLocked : noOK? (yes/no): yesadduser: INFO: Successfully added (metin2) to the user database.Add another user? (yes/no): noGoodbye!

    PS: Quando vos aparecer: "Use an empty password? (yes/no) [no]:" e "Use a random password? (yes/no) [no]:" Dão enter, não escrevam nada.
    PS2: Onde diz VossaPassword, Escrevem a password que querem para o utilizador.




    Feito Todos estes processos, No caso do Sistema normal, é so darem ./iniciar.sh, e o Vosso sistema de metin2, irá iniciar sem problemas :)

    No caso das ServerFiles do Ivan Santos, Fazem login na maquina com o User "metin2", e é so fazerem:
    iniciar.



    Créditos do tutorial:
    TheLife




    Espero que sirva para ajudar a comunidade.

    Sem outro assunto,
    TheLife.
  10. Upvote
    CoMa Sy reacted to Unk3n0w7 in Alteração gráfica ao inventário (Metin2 Servidor Privado)   
    Não , apenas quero o link  , para fazer download e testar !Agora pensa .
  11. Upvote
  12. Upvote
    CoMa Sy reacted to Valenza in Adicionar armas / armaduras / itens na files e cliente metin2   
    Boas Familia Cyber,
    Hoje, venho ensinar de uma forma mais clara de como implementar as armas, armaduras e itens em geral nos files e cliente de metin2,
    Como meter no cliente (para que possa ser visto e usado)
    Simples... Siga abaixo o tutorial que não tem erro!
    Ps: Importante fazer back up dos seus arquivos eix e epk que estarão sendo modificados, para caso faça algo de errado, não tenha que recomeçar seu projeto novamente...
    Vamos lá:
    --> Icons: (são aqueles desenhos que ficam no seu inventário [em relação a itens])
    Uma imagem para mostrar o que eu digo:

    Como exemplo, isso são icones , agora vamos para o proximo passo:
    - No seu cliente, abra a pasta Pack e dentro dele , procure o arquivo icon.eix e icon.epk e descompacte-o (ver tutorial do Origin caso não saiba descompactar arquivos Eix e Epk [ se me permite postar ] http://cyber-gamers....ctador-eix-epk/ )
    - Depois de descompactado entre na pasta icon / item e jogue todos os icons das suas armaduras que queira implementar.
    - Após fazer este passo, compacte e jogue no seu cliente.
    -->Modelos e texturas:
    - No seu cliente, abra a pasta Pack e dentro dele , procure o arquivo item.eix e item.epk e descompacte-o
    - Depois de descompactado entre na pasta ymir work/item/weapon e jogar as texturas e os modelos pra lá
    - Após fazer este passo, compacte e jogue no seu cliente.
    --> Item Proto , sao nada mais que a leitura dos itens para isso veja como fazer abaixo:
    - no seu cliente , abra a pasta Pack e dentro dele , procure o arquivo locale_de.eix e locale_de.epk e descompacte-o ( a parte do _de vai depender de cada cliente , pode ser _br _it , etc)
    - Depois de descompactado, procure um arquivo chamado Item Proto e descompacte este arquivo (não é como descompactar os arquivos eix e epk, para isso usa este programa aqui >> http://www.mediafire...d2o2abj888d245b << )
    PS: O programa não é dificil entender , mas caso precise de alguma ajuda, peça por PM aqui na Cyber mesmo , ou via Skype adicionado ao meu perfil
    - Após o item proto descompactado, adicionar os nomes ao item proto ( geralmente os autores dos itens já deixam pronto para adicionar, copie e cole e pronto, mas caso nao tenha , existe software que cria esses itens proto , o que agora nao tenho para download )
    Veja um modelo do item proto (varia de cada item)

    <Item vnum="19" name="'µµ+9'" gb2312name=" Espada+9" type="1" subtype="0" weight="0" size="2" antiflag="32" flag="1" wearflag="16" immuneflag="0" gold="100" buy_price="750" limittype0="1" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="7" applyvalue0="22" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="15" value2="19" value3="13" value4="15" value5="63" socket0="0" socket1="64992" socket2="127" socket3="64976" socket4="21631" socket5="4855" refine_vnum="0" refine_set="0" magic_pct="15" specular="100" socket_pct="1" /> - agora, nesta mesma pasta onde encontrou o Item proto ( locale eix e epk descompactado ) , localize o arquivo item_list.txt , e lá coloque o diretorio do Icone, um exemplo que eu peguei do meu servidor: Esclarescendo:
    29110 e é o numero que segue na sequencia do anterior, no qual 29109 vinha anteriormente
    Weapon , é o tipo do item (acho que seja apenas para entendimento , mas sempre é bom especificar em inglês)
    icon/item/11000.tga , é o diretorio, no qual tem que esta no formato Pasta primaria (Icon) , pasta secundaria (item) , nome do icone (ex:11000) e a extensão dele ( .tga )
    Geralmente os autores dos itens já facilitam e deixam ja prontos para adicionar, mas caso nao esteja faça como base o meu modelo acima.
    -> Para o ServerFiles:
    Ir no navicat, logar no seu servidor, entrar na aba player / queries , e clicar em New Query , colocar sua query la e apertar em Run e fechar (caso queira deixar visivel este query para futuramente modificar, aperte em Save As e coloque um nome que você saiba identificar o que é e logo que toda vez que entrar na aba queries, vai estar la para editar)
    se caso não saiba criar queries, baixe este programa criado pelo BiffJunior e upado para um novo host por mim http://www.mediafire...rnvp4qw01n515ng , la é só pegar seu item proto (do seu item que quer adicionar), colocar na janela de cima , clicar para converter, e por fim, copiar o que ele gerou, (mas geralmente vem com query, mas sempre tem uma excessão, rs)
    Imagem abaixo:
    Um modelo de query para que não se confundam ( cada query tem seu status , portanto toma-se isto como exemplo ) :

    INSERT INTO player.item_proto VALUES (3230, 'Espada do Valenza+0', 'Espada do Valenza+0', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3231, 0, 0, 15, 1, 85, 0, 0, 7, 10, 9, 10, 3, 2, 0, 280, 310, 400, 450, 22, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3231, 'Espada d oValenza+1', 'Espada do Valenza+1', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3232, 0, 0, 15, 1, 85, 0, 0, 7, 12, 9, 12, 3, 4, 0, 280, 310, 400, 450, 34, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3232, 'Espada doValenza+2', 'Espada do Valenza+2', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3233, 0, 0, 15, 1, 86, 0, 0, 7, 13, 9, 13, 3, 6, 0, 280, 310, 400, 450, 46, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3233, 'Espada do Valenza+3', 'Espada doValenza+3', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3234, 0, 0, 15, 1, 86, 0, 0, 7, 14, 9, 14, 3, 8, 0, 280, 310, 400, 450, 58, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3234, 'Espada do Valenza+4', 'Espada do Valenza+4', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3235, 0, 0, 15, 1, 87, 0, 0, 7, 16, 9, 16, 3, 10, 0, 280, 310, 400, 450, 60, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3235, 'Espada do Valenza+5', 'Espada do Valenza+5', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3236, 0, 0, 15, 1, 87, 0, 0, 7, 17, 9, 17, 3, 12, 0, 280, 310, 400, 450, 82, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3236, 'Espada do Valenza+6', 'Espada do Valenza+6', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3237, 0, 0, 15, 1, 88, 0, 0, 7, 18, 9, 18, 3, 14, 0, 280, 310, 400, 450, 94, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3237, 'Espada do Valenza+7', 'Espada do Valenza+7', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3238, 0, 0, 15, 1, 88, 0, 0, 7, 20, 9, 20, 3, 16, 0, 280, 310, 400, 450, 106, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3238, 'Espada do Valenza+8', 'Espada da Valenza+8', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 3239, 0, 0, 15, 1, 88, 0, 0, 7, 22, 9, 22, 3, 18, 0, 280, 310, 400, 450, 118, -1, -1, -1, -1, -1, -1, 0, 3, -1);INSERT INTO player.item_proto VALUES (3239, 'Espada do Valenza+9', 'Espada do Valenza+9', 1, 0, 0, 2, 32, 1, 16, 0, 10000, 10000, 0, 0, 0, 15, 1, 89, 0, 0, 7, 25, 9, 25, 3, 20, 0, 280, 310, 400, 450, 130, -1, -1, -1, -1, -1, -1, 0, 3, -1); e pronto, dê reboot e testem , o fim disto tudo é claro, muita perfeição e beleza! vejam um video de como que fica (não é tutorial de como implementar mas o resultado)

    http-~~-//www.youtube.com/watch?v=A_0i031LgIQ&feature=player_embedded
    Acho que não falta mais nada http://cyber-gamers.org/public/style_emoticons/default/laugh.png
    Créditos Valenza
    Cumprimentos,
  13. Upvote
    CoMa Sy reacted to ƤāƱŁѲ ƒēƦƦēƗƦā in [Tutorial]Colocar Página Dos Bonus No Cliente!   
    Boas pessoal!
    Estou aqui para fazer um tutorial de como colocar uma "página" para mostrar os bónus!
    Imagem:

    Comecemos o tutorial.
    1 - Extrair o root.epk/eix;
    2 - Abrir o game.py

    2.1 - Procurar por: testAlignment =0 ;
    2.2 - Colocar isto abaixo: BPisLoaded=0
    2.3 - Procurar por onPressKeyDict[app.DIK_F4]
    2.4 - Colocar isto abaixo: onPressKeyDict[app.DIK_F5] = lambda: self.__BonusPage() de maneira a ficar assim:

    2.5 - Procurar por def __PressNumKey(self,num):
    2.6 - Colar isto abaixo...
    def __BonusPage(self): import uiBonusPage global BPisLoaded try: if BPisLoaded != 1: exec 'uiBonusPage.BonusBoardDialog().Show()' else: pass except ImportError: import dbg,app dbg.Trace('uiBonusPage.py Importing error') app.Abort()
    Deverá ficar assim:

    2.7 - Guardar o game.py
    3 - Abrir o ui.py;
    3.1 - Procurar por: def SetOverVisual(self, filename):
    3.2 - Colar isto abaixo:
    def GetText(self):if not self.ButtonText:return# ""return self.ButtonText.GetText()
    De maneira a ficar assim:

    4 - Colocar o ficheiro que vão sacar dentro do root e fazer o seu devido XML;
    5 - Compactar, meter na pasta pack do cliente, ir ao jogo e pressionar F5 para testar.
    PS: O ficheiro que está em download não está traduzido.
    Download: http://www.mediafire.../uibonuspage.py
    Scan: https://www.virustot...sis/1374524353/
    Ficheiros traduzidos por Sopinhas10:
    Download: http://www.mediafire.com/download/hdapllub5ct83pl/uibonuspage.py
    Scan: https://www.virustotal.com/de/file/39b73fcabda9963930d33c355ab79d9b30cf70c17580f90546f589d8c9af25a6/analysis/1374529792/
    Creditos: szybki19 (Penso)
    Fonte: mpcforum.
    Cumprimentos.
  14. Upvote
    CoMa Sy reacted to SINVAL o.O in Sistema De Conquista   
    Hj venho apresentar o Sistema de Conquista.
    Sistema de Conquista, consiste em matar determinados mobs, pedras e com isso ganhar ponto, que apos ter o determinado tanto voçê troca seus pontos por itens, etc; (Tudo pod ser alterado o que ganhar, os mob que tem que matar pra ganhar os pontos).
    1º- Prints de como ficara no final.

    2º- É necessario fazer algumas editações no cliente, pro Sistema ficar certo, então fasa o donwload pra começar a por...
    '>
    https://mega.co.nz/#!u9B3XSCT!RTmrvWvl3X1d-prNn2S37mROZAdg9VAzOaPjJKYHZa4

    https://www.virustotal.com/pt/file/e4aa27a23c9dbab4c1fee249cd9a7edada9344250d45d801e111029704798058/analysis/1365848870/
    3º- Bem vamos la, 1º na parte do cliente.
    Para começar No cliente editar os seguintes arquivos:

    -Root: dentro dos arquivos e game.py uiachievement.py (isso, vamos colocar-nos).
    -ETC: onde colocar os arquivos e achievement_small.dds achievement_small.sub
    -Uiscript: aqui e vai colocar o arquivo warteschleife.py achievementboard.py

    Primeiro começomos com o root,Descompacta seu root, e abra o arquivo e procurar game.py esta:
    def __ServerCommand_Build(self):Depois de achar procura :
    # Achievement System START "achievement" : self.__AchievementTest, "achievementpoints" : self.__ShowAchievementPoints, # Achievement System END
    Voçê vai em baixo do código assima e meta isso :
    # Achievement System STARTdef __ShowAchievementPoints(self, points): import uiAchievement import uiTaskbar self.uiAchievement = uiAchievement.AchievementDialog() uiAchievement.AchievementPoints = int(points)def __AchievementTest(self, archivement): import uiAchievement self.uiAchievement = uiAchievement.AchievementDialog() self.uiAchievement.Show(1, str(archivement)) self.uiAchievement.SetTop()# Achievement System ENDFicando assim :


    4º- Entrar na pasta root e adiciona o arquivo "uiachievement.py" , depois adiciona a xml :
    <File archivedPath="uiachievement.py" type="2"><![CDATA[Source\uiachievement.py]]></File>5º- Decompilamos nosso etc, ir para o trabalho Ymir pasta / ui e colocamos os achievement_small.dds. Então vá para o
    trabalho Ymir pasta / ui / público e introduzir o achievement_small.sub. Por fim, adicione as xml:<File archivedPath="d:/ymir work/ui/public/achievement_small.sub" type="0"><![CDATA[Source\ymir work\ui\public\achievement_small.sub]]></File><File archivedPath="d:/ymir work/ui/achievement_small.dds" type="0"><![CDATA[Source\ymir work\ui\achievement_small.dds]]></File>6º- O último passo no cliente é o nosso descompilar uiscript e colocar o arquivo achievementboard.py warteschleife.py: na pasta.
    depois adiciona a xml e compacta:


    [/center]<File archivedPath="uiscript/achievementboard.py" type="2"><![CDATA[Source\uiscript\achievementboard.py]]></File><File archivedPath="uiscript/warteschleife.py" type="2"><![CDATA[Source\uiscript\warteschleife.py]]></File>[center] E nós já temos cliente tudo pronto: D
    Parte no servidor :
    1º- Vá no diretorio do seu servidor é adiciona as quest :

    E não é para voçê ficar simplesmente recebendo a quest vo ta a explicar como funciona:

    1º- A realização mais importante é que, quando voçê chega a um (por exemplo, matar o chefe orc) voçê ganha pontos por pc.setqf:
    when 691.kill beginlocal Reward = 2pc.setqf("achievement_points", actual_achievement_points + Reward)Como você vê o chefe orc aha (mob ID 691) atribuiu o valor de ponto com Recompensa Local = 2 e, em seguida, adicionar 2 pontos para o pc.setqf ("achievement_points" actual_achievement_points + recompensa (a recompensa, neste caso, seria um +2).

    Então, se você quiser adicionar outro mobs à lista de realizações só tem que fazer o seguinte:
    when idmob.kill begin local Reward = puntos -- Poneis cuantos puntos quereis que os de local Achievement = "Nombre del mob que saldra en el cliente" local killcount = pc.getqf("idmob") -- Se usa para que el juego lleve la cuenta de cuantas veces lo mataste local actual_achievement_points = pc.getqf("achievement_points") -- Calcula cuantos puntos tenes pc.setqf("693", killcount + 1) -- Aqui os suma 1 al numero de ese mob que llevais pc.setqf("achievement_points", actual_achievement_points + Reward) -- aqui te suma tus puntos por matarlo cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."") -- Con esto te saldra la ventana en el cliente diciendo que lo mataste y cuantos puntos tenes endAgora eu ensin como são swaps. No meu caso, as trocas são feitas por um item, mas voçê pode fazer o que quiser iditem.use simplement Ao alterar um npc.chat quando. "Troca de Conquistas" ou como eu gosto.

    Eu vejo como eu tenho swaps:

    * Se voçê olhar a última opção na loja troca permite que você veja suas realizações, pois fez uma realização que você adicionar 0 pontos, mas ensina-lhe como :

    [/center]elseif p2 == 6 thenlocal Reward = 0local Achievement = "Ver_tus_logros"local killcount = pc.getqf("logros")local actual_achievement_points = pc.getqf("achievement_points")pc.setqf("achievement_points", actual_achievement_points + Reward)cmdchat("achievement ".. Achievement .."_derrotado#".. killcount + 1 .."%".. actual_achievement_points + Reward .."")[center]
    Então, se voçê precisa fazer a sua escolha para ver realizações Eis ^ ^

    Como swaps, que são tudo, se voçê quiser fazer seus próprios negócios Faço aqui um pequeno script ou trocar para explicar como seria:
    when 20095.chat."Canjear mis logros" beginsay_title("Canjear mis logros")say("")say("Hola jugador, si tienes logros")say("yo te los puedo cambiar por cositas.")say("")say("Si no tienes intenta conseguir alguno")say("porque merece la pena")say("")say_reward("Quieres canjear tus punots?")local canje = select ("Si" , "No")if canje == 1 thensay_title("Canjes de logros")say("")say("Elige lo que quieras")local elegir = select ("Quinto bonus - 3 logros" , "Añadir 6-7 bonus - 4 logros" , "Cambiar 6-7 bonus - 5 logros" , "Caballo armado - 6 logros" , "Caballo militar - 8 logros" , "Cerrar")if elegir == 1 thenif pc . getqf ( "achievement_points" ) <= 2 thenchat( "Lo siento necesitas mas puntos" )returnendpc.give_item2("70024", 1)local actual_achievement_points = pc . getqf ( "achievement_points" )pc . setqf ( "achievement_points" , actual_achievement_points - 3 )returnelseif elegir == 2 thenif pc . getqf ( "achievement_points" ) <= 3 thenchat( "Lo siento necesitas mas puntos" )returnendpc.give_item2("71051", 1)local actual_achievement_points = pc . getqf ( "achievement_points" )pc . setqf ( "achievement_points" , actual_achievement_points - 4 )returnelseif elegir == 3 thenif pc . getqf ( "achievement_points" ) <= 4 thensay ( "Lo siento necesitas mas puntos" )returnendpc.give_item2("71052", 1)local actual_achievement_points = pc . getqf ( "achievement_points" )pc . setqf ( "achievement_points" , actual_achievement_points - 5 )returnelseif elegir == 4 thenif pc . getqf ( "achievement_points" ) <= 5 thenchat( "Lo siento necesitas mas puntos" )returnendlocal actual_achievement_points = pc . getqf ( "achievement_points" )pc . setqf ( "achievement_points" , actual_achievement_points - 6 )chat ( "Has recibido un caballo armado" )horse . set_level ( "11" )horse . unsummon ( )horse . summon ( )pc . give_item2 ( "50052" , 1 )returnelseif elegir == 5 thenelseif p == 2 thenif pc . getqf ( "achievement_points" ) <= 7 thensay ( "Lo siento necesitas mas puntos" )returnendlocal actual_achievement_points = pc . getqf ( "achievement_points" )pc . setqf ( "achievement_points" , actual_achievement_points - 8 )chat( "Has recibido un caballo militar" )horse . set_level ( "21" )horse . unsummon ( )horse . summon ( )pc . give_item2 ( "50053" , 1 )returnelseif elegir == 6 thenreturnendelseif canje == 2 thenreturnendendEste script é um pequeno presente para voçê , eu fiz por voçê agora pode usar outro se você não quer que ele tinha em êxtase.

    * Para colocá-lo em sua busca, voçê pode armazenar os meus swaps e cole este se você quiser, ou fazê-lo como uma busca separada.

    Finalmente eu explico como swaps de trabalhar com um exemplo:

    local p = select ( "Caballo armado - 5 logros")if p == 1 thenif pc . getqf ( "achievement_points" ) <= 4 thensay ( "Lo siento necesitas mas puntos" )returnendlocal actual_achievement_points = pc . getqf ( "achievement_points" )pc . setqf ( "achievement_points" , actual_achievement_points - 5 )say ( "Has recibido un caballo armado" )horse . set_level ( "11" )horse . unsummon ( )horse . summon ( )pc . give_item2 ( "50052" , 1 )returnComece com uma = local selecionar para que você escolher a sua recompensa e eu aconselho a colocar muitas realizações, há duro como eu fiz.

    Então eu coloquei uma restrição, de modo que se você tem menos pontos do que o item que pediu para não deixar de comprar:

    if pc . getqf ( "achievement_points" ) <= 2 thenchat( "Lo siento necesitas mas puntos" )returnendEle funciona da seguinte forma: onde diz <= 2 você tem que colocar um ponto a menos do que a pedir, porque diz que se você tem esses pontos ou menos não vai deixar de comprar.

    Após o final de retorno e você só tem que colocar o comando para remover os pontos que você é esta:
    local actual_achievement_points = pc . getqf ( "achievement_points" )pc . setqf ( "achievement_points" , actual_achievement_points - 5 ) --Poneis ahi los que quereis que quiteE o que você quer que eu dea logo abaixo estas duas linhas:
    pc.give_item2("71052", 1) --- Ahi poned lo que quereis que deaE isso é tudo cyberianos desfruem do sistema de conquista! : D

    Créditos: Keko por fazer as quest, eu por traduzir e postar aki, o criador do sistema no tópico ond eu peguei não cita ele.
    Não testei ainda, mais todos que testaram deu certo, desculpe si o português ta ruim mais foi o maximo que consegui pois tópico original era espanhol.
    C. Se ajudei não seja egoista da http://cyber-gamers.org/public/style_emoticons/default/451960.gif ae.
  15. Upvote
    CoMa Sy reacted to 'PACI in Criando Quests - O Básico e Algo Mais   
    Bem, não sou um quester profissional, mas ensinar isto a todos aqueles que não sabem, será um prazer :D
    Vamos aprender o básico de fazer quests.
    Ultimamente tenho visto, tanto no skype, como no fórum, gente que precisa bastante de quests que são muito simples.
    Venho aqui a fazer um pequenino tutorial sobre o básico das quests, para quem não sabe.
    [*]A primeira coisa que temos que saber é que TODAS as quests começam por:

    quest nome begin
    Onde em nome colocamos o nome da quest. Assim damos ordem de iniciar a quest.
    [*]Depois disto, prosseguimos para o state.

    state start begin

    [*]Agora, vejamos, quest serve para dar início à quest, e o state, serve para... ?

    O state é tipo uma divisão da quest, em todas as quests o state inicial será sempre start e a partir daí podemos mudar o state para que seja possível praticar várias ações.

    [*]E continuamos para o início da ação:

    when ação begin
    No when há vários tipos de ações:
    - button;
    - enter;
    - info;
    - kill;
    - leave;
    - letter;
    - levelup;
    - login;
    - logout;
    - target;
    - unmount;
    - chat;
    - click;
    - use.
    Onde as mais usuais são:
    - button;
    - info;
    - kill;
    - letter;
    - levelup;
    - login;
    - target;
    - chat;
    - click;
    - use.
    [*]Ora bem, onde é que se costumam usar estes tipos de when?

    Se repararem, nas quests do biólogo usam-se estes whens todos.
    Mas nós nos iremos concentrar mais no login, até porque será usado no exemplo.
    Vamos lá traduzir então estas 3 primeiras linhas de uma quest:
    Quando a quest nome iniciar, o state start iniciará, fazendo com que a ação inicie.
    [*]Parece complicado falando portuquês?

    Falemos então em quest, na linguagem .lua:

    quest teste beginstate start begin when login begin say("Vais mudar de state") set_state(aprender) endendstate aprender begin when login begin say("Estás no state aprender") endendend Ora bem, vejamos pouco a pouco. quest teste begin
    Início da quest.
    state start begin
    Início do state start.
    when login begin
    Início do when, isto fará com que o jogador quando logue na personagem (incluindo quando nos teleportamos a um mapa) sofra uma ação.
    say("Vais mudar de state")
    É a ação que o jogador irá sofrer quando fizer login.
    set_state(aprender)
    Mudança do state para que o jogador sofra outra ação.
    end
    Fecho do when.
    end
    Fecho do state.
    state aprender begin
    Início do novo state que fizémos.
    when login begin
    Início do when, isto fará com que o jogador quando logue na personagem (incluindo quando nos teleportamos a um mapa) sofra uma ação diferente da ação do state start.
    say("Estás no state aprender")
    É a ação que o jogador irá sofrer no state aprender.
    end
    Fecho do when.
    end
    Fecho do state.
    end
    Fecho da quest.
    Fácil?
    Então, vamos prosseguir.
    [*]Há alguma maneira de mudar de state entre quests?

    Sim, com a função set_quest_state("nome_da_quest", "nome_do_state").
    Vejamos:

    quest teste4 beginstate start begin when 9010.chat."Ae" begin say("Ae cara") set_quest_state("teste5", "hi") endendend quest teste5 beginstate start begin when 9003.chat."Olá" begin say("Olá") set_state(hi) endendstate hi begin when 9001.chat."Hi" begin say("Hello, nice to meet you!") endendend [*]O que irá acontecer aqui?

    Quando for ao npc 9010 e clicar na opção Ae, irá aparecer uma mensagem a dizer Ae cara e irá mudar para o state hi, da quest teste5 que fará com que ao ir ao npc 9001 e clicar na opção Hi, aparecerá a mensagem Hello, nice to meet you!
    É simples!
    Ou seja, o state hi só será ativado, quando a quest teste4 acabar!

    [*]O que são os ends?

    Tal como os begin dão inicio a algo, os end fecham-no.
    [*]Como sabemos quantos ends colocar numa quest?

    Isso é simples e fácil, para que uma quest funcione, além de uma boa sintaxe, necessita de estar devidamente fechada.
    Dito isto, e observando a quest, conseguimos deduzir que:
    - O quest, state e when são obrigatórios levarem sempre um end.
    Ou seja, em todas as quests sempre são necessários, 3 end, estes 3 são obrigatórios!
    Um para a quest, outro para o state e outro para o when.
    Além destas, os if também levam end, sempre!
    Exemplificando:

    quest aprender beginstate start begin when login begin say("Já sei usar os ends") end -> end do whenend -> end do stateend -> end da quest Simples, não? [*]E se quiser usar 2 when numa quest, tenho sempre que mudar de state?

    Não, nem sempre, apenas quando o jogador sofre uma ação digamos, bastante diferente da primeira, ou seja, se for para colocar vários when num npc, por exemplo, para abrir várias lojas, então antes de começar um segundo when, teriamos que fechar o primeiro.
    Isto é:

    quest teste2 beginstate start begin when 9003.chat."The End" begin say("Oi") end -> end do primeiro when when 9003.chat."The End2" begin say("Adeus") end -> end do segundo whenend -> end do stateend -> end da quest E o mesmo se passa com os state, mas não com a quest porque a quest inclui isto tudo, se fechas uma quest, não podes adicionar outra no mesmo documento.
    [*]Estrutura de uma quest

    Esta pode ser como vocês quiserem, mas se tiverem dúvidas nos ends que colocar aconselho a usarem a que eu uso:

    Desta maneira sabemos o que é que estamos a fechar.
    E é tudo!
    Qualquer dúvida digam e se quiserem noutro dia, outro tópico destes, avisem!
    Espero ter sido explícito.
    Cumprimentos.
  16. Upvote
    CoMa Sy reacted to 'PACI in O Básico Do Metin2!!   
    Boas.
    Bem antes de ir direto ao assunto, fartei de ver MONTES e MONTES de dúvidas mas tão BÁSICAS, tão BÁSICAS que nem responder dá vontade.. E além do mais são coisas
    que qualquer um com uma procura de 5 segundos no máximo no Google, encontra, mas enfim.
    Irão reparar que não foi escrito 100% por mim, não ia escrever tanto por uma coisa que em 5 segundos se encontra imediatamente. Posso me ter esquecido de algo, mas para isso vocês estarão para me avisar.
    Como criar um servidor de metin2 com hamachi?
    Como criar um servidor de metin2 sem hamachi?
    Como faço para ser gm?
    Como altero ou coloco itens à venda nas lojas?
    Como altero o preço dos itens à venda?
    Como coloco refines nos itens?
    Como implemento mobs/npcs/montadas?
    Como implemento Armas/Armaduras(ou Trajes, armaduras = trajes)/Itens?
    Como implemento novos mapas?

    Qual é o código do item X?
    Como descompacto ficheiros da pasta pack?
    Como descompacto item_proto?
    Como alterar valores(dano, nome, tipo, nivel) dos itens?
    Altero os valores dos itens mas no cliente ainda se vêm os antigos, que faço?
    Eu consigo entrar no meu servidor mas os meus amigos não conseguem, que faço?
    Como traduzo o meu servidor de metin2?
    Como instalo uma quest?
    Entro no jogo aparece uma mensagem tipo contador e levo kick, o que faço?
    Que serverfiles e cliente me recomendam?

  17. Upvote
    CoMa Sy reacted to f430 in Ymir Guerra de Reinos   
    Para quem têm problemas com a quest forked_road.quest ou a quest tá bugada,vou postar a quest oficial da Ymir.
    OBS:A tradução não está correctamente igual há da oficial.
    Credits,Epvp
  18. Upvote
    CoMa Sy reacted to p0w3r0ff in Quest login Gms e Vips   
    Nova quest que avisa quando login dos Gms e Vips e efectuado.
    Tambem diz em qual mapa se encontra membro da EQUIPA.
    Lingua Alemao se alguem traduzir compartilhe com comunidade.
    Cumprimentos

    quest login begin state start begin when login begin if pc.is_gm() then game.set_event_flag(pc.get_name(), 1) end chat("Server: Terokosa2") if pc.job == 0 then chat("Charakter: "..pc.get_name().." - Krieger") elseif pc.job == 1 then chat("Charakter: "..pc.get_name().." - Ninja") elseif pc.job == 2 then chat("Charakter: "..pc.get_name().." - Sura") elseif pc.job == 3 then chat("Charakter: "..pc.get_name().." - Schamane") end if pc.get_map_index()==1 then chat("Standort: Rotes Reich Map 1") elseif pc.get_map_index()==21 then chat("Standort: Gelbes Reich Map 1") elseif pc.get_map_index()==41 then chat("Standort: Blaues Reich Map 1") elseif pc.get_map_index()==74 then chat("Standort: Tal der Anfänger") elseif pc.get_map_index()==75 then chat("Standort: Tal der Anfänger") elseif pc.get_map_index()==76 then chat("Standort: Tal der Anfänger") elseif pc.get_map_index()==77 then chat("Standort: Tal der Anfänger") elseif pc.get_map_index()==78 then chat("Standort: Tal der Anfänger") elseif pc.get_map_index()==99 then chat("Standort: Drachenraum") elseif pc.get_map_index()==61 then chat("Standort: Berg Sohan") elseif pc.get_map_index()==66 then chat("Standort: Dämonenturm") elseif pc.get_map_index()==65 then chat("Standort: Hwang-Tempel") elseif pc.get_map_index()==3 then chat("Standort: Rotes Reich Map 2") elseif pc.get_map_index()==23 then chat("Standort: Gelbes Reich Map 2") elseif pc.get_map_index()==204 then chat("Standort: New Map Burg") elseif pc.get_map_index()==112 then chat("Standort: Duell-Arena") elseif pc.get_map_index()==181 then chat("Standort: Burgschlacht Schnee") elseif pc.get_map_index()==182 then chat("Standort: Burgschlacht ") elseif pc.get_map_index()==183 then chat("Standort: Burgschlacht Wüste") elseif pc.get_map_index()==63 then chat("Standort: Yongbi-Wüste") elseif pc.get_map_index()==67 then chat("Standort: Lungsam") elseif pc.get_map_index()==24 then chat("Standort: Gelbes Reich Gildenzone") elseif pc.get_map_index()==44 then chat("Standort: Blaues Reich Gildenzone") elseif pc.get_map_index()==4 then chat("Standort: Rotes Reich Gildenzone") elseif pc.get_map_index()==107 then chat("Standort: Affendungeon Anfänger") elseif pc.get_map_index()==108 then chat("Standort: Affendungeon Normal") elseif pc.get_map_index()==109 then chat("Standort: Affendungeon Experten") elseif pc.get_map_index()==5 then chat("Standort: Affendungeon Anfänger") elseif pc.get_map_index()==25 then chat("Standort: Affendungeon Anfänger") elseif pc.get_map_index()==45 then chat("Standort: Affendungeon Anfänger") elseif pc.get_map_index()==62 then chat("Standort: Flammenland") elseif pc.get_map_index()==77 then chat("Standort: Feuerland") elseif pc.get_map_index()==70 then chat("Standort: Tal der Riesen") elseif pc.get_map_index()==113 then chat("Standort: OX Event") elseif pc.get_map_index()==72 then chat("Standort: Grotte der Verbannung") elseif pc.get_map_index()==73 then chat("Standort: Grotte der Verbannung") elseif pc.get_map_index()==184 then chat("Standort: Grotte der Verbannung") elseif pc.get_map_index()==186 then chat("Standort: Grotte der Verbannung") elseif pc.get_map_index()==188 then chat("Standort: Grotte der Verbannung") elseif pc.get_map_index()==185 then chat("Standort: Grotte der Verbannung") elseif pc.get_map_index()==187 then chat("Standort: Grotte der Verbannung") elseif pc.get_map_index()==189 then chat("Standort: Grotte der Verbannung") elseif pc.get_map_index()==104 then chat("Standort: Spinnendungeon Ebene1") elseif pc.get_map_index()==71 then chat("Standort: Spinnendungeon Ebene2") elseif pc.get_map_index()==103 then chat("Standort: Reichsduell") elseif pc.get_map_index()==105 then chat("Standort: Winterland") elseif pc.get_map_index()==110 then chat("Standort: Gildenkrieg") elseif pc.get_map_index()==111 then chat("Standort: Gildenkrieg") elseif pc.get_map_index()==68 then chat("Standort: Lungsam") elseif pc.get_map_index()==203 then chat("Standort: Neues Dorf") elseif pc.get_map_index()==69 then chat("Standort: Schlangenfeld") elseif pc.get_map_index()==81 then chat("Standort: Hochzeit") elseif pc.get_map_index()==64 then chat("Standort: Orktal") end if pc.getqf("vip") == 0 then chat("VIP: Deaktiviert") elseif pc.getqf("vip") == 1 then chat("VIP: Aktiviert") end if game.get_event_flag("[SA]Sky")== 0 and game.get_event_flag("Sky")== 0 then -- Alle GMs chat("Ansprechpersonen - Online: Keine") elseif game.get_event_flag("[SA]Sky")== 1 and game.get_event_flag("[Sky")== 0 then -- GM1 chat("Ansprechpersonen - Online: [SA]Sky") elseif game.get_event_flag("Sky")== 1 and game.get_event_flag("[SA]Sky")== 0 then -- GM2 chat("Ansprechpersonen - Online: [SA]Sky") elseif game.get_event_flag("[SA]Sky")== 1 and game.get_event_flag("Sky")== 1 then -- NOCHJMD? XD chat("Ansprechpersonen - Online: [SA]Sky, [SA]Sky") end end when logout with pc.is_gm() begin game.set_event_flag(pc.get_name(), 0) end endend Creditos: Epvp Criado por Sky™
  19. Upvote
    CoMa Sy reacted to SINVAL o.O in Quest Halloween Funcional   
    Vwenho postar novamete a quest de Halloween que eu ja tinha postado mais devido as erros não estava a funcionar, depois do pacificador fazer algumas mudanças ele conseguiu por ela funcional, então Créditos a min pela 1º modificação, e a pacificador por tirar os erros e por funcional...

    quest halloween beginstate start begin when 20094.chat."Evento Halloween" begin if pc.is_gm() then if game.get_event_flag("evento") == 0 then say("O evento não está activo.") say("Deseja ativar?") local a = select ("Sim", "Não") if a == 1 then game.set_event_flag("evento", 1) notice_all("O Evento de Halloween Começou!") end else say("O evento está activo.") say("Deseja desativar?") local b = select ("Sim", "Não") if b == 1 then game.set_event_flag("evento", 0) notice_all("O Evento de Halloween Acabou!") end end else if game.get_event_flag("evento") == 0 then say("O Evento está desativado.") else say_title ("Olá, "..pc.get_name().."!") say ("O evento de Halloween já começou e agora ") say ("isso significa que cada jogador tem a chance, ") say ("para ganhar algo especial.") say ("Os monstros roubaram as abóboras das bruxas,") say ("que podem ser obtidas a partir de qualquer monstro.") say ("Porem voçê deve tomar cuidado, pois a varios monstros malignos por ai, ") say ("mais voçê tera uma surpresa no final. ") say ("Você pode ganhar premios dropando de 5 há 100 abóboras. ") say ("Voçê pode escolher quantas abóbora quer trocar, voçê pode trocar 5-10-25-50-100 quanto mais voçê ") say ("dropar, mais premios melhores voçê vai ganhar. ") wait() say_title ("Voçê pode fazer as seguintes trocas de abóboras: ") say ("") say_reward ("5 = Item 299") say_reward ("10 = item 49") say_reward ("25 = item 59") say_reward ("50 = item 69") say_reward ("100 = item 79") end end end when 20094.chat."Trocar Aboboras" with game.get_event_flag("evento") == 1 and pc.count_item("50095") >= 5 begin say_title (""..pc.get_name()..": ") say ("Voçê tem quantas abóboras pra trocar?") local a = select ("5 abóboras ", "10 abóboras ", "25 abóboras ", "50 abóboras ", "100 abóboras ", "Cancelar") if a == 1 then pc.give_item2("299", 1) pc.remove_item("50095", 5) elseif a == 2 then if pc.count_item("50095") >= 10 then pc.give_item2("49", 1) pc.remove_item("50095", 10) else say("Não tens aboboras suficientes.") end elseif a == 3 then if pc.count_item("50095") >= 25 then pc.give_item2("59", 1) pc.remove_item("50095", 25) else say("Não tens aboboras suficientes") end elseif a == 4 then if pc.count_item("50095") >= 50 then pc.give_item2("69", 1) pc.remove_item("50095", 50) else say("Não tens aboboras suficientes") end elseif a == 5 then if pc.count_item("50095") >= 100 then pc.give_item2("79", 1) pc.remove_item("50095", 100) else say("Não tens aboboras suficientes") end end endendend C.
    Sinval
  20. Upvote
    CoMa Sy reacted to CoMa2D in Quest Menu Do Cavalo 100% Pt Traduzida Por Mim E Modificada   
    quest horse_menu begin state start begin function horse_menu() if horse.is_mine() then say("Menu Do Cavalo") say("") local s = 6 if horse.is_dead() then s = select( "Chamar O Cavalo", "Enviar De Volta, "Fechar") if s == 1 then s = 0 elseif s == 2 then s = 3 elseif s == 3 then return end else s = select( "Alimentar Cavalo", "Montar O Cavalo", "Enviar O Cavalo Para O Estábulo", "Saúde Do Cavalo", "Mudar O Nome Do Cavalo", "Sair Do Menu") end if s == 0 then horse.revive() elseif s == 1 then local food = horse.get_grade() + 50054 - 1 if pc.countitem(food) > 0 then pc.removeitem(food, 1) horse.feed() else say("Necessitas De "..item_name(food).." Para O Alimentares.") say("") end elseif s == 2 then horse.ride() elseif s == 3 then horse.unsummon() elseif s == 4 then say("Vida Do Teu Cavalo: "..horse.get_health_pct().."%") say("Stamina Do Teu Cavalo: "..horse.get_stamina_pct().."%") say("") elseif s == 5 then if pc.countitem("71110") <= 0 then say("Necessitas De"..item_name("71110").." Para Mudar O Nome Dele.") say("") return end local old_horse_name = horse.get_name() ; say_title("Dar Açúcar Ao Cavalo:") say("Uma Misteriosa Substância que o Açúcar tinha") say("Que Aumenta 20 Pontos de Defesa.") say("Quando Montado.") say("") if string.len(old_horse_name) == 0 then say_reward("Escolhe Então O Nome Dele.") else say_reward("O Nome Atual Do Cavalo é: "..old_horse_name..".") end say("") say("Escolhe O Nome Que lhe Queres Dar.:") say("") local horse_name = input() if string.len(horse_name) < 2 then say_title("Não Alterou o Nome do Cavalo:") say("Tens De Escrever Um Nome.") say("") return elseif string.len(horse_name) > 12 then say_title("Cavalo:") say("Nome do cavalo demasiado longo.") say("") return end local ret = horse.set_name(horse_name) say_title("Cavalo:") if ret == 0 then say_reward("Utilize este nome!") say("") elseif ret == 1 then say_reward("Utilize este nome!") say("") elseif ret == 2 then pc.remove_item(71110) say("Parabéns O Novo Nome Foi Adicionado!") say("") end end end end when 20030.click begin horse_menu.horse_menu() end when 20101.click begin horse_menu.horse_menu() end when 20102.click begin horse_menu.horse_menu() end when 20103.click begin horse_menu.horse_menu() end when 20104.click begin horse_menu.horse_menu() end when 20105.click begin horse_menu.horse_menu() end when 20106.click begin horse_menu.horse_menu() end when 20107.click begin horse_menu.horse_menu() end when 20108.click begin horse_menu.horse_menu() end when 20109.click begin horse_menu.horse_menu() end endend Link De Download: http://www.mediafire.com/?us8cnz76p7fw4biVirusTotal:https://www.virustotal.com/pt/file/2c70da8667736ba4d58f3f9cc3b05bcf309bd428beb31ab63ac30de95133e717/analysis/1364335314/ Gostas-te então ajuda-me dando http://cyber-gamers.org/public/style_emoticons/default/451960.gif :P
  21. Upvote
    CoMa Sy reacted to SINVAL o.O in Quest Evento Pascoa   
    Olá por pedido de alguns menbros, e como a pascoa ta ae dexo aki a quest da pascoa que eu ja tinha postado, mais tava infuncional, depois do pacificador conseguir corrigir o erro ta funcional, mais os "id dos itens e do npc que vai a quest aou criterio de vcs", mais pra quest npc tinha que ser Sr Coelho, e os itens ovos de pascoa.

    quest Pascoa beginstate start begin when NPC.chat."Evento Pascoa" begin if pc.is_gm() then if game.get_event_flag("evento") == 0 then say("O evento não está activo.") say("Deseja ativar?") local a = select ("Sim", "Não") if a == 1 then game.set_event_flag("evento", 1) notice_all("O Evento de Pascoa Começou!") end else say("O evento está ativo.") say("Deseja desativar?") local b = select ("Sim", "Não") if b == 1 then game.set_event_flag("evento", 0) notice_all("O Evento de Pascoa Acabou!") end end else if game.get_event_flag("evento") == 0 then say("O Evento está desativado.") else say_title ("Olá, "..pc.get_name().."!") say ("O evento de Pascoa já começou e agora ") say ("isso significa que cada jogador tem a chance, ") say ("para ganhar algo especial.") say ("Os monstros roubaram os Ovos do Sr Coelho,") say ("que podem ser obtidos a partir de qualquer monstro.") say ("Porem voçê deve tomar cuidado, pois a varios monstros malignos por ai, ") say ("mais voçê tera uma surpresa no final. ") say ("Você pode ganhar premios dropando de 5 há 100 Ovos. ") say ("Voçê pode escolher quantas Ovos quer trocar, voçê pode trocar 5-10-25-50-100 quanto mais voçê ") say ("dropar, mais premios melhores voçê vai ganhar. ") wait() say_title ("Voçê pode fazer as seguintes trocas de Ovos: ") say ("") say_reward ("5 = Item 299") say_reward ("10 = item 49") say_reward ("25 = item 59") say_reward ("50 = item 69") say_reward ("100 = item 79") end end end when NPC.chat."Trocar de Ovos" with game.get_event_flag("evento") == 1 and pc.count_item("50095") >= 5 begin say_title (""..pc.get_name()..": ") say ("Voçê tem quantos ovos pra trocar?") local a = select ("5 Ovos ", "10 Ovos ", "25 Ovos ", "50 Ovos ", "100 Ovos ", "Cancelar") if a == 1 then pc.give_item2("299", 1) pc.remove_item("50095", 5) elseif a == 2 then if pc.count_item("50095") >= 10 then pc.give_item2("49", 1) pc.remove_item("50095", 10) else say("Não tens ovos suficientes.") end elseif a == 3 then if pc.count_item("50095") >= 25 then pc.give_item2("59", 1) pc.remove_item("50095", 25) else say("Não tens ovos suficientes") end elseif a == 4 then if pc.count_item("50095") >= 50 then pc.give_item2("69", 1) pc.remove_item("50095", 50) else say("Não tens ovos suficientes") end elseif a == 5 then if pc.count_item("50095") >= 100 then pc.give_item2("79", 1) pc.remove_item("50095", 100) else say("Não tens ovos suficientes") end end endendend Créditos Editar : Sinval
    Créditos Tirar Erros : pacificador
    Créditos Criador : Não Saber
    C.
    Sinval
  22. Upvote
    CoMa Sy reacted to titio in [Quest]Drop Moob   
    Bom galerinha eu tava cançado de ir na pasta e coloca o forked_road pra aparecer ex:tal jogador mato tal moob sua reponça é tal coisa.
    Ate agora não vi nenhuma quest igual... vim aqui compartilha com voçês espero que gostem.È uma quest simples porem eficas
    quest Mobs begin
    state forked_road begin
    when ID DO MOB.kill begin
    pc . give_item2 (ID DO ITEM,QUANTIDADE )
    notice_all("".. pc.get_name() .." COLOQUE O TEXTO QUE QUIZER.")
    notice_all("COLOQUE O TEXTO QUE QUIZER !")
    end
    end
    end
    Att:Natsu
  23. Upvote
    CoMa Sy reacted to 'PACI in Item Multi-Usos (Mais Para Gm, Mas Pronto <.<)   
    Boas Pessoal,
    Estava sem nada para fazer... aborrecido... e decidi fazer uma quest, já que melhor para fazer não há...
    Consiste num item multi-usos, apesar de ter mais usos para um GM do que para um Player.
    Imagens:

    Para GM:

    Para Players:

    É o que Disse, tem poucos usos para player xD Quest:

    quest item_multi_usos beginstate start begin when 70007.use begin say_reward("Quest BY PACIFICADOR.") say("Que desejas Fazer?") if pc.is_gm() then local a = select ("Teleportar à Beira de um Player" , "Ir às Cidades" , "Colocar Dia/Noite" , "Remover Itens do Inventário" , "Remover Só 1 Item", "Nevar/Parar de Nevar", "Seguinte") if a == 1 then say_title("Teleportar à Beira de um Player:") say("Indica o Nome do Player.") local nome = input () if nome == "" then say("Tens que indicar o nome do Player.") else pc.teleport(nome) end end if a == 2 then say_title("Escolhe a Cidade onde Queres Ir:") local b = select ("Cidade 1 Azuis", "Cidade 2 Azuis", "Cidade 1 Vermelhos", "Cidade 2 Vermelhos", "Cidade 1 Amarelos", "Cidade 2 Amarelos", "Sair") if b == 1 then pc.warp(969600, 278400) end if b == 2 then pc.warp(873100, 242600) end if b == 3 then pc.warp (469300, 964200) end if b == 4 then pc.warp (360800, 877600) end if b == 5 then pc.warp (55700, 157900) end if b == 6 then pc.warp (138500, 234900) end if b == 7 then return end end if a == 3 then say_title("Colocar Dia/Noite:") say("Queres Meter de Dia ou De Noite?") local c = select ("Dia", "Noite", "Sair") if c == 1 then game.set_event_flag("xmas_boom", 1) end if c == 2 then game.set_event_flag("xmas_boom", 0) end end if a == 4 then say_title("Remover Itens do Inventário:") say("Queres mesmo remover tudo do Inventário?") local d = select ("Sim", "Não") if d == 1 then command("ip") end if d == 2 then return end end if a == 5 then say_title("Remover 1 Item do Inventário:") say("Introduz o ID Do Item") local remover_item = input () if remover_item == "" then say_reward("Tens que Colocar o ID DO ITEM!") else pc.remove_item("" ..remover_item.. "") end end if a == 6 then say_title("Começar/Parar de Nevar:") say("Queres Fazer o Quê?") local t = select ("Meter a Nevar", "Parar de Nevar", "Sair") if t == 2 then game.set_event_flag("xmas_snow", 0) end if t == 1 then game.set_event_flag("xmas_snow", 1) end if t == 3 then return end end if a == 7 then local z = select ("Abrir Armazém", "Resetar Atributos", "Sair") if z == 1 then game.open_safebox() setskin(NOWINDOW) end if z == 2 then char_log(0, "RESET_ALL", "RESET_STAT_POINTS") pc.reset_point() char_log(0, "RESET_ALL", "RESET_END") end if z == 3 then return end end else local x = select ("Teleportar às Cidades", "Abrir Armazém", "Abrir Armazém de Artigos", "Sair") if x == 1 then say_title("Escolhe a Cidade onde Queres Ir:") local y = select ("Cidade 1 Azuis", "Cidade 2 Azuis", "Cidade 1 Vermelhos", "Cidade 2 Vermelhos", "Cidade 1 Amarelos", "Cidade 2 Amarelos", "Sair") if y == 1 then pc.warp(969600, 278400) end if y == 2 then pc.warp(873100, 242600) end if y == 3 then pc.warp (469300, 964200) end if y == 4 then pc.warp (360800, 877600) end if y == 5 then pc.warp (55700, 157900) end if y == 6 then pc.warp (138500, 234900) end if y == 7 then return end end if x == 2 then game.open_safebox() setskin(NOWINDOW) end if x == 3 then game.open_mall() setskin(NOWINDOW) end if x == 4 then return end end endendend Está definida para ser usada no item nº 70007, podem mudar em:
    when 70007.use begin Onde está esse número, mudam para o que vocês queiram e instalam em:
    /usr/.../locale/.../quest Vão ao locale_list e metem lá o nome_da_quest.quest e guardam. Vão à Máquina e escrevem:

    cd /usr/.../portugal/.../quest ./qc nome_da_quest.quest Vão reload q ou reboot e pronto xD Espero que gostem ou assim.
    Cumprimentos.
  24. Upvote
    CoMa Sy reacted to SINVAL o.O in [Release] Anel Anti-Exp   
    1º Copia a quest e coloca num bloco de notas com o nome ant_xp.quest (tem que por .quest no final do nome).
    2º Liga o server e vai em "usr/sinval/channel/share_data/locale/portugal/quest" e coloca a quest la e da permisão 777.
    2º Vai e casas locale_list, e vai la em baixo e poem nome da quest, no caso "ant_xp.quest".
    3º Vai no Vitual Pc/Box e digita:
    cd usr/sinval/channel/share_data/locale/portugal/quest [ENTER]
    ./qc ant_xp.quest [ENTER]
    IMPORTANTE : Aki usei os diretorios da minha server files, pode ser outros nome, e dependendo das suas files tem algumas que tem outro geito de por , algumas não presisa dar esses comandos no virtual não, pois tem os comandos certos, o nome da quest tem sempre que terminar em .quest, asima usei "ant_xp.quest" mais se pode por outros como "anelantxp.quest", mais sempre deve por ".quest".Se ajudei não seja egoista http://cyber-gamers.org/public/style_emoticons/default/451960.gif.
    C.
    Sinval