Ir para conteúdo

Removendo Inbox/Market & Não Enviar Parcel Para No Vocation


Posts Recomendados

Bem semanas atrás eu estava procurando alguém que me ajudasse a bloquear recebimento de parcel por personagens sem vocação (por costumo o povo fala char de rook)

 

Tentei em lua remover parcel mas só removia 1 e só se o player pegasse, tentei bloquear e nada.. até o Razor tentou com lua e chegou a conclusão que não dava para fazer por lua

 

Depois de um bom tempo luan veio com essa possibilidade (imagino que se era fácil qualquer um poderia ter me ajudado, para mostrar que nem todo mundo curte ajudar)

 

Procura essa função no arquivo player.cpp.

 

adicionando uma verificação aqui

depotLocker->internalAddThing(Item::CreateItem(ITEM_MARKET));
Uma condição que verifique se o player tem vocação, tipo assim:

    if (vocation->getId() != VOCATION_NONE) {
        depotLocker->internalAddThing(Item::CreateItem(ITEM_MARKET));
    }
No meu caso eu queria bloquear tanto o market quanto inbox (onde recebe parcel, item, carta) e só fiz colocar o inbox dentro do if

 

Parte do meu player.cpp com a altedação feita

 

  Mostrar conteúdo oculto

 

 

Resultando nisso

jLxoG6O.gif

AStkZca.png

Depois disso informei nos forums que participo sobre ja ter resolvido metade do problema quando Razor comentou que tinha uma ideia para bloquear o envio.. tentamos o hack na source mas estava gerando erro e não compilava, logo depois o Ninja veio com uma ajuda que deu erro no começo mas resolvido finalmente..

 

A alteração gera uma warning, mas não foi algo que atrapalhou.. o proposto que funcionou foi esse, lembrando que a alteração deve ser feita no mailbox.cpp cru e a adição no mailbox.h

 

é um arquivo diff, não sei como funciona no windows, mas eu fiz a alteração de forma manual. link para o diff e o conteudo do diff abaixo

 

mailbox.diff

 

  Mostrar conteúdo oculto

 

 

Meu mailbox.cpp alterado

 

  Mostrar conteúdo oculto

 

 

Meu mailbox.h com a adição

 

  Mostrar conteúdo oculto

 

 

Que resultou nisso

Se o jogador não tem vocação, ele não conseguirá mandar parcel para player algum.. não importa se o player tem vocação

Se o jogador tem vocação ele consegue mandar parcel para quem tem vocação, mas não manda para quem não tem vocação

Q22anYM.gif

AStkZca.png

Bem você pode perguntar, mas se ja bloqueou o envio de parcel, por que bloquear o inbox? .. bem o inbox eu havia feito primeiro :p mas o bloqueio no envio de parcel previne que o jogador acabe perdendo o item..

 

Digo caso ele envie o jogador só podera receber quando tiver vocação.. E SE o jogador nunca pegar vocação? foi pensando nisso que o segundo código foi feito, a ideia era que ao receber se fosse sem vocação o objeto retornaria e a label seria destruida.. mas estava gerando erros na build, foi quando Ninja veio com a ideia de bloquear o envio.. após 2as tentativas falhas a terceira gerou um warning simples e compilou.

 

Para bom entendedor os créditos foram dados.. agradeço a toda comunidade não importa de onde por sempre me dar uma ajuda.. não só com isso mas com qualquer outra coisa..

Link para o comentário
Compartilhar em outros sites

  Em 12/08/2015 em 11:42, Bruno Minervino disse:

@@DeCarvalho,

Primeiramente estou movendo o tópico para área correta.

 

Segundo, muito obrigado por compartilhar conosco, rep+

 

Os créditos são seus?

Abraço!

 

Achei que eu havia postado em suporte a programação.. desculpa falha minha..

 

Com relação aos créditos, como eu informei no final.. os nomes das pessoas que resolveram isso estão dispostos no conteúdo do mesmo.. cada qual com relação ao que fez..

 

O crédito é meu por ter tido o problema e procurado ajuda :p mas sim, está tudo ai no texto quem fez o que :)

 

Obrigado

Link para o comentário
Compartilhar em outros sites

  Em 12/08/2015 em 11:44, DeCarvalho disse:

Achei que eu havia postado em suporte a programação.. desculpa falha minha..

 

Com relação aos créditos, como eu informei no final.. os nomes das pessoas que resolveram isso estão dispostos no conteúdo do mesmo.. cada qual com relação ao que fez..

 

O crédito é meu por ter tido o problema e procurado ajuda :p mas sim, está tudo ai no texto quem fez o que :)

 

Obrigado

Enfim, eu li por cima e não reparei direito, como estou no serviço eu me atentei mais à finalidade do que nas palavras, me desculpe.

Mais isso se enquadra mais a um tutorial do que a um suporte.

De qualquer forma vou entender o que você precisa para tentar ajudá-lo.

O rep+ permanesse pois outra pessoa pode utilizar isso.

Link para o comentário
Compartilhar em outros sites

  Em 12/08/2015 em 11:51, Bruno Minervino disse:

Enfim, eu li por cima e não reparei direito, como estou no serviço eu me atentei mais à finalidade do que nas palavras, me desculpe.

Mais isso se enquadra mais a um tutorial do que a um suporte.

De qualquer forma vou entender o que você precisa para tentar ajudá-lo.

O rep+ permanesse pois outra pessoa pode utilizar isso.

 

Obrigado, o que eu precisava foi resolvido ai de duas maneiras, eu postei pois como você mesmo disse alguém pode precisar.. visto que a segunda metade, onde acontece o bloqueio do envio por parcel foi respondido em um ot gringo e muita gente nem sabe procurar.. e fui autorizado a compartilhar a solução

 

Obrigado novamente por mover.. eu ainda estava em duvida se colocava como tutorial ou como .. bem nem sei com oq eu estava na cabeça na hora :p tinha acabado de acordar :p

 

Informando para qualquer um que venha a ler o tópico eu sou um ignorante nessa área então não irei tirar dúvidas.. visto que não sei.. posso tentar ajudar com coisa básica e lógica.. mas não algo mais 'sério'

 

Grato

DeCarvalho

Link para o comentário
Compartilhar em outros sites

  Em 12/08/2015 em 12:04, DeCarvalho disse:

Obrigado, o que eu precisava foi resolvido ai de duas maneiras, eu postei pois como você mesmo disse alguém pode precisar.. visto que a segunda metade, onde acontece o bloqueio do envio por parcel foi respondido em um ot gringo e muita gente nem sabe procurar.. e fui autorizado a compartilhar a solução

 

Obrigado novamente por mover.. eu ainda estava em duvida se colocava como tutorial ou como .. bem nem sei com oq eu estava na cabeça na hora :p tinha acabado de acordar :p

 

Informando para qualquer um que venha a ler o tópico eu sou um ignorante nessa área então não irei tirar dúvidas.. visto que não sei.. posso tentar ajudar com coisa básica e lógica.. mas não algo mais 'sério'

 

Grato

DeCarvalho

As vezes uma coisa besta pode ser de suma importância, sem você perceber.

Logo que possível irei testar e verificar a possibilidade de alguma alteração para não aparecer warnings (vou ver o que esta causando isso).

 

Att.

Link para o comentário
Compartilhar em outros sites

O warning gerado é esse

1>c:\testes\forgottenserver-master\src\mailbox.cpp(126): warning C4715: 'Mailbox::sendItem' : not all control paths return a value

para questão de esclarecimento quando for testar, estou usando o tfs 1.2 que você disponibilizou :), como disse no tópico eu testei de várias maneiras e não vi problema algum.. esse warning não afetou diretamente o sistema.. mas como sou ignorante não sei se isso pode afetar de alguma forma futura..

 

Esse warning veio com a alteração do Ninja. Quando adicionei o IF no player.cpp o mesmo compilou sem erros..

 

Caso queira, eu posso postar o link do forum gringo la, ou te passar por pm para vc ter uma noção da conversa em cima dessa parte.. onde o razor e o ninja ajudaram.. :)

Link para o comentário
Compartilhar em outros sites

  Em 12/08/2015 em 12:15, DeCarvalho disse:

O warning gerado é esse

1>c:\testes\forgottenserver-master\src\mailbox.cpp(126): warning C4715: 'Mailbox::sendItem' : not all control paths return a value
para questão de esclarecimento quando for testar, estou usando o tfs 1.2 que você disponibilizou :), como disse no tópico eu testei de várias maneiras e não vi problema algum.. esse warning não afetou diretamente o sistema.. mas como sou ignorante não sei se isso pode afetar de alguma forma futura..

 

Esse warning veio com a alteração do Ninja. Quando adicionei o IF no player.cpp o mesmo compilou sem erros..

 

Caso queira, eu posso postar o link do forum gringo la, ou te passar por pm para vc ter uma noção da conversa em cima dessa parte.. onde o razor e o ninja ajudaram.. :)

 

Sem problemas, até porque não posso fazer isso hoje.

Mais assim que der, posto pra você.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

Iai man,

 

tava meio curioso em saber se descobriu algo.. imagino que não tenha mexido mas não custa perguntar.. como disse.. é algo que até o momento não atrapalhou.. mas se você viu e comentou algo, quer dizer que talvez possa vir a atrapalhar futuramente..

 

Enfim.. alguma novidade?

 

Bom fds para ti :)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...