Chat global
[Resolvido] Local de nascimento do boss
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 ?

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:
@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.

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á
(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
quer serviço bom sem pagar em src de 50 pila bugada com esses mlk ai? vemcmg
https://www.facebook.com/PristonDevs

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:
-
Á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. -
-
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.
-
-
@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.
@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?
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!

@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.
- 19 Fóruns
- 144 Tópicos
- 694 Posts
- 3 Online
- 160 Membros