Ir para conteúdo
Faça parte da equipe! (2024) ×
  • 0

resolvido Bloquear Click em Item


xonoob007
 Compartilhar

Pergunta

Boa tarde pessoal, tudo bem com vocês ? , espero que sim.

 

Venho humildemente pedir a ajuda de vocês, se alguém puder me ajudar capa.jpg

eu gostaria de saber como faço para deixar um item imóvel, da mesma maneira que é a capa, em qual parte da source esta localizada as funções de bloqueio da capa? eu não consegui encontrar nada do gênero.

sou iniciante , e estou tentando aprender.

obrigado desde já.

 

Atenciosamente André Luis

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
Coloque no pacote de movimento de item, o index do item e um return, usa uma condição pra isso, se for o item, retorna.

 

Lembrando, tem que ser no começo do pacote.

Qual é o pacote de movimento, qual o nome do arquivo?

Link para o comentário
Compartilhar em outros sites

  • 0
Qual é o pacote de movimento, qual o nome do arquivo?

 

Eu não iria mais responder suas duvidas, visto que você não quer estudar, quer apenas tudo resolvido para você, vou tentar pela ultima vez, espero que não me arrependa!

 

Eu vou te dar os passos, mas quero ver aprendizagem de vocês, vou ensinar como eu aprendi a analisar pacotes, se eu der tudo na mão vocês não vão aprender nada e sempre vão querer tirar duvidas simples e nunca evoluir.

 

Bom, para saber o pacote de movimento, faça um packet control dentro do seu servidor, se for 7556 provavelmente já tem, faça exibi-los no console, não sabe escrever em um console? Da um gogglada, não estou sendo rude, eu quero que aprenda a caminhar e entender como funciona o wyd. Após fazer isso você vai descobrir o valor do pacote em Hexadecimal, use a calculadora para converter de Hexadecimal para Decimal, você vai obter o valor dele, no caso, eu sei que na w2pp os pacotes são feitos em Decimal, então pega o valor do case, colocando o mouse em cima da func tu obtém o valor dele de decimal, abre a função, pronto, essa é a função responsável pelo pacote.

Após isso é só fazer o que eu falei, não mais, boa sorte!

Link para o comentário
Compartilhar em outros sites

  • 0
Eu não iria mais responder suas duvidas, visto que você não quer estudar, quer apenas tudo resolvido para você, vou tentar pela ultima vez, espero que não me arrependa!

 

Eu vou te dar os passos, mas quero ver aprendizagem de vocês, vou ensinar como eu aprendi a analisar pacotes, se eu der tudo na mão vocês não vão aprender nada e sempre vão querer tirar duvidas simples e nunca evoluir.

 

Bom, para saber o pacote de movimento, faça um packet control dentro do seu servidor, se for 7556 provavelmente já tem, faça exibi-los no console, não sabe escrever em um console? Da um gogglada, não estou sendo rude, eu quero que aprenda a caminhar e entender como funciona o wyd. Após fazer isso você vai descobrir o valor do pacote em Hexadecimal, use a calculadora para converter de Hexadecimal para Decimal, você vai obter o valor dele, no caso, eu sei que na w2pp os pacotes são feitos em Decimal, então pega o valor do case, colocando o mouse em cima da func tu obtém o valor dele de decimal, abre a função, pronto, essa é a função responsável pelo pacote.

Após isso é só fazer o que eu falei, não mais, boa sorte!

Eu sei bb, acho que você me juga errado quanto ao querer tudo fácil sem estudar, só fiz uma pergunta simples, qual o nome do arquivo na w2pp que eu posso fazer esse procedimento, não sei pq essa revolta comigo se nunca fiz mal e ninguém kkkk omg

Link para o comentário
Compartilhar em outros sites

  • 0
Eu sei bb, acho que você me juga errado quanto ao querer tudo fácil sem estudar, só fiz uma pergunta simples, qual o nome do arquivo na w2pp que eu posso fazer esse procedimento, não sei pq essa revolta comigo se nunca fiz mal e ninguém kkkk omg

 

Leia o que eu respondi, vai atrás man, eu tenho revolta contigo porque de 10 tópicos da área de dúvidas 9 são seu, OK, você tem o direito a isso o fórum é para isso, mas uma coisa é querer saber como faz o procedimento outra completamente diferente é querer tudo na mão,se tu quer mexer com WYD a primeira coisa que faz é estudar o básico de programação, se você soubesse realmente a programar iria saber onde encontrar a função de cada coisa, então se você quer saber onde é o arquivo do que, faz o procedimento que eu ensinei acima, boa sorte :)

Link para o comentário
Compartilhar em outros sites

  • 0
Leia o que eu respondi, vai atrás man, eu tenho revolta contigo porque de 10 tópicos da área de dúvidas 9 são seu, OK, você tem o direito a isso o fórum é para isso, mas uma coisa é querer saber como faz o procedimento outra completamente diferente é querer tudo na mão,se tu quer mexer com WYD a primeira coisa que faz é estudar o básico de programação, se você soubesse realmente a programar iria saber onde encontrar a função de cada coisa, então se você quer saber onde é o arquivo do que, faz o procedimento que eu ensinei acima, boa sorte :)

Tudo bem se você é revoltado não tenho culpa, agora pra que serve um fórum de dúvidas se não pode postar dúvidas? É meio sem lógica isso, a verdade é que vocês que sabem um poquim do wyd apenas não de programação se acham os Deus, melhor que as outras pessoas tenho pena de gente como você, sério mesmo! Acho que esse tópico de dúvidas tem que ser fechado de vez pq não pode postar dúvida, nunca vi isso primeira vez kkkkkk kkkkkk omg só perguntei o nome de um arquivo na w2pp e o cara me vem com um sermão, tadim, deve ser falta de sexo kkkkkkkk

Link para o comentário
Compartilhar em outros sites

  • 0
Tudo bem se você é revoltado não tenho culpa, agora pra que serve um fórum de dúvidas se não pode postar dúvidas? É meio sem lógica isso, a verdade é que vocês que sabem um pouco do wyd apenas não de programação se acham os Deus, melhor que as outras pessoas tenho pena de gente como você, sério mesmo! Acho que esse tópico de dúvidas tem que ser fechado de vez pq não pode postar dúvida, nunca vi isso primeira vez kkkkkk kkkkkk omg só perguntei o nome de um arquivo na w2pp e o cara me vem com um sermão, tadim, deve ser falta de sexo kkkkkkkk

 

Eu gosto muito de responder duvida dos membros, pelo menos daqueles que se interessam em querer aprender como fazer e não querer pronto, quem me tem no skype sabe muito bem disso, ajudo a mostrar como funciona, entro no teamviwer, mostro tudo, agora daqueles que querem pronto, eu não tenho a mínima vontade, acho que não sou só eu e sim a comunidade toda, já que nos grupos de WYD todos falam que não vão te responder aqui no fórum.

Os que sabem programar para WYD, também sabem programar(pelo menos a maioria) e se você acha que a gente não curte a área de duvidas, mal imagina que eu estou atrás de ajudar aqueles que não sabem, inclusive passei esse projeto para a STAFF já ;)

Então se tu quer saber onde é cada coisa, bora começar a se interessar em aprender como faz e não querer pronto, é como um membro falou, nessa area se tu quer algo pronto, vai ter que pagar ou roubar de alguém que sabe, como muitos fazem.

Agora chega dessa discussão, quer postar suas duvidas, fique a vontade, poste o quanto quiser, mas saiba, se quiser algo na mão os que sabem não estão nem um pingo com vontade de te ajudar mais.

Comentários relacionados a qualquer coisa fora do assunto do tópico a partir daqui será considerado flame!

Espero que entenda agora :)

Link para o comentário
Compartilhar em outros sites

  • 0
  • 'Administrador
Eu não iria mais responder suas duvidas, visto que você não quer estudar, quer apenas tudo resolvido para você, vou tentar pela ultima vez, espero que não me arrependa!

 

Eu vou te dar os passos, mas quero ver aprendizagem de vocês, vou ensinar como eu aprendi a analisar pacotes, se eu der tudo na mão vocês não vão aprender nada e sempre vão querer tirar duvidas simples e nunca evoluir.

 

Bom, para saber o pacote de movimento, faça um packet control dentro do seu servidor, se for 7556 provavelmente já tem, faça exibi-los no console, não sabe escrever em um console? Da um gogglada, não estou sendo rude, eu quero que aprenda a caminhar e entender como funciona o wyd. Após fazer isso você vai descobrir o valor do pacote em Hexadecimal, use a calculadora para converter de Hexadecimal para Decimal, você vai obter o valor dele, no caso, eu sei que na w2pp os pacotes são feitos em Decimal, então pega o valor do case, colocando o mouse em cima da func tu obtém o valor dele de decimal, abre a função, pronto, essa é a função responsável pelo pacote.

Após isso é só fazer o que eu falei, não mais, boa sorte!

Bem arrogante da sua parte pra falar isso em uma área de dúvidas. Falta de bom senso pra um membro da staff, pelo amor...

 

como faço para deixar um item imóvel, da mesma maneira que é a capa

Só bloquear o item pela itemlist, não tem burocracia.

Por exemplo: 1781,Poeira_de_Hela,0.0,0.0.0.0.0,0,50,0,0,0,EF_VOLATILE,5,EF_UNKNOW6,1

Só adicionar EF_UNKNOW6,1 no final da lista do item.

Link para o comentário
Compartilhar em outros sites

  • 0
Bem arrogante da sua parte pra falar isso em uma área de dúvidas. Falta de bom senso pra um membro da staff, pelo amor...

 

 

Só bloquear o item pela itemlist, não tem burocracia.

Por exemplo: 1781,Poeira_de_Hela,0.0,0.0.0.0.0,0,50,0,0,0,EF_VOLATILE,5,EF_UNKNOW6,1

Só adicionar EF_UNKNOW6,1 no final da lista do item.

Muito obrigado Grego pela ajuda, mas não funcionou! mesmo assim agradeço de mais pela sua intenção de ajudar de uma forma simples!!!

Link para o comentário
Compartilhar em outros sites

  • 0
  • 'Administrador
Muito obrigado Grego pela ajuda, mas não funcionou! mesmo assim agradeço de mais pela sua intenção de ajudar de uma forma simples!!!

Vale lembrar que você tem que converter os arquivos. Não tem erro!

Tmj

Link para o comentário
Compartilhar em outros sites

  • 0
Vale lembrar que você tem que converter os arquivos. Não tem erro!

Tmj

Converti é coloquei na pasta common e tm, mesmo assim eu consigo equipar e desequipar normalmente o item.

Até cheguei a fazer o seguinte na source

Se eu fizer assim

if(tipo != EF_UNKNOW6)

return false;

 

Com isso eu consigo desequipar ainda mas não equipa mais.

 

Se eu trocar o != por ==

Aí eu equipo e desequipo normalmente

 

Link para o comentário
Compartilhar em outros sites

  • 0
Converti é coloquei na pasta common e tm, mesmo assim eu consigo equipar e desequipar normalmente o item.

Até cheguei a fazer o seguinte na source

Se eu fizer assim

if(tipo != EF_UNKNOW6)

return false;

 

Com isso eu consigo desequipar ainda mas não equipa mais.

 

Se eu trocar o != por ==

Aí eu equipo e desequipo normalmente

 

Dentro do _MSG_TradingItem.cpp

 

Procure por isso:

 

STRUCT_ITEM *dItem = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestPlace, m->DestSlot);

STRUCT_ITEM *sItem = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->SrcPlace, m->SrcSlot);

 

Abaixo desta linha adicione isso

 

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

 

Caso queira mais de um é só colocar if(sItem->sIndex == id1 || sItem->sIndex == id2...)

assim por diante, sem precisar criar mais condições.

 

Isso é pela source, estou vendo um outro método e se achar eu passo!

 

Edit

Pelo que andei vendo para bloquear de arrastar é somente com hook, posso estar enganado, dei uma rápida olhada e não encontrei maneiras pela itemlist.

....

Link para o comentário
Compartilhar em outros sites

  • 0
Dentro do _MSG_TradingItem.cpp

 

Procure por isso:

 

STRUCT_ITEM *dItem = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestPlace, m->DestSlot);

STRUCT_ITEM *sItem = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->SrcPlace, m->SrcSlot);

 

Abaixo desta linha adicione isso

 

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

 

Caso queira mais de um é só colocar if(sItem->sIndex == id1 || sItem->sIndex == id2...)

assim por diante, sem precisar criar mais condições.

 

Isso é pela source, estou vendo um outro método e se achar eu passo!

 

Edit

Pelo que andei vendo para bloquear de arrastar é somente com hook, posso estar enganado, dei uma rápida olhada e não encontrei maneiras pela itemlist.

....

Dentro do _MSG_TradingItem.cpp

 

Procure por isso:

 

STRUCT_ITEM *dItem = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestPlace, m->DestSlot);

STRUCT_ITEM *sItem = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->SrcPlace, m->SrcSlot);

 

Abaixo desta linha adicione isso

 

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

 

Caso queira mais de um é só colocar if(sItem->sIndex == id1 || sItem->sIndex == id2...)

assim por diante, sem precisar criar mais condições.

 

Isso é pela source, estou vendo um outro método e se achar eu passo!

 

Edit

Pelo que andei vendo para bloquear de arrastar é somente com hook, posso estar enganado, dei uma rápida olhada e não encontrei maneiras pela itemlist.

....

Agora sim!!! deu certo! muito brigado pela força!!

resolvido!

Link para o comentário
Compartilhar em outros sites

  • 0

Sobre deixar o item fixado sem poder movimentar é somente com hook, visto que para deixar parado o cliente lê apenas o slot da capa, qualquer item que for para lá irá ficar imóvel. Se isso resolveu o problema dos dois me avise para fechar o tópico...

Link para o comentário
Compartilhar em outros sites

  • 0
Sobre deixar o item fixado sem poder movimentar é somente com hook, visto que para deixar parado o cliente lê apenas o slot da capa, qualquer item que for para lá irá ficar imóvel. Se isso resolveu o problema dos dois me avise para fechar o tópico...

Pode fechar, resolvido já

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • 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.