Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×

~Supremacy'

Saphire Member
  • Total de Posts

    778
  • Registro em

  • Última visita

  • WCoins

    0

Posts postados por ~Supremacy'

  1. Mano, se você for iniciante em programação, pode esquecer. Não sei qual Release que você usa, mas já tem algumas com uma pasta na TMSRV já contabilizando o cash/donate total de cada player. Se a que você usa já contem, é só fazer um buffer pra donate/cash e fazer com que ele salve. Depois disso só fazer as verificações necessárias.

  2. Supremacy, pq vc não cria um sv private? ia ser top

     

    To querendo montar um projeto, nada certo ainda. :D

     

    Parabéns ajudou muito..

     

    Pra criar um npc que verifica todos os slots do inventário e por exemplo troca 11 itens iguais por 1 item diferente e 12 por um outro item e assim vai olha o exemplo:

     

    11 Itens (Refinação Abençoada +0) recebe 1 item (Refinação Celestial +11) Mas essa refinação tem um ID diferente da outra ou seja cada refi +11 +12 +13 +14 +15 tem um id diferente.

     

    Você sabe se da pra fazer tudo em um npc ou tem q fazer 1 de cada vez?

     

    Obrigado,

     

    Tem sim. Bem fácil de se fazer. Tenta ai, se tiver dúvidas, cria um tópico la na Área de Dúvidas.

  3. Este erro é causado geralmente por:

     

    Falta de memoria no computador

    ODBC Não configurada corretamente

    Firewall ou Portas fechadas

    Anti Virus não liberando o programa abrir

     

    Abra o Data Sources (ODBC) (Iniciar -> Painel de Controle -> Ferramentas Administrativas -> Fontes de dados (ODBC), va para a aba Fontes de dados de Sistema e clique em adicionar.

    Selecione o driver SQL Server (no fim da lista) e clique em concluir. Coloque o nome MuOnline e local como seu servidor.

    Clique em "Com autenticaçao do Windows NT usando ident. de logon na rede".Clique em avancar

    Em "Alterar o banco de dados padrao para" escolha Muonline e clique em avancar.Agora clique em concluir.

     

    Veja se resolve.

  4. Primeiro vcs devem saber a definição de volatile:

    Volatile é a função que um item deve executar ao ser utilizado , tantao itens consumíveis(pesadelo,poçoes etc) quanto itens "tacaveis" KK' (gema de coral , replation e etc).

     

    Entao agora eu começo:

    abra a tmsrv com o ollydbg aperte ctrl +g e cole isto:

    0042EA46

     

    e de

    enter. agora vc estará nesta linha:

    CMP DWORD PTR SS:[EBP-E84],7

     

    agora aperte "barra de espaço" ou clique 2 vezes na linha.

    e entao cole isso:

    NOP

     

    quando vc fizer isso se abrirá essa nova linha para você:

    0042EA47

     

    entao ponha isso nela:

    JNZ 0042EBDD

     

    depois de feito isso o olly irá pular as linhas sozinho entao va adicionando isso:

    PUSH DWORD PTR SS:[EBP-0E84]

    PUSH DWORD PTR SS:[EBP+8]

    CALL DWORD PTR SS:[438FC2]

    ADD ESP,8

     

    Deverá ficar assim:

    É necessário se cadastrar para acessar o conteúdo.

     

    Depois de feito salve.

    nao sabe salvar?

    entao vamos lah:

    Clik com o lado direito em qualquer lugar vazio no olly na janela principal(a maior), e procure por "Copy to executable" e depois "All modifications" ai abrira uma janela clik em "copy all" , ai abrira outra janela denovo(dessa vez uma pekena e estara na frente de todas) clike comm o lado direito do mouse denovo numa parte vazia dentro da janela e procure por save file e escolhe uma tm ou poe um nome novo q vai criar uma tm nova.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     

    Feito tudo isso adicione isso aki para que seus itens sumão sozinhos:

    Adicione isso após o que foi feito acima:

     

    1ºva ate a offset 0042EA60

    e

    deixe exatamente assim:

    JMP 0042EB54

     

    2ºAperte ctrl+g e digite 0042EB67

    Modifique a linha JG SHORT 0042EB7E

    para JG SHORT 0042EBAF

     

    3° aperte ctrl+g novamente e digite a offset 0042EBAF

     

    e ponha exatamente isso:

     

    MOV EAX,DWORD PTR SS:[EBP-0E88]

    SUB EAX,1

    MOV DWORD PTR SS:[EBP-0E88],EAX

    MOV ECX,DWORD PTR SS:[EBP-0E88]

    PUSH ECX

    MOV EDX,DWORD PTR SS:[EBP-0E7C]

    PUSH EDX

    CALL 00401555

    ADD ESP,8

    JMP SHORT 0042EBDD

     

     

    Depois eu posto um print.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     

    Agora mudando para dentro da gshook:

     

    Dentro da gshook va no seu functions.h e mude isso:

    Codigo:

     

    extern __declspec(dllexport) void BoxExp(int clientid);

    para isso:

    Código:

     

    extern __declspec(dllexport) void BoxExp(int clientid, int Volatile);

    OBS: tem q ser do jeito q ta escrito!

     

    e entao va no seu boxexp.c e mude isso la no inicio:

    Código:

     

    void BoxExp(int clientid);

    para isso:

    Código:

     

    void BoxExp(int clientid, int Volatile);

    então terá a parte que tem declaraçao das variaveis, pule ela:

    Pergunta: q variaveis?

    Resposta: aff fio(Brinks!) , akeles negoço int blablabla.

     

    e depois disso ponha isso(desse jeito q esta escrito):

    Código:

     

    switch (Volatile) ** //chaves abrindo case xx: //case do volatile , no caso na itemlist o ef_volatile, nao pode ser um volatile existente **//chaves abrindo //ponha a funçao do iten aki **// fecha o case, chaves fechando case xx: //exemplo de como por outra volatile ** //abre chaves //comandos **//fecha chaves ** //fecha o switch,chaves fechando

    as ** sao chaves abrindo e chaves fechando.

    OBS²:Obedeça as letras maiusculas e minusculas.

    OBS³:Utilize cases diferentes , do contrario dará erro.

    Ficará + ou - assim:

    É necessário se cadastrar para acessar o conteúdo.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     

    Ainda nao acabou , quem disse q as coisas na vida sao fáceis neh:

     

    O ato final =D

    Pondo sua função num item , para q o item funcione no servidor

    Faça o seguinte:

     

    Abra seu itemlist.csv na pasta run do seu servidor e procure pelo item , xegando no item por exemplo o pesadelo n/grupo:

    3324,Nightmare(Normal/party),2738.0,0.0.0.0.0,0,200,0,0,0,EF_VOLATILE,15 5,EF_GRID,0

     

     

    Repare que na linha do pesadelo a uma função chamada EF_VOLATILE e nela q declaramos o numero ao qual se refere a funçao do item.

    Pergunta: Como?

    Resposta:No EF_VOLATILE o numero depois dele , no meu caso 155 (ja havia editado) e o mesmo número da case declarada la em cima:

    flashback:

    case xx: //case do volatile , no caso na itemlist o ef_volatile, nao pode ser um volatile existente

     

     

    Entao vc pego o XX(numero q vc colocou) e poe no numero depois da virgula , ou seja:

    3324,Nightmare(Normal/party),2738.0,0.0.0.0.0,0,200,0,0,0,EF_VOLATILE,XX ,EF_GRID,0

     

     

    Agora sim chegamos ao fim!

     

    Download da tmsrv ja editada por mim com as funções volatile e a de sumir o item(by Fabionsam),nyerds +9(by freitas123) e montaria não morrer(by Ptr0x), basta vcs arrumarem a gshook , versao dessa tmsrv é 7.54:

    É necessário se cadastrar para acessar o conteúdo.

     

    Creditos:

    Akatsuki~(posto o sistema de volatile)

    fabionsam(fez o tutorial ageitou o bug das volatiles)

    GuGaRMP(deu base para soluçao dos bugs

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.