Dúvidas Editar NPC de composição ou Skill alquimia e Mensagens na W2

Discussão em 'WYD - Dúvidas' iniciado por -ux-, 9 Out, 2018.

  1. -ux-

    Membro

    18 Jun, 2009
    10
    4
    40
    #1 -ux-, 9 Out, 2018
    Editado por um moderador: 10 Out, 2018
    Dei uma pesquisada aqui mas não achei algo relacionado.
    Primeiramente, sou novato em programação, mas to aprendendo fuçando nas sources e pesquisando na internet.

    Alguém sabe onde fica as configurações da Skill alquimia ou de um npc de composição como o Aylin e Ehre.
    Pra editar os itens que ele solicita e entrega. Tipo a ehre que faz várias composições, queria acrescentar mais composições. Só quero saber onde fica essas configurações, como modificar.. eu tento aprender..
    Achei isso aqui, editei os itens, mas não mudou nada no jogo.

    Código:
    int GetMatchCombineAlquimia(STRUCT_ITEM *Item)
    {
        for(int i = 0; i < MAX_COMBINE; i++)
        {
            if(Item.sIndex == 747)
                return 0;
        }
        if (Item[0].sIndex < 0 || Item[0].sIndex >= MAX_ITEMLIST)
            return -1;
    
        if (Item[1].sIndex < 0 || Item[1].sIndex >= MAX_ITEMLIST)
            return -1;
    
        if (Item[2].sIndex < 0 || Item[2].sIndex >= MAX_ITEMLIST)
            return -1;
    
        if (Item[3].sIndex < 0 || Item[3].sIndex >= MAX_ITEMLIST)
            return -1;
    
        if (Item[4].sIndex < 0 || Item[4].sIndex >= MAX_ITEMLIST)
            return -1;
    
        if (Item[5].sIndex < 0 || Item[5].sIndex >= MAX_ITEMLIST)
            return -1;
    
        if (Item[6].sIndex < 0 || Item[6].sIndex >= MAX_ITEMLIST)
            return -1;
    
        if (Item[7].sIndex < 0 || Item[7].sIndex >= MAX_ITEMLIST)
            return -1;
     
        if(Item[0].sIndex == 413 && Item[1].sIndex == 2441 && Item[2].sIndex == 2442)
            return 0;//Sagacidade
    
        if(Item[0].sIndex == 413 && Item[1].sIndex == 2443 && Item[2].sIndex == 2442)
            return 1;//Resistencia
    
        if(Item[0].sIndex == 4127 && Item[1].sIndex == 4127 && Item[2].sIndex == 4127)
            return 2;//Revelação
    
        if(Item[0].sIndex == 4127 && Item[1].sIndex == 4127 && Item[2].sIndex == 697)
            return 3;//Recuperação
    
        if(Item[0].sIndex == 412 && Item[1].sIndex == 2441 && Item[2].sIndex == 2444)
            return 4;//Absorção
    
        if(Item[0].sIndex == 412 && Item[1].sIndex == 2444 && Item[2].sIndex == 2443)
            return 5;//Proteção
    
        if(Item[0].sIndex == 612 && BASE_GetItemSanc(&Item[0]) >= 9 && Item[1].sIndex == 2441 && Item[2].sIndex == 2442)
            return 6;//Poder
    
        if(Item[0].sIndex == 612 && Item[1].sIndex == 613 && Item[2].sIndex == 614 && Item[3].sIndex == 615)
            return 7;//Armazenagem
    
        if(Item[0].sIndex == 614 && BASE_GetItemSanc(&Item[0]) >= 9 && Item[1].sIndex == 2443 && Item[2].sIndex == 2444)
            return 8;//Precisão
    
        if(Item[0].sIndex == 615 && BASE_GetItemSanc(&Item[0]) >= 9 && Item[1].sIndex == 697 && Item[2].sIndex == 697 && Item[3].sIndex == 697)
            return 9;//Magia
    
        return -1;
    }




    Código:
    int GetMatchCombineEhre(STRUCT_ITEM *Item)
    {
        int rate = 0;
    
        for(int i = 0; i < MAX_COMBINE; i++)
        {
            if(Item.sIndex == 747)
                return 0;
        }
    
        if (Item[0].sIndex < 0 || Item[0].sIndex >= MAX_ITEMLIST)
            return 0;
    
        if (Item[1].sIndex < 0 || Item[1].sIndex >= MAX_ITEMLIST)
            return 0;
    
        if (Item[2].sIndex < 0 || Item[2].sIndex >= MAX_ITEMLIST)
            return 0;
    
        if (Item[3].sIndex < 0 || Item[3].sIndex >= MAX_ITEMLIST)
            return 0;
    
        if (Item[4].sIndex < 0 || Item[4].sIndex >= MAX_ITEMLIST)
            return 0;
    
        if (Item[5].sIndex < 0 || Item[5].sIndex >= MAX_ITEMLIST)
            return 0;
    
        if (Item[6].sIndex < 0 || Item[6].sIndex >= MAX_ITEMLIST)
            return 0;
    
        if (Item[7].sIndex < 0 || Item[7].sIndex >= MAX_ITEMLIST)
            return 0;
    
    
        if (Item[0].sIndex == 697 && Item[1].sIndex == 697 && BASE_GetItemSanc(&Item[2]) >= 9 && Item[2].sIndex != 3338)
            rate = 1;//Pacote Oriharucon
    
        else if (Item[0].sIndex >= 5110 && Item[0].sIndex <= 5133 && Item[1].sIndex >= 5110 && Item[1].sIndex <= 5133 && Item[2].sIndex == 413 && BASE_GetItemAmount(&Item[2]) >= 10)
            rate = 2;//Pedra Misteriosa
    
        else if (Item[0].sIndex >= 661 && Item[0].sIndex <= 663 && Item[1].sIndex >= 661 && Item[1].sIndex <= 663 && Item[2].sIndex == 633 && BASE_GetItemSanc(&Item[2]) >= 9)
            rate = 3;//Pedra espiritual
    
        else if (Item[0].sIndex >= 661 && Item[0].sIndex <= 663 && Item[1].sIndex >= 661 && Item[1].sIndex <= 663 && Item[2].sIndex == 3464 && BASE_GetItemSanc(&Item[2]) >= 9)
            rate = 4;//Pedra Amunrá
    
        else if (Item[0].sIndex == 697 && Item[1].sIndex == 697 && Item[2].sIndex == 3338 && BASE_GetItemSanc(&Item[2]) <= 8)
            rate = 5;//Refinação abençoada Purificada
    
        else if (Item[0].sIndex >= 2360 && Item[0].sIndex <= 2389 && Item[1].sIndex >= 4190 && Item[1].sIndex <= 4199)
            rate = 6;//Traje montaria
    
        else if (Item[0].sIndex >= 2360 && Item[0].sIndex <= 2389 && Item[1].sIndex == 4899)
            rate = 7;//Restaurar Traje montaria
    
        else if (Item[0].sIndex >= 2441 && Item[0].sIndex <= 2444 && Item[1].sIndex >= 2441 && Item[1].sIndex <= 2444 && Item[2].sIndex >= 2441 && Item[2].sIndex <= 2444)
            rate = 8;//Soul
    
     
        return rate;
    }
    


    O item que a Ehre entrega eu consegui mudar aqui "_MSG_CombineItemEhre.cpp", tentei mudar o pac de ori e a misteriosa deu certo, só não consegui mudar os itens que ela pede pra fazer a composição e nem adicionar uma composição nova.

    Mas.. se alguém quiser já explicar também eu agradeço =D


    E na source W2, onde edito as mensagens dos npc?
    "SendClientMessage(conn, g_pMessageStringTable[_NN_Not_Enough_Money]);" onde mudo o texto do NN_Not_Enough_Money?

    Achei =D
     
  2. Juumper

    Moderador Programador Game Zone Aluno

    22 Ago, 2016
    307
    241
    95
    Para mexer nas composições do jogo é necessário ter conhecimento do arquivo mixlist, ele é responsável pelas janelas de composição do jogo, entendendo como ele funciona você consegue mudar as imagens dos itens, gold e tudo mais, agora adicionar novas composições eu creio que seja só com hook, até hoje nunca vi ninguém adicionando somente mexendo no mixlist do cliente :(
     
    -ux- curtiu isso.
  3. -ux-

    Membro

    18 Jun, 2009
    10
    4
    40
    Pdc, vi um editor do mixlist aqui no forum.. vou far uma fuçada nele.
    Vlw mano =D
     
  4. Juumper

    Moderador Programador Game Zone Aluno

    22 Ago, 2016
    307
    241
    95
    Aquele editor não está 100% certo, é mais fácil dar uma olhada nele e estudar como é o .bin, eu sou um dos criadores de um e falta coisas nele!
     
    -ux- curtiu isso.
  5. -ux-

    Membro

    18 Jun, 2009
    10
    4
    40
    #5 -ux-, 10 Out, 2018
    Última edição: 10 Out, 2018
    Deu certo =D
    https://imgur.com/OOSXGV2

    Edit: Consegui adicionar no mixlist, agora vou tentar colocar a composição na source. Se eu conseguir posto aqui.
    https://imgur.com/uv3OPZl

    Tem como clonar o npc e as funções, tipo criar um novo igual a ehre mas com funções independentes?
     
    Juumper curtiu isso.
  6. rickso

    Membro

    19 Out, 2008
    46
    6
    40
    talvez seja mais facil colocar as funções em um npc ja existente.
     
  7. -ux-

    Membro

    18 Jun, 2009
    10
    4
    40
    Pode ser mais fácil.. mas pra quem não manja de C++ nem em um existente é fácil kkk
    To quebrando a cabeça aqui.. não consigo achar onde define a função na source pra do mixlist.
     
  8. Juumper

    Moderador Programador Game Zone Aluno

    22 Ago, 2016
    307
    241
    95
    Bom saber que deu certo e você está evoluindo, fico feliz em ver isso :)
    Sobre isso, veja se tem acesso ao value ou algo assim, vê o que diferencia as composições uma da outra, tenta colocar para retornar uma mensagem quando clicar em compor, depois é só manipular as informações e indo com calma :)
     
    -ux- curtiu isso.
  9. -ux-

    Membro

    18 Jun, 2009
    10
    4
    40
    Vlw irmão, vou tentar aqui. Até consegui editar todas. A da soul cria muitas possibilidades, só não conseguir criar a função pra nova que eu criei.. Mas vou tentando
     

Compartilhe esta Página

  • Sobre nós

    A WebCheats é o maior e melhor fórum de cheats do Brasil. Temos mais de 13 anos de existência graças a todos nossos usuários que nos ajudaram nesta longa história.
  • O chopp da tarde !

    Gostou do conteudo do fórum? por que não nos ajudar? faça uma doação para o forum, toda a doação é revertida para o forum com sorteios e novos recursos

    Doe-nos