Chat global

Chat
Loading the chat ...
Local de nascimento...
 
Notifications
Clear all

[Resolvido] Local de nascimento do boss

15 Posts
7 Usuários
4 Reactions
74 Visualizações
(@roolk)
Posts: 26
Mentor Respeitado
Topic starter
 

Gostaria de agradecer a todos que me ajudaram, segue o código corrigido (é simples mas estava batendo a cabeça pois na source que eu estava usando estava incorreto)

bool Score::drawBoss(int stage)
{
int zPosition = lpCurPlayer->pZ >> 0x8;
int xPosition = lpCurPlayer->pX >> 0x8;


char* text = nullptr;

if ((zPosition >= -36430 && zPosition < -36060) && (xPosition >= 19010 && xPosition < 19415) && stage == 44)
{
DrawFontImage("Local de Nascimento do Boss: Tulla",SETTINGSHANDLER->getWidth() / 2 - 200, 30, D3DCOLOR_RGBA(255, 210, 14, 255), 0.8f);
}

Gostaria de saber como faço para por aquela mensagem de notificação pra quando um player passa pela area do mapa aparecer '' LOCAL DE NASCIMENTO DO BOSS '' 
identifiquei o if do código, consegui configurar alguns mapas, mas outros não estou conseguindo, gostaria de entender como funciona a lógica correta, já que é pedida 2 coordenadas de x e z. 

Codigo: 

if ((zPosition >= 26050 && zPosition < 26650) && (xPosition >= 36800 && xPosition < 37300) && stage == 28)
{
DrawFontImage("Local de Nascimento do Boss: Babel", SETTINGSHANDLER->getWidth() / 2 - 200, 30, D3DCOLOR_RGBA(255, 210, 14, 255), 0.8f);

não compreendo a parte das coordenadas de como é feita a leitura, já tentei colocar coordenadas em X  e em cruz no lugar onde o boss nasce, em alguns mapas deu certo, em outros, como esse do babel, não. 
alguem poderia me ajudar ?

Este tópico foi modificado 5 dias atrás by Roolk
 
Postado : 26/08/2025 3:38 am
Assassin
(@assassin)
Posts: 8
Apoiador Ativo
 

Bom dia vai depender da srv que esta usando ... agora  se quer lugar exato onde nacer eles e bem simples  rsOpenBossMonster   essa e uma definição  onde você coloca ele para nacer em um lugar fixo. exemplo:

if (lpBossMonster->MasterMonster->dwCharSoundCode == snCHAR_SOUND_DEATHKNIGHT &&
lpStgArea->lpField && lpStgArea->lpField->FieldCode == 31)
{
 
pos3D.x = 33906 * fONE;
pos3D.y = 0;
pos3D.z = 30565 * fONE;
lprsFixedPoint = &pos3D;
 
}
 esse códico  e um  que o boss ai nacer no  Field 31   em baixo para achar o lugar  certo aperta f9 como gm pega as coordenadas Y X mesma coisa de colocar um npc... so addd o pontos especificos,  assim o boss vai necer onde esta seu personagem ... 
 
 
Postado : 26/08/2025 7:04 am
(@roolk)
Posts: 26
Mentor Respeitado
Topic starter
 

@assassin bom dia, estou usando a base elemental. 

no caso eu estou tentando configurar a parte de mensagem de área de localização onde o Boss nasce, quando o player passar em cima dessa área, aparecer a escrita no topo do game “local de nascimento do Boss Babel”.  

Eu fixei o Boss em um determinado lugar e gostaria marcá-la com esta função descrita. 

 
Postado : 26/08/2025 11:02 am
b4ruc_
(@b4ruc_)
Posts: 4
Apoiador Ativo
 

vou tentar explicar desenhando kk 

isso aqui é um if de verificação pra saber em qual cordenada vc ta no mapa

como você pode ver ali eu to na cordenada

X 37318 z 26367 y 1409

então se eu for pro outro lado, a cordenada muda, até pq ali é onde oe personagem está 

 
como pode ver ali o X diminuiu de 37318 pra 36742 então segue a lógica 

(xPosition >= 36742 && xPosition < 37318) porque está "ENTRE" esses dois numeros, entende? agora faça o mesmo com a cordenada Z e pronto, vai mostrar a mensagem

 
Este post foi modificado 6 dias atrás 3 vezes por b4ruc_

quer serviço bom sem pagar em src de 50 pila bugada com esses mlk ai? vemcmg

https://www.facebook.com/PristonDevs

 
Postado : 26/08/2025 12:47 pm
Roolk reacted
Iron
 Iron
(@iron)
Posts: 12
Mentor Respeitado
 

@roolk

if ((zPosition >= 26050 && zPosition < 26650) && (xPosition >= 36800 && xPosition < 37300) && stage == 28)
{
    // O código aqui dentro será executado se o personagem estiver na área especificada.
}

Detalhamento da Lógica:

  1. Área Delimitada (Eixos da Area):

    • Eixo Z: O personagem precisa estar entre as coordenadas 26.050 e 26.650.

      • zPosition >= 26050 (Limite inferior inclusivo)

      • zPosition < 26650 (Limite superior exclusivo)

    • Eixo X: O personagem precisa estar entre as coordenadas 36.800 e 37.300.

      • xPosition >= 36800 (Limite inferior inclusivo)

      • xPosition < 37300 (Limite superior exclusivo)

     Interpretação: Isso cria uma "caixa" ou área retangular no mapa. Quando as coordenadas (xPosition, zPosition) do personagem estão dentro dessa caixa, a primeira parte da condição se torna verdadeira.

  2. Verificação do mapa:

    • stage == 28: Essa parte exige que o personagem também esteja no field 28, que pelo padrão das soruces é o mapa iron1.

      Resumo Prático:

      Para que a mensagem apareça na tela do jogo, todas as condições abaixo devem ser verdadeiras ao mesmo tempo:

      • O personagem está no mapa iron1 (Field 28).

      • Sua posição no eixo X está entre 36.800 e 37.300.

      • Sua posição no eixo Z está entre 26.050 e 26.650.

      Em outras palavras: Esse if ativa um evento (como mostrar uma mensagem) especificamente para os jogadores que estão dentro da área demarcada no mapa iron1.

      Se ajudei deixa o Like.

 
Postado : 26/08/2025 1:22 pm
Roolk reacted
(@roolk)
Posts: 26
Mentor Respeitado
Topic starter
 

@iron perfeito, até este ponto eu consigo entender, configurei alguns mapas com esta lógica,  mas gostaria de entender como faço pra demarcar a área para ser funcional, jeste exemplo da field 28, já fiz diversas marcações na área destinada, formando um X, uma cruz, um quadrado, um retângulo e… mesmo assim, a escrita não aparece de aviso do local de nascimento do Boss não aparece.
existe uma lei para as coordenadas ? Exemplo: um mínimo ou um máximo de distância sobre os pontos ou qualquer configuração é aceita pelo if? 

pois a mesma coisa que fiz por exemplo na field 40 e funcionou, fiz na field 28 e não funcionou.. daí não sei se existe uma regra de distância de posições. 

 
Postado : 26/08/2025 1:28 pm
(@roolk)
Posts: 26
Mentor Respeitado
Topic starter
 

@b4ruc_  certo, acho que consegui entender, irei aplicar quando estiver no pc! 

eu estava indo para as 4 pontas, pegando X na vertical e Z na horizontal… talvez aí esteja o erro. 

Este post foi modificado 6 dias atrás 2 vezes por Roolk
 
Postado : 26/08/2025 1:37 pm
b4ruc_
(@b4ruc_)
Posts: 4
Apoiador Ativo
 

@roolk tu tem q montar tipo um "quadrado" como mostrei ali

quer serviço bom sem pagar em src de 50 pila bugada com esses mlk ai? vemcmg

https://www.facebook.com/PristonDevs

 
Postado : 26/08/2025 1:47 pm
(@roolk)
Posts: 26
Mentor Respeitado
Topic starter
 

@b4ruc_  me desculpe a ignorância, mas qual é a forma correta que eu devo marcar as coordenadas ? 
é qual forma das imagens que está no anexo ? se não, poderia me ajudar com a forma correta?

 
os pontos onde estão o X e o Z são da onde eu pego as coordenadas.
Este post foi modificado 6 dias atrás 3 vezes por Roolk
 
Postado : 26/08/2025 7:22 pm
alucard
(@alucard)
Posts: 35
Mentor Respeitado
 

@roolk As coordenadas estão no campo superior esquerdo , como o baruco colocou a seta.

 
Postado : 26/08/2025 8:55 pm
Roolk reacted
(@roolk)
Posts: 26
Mentor Respeitado
Topic starter
 

@alucard sim, eu sei... eu tentei fazer todos esses pontos como as 3 imagens que anexei, mas nenhuma delas resultou positivo.

 
Postado : 26/08/2025 8:56 pm
(@roolk)
Posts: 26
Mentor Respeitado
Topic starter
 

A falha estava no código, busquei o código em outra source (history) e a partir daí conseguir fazer as margens funcionarem, Muito agradecido por todos que me ajudaram!

 
Postado : 27/08/2025 3:06 am
PoTrAs18
(@potras18)
Posts: 34
Admin
 

@roolk Ficamos felizes em saber que você resolveu o problema. Se você puder indicar em sua primeira postagem como chegou à solução e a parte do código que deve ser revisada, isso ajudará outros usuários no futuro.

 
Postado : 27/08/2025 7:28 am
b4ruc_
(@b4ruc_)
Posts: 4
Apoiador Ativo
 

@roolk 2

quer serviço bom sem pagar em src de 50 pila bugada com esses mlk ai? vemcmg

https://www.facebook.com/PristonDevs

 
Postado : 27/08/2025 11:40 am
Roolk reacted
Godfather
(@godfather)
Posts: 13
Apoiador Ativo
 

@roolk Postei uma imagem e espero que te ajude a entender um pouco como funciona.

Veja que o Y nao interfere nesse caso devido a ele lidar somente com a altura em que o "objeto" esta posicionado.

Start where you are. Use what you have. Do what you can.

 
Postado : 28/08/2025 1:23 am
Compartilhar:

Anúncio