Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: takumi12 - source up15  (Visto 128325 veces)

0 Miembros and 2 Guests are viewing this topic.

Offline darkjano #120 Posteado: February 20, 2021, 01:06:12 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.044
  • Gracias recibida: 1040
  • cl
como habilito el offhelper en land of trial? a pesar de que lo tengo activo en custom.dat me aparece ese mensaje



map manager amigo xD

la verdad no xD estaba desactivado por source.


Offline onlinezajzaj #121 Posteado: February 20, 2021, 09:40:31 PM

  • MAESTRO

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 663
  • Gracias recibida: 19915
  • vn
Thank's @takumi12










Can you share your server and client?Bạn có thể chia sẻ máy chủ và khách hàng?

Yes ! Waiting upload pls !

Gracias:


Online lunaticodeveloper #122 Posteado: February 20, 2021, 11:03:10 PM

  • MAESTRO

  • US. DE HONOR

  • Anunciante
  • +4 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.790
  • Gracias recibida: 28164
  • ar
Fix time bar con interfaces Bajas



Esta es la forma mas rapida y sencilla de hacer...

Soporte premium ya sabes contactame!
Experto en MuOnline! Mira mis aportes de primera!


Offline jhahernandezcas #123 Posteado: February 21, 2021, 02:30:16 AM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 34
  • Gracias recibida: 24
  • co
@takumi12 podrías decirme como asignar valores en el MiniMap.txt del server para pintar en el minimapa

//Index   Mapa   Type   InfoX   InfoY   name
1   0   1   121   223   "Test Npc1"
2   0   2   121   223   "Test Npc2"
end


Coloque así pero no veo resultados, tal vez no esté funcionando?


Offline djagripnos #124 Posteado: February 21, 2021, 02:33:20 AM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 809
  • Gracias recibida: 30581
  • gr
Thank's @takumi12










Can you share your server and client?Bạn có thể chia sẻ máy chủ và khách hàng?

Yes ! Waiting upload pls !

Are you share complete source server client pleased


Offline onlinezajzaj #125 Posteado: February 21, 2021, 08:01:36 AM | Modificado: February 21, 2021, 08:18:46 AM by onlinezajzaj

  • MAESTRO

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 663
  • Gracias recibida: 19915
  • vn
Thank's @takumi12










Can you share your server and client?Bạn có thể chia sẻ máy chủ và khách hàng?

Yes ! Waiting upload pls !

Are you share complete source server client pleased

Waiting Upload file !!



Gracias:


Offline fer1992 #126 Posteado: February 21, 2021, 10:17:50 AM

  • 0 puntos por ventas
  • *
  • Rank: Avanzado
  • Posts: 144
  • Gracias recibida: 689
  • cl
la fuente no se puede compilar y debes probar el cliente y el servidor del juego
Compila todo perfecto, solo debes deshabilitar PROTECT_STATE en los lugares donde corresponde
como se desabilita eso?


Offline GameNet #127 Posteado: February 21, 2021, 02:43:59 PM

  • 0 puntos por ventas
  • *
  • Rank: Avanzado
  • Posts: 123
  • Gracias recibida: 19
  • pe
tengo un problema al compilar el source del gameserver y usarlo en el servidor q tengo demora en ejecutarse
pero si uso otro gameserver de los files q publicaron de takumi arranca rapido me pueden decir q pasa con el source del game server?
tiene un detalle o algo tengo q borrar para q ejecute normal y sin lag ??


Offline khyle650 #128 Posteado: February 21, 2021, 04:01:01 PM | Modificado: February 22, 2021, 05:48:27 PM by khyle650

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 103
  • Gracias recibida: 2422
  • es
AGREGAR MARCO Y BOTONES MINIMAPA




Textura Minimapa:
http://www.mediafire.com/file/a6eubl66p3az1qs/MiniMapa+Fix+97-99.rar/file

Los Botones que están configurados solo son los de acercar y alejar el Minimapa, los otros hay que configurarlos.

Interface.cpp
Buscar y quitar //
//pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon

Code: [Select]
	pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon

Import.h
Buscar:
#define pSetCursorFocus            *(DWORD*)0x00E8CB3C
y añadir abajo:
Code: [Select]
#define pMapName				((char*(__cdecl*)(signed int mapNumber)) 0x5D2C10)

MiniMap.cpp Fix 97/99
Code: [Select]
#include "stdafx.h"
#include "MiniMap.h"
#include "Import.h"
#include "Util.h"
#include "Offset.h"
#include "User.h"
#include "Interface.h"
#include "Defines.h"
#include "Common.h"
#include "MiniMapInfo.h"
#include "Central.h"
#include "WindowsStruct.h"
#include "InfoLog.h"
#include "PrintPlayer.h"

CMinimap gRenderMap;

CMinimap::CMinimap()
{
this->DataMap.ModelID = -1;
this->DataMap.XSW_Minimap_Frame = 486;  //-- Minimap_FrameX
this->DataMap.YSW_Minimap_Frame = 234;  //-- Minimap_FrameY
this->DataMap.XSW_Minimap = 510; //-- MiniMapX
this->DataMap.YSW_Minimap = 265; //265; //-- MiniMapY
this->DataMap.XSW_Time_Frame = 506; //-- Time_FrameX
this->DataMap.YSW_Time_Frame = 392; //-- Time_FrameY
this->DataMap.This_92 = 0;
this->DataMap.This_96 = 0;
this->DataMap.DropMoveUserX = 0; //-- DropMoveUserX
this->DataMap.DropMoveUserY = 0; //-- DropMoveUserY
this->DataMap.This_108;
this->DataMap.This_112;
this->DataMap.CurrentMoveX = 0.0; //-- CurrentMoveX
this->DataMap.CurrentMoveY = 0.0; //-- CurrentMoveY
this->DataMap.Scale = 1; //-- Scale
this->DataMap.TimerEventVK = 0; //-- Scale
this->DataMap.Alpha = 1.0f; //-- Alpha
}

CMinimap::~CMinimap()
{
}

//----- (0082ABA0)
char CMinimap::MapRender(int a1)
{
float DIRPointer;
lpViewObj ObjectPointer;

char result; // al@2
float blue; // ST30_4@3
float green; // ST2C_4@3
float v7; // ST78_4@3
float v8; // ST74_4@3
float v9; // ST20_4@12
float v10; // ST1C_4@12
float v11; // ST70_4@12
float v12; // ST6C_4@12
float v13; // ST10_4@12
float v14; // ST0C_4@12
float v15; // ST20_4@15
float v16; // ST1C_4@15
float v17; // ST68_4@15
float v18; // ST64_4@15
float v19; // ST10_4@15
float v20; // ST0C_4@15
int v21; // eax@17
int v22; // eax@19
float v23; // ST30_4@19
float v24; // ST60_4@19
int v25; // eax@19
float v26; // ST5C_4@19
float v27; // ST58_4@19
float v28; // ST54_4@22
float v29; // ST50_4@22
float v30; // ST4C_4@22
float v31; // ST48_4@22
int v32; // eax@23
int v33; // eax@23
float v34; // ST2C_4@23
float v35; // ST44_4@23
int v36; // eax@23
float v37; // ST30_4@23
float v38; // ST40_4@23
int v39; // eax@23
float v40; // ST30_4@23
float v41; // ST2C_4@23
float v42; // ST3C_4@23
float v43; // ST38_4@23
int v44; // [sp+78h] [bp-3Ch]@1
float v45; // [sp+7Ch] [bp-38h]@3
float v46; // [sp+88h] [bp-2Ch]@6
float v47; // [sp+8Ch] [bp-28h]@1
float v48; // [sp+90h] [bp-24h]@3
float v49; // [sp+94h] [bp-20h]@6
float v50; // [sp+98h] [bp-1Ch]@6
float v51; // [sp+9Ch] [bp-18h]@3
float v52; // [sp+A4h] [bp-10h]@3
float v53; // [sp+A8h] [bp-Ch]@3
signed int i; // [sp+ACh] [bp-8h]@3
int j; // [sp+ACh] [bp-8h]@17
int k; // [sp+ACh] [bp-8h]@20
float v57; // [sp+B0h] [bp-4h]@3

v44 = a1;
v47 = 45.0;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer = (double) 135.0f + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

if ( *(BYTE *)(a1 + 13500) )
{
pSetBlend(1);
pDrawBarForm(0.0, 0.0, 640.0, 480.0, 0.45000002, 1);
pGLSwitch();

pSetBlend(1);
glColor4f(1.0, 1.0, 1.0, 1.0);

v53 = (double)*(signed int *)(oUserPreviewStruct + 172) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);

v48 = (double)*(signed int *)(oUserPreviewStruct + 176) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);

v52 = 0.65156251;
v45 = 1.0;
v57 = 35.0;
v51 = 6.0;
blue = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);
green = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);
v7 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80) - v53;
v8 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76) - v48;
//-- PINTA el Mapa
pDrawMapFull(32447, v8, v7, green, blue, v47);

//-- CICLO PARA PINTAR LOS NPC
for ( i = 0; i < 100 && (signed int)*(BYTE *)(v44 + 116 * i + 300) > 0; ++i )
{
v50 = (double)*(signed int *)(v44 + 116 * i + 304) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v46 = (double)*(signed int *)(v44 + 116 * i + 308) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v49 = (double)*(signed int *)(v44 + 116 * i + 312);

if ( *(BYTE *)(v44 + 116 * i + 300) == 1 )
{
if ( pMapNumber != 34 || (signed int)(unsigned __int8)0x986746A <= 0 || *(DWORD *)(v44 + 116 * i + 304) == 228 && *(DWORD *)(v44 + 116 * i + 308) == 48 && pMapNumber == 34 )
{
//-- PINTAMOS LOS NPC
v9 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v10 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v11 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v12 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v13 = (double)25;
v14 = (double)25;

pDrawMapObject(32452, v46, v50, v14, v13, v12, v11, v10, v9, v47, v49, 0.546875, 0.546875, i);
}
}
else if ( *(BYTE *)(v44 + 116 * i + 300) == 2 )
{
//-- PINTAMOS PORTAL
v15 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v16 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v17 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v18 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v19 = (double)30;
v20 = (double)30;

pDrawMapObject(32451, v46, v50, v20, v19, v18, v17, v16, v15, v47, v49, 0.546875, 0.546875, i + 100);
}
}
//-- PINTAMOS AL PERSONAJE
sub_637E80( 32450,
325.0,
230.0,
15.0,
15.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);

//v21 = pMakeColor(255, 255, 255, 255);
//RenderBitMapColored(32450, 325.0, 230.0, 15.0, 15.0, 0.0, 0.0, 0.546875, 0.546875, v21);

pGLSwitch();
glColor3f(1.0, 1.0, 1.0);
pSetBlend(false);
result = 1;
}
else
{
result = *(BYTE *)(a1 + 13500);
}

return result;
}

void DataMapLoad()
{
int v4; // [sp+Ch] [bp-Ch]@5
int v5; // [sp+10h] [bp-8h]@2
int Type;
int Multiplicador;
int Scalado;

Type = gRenderMap.DataMap.Scale;
Multiplicador = (( Type == 1 ) ? 1 : Type - 1 );
Scalado = (( Type == 1 ) ? 512 : 128 );

gRenderMap.DataMap.This_92 = *(DWORD *)(*(DWORD *)0x7BC4F04 + 172) / ((Type == 1) ? 0.5 : Type - 1 ); //-- X
gRenderMap.DataMap.This_96 = (256 - *(DWORD *)(*(DWORD *)0x7BC4F04 + 176)) / ((Type == 1) ? 0.5 :  Type - 1  ); //-- Y

//-- X
if ( gRenderMap.DataMap.This_92 - ( Multiplicador << 6 ) <= 0 )
v5 = 0;
else
v5 = gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_108 = ( v5 >= Scalado ) ? Scalado : (v5 <= 0) ? 0: gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

//-- Y
if ( gRenderMap.DataMap.This_96 - ( Multiplicador << 6 ) <= 0 )
v4 = 0;
else
v4 = gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_112 = ( v4 >= Scalado ) ? Scalado : (v4 <= 0) ? 0: gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

//gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - 2 - gRenderMap.DataMap.This_108 - 2; //Minimapa abajo
//gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 + 1 - gRenderMap.DataMap.This_112 + 1; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - gRenderMap.DataMap.This_108; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 - gRenderMap.DataMap.This_112; //Minimapa abajo

gRenderMap.DataMap.CurrentMoveX = (double)gRenderMap.DataMap.This_108 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
gRenderMap.DataMap.CurrentMoveY = (double)gRenderMap.DataMap.This_112 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
}

void DataViewPortMapLoad()
{
int Model;
int Type;
float XNPC, YNPC;

Type = gRenderMap.DataMap.Scale;

for (int i = 0; i < 400; ++i )
{
Model = pGetPreviewStruct(pPreviewThis(), i);
if ( Model
&& *(BYTE *)(Model + 780)
&& Model != *(DWORD *)0x7BC4F04
&& (*(BYTE *)(Model + 800) == 1 || *(BYTE *)(Model + 800) == 2 || *(BYTE *)(Model + 800) == 4) )
{
if ( *(BYTE *)(Model + 800) == 4  &&  *(WORD *)(Model + 132) != 249 )
{
XNPC = (double) gRenderMap.DataMap.XSW_Minimap + *(DWORD *)(Model + 172) / ((Type == 1) ? 0.5 : Type - 1 );
YNPC = (double) gRenderMap.DataMap.YSW_Minimap + (256 - *(DWORD *)(Model + 176)) / ((Type == 1) ? 0.5 : Type - 1 );

XNPC = XNPC - gRenderMap.DataMap.This_108 - 5;
YNPC = YNPC - gRenderMap.DataMap.This_112 - 5;

if( *(WORD *)(Model + 132) == 251 )
{
RenderBitMapColored(31466, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 255 || *(WORD *)(Model + 132) == 253 )
{
RenderBitMapColored(31467, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 240 ) //-- baul
{
RenderBitMapColored(31468, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 229 || *(WORD *)(Model + 132) == 235 || *(WORD *)(Model + 132) == 233 || *(WORD *)(Model + 132) == 237 ) //-- quest
{
RenderBitMapColored(31469, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else
{
RenderBitMapColored(32452, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}

if( pCheckMouseOver((int) XNPC, (int) YNPC, (int) 10, (int) 10) )
{
pDrawToolTip((int) XNPC, (int) YNPC - 10, (char *)(Model + 56));
}
}
}
}
}

int TimerEvent;

void Interface::DrawMiniMap()
{
if(gRenderMap.DataMap.ModelID == -1)
{
return;
}

if (this->MiniMapCheck() || this->CheckMap()
|| !MiniMap || this->CheckWindow(FullMap)
|| this->CheckWindow(FriendList) || gInterface.CheckWindow(SkillTree)
|| gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(FastMenu))
{
return;
}

float DIRPointer;
lpViewObj ObjectPointer;
char Cord[256];
float v8; // ST34_4@1
float v9; // ST30_4@1
float v10; // ST08_4@1
float v11; // ST04_4@1
int Type;
int Multiplicador;
int Scalado;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer =  180 + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

Type = gRenderMap.DataMap.Scale;

DataMapLoad();

v8 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));
v9 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));

v10 = (double) gRenderMap.DataMap.YSW_Minimap;
v11 = (double) gRenderMap.DataMap.XSW_Minimap;
//-- Fondo
RenderBitmap(31464, v11 - 1, v10 + 6, 125, 125, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo
//-- Mapa
//RenderBitmap(31462, v11 + 14, v10 + 18, 95, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, 0.0); //Minimapa abajo
RenderBitmap(31462, v11 + 14, v10 + 18, 93, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, gRenderMap.DataMap.Alpha); //Minimapa abajo
/*//-- Cabezera
RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo*/
/*//-- Titulo
pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo*/

//-- Usuario
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{ //Puntero jugador clasico para 97/99 (Punto amarillo)
/*pSetBlend(true);
glColor4f(1.0, 1.0, 0.0, gRenderMap.DataMap.Alpha);
pDrawBarForm((double)gRenderMap.DataMap.DropMoveUserX, (double)gRenderMap.DataMap.DropMoveUserY, 4.0, 4.0, 0.0, 0);
pGLSwitch();*/

//Puntero jugador ex700 para 97/99
sub_637E80( 32450,
(double)gRenderMap.DataMap.DropMoveUserX,
(double)gRenderMap.DataMap.DropMoveUserY,
10.0,
10.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);
}
else
{
sub_637E80( 32450,
(double)gRenderMap.DataMap.DropMoveUserX,
(double)gRenderMap.DataMap.DropMoveUserY,
10.0,
10.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);
}

float JCPartyCoordX;
float JCPartyCoordY;

for(int i = 0; i < pPartyMemberCount ; i++)
{
if( !strcmp(pGetStrutParty( i ).Name, pGetUserName) )
{
continue;
}

JCPartyCoordX = (double) gRenderMap.DataMap.XSW_Minimap + gMiniMap.gPartyInfo[ i ].x / ((Type == 1) ? 0.5 : Type - 1 );
JCPartyCoordY = (double) gRenderMap.DataMap.YSW_Minimap + (256 - gMiniMap.gPartyInfo[ i ].y ) / ((Type == 1) ? 0.5 : Type - 1 );

JCPartyCoordX = JCPartyCoordX - gRenderMap.DataMap.This_108 - 5;
JCPartyCoordY = JCPartyCoordY - gRenderMap.DataMap.This_112 - 5;

/*RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));*/
}

EnableAlphaTest(1);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);

DataViewPortMapLoad();
int textAlpha;

if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
//Interface minimapa 97/99 original
/*pSetBlend(true);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);
pDrawGUI(31608, gRenderMap.DataMap.XSW_Minimap_Frame, gRenderMap.DataMap.YSW_Minimap_Frame, 154.0, 162.0);
pDrawGUI(31609, gRenderMap.DataMap.XSW_Time_Frame, gRenderMap.DataMap.YSW_Time_Frame, 134.0, 37.0);
pGLSwitch();*/

if(CheckButtonPressed( 618, 240, 15, 15 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}
else if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 1;
}

TimerEvent = GetTickCount();
}
}

if(CheckButtonPressed( 546, 239, 35, 20 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Alpha == 1.0 )
{
gRenderMap.DataMap.Alpha = (double) 0.90f;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
gRenderMap.DataMap.Alpha = (double)0.80;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
gRenderMap.DataMap.Alpha = (double)0.70f;
}
else
{
gRenderMap.DataMap.Alpha = (double)1.0f;
}

TimerEvent = GetTickCount();
}
}
//Opacidad para Interface 97/99 original
/*if ( gRenderMap.DataMap.Alpha == 1.0 )
{
textAlpha = 100;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
textAlpha = 90;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
textAlpha = 80;
}
else
{
textAlpha = 70;
}*/


}

pGLSwitch();
EnableAlphaTest(0);
glColor4f(1.0, 1.0, 1.0, 1.0);
//Menu Opacidad Interface 97/99 original
/*if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
char Info[20];
wsprintf(Info, "%d", textAlpha);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), 546, 245, Info, 35, 0, (LPINT)3, 0);
}*/

//-- Carcasa Mapa
//RenderBitmap(31465, v11 + 0, v10 + 6, 120, 120, 0.01299999747, 0.02999999747, 0.3105553985, 0.6109998822, 1, 1, 0.0); //Minimapa abajo
RenderBitmap(31463, v11 - 1, v10 + 6, 124, 124, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo

int x1, y1, w1, h1;

//-- Boton Alejar
x1 = v11 + 53; //Minimapa abajo
y1 = v10 + 113; //Minimapa abajo
w1 = 18;
h1 = 18;

RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);
if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 1;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0); //0,3689999878 + 0,06260011024
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Acercar
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 100; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);

if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Config
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 102; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Camara
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 13; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton 3D
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 15; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Star
x1 = v11 + 53; //Minimapa abajo
y1 = v10 - 1; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Armadura
x1 = v11 - 5; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Batalla
x1 = v11 + 108; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}


bool MiniMapFileCheck1(int Map) // OK
{
if(Map - 1 == 30){return 0;}

char Path[64];

wsprintf(Path, "Data\\Custom\\Maps\\World%d.ozj", Map);

int File = rFileOpen(Path, "rb");

if ( File )
{
rFileClose(File);
return 1;
}
else
{
return 0;
}
}

void MiniMapLoad() // OK
{
if (pMapNumber < MAX_MINI_MAP && pMapNumber != 30)
{
char buff[32];

wsprintf(buff, "Custom\\Maps\\World%d.jpg", ( pMapNumber + 1 ));

if (MiniMapFileCheck1( pMapNumber + 1 ) != 0)
{
gRenderMap.DataMap.ModelID = 31462;
pLoadImage(buff, 31462, 0x2601, 0x2900, 1, 0);
}
else
{
gRenderMap.DataMap.ModelID = -1;
}
}
}

__declspec(naked) void LoadTexture()
{
static DWORD Addr2_JMP = 0x0062F8A6;
static DWORD Addr1_JMP = 0x0062F87C;
static DWORD Map = 0x007AA331;

_asm
{
MOV EAX, DWORD PTR SS:[EBP-0x78]
MOV Map, EAX
}
if ( Map == 74 || Map == 75 )
{
_asm
{
JMP[Addr2_JMP]
}
}
else
{
MiniMapLoad();
_asm
{
JMP[Addr1_JMP]
}
}
}

bool pDisabledMouseMAP(int x, int y, int w, int h)
{
return 0;
}

void CMinimap::MiniMapload()
{
SetCompleteHook(0xE8, 0x0082B772, &pDisabledMouseMAP); //ok

SetCompleteHook(0xE9, 0x0062F870, &LoadTexture); //ok
SetCompleteHook(0xE9, 0x0082ABA0, &CMinimap::MapRender);
}

MiniMap.h
Code: [Select]
#pragma once
//--/TAP FULLMAP
//----- (00790DF0) --------------------------------------------------------
#define sub_790DF0 ((void(__cdecl*)(int a4, float a5, float a6, float a7, float a8, float a9, float a10, float a11, float a12, int a13))0x00790DF0)
//----- (00638130) --------------------------------------------------------
#define pDrawMapFull ((void(__cdecl*)(int ModelID, float x, float y, float Width, float Heigth, float Rotacion))0x00638130)
#define sub_82B7A0 ((char(__thiscall*)(signed int a4, signed int a5))0x0082B7A0)
#define sub_8875E0 ((char(__cdecl*)(DWORD a1))0x008875E0)
#define sub_635CF0 ((void (__stdcall*)(signed int a4))0X00635CF0)
#define rFileOpen ((int(__cdecl*)(char* FileName, char* Mode)) 0x9D0040) //1.04E
#define rFileClose ((signed int(__cdecl*)(int a1))0x9CFC26) //1.04E

#define MAX_MINI_MAP 100

struct LoadTypeMap
{
/*+0*/   DWORD ModelID;
/*+4*/   DWORD XSW_Minimap_Frame;
/*+8*/   DWORD YSW_Minimap_Frame;
/*+12*/  DWORD XSW_Minimap;
/*+16*/  DWORD YSW_Minimap;
/*+20*/  DWORD XSW_Time_Frame;
/*+24*/  DWORD YSW_Time_Frame;
/*+92*/  DWORD This_92;
/*+96*/  DWORD This_96;
/*+100*/ DWORD DropMoveUserX;
/*+104*/ DWORD DropMoveUserY;
/*+108*/ DWORD This_108;
/*+112*/ DWORD This_112;
/*+116*/ float CurrentMoveX;
/*+120*/ float CurrentMoveY;
/*+124*/ DWORD Scale;
/*+126*/ DWORD TimerEventVK;
/*+128*/ float Alpha;
};

class CMinimap
{
public:
CMinimap();
virtual ~CMinimap();
void MiniMapload();
char MapRender(int a1);
public:
LoadTypeMap DataMap;
}; extern CMinimap gRenderMap;

Bug icono party: el icono se sale del minimapa


Solución por el momento es quitando el icono:
MiniMap.cpp
Buscar:
RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
Reemplazar:
Code: [Select]
/*RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));*/
Alejando el minimapa se ve bien:




Para la cabezera y el nombre de los mapas:
MiniMap.cpp
Buscar y quitar //:
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Code: [Select]
	RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Buscar y quitar //:
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo
Code: [Select]
	pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo


Para las Interface 97/99/S2 Y S3:
Interface.cpp
Buscar:
LoadBitmapA("Interface\\newui_SW_Minimap_Frame.tga", 31608, GL_LINEAR, GL_CLAMP, 1, 0);
Reemplazar:
Code: [Select]
	//LoadBitmapA("Interface\\newui_SW_Minimap_Frame.tga", 31608, GL_LINEAR, GL_CLAMP, 1, 0);

Buscar:
this->BindObject(MINIMAP_FRAME, 31608, 154, 162, -10, 359);
Reemplazar:
Code: [Select]
		//this->BindObject(MINIMAP_FRAME, 31608, 154, 162, -10, 359);

Interface 97/99/S2/S3


Interface S6


Interface Ex700


Interface Legengs

Gracias:


Offline onlinezajzaj #129 Posteado: February 21, 2021, 05:05:59 PM | Modificado: February 21, 2021, 05:23:17 PM by onlinezajzaj

  • MAESTRO

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 663
  • Gracias recibida: 19915
  • vn



Textura Minimapa:
http://www.mediafire.com/file/qof86mi7vmac7v8/Minimapa.rar/file

Los Botones que están configurados solo son los de acercar y alejar el Minimapa, los otros hay que configurarlos.

Interface.cpp
Buscar y quitar //
//pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon

Code: [Select]
	//MiniMap
pLoadImage("Custom\\Maps\\PlayerPoint.jpg", 31460, 0x2600, 0x2900, 1, 0);
pLoadImage("Custom\\Interface\\none.tga", 31461, 0x2601, 0x2900, 1, 0);
//--
pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_blacksmith.tga", 31466, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_Potion.tga", 31467, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_baul.tga", 31468, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_Que.tga", 31469, 0x2601, 0x2900, 1, 0); //-- Dungeon

pLoadImage("Interface\\mini_map_ui_party.tga", 61520, 0x2601, 0x2901, 1, 0); //esquina abajo derecha

MiniMap.cpp
Code: [Select]
#include "stdafx.h"
#include "MiniMap.h"
#include "Import.h"
#include "Util.h"
#include "Offset.h"
#include "User.h"
#include "Interface.h"
#include "Defines.h"
#include "Common.h"
#include "MiniMapInfo.h"
#include "Central.h"
#include "WindowsStruct.h"
#include "InfoLog.h"
#include "PrintPlayer.h"

CMinimap gRenderMap;

CMinimap::CMinimap()
{
this->DataMap.ModelID = -1;
this->DataMap.XSW_Minimap_Frame = 486;  //-- Minimap_FrameX
this->DataMap.YSW_Minimap_Frame = 234;  //-- Minimap_FrameY
this->DataMap.XSW_Minimap = 510; //-- MiniMapX
this->DataMap.YSW_Minimap = 265; //265; //-- MiniMapY
this->DataMap.XSW_Time_Frame = 506; //-- Time_FrameX
this->DataMap.YSW_Time_Frame = 392; //-- Time_FrameY
this->DataMap.This_92 = 0;
this->DataMap.This_96 = 0;
this->DataMap.DropMoveUserX = 0; //-- DropMoveUserX
this->DataMap.DropMoveUserY = 0; //-- DropMoveUserY
this->DataMap.This_108;
this->DataMap.This_112;
this->DataMap.CurrentMoveX = 0.0; //-- CurrentMoveX
this->DataMap.CurrentMoveY = 0.0; //-- CurrentMoveY
this->DataMap.Scale = 1; //-- Scale
this->DataMap.TimerEventVK = 0; //-- Scale
this->DataMap.Alpha = 1.0f; //-- Alpha
}

CMinimap::~CMinimap()
{
}

//----- (0082ABA0)
char CMinimap::MapRender(int a1)
{
float DIRPointer;
lpViewObj ObjectPointer;

char result; // al@2
float blue; // ST30_4@3
float green; // ST2C_4@3
float v7; // ST78_4@3
float v8; // ST74_4@3
float v9; // ST20_4@12
float v10; // ST1C_4@12
float v11; // ST70_4@12
float v12; // ST6C_4@12
float v13; // ST10_4@12
float v14; // ST0C_4@12
float v15; // ST20_4@15
float v16; // ST1C_4@15
float v17; // ST68_4@15
float v18; // ST64_4@15
float v19; // ST10_4@15
float v20; // ST0C_4@15
int v21; // eax@17
int v22; // eax@19
float v23; // ST30_4@19
float v24; // ST60_4@19
int v25; // eax@19
float v26; // ST5C_4@19
float v27; // ST58_4@19
float v28; // ST54_4@22
float v29; // ST50_4@22
float v30; // ST4C_4@22
float v31; // ST48_4@22
int v32; // eax@23
int v33; // eax@23
float v34; // ST2C_4@23
float v35; // ST44_4@23
int v36; // eax@23
float v37; // ST30_4@23
float v38; // ST40_4@23
int v39; // eax@23
float v40; // ST30_4@23
float v41; // ST2C_4@23
float v42; // ST3C_4@23
float v43; // ST38_4@23
int v44; // [sp+78h] [bp-3Ch]@1
float v45; // [sp+7Ch] [bp-38h]@3
float v46; // [sp+88h] [bp-2Ch]@6
float v47; // [sp+8Ch] [bp-28h]@1
float v48; // [sp+90h] [bp-24h]@3
float v49; // [sp+94h] [bp-20h]@6
float v50; // [sp+98h] [bp-1Ch]@6
float v51; // [sp+9Ch] [bp-18h]@3
float v52; // [sp+A4h] [bp-10h]@3
float v53; // [sp+A8h] [bp-Ch]@3
signed int i; // [sp+ACh] [bp-8h]@3
int j; // [sp+ACh] [bp-8h]@17
int k; // [sp+ACh] [bp-8h]@20
float v57; // [sp+B0h] [bp-4h]@3

v44 = a1;
v47 = 45.0;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer = (double) 135.0f + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

if ( *(BYTE *)(a1 + 13500) )
{
pSetBlend(1);
pDrawBarForm(0.0, 0.0, 640.0, 480.0, 0.45000002, 1);
pGLSwitch();

pSetBlend(1);
glColor4f(1.0, 1.0, 1.0, 1.0);

v53 = (double)*(signed int *)(oUserPreviewStruct + 172) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);

v48 = (double)*(signed int *)(oUserPreviewStruct + 176) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);

v52 = 0.65156251;
v45 = 1.0;
v57 = 35.0;
v51 = 6.0;
blue = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);
green = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);
v7 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80) - v53;
v8 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76) - v48;
//-- PINTA el Mapa
pDrawMapFull(32447, v8, v7, green, blue, v47);

//-- CICLO PARA PINTAR LOS NPC
for ( i = 0; i < 100 && (signed int)*(BYTE *)(v44 + 116 * i + 300) > 0; ++i )
{
v50 = (double)*(signed int *)(v44 + 116 * i + 304) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v46 = (double)*(signed int *)(v44 + 116 * i + 308) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v49 = (double)*(signed int *)(v44 + 116 * i + 312);

if ( *(BYTE *)(v44 + 116 * i + 300) == 1 )
{
if ( pMapNumber != 34 || (signed int)(unsigned __int8)0x986746A <= 0 || *(DWORD *)(v44 + 116 * i + 304) == 228 && *(DWORD *)(v44 + 116 * i + 308) == 48 && pMapNumber == 34 )
{
//-- PINTAMOS LOS NPC
v9 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v10 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v11 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v12 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v13 = (double)25;
v14 = (double)25;

pDrawMapObject(32452, v46, v50, v14, v13, v12, v11, v10, v9, v47, v49, 0.546875, 0.546875, i);
}
}
else if ( *(BYTE *)(v44 + 116 * i + 300) == 2 )
{
//-- PINTAMOS PORTAL
v15 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v16 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v17 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v18 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v19 = (double)30;
v20 = (double)30;

pDrawMapObject(32451, v46, v50, v20, v19, v18, v17, v16, v15, v47, v49, 0.546875, 0.546875, i + 100);
}
}
//-- PINTAMOS AL PERSONAJE
sub_637E80( 32450,
325.0,
230.0,
15.0,
15.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);

//v21 = pMakeColor(255, 255, 255, 255);
//RenderBitMapColored(32450, 325.0, 230.0, 15.0, 15.0, 0.0, 0.0, 0.546875, 0.546875, v21);

pGLSwitch();
glColor3f(1.0, 1.0, 1.0);
pSetBlend(false);
result = 1;
}
else
{
result = *(BYTE *)(a1 + 13500);
}

return result;
}

void DataMapLoad()
{
int v4; // [sp+Ch] [bp-Ch]@5
int v5; // [sp+10h] [bp-8h]@2
int Type;
int Multiplicador;
int Scalado;

Type = gRenderMap.DataMap.Scale;
Multiplicador = (( Type == 1 ) ? 1 : Type - 1 );
Scalado = (( Type == 1 ) ? 512 : 128 );

gRenderMap.DataMap.This_92 = *(DWORD *)(*(DWORD *)0x7BC4F04 + 172) / ((Type == 1) ? 0.5 : Type - 1 ); //-- X
gRenderMap.DataMap.This_96 = (256 - *(DWORD *)(*(DWORD *)0x7BC4F04 + 176)) / ((Type == 1) ? 0.5 :  Type - 1  ); //-- Y

//-- X
if ( gRenderMap.DataMap.This_92 - ( Multiplicador << 6 ) <= 0 )
v5 = 0;
else
v5 = gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_108 = ( v5 >= Scalado ) ? Scalado : (v5 <= 0) ? 0: gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

//-- Y
if ( gRenderMap.DataMap.This_96 - ( Multiplicador << 6 ) <= 0 )
v4 = 0;
else
v4 = gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_112 = ( v4 >= Scalado ) ? Scalado : (v4 <= 0) ? 0: gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

//gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - 2 - gRenderMap.DataMap.This_108 - 2; //Minimapa abajo
//gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 + 1 - gRenderMap.DataMap.This_112 + 1; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - gRenderMap.DataMap.This_108; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 - gRenderMap.DataMap.This_112; //Minimapa abajo

gRenderMap.DataMap.CurrentMoveX = (double)gRenderMap.DataMap.This_108 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
gRenderMap.DataMap.CurrentMoveY = (double)gRenderMap.DataMap.This_112 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
}

void DataViewPortMapLoad()
{
int Model;
int Type;
float XNPC, YNPC;

Type = gRenderMap.DataMap.Scale;

for (int i = 0; i < 400; ++i )
{
Model = pGetPreviewStruct(pPreviewThis(), i);
if ( Model
&& *(BYTE *)(Model + 780)
&& Model != *(DWORD *)0x7BC4F04
&& (*(BYTE *)(Model + 800) == 1 || *(BYTE *)(Model + 800) == 2 || *(BYTE *)(Model + 800) == 4) )
{
if ( *(BYTE *)(Model + 800) == 4  &&  *(WORD *)(Model + 132) != 249 )
{
XNPC = (double) gRenderMap.DataMap.XSW_Minimap + *(DWORD *)(Model + 172) / ((Type == 1) ? 0.5 : Type - 1 );
YNPC = (double) gRenderMap.DataMap.YSW_Minimap + (256 - *(DWORD *)(Model + 176)) / ((Type == 1) ? 0.5 : Type - 1 );

XNPC = XNPC - gRenderMap.DataMap.This_108 - 5;
YNPC = YNPC - gRenderMap.DataMap.This_112 - 5;

if( *(WORD *)(Model + 132) == 251 )
{
RenderBitMapColored(31466, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 255 || *(WORD *)(Model + 132) == 253 )
{
RenderBitMapColored(31467, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 240 ) //-- baul
{
RenderBitMapColored(31468, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 229 || *(WORD *)(Model + 132) == 235 || *(WORD *)(Model + 132) == 233 || *(WORD *)(Model + 132) == 237 ) //-- quest
{
RenderBitMapColored(31469, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else
{
RenderBitMapColored(32452, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}

if( pCheckMouseOver((int) XNPC, (int) YNPC, (int) 10, (int) 10) )
{
pDrawToolTip((int) XNPC, (int) YNPC - 10, (char *)(Model + 56));
}
}
}
}
}

int TimerEvent;

void Interface::DrawMiniMap()
{
if(gRenderMap.DataMap.ModelID == -1)
{
return;
}

if (this->MiniMapCheck() || this->CheckMap()
|| !MiniMap || this->CheckWindow(FullMap)
|| this->CheckWindow(FriendList) || gInterface.CheckWindow(SkillTree)
|| gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(FastMenu))
{
return;
}

float DIRPointer;
lpViewObj ObjectPointer;
char Cord[256];
float v8; // ST34_4@1
float v9; // ST30_4@1
float v10; // ST08_4@1
float v11; // ST04_4@1
int Type;
int Multiplicador;
int Scalado;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer =  180 + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

Type = gRenderMap.DataMap.Scale;

DataMapLoad();

v8 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));
v9 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));

v10 = (double) gRenderMap.DataMap.YSW_Minimap;
v11 = (double) gRenderMap.DataMap.XSW_Minimap;
//-- Fondo
RenderBitmap(31464, v11 - 1, v10 + 6, 125, 125, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo
//-- Mapa
RenderBitmap(31462, v11 + 14, v10 + 18, 95, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, 0.0); //Minimapa abajo
//RenderBitmap(31462, v11 + 14, v10 + 18, 93, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, gRenderMap.DataMap.Alpha); //Minimapa abajo
//-- Cabezera
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
//-- Titulo
pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo

//-- Usuario
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
pSetBlend(true);
glColor4f(1.0, 1.0, 0.0, gRenderMap.DataMap.Alpha);
pDrawBarForm((double)gRenderMap.DataMap.DropMoveUserX, (double)gRenderMap.DataMap.DropMoveUserY, 4.0, 4.0, 0.0, 0);
pGLSwitch();
}
else
{
sub_637E80( 32450,
(double)gRenderMap.DataMap.DropMoveUserX,
(double)gRenderMap.DataMap.DropMoveUserY,
10.0,
10.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);
}

float JCPartyCoordX;
float JCPartyCoordY;

for(int i = 0; i < pPartyMemberCount ; i++)
{
if( !strcmp(pGetStrutParty( i ).Name, pGetUserName) )
{
continue;
}

JCPartyCoordX = (double) gRenderMap.DataMap.XSW_Minimap + gMiniMap.gPartyInfo[ i ].x / ((Type == 1) ? 0.5 : Type - 1 );
JCPartyCoordY = (double) gRenderMap.DataMap.YSW_Minimap + (256 - gMiniMap.gPartyInfo[ i ].y ) / ((Type == 1) ? 0.5 : Type - 1 );

JCPartyCoordX = JCPartyCoordX - gRenderMap.DataMap.This_108 - 5;
JCPartyCoordY = JCPartyCoordY - gRenderMap.DataMap.This_112 - 5;

RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
}

EnableAlphaTest(1);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);

DataViewPortMapLoad();
int textAlpha;

if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
pSetBlend(true);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);
pDrawGUI(31608, gRenderMap.DataMap.XSW_Minimap_Frame, gRenderMap.DataMap.YSW_Minimap_Frame, 154.0, 162.0);
pDrawGUI(31609, gRenderMap.DataMap.XSW_Time_Frame, gRenderMap.DataMap.YSW_Time_Frame, 134.0, 37.0);
pGLSwitch();

if(CheckButtonPressed( 618, 240, 15, 15 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}
else if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 1;
}

TimerEvent = GetTickCount();
}
}

if(CheckButtonPressed( 546, 239, 35, 20 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Alpha == 1.0 )
{
gRenderMap.DataMap.Alpha = (double) 0.90f;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
gRenderMap.DataMap.Alpha = (double)0.80;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
gRenderMap.DataMap.Alpha = (double)0.70f;
}
else
{
gRenderMap.DataMap.Alpha = (double)1.0f;
}

TimerEvent = GetTickCount();
}
}

if ( gRenderMap.DataMap.Alpha == 1.0 )
{
textAlpha = 100;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
textAlpha = 90;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
textAlpha = 80;
}
else
{
textAlpha = 70;
}


}

pGLSwitch();
EnableAlphaTest(0);
glColor4f(1.0, 1.0, 1.0, 1.0);
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
char Info[20];
wsprintf(Info, "%d", textAlpha);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), 546, 245, Info, 35, 0, (LPINT)3, 0);
}

//-- Carcasa Mapa
//RenderBitmap(31465, v11 + 0, v10 + 6, 120, 120, 0.01299999747, 0.02999999747, 0.3105553985, 0.6109998822, 1, 1, 0.0); //Minimapa abajo
RenderBitmap(31463, v11 - 1, v10 + 6, 124, 124, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo

int x1, y1, w1, h1;

//-- Boton Alejar
x1 = v11 + 53; //Minimapa abajo
y1 = v10 + 113; //Minimapa abajo
w1 = 18;
h1 = 18;

RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);
if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 1;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0); //0,3689999878 + 0,06260011024
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Acercar
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 100; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);

if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Config
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 102; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Camara
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 13; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton 3D
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 15; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Star
x1 = v11 + 53; //Minimapa abajo
y1 = v10 - 1; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Armadura
x1 = v11 - 5; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Batalla
x1 = v11 + 108; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}


bool MiniMapFileCheck1(int Map) // OK
{
if(Map - 1 == 30){return 0;}

char Path[64];

wsprintf(Path, "Data\\Custom\\Maps\\World%d.ozj", Map);

int File = rFileOpen(Path, "rb");

if ( File )
{
rFileClose(File);
return 1;
}
else
{
return 0;
}
}

void MiniMapLoad() // OK
{
if (pMapNumber < MAX_MINI_MAP && pMapNumber != 30)
{
char buff[32];

wsprintf(buff, "Custom\\Maps\\World%d.jpg", ( pMapNumber + 1 ));

if (MiniMapFileCheck1( pMapNumber + 1 ) != 0)
{
gRenderMap.DataMap.ModelID = 31462;
pLoadImage(buff, 31462, 0x2601, 0x2900, 1, 0);
}
else
{
gRenderMap.DataMap.ModelID = -1;
}
}
}

__declspec(naked) void LoadTexture()
{
static DWORD Addr2_JMP = 0x0062F8A6;
static DWORD Addr1_JMP = 0x0062F87C;
static DWORD Map = 0x007AA331;

_asm
{
MOV EAX, DWORD PTR SS:[EBP-0x78]
MOV Map, EAX
}
if ( Map == 74 || Map == 75 )
{
_asm
{
JMP[Addr2_JMP]
}
}
else
{
MiniMapLoad();
_asm
{
JMP[Addr1_JMP]
}
}
}

bool pDisabledMouseMAP(int x, int y, int w, int h)
{
return 0;
}

void CMinimap::MiniMapload()
{
SetCompleteHook(0xE8, 0x0082B772, &pDisabledMouseMAP); //ok

SetCompleteHook(0xE9, 0x0062F870, &LoadTexture); //ok
SetCompleteHook(0xE9, 0x0082ABA0, &CMinimap::MapRender);
}

Minimap.h
Code: [Select]
#pragma once
//--/TAP FULLMAP
//----- (00790DF0) --------------------------------------------------------
#define sub_790DF0 ((void(__cdecl*)(int a4, float a5, float a6, float a7, float a8, float a9, float a10, float a11, float a12, int a13))0x00790DF0)
//----- (00638130) --------------------------------------------------------
#define pDrawMapFull ((void(__cdecl*)(int ModelID, float x, float y, float Width, float Heigth, float Rotacion))0x00638130)
#define sub_82B7A0 ((char(__thiscall*)(signed int a4, signed int a5))0x0082B7A0)
#define sub_8875E0 ((char(__cdecl*)(DWORD a1))0x008875E0)
#define sub_635CF0 ((void (__stdcall*)(signed int a4))0X00635CF0)
#define rFileOpen ((int(__cdecl*)(char* FileName, char* Mode)) 0x9D0040) //1.04E
#define rFileClose ((signed int(__cdecl*)(int a1))0x9CFC26) //1.04E

#define MAX_MINI_MAP 100

struct LoadTypeMap
{
/*+0*/   DWORD ModelID;
/*+4*/   DWORD XSW_Minimap_Frame;
/*+8*/   DWORD YSW_Minimap_Frame;
/*+12*/  DWORD XSW_Minimap;
/*+16*/  DWORD YSW_Minimap;
/*+20*/  DWORD XSW_Time_Frame;
/*+24*/  DWORD YSW_Time_Frame;
/*+92*/  DWORD This_92;
/*+96*/  DWORD This_96;
/*+100*/ DWORD DropMoveUserX;
/*+104*/ DWORD DropMoveUserY;
/*+108*/ DWORD This_108;
/*+112*/ DWORD This_112;
/*+116*/ float CurrentMoveX;
/*+120*/ float CurrentMoveY;
/*+124*/ DWORD Scale;
/*+126*/ DWORD TimerEventVK;
/*+128*/ float Alpha;
};

class CMinimap
{
public:
CMinimap();
virtual ~CMinimap();
void MiniMapload();
char MapRender(int a1);
public:
LoadTypeMap DataMap;
}; extern CMinimap gRenderMap;

Bug icono party: el icono se sale del minimapa


Solución por el momento es quitando el icono:
MiniMap.cpp
Buscar:
RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
Reemplazar:
Code: [Select]
/*RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));*/

Alejando el minimapa se ve bien:




Para la cabezara y el nombre de los mapas:
MiniMap.cpp
Buscar y quitar //:
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Code: [Select]
	RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Buscar y quitar //:
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo
Code: [Select]
	pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo



Thank's bro !

 cool2 cool2 cool2 cool2 cool2 cool2 cool2 cool2 cool2 cool2 cool2 cool2


Gracias:


Offline ConejoMalo #130 Posteado: February 21, 2021, 06:40:22 PM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 710
  • Gracias recibida: 7289
  • ar
quieren el fix para el death staum del master skill tree? xd

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Gracias:


Offline Specifier #131 Posteado: February 21, 2021, 08:01:14 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 718
  • Gracias recibida: 5852
  • ae
AGREGAR MARCO Y BOTONES MINIMAPA




Textura Minimapa:
http://www.mediafire.com/file/qof86mi7vmac7v8/Minimapa.rar/file

Los Botones que están configurados solo son los de acercar y alejar el Minimapa, los otros hay que configurarlos.

Interface.cpp
Buscar y quitar //
//pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon

Code: [Select]
	//MiniMap
pLoadImage("Custom\\Maps\\PlayerPoint.jpg", 31460, 0x2600, 0x2900, 1, 0);
pLoadImage("Custom\\Interface\\none.tga", 31461, 0x2601, 0x2900, 1, 0);
//--
pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_blacksmith.tga", 31466, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_Potion.tga", 31467, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_baul.tga", 31468, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_Que.tga", 31469, 0x2601, 0x2900, 1, 0); //-- Dungeon

pLoadImage("Interface\\mini_map_ui_party.tga", 61520, 0x2601, 0x2901, 1, 0); //esquina abajo derecha

MiniMap.cpp
Code: [Select]
#include "stdafx.h"
#include "MiniMap.h"
#include "Import.h"
#include "Util.h"
#include "Offset.h"
#include "User.h"
#include "Interface.h"
#include "Defines.h"
#include "Common.h"
#include "MiniMapInfo.h"
#include "Central.h"
#include "WindowsStruct.h"
#include "InfoLog.h"
#include "PrintPlayer.h"

CMinimap gRenderMap;

CMinimap::CMinimap()
{
this->DataMap.ModelID = -1;
this->DataMap.XSW_Minimap_Frame = 486;  //-- Minimap_FrameX
this->DataMap.YSW_Minimap_Frame = 234;  //-- Minimap_FrameY
this->DataMap.XSW_Minimap = 510; //-- MiniMapX
this->DataMap.YSW_Minimap = 265; //265; //-- MiniMapY
this->DataMap.XSW_Time_Frame = 506; //-- Time_FrameX
this->DataMap.YSW_Time_Frame = 392; //-- Time_FrameY
this->DataMap.This_92 = 0;
this->DataMap.This_96 = 0;
this->DataMap.DropMoveUserX = 0; //-- DropMoveUserX
this->DataMap.DropMoveUserY = 0; //-- DropMoveUserY
this->DataMap.This_108;
this->DataMap.This_112;
this->DataMap.CurrentMoveX = 0.0; //-- CurrentMoveX
this->DataMap.CurrentMoveY = 0.0; //-- CurrentMoveY
this->DataMap.Scale = 1; //-- Scale
this->DataMap.TimerEventVK = 0; //-- Scale
this->DataMap.Alpha = 1.0f; //-- Alpha
}

CMinimap::~CMinimap()
{
}

//----- (0082ABA0)
char CMinimap::MapRender(int a1)
{
float DIRPointer;
lpViewObj ObjectPointer;

char result; // al@2
float blue; // ST30_4@3
float green; // ST2C_4@3
float v7; // ST78_4@3
float v8; // ST74_4@3
float v9; // ST20_4@12
float v10; // ST1C_4@12
float v11; // ST70_4@12
float v12; // ST6C_4@12
float v13; // ST10_4@12
float v14; // ST0C_4@12
float v15; // ST20_4@15
float v16; // ST1C_4@15
float v17; // ST68_4@15
float v18; // ST64_4@15
float v19; // ST10_4@15
float v20; // ST0C_4@15
int v21; // eax@17
int v22; // eax@19
float v23; // ST30_4@19
float v24; // ST60_4@19
int v25; // eax@19
float v26; // ST5C_4@19
float v27; // ST58_4@19
float v28; // ST54_4@22
float v29; // ST50_4@22
float v30; // ST4C_4@22
float v31; // ST48_4@22
int v32; // eax@23
int v33; // eax@23
float v34; // ST2C_4@23
float v35; // ST44_4@23
int v36; // eax@23
float v37; // ST30_4@23
float v38; // ST40_4@23
int v39; // eax@23
float v40; // ST30_4@23
float v41; // ST2C_4@23
float v42; // ST3C_4@23
float v43; // ST38_4@23
int v44; // [sp+78h] [bp-3Ch]@1
float v45; // [sp+7Ch] [bp-38h]@3
float v46; // [sp+88h] [bp-2Ch]@6
float v47; // [sp+8Ch] [bp-28h]@1
float v48; // [sp+90h] [bp-24h]@3
float v49; // [sp+94h] [bp-20h]@6
float v50; // [sp+98h] [bp-1Ch]@6
float v51; // [sp+9Ch] [bp-18h]@3
float v52; // [sp+A4h] [bp-10h]@3
float v53; // [sp+A8h] [bp-Ch]@3
signed int i; // [sp+ACh] [bp-8h]@3
int j; // [sp+ACh] [bp-8h]@17
int k; // [sp+ACh] [bp-8h]@20
float v57; // [sp+B0h] [bp-4h]@3

v44 = a1;
v47 = 45.0;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer = (double) 135.0f + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

if ( *(BYTE *)(a1 + 13500) )
{
pSetBlend(1);
pDrawBarForm(0.0, 0.0, 640.0, 480.0, 0.45000002, 1);
pGLSwitch();

pSetBlend(1);
glColor4f(1.0, 1.0, 1.0, 1.0);

v53 = (double)*(signed int *)(oUserPreviewStruct + 172) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);

v48 = (double)*(signed int *)(oUserPreviewStruct + 176) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);

v52 = 0.65156251;
v45 = 1.0;
v57 = 35.0;
v51 = 6.0;
blue = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);
green = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);
v7 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80) - v53;
v8 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76) - v48;
//-- PINTA el Mapa
pDrawMapFull(32447, v8, v7, green, blue, v47);

//-- CICLO PARA PINTAR LOS NPC
for ( i = 0; i < 100 && (signed int)*(BYTE *)(v44 + 116 * i + 300) > 0; ++i )
{
v50 = (double)*(signed int *)(v44 + 116 * i + 304) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v46 = (double)*(signed int *)(v44 + 116 * i + 308) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v49 = (double)*(signed int *)(v44 + 116 * i + 312);

if ( *(BYTE *)(v44 + 116 * i + 300) == 1 )
{
if ( pMapNumber != 34 || (signed int)(unsigned __int8)0x986746A <= 0 || *(DWORD *)(v44 + 116 * i + 304) == 228 && *(DWORD *)(v44 + 116 * i + 308) == 48 && pMapNumber == 34 )
{
//-- PINTAMOS LOS NPC
v9 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v10 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v11 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v12 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v13 = (double)25;
v14 = (double)25;

pDrawMapObject(32452, v46, v50, v14, v13, v12, v11, v10, v9, v47, v49, 0.546875, 0.546875, i);
}
}
else if ( *(BYTE *)(v44 + 116 * i + 300) == 2 )
{
//-- PINTAMOS PORTAL
v15 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v16 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v17 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v18 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v19 = (double)30;
v20 = (double)30;

pDrawMapObject(32451, v46, v50, v20, v19, v18, v17, v16, v15, v47, v49, 0.546875, 0.546875, i + 100);
}
}
//-- PINTAMOS AL PERSONAJE
sub_637E80( 32450,
325.0,
230.0,
15.0,
15.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);

//v21 = pMakeColor(255, 255, 255, 255);
//RenderBitMapColored(32450, 325.0, 230.0, 15.0, 15.0, 0.0, 0.0, 0.546875, 0.546875, v21);

pGLSwitch();
glColor3f(1.0, 1.0, 1.0);
pSetBlend(false);
result = 1;
}
else
{
result = *(BYTE *)(a1 + 13500);
}

return result;
}

void DataMapLoad()
{
int v4; // [sp+Ch] [bp-Ch]@5
int v5; // [sp+10h] [bp-8h]@2
int Type;
int Multiplicador;
int Scalado;

Type = gRenderMap.DataMap.Scale;
Multiplicador = (( Type == 1 ) ? 1 : Type - 1 );
Scalado = (( Type == 1 ) ? 512 : 128 );

gRenderMap.DataMap.This_92 = *(DWORD *)(*(DWORD *)0x7BC4F04 + 172) / ((Type == 1) ? 0.5 : Type - 1 ); //-- X
gRenderMap.DataMap.This_96 = (256 - *(DWORD *)(*(DWORD *)0x7BC4F04 + 176)) / ((Type == 1) ? 0.5 :  Type - 1  ); //-- Y

//-- X
if ( gRenderMap.DataMap.This_92 - ( Multiplicador << 6 ) <= 0 )
v5 = 0;
else
v5 = gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_108 = ( v5 >= Scalado ) ? Scalado : (v5 <= 0) ? 0: gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

//-- Y
if ( gRenderMap.DataMap.This_96 - ( Multiplicador << 6 ) <= 0 )
v4 = 0;
else
v4 = gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_112 = ( v4 >= Scalado ) ? Scalado : (v4 <= 0) ? 0: gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

//gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - 2 - gRenderMap.DataMap.This_108 - 2; //Minimapa abajo
//gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 + 1 - gRenderMap.DataMap.This_112 + 1; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - gRenderMap.DataMap.This_108; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 - gRenderMap.DataMap.This_112; //Minimapa abajo

gRenderMap.DataMap.CurrentMoveX = (double)gRenderMap.DataMap.This_108 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
gRenderMap.DataMap.CurrentMoveY = (double)gRenderMap.DataMap.This_112 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
}

void DataViewPortMapLoad()
{
int Model;
int Type;
float XNPC, YNPC;

Type = gRenderMap.DataMap.Scale;

for (int i = 0; i < 400; ++i )
{
Model = pGetPreviewStruct(pPreviewThis(), i);
if ( Model
&& *(BYTE *)(Model + 780)
&& Model != *(DWORD *)0x7BC4F04
&& (*(BYTE *)(Model + 800) == 1 || *(BYTE *)(Model + 800) == 2 || *(BYTE *)(Model + 800) == 4) )
{
if ( *(BYTE *)(Model + 800) == 4  &&  *(WORD *)(Model + 132) != 249 )
{
XNPC = (double) gRenderMap.DataMap.XSW_Minimap + *(DWORD *)(Model + 172) / ((Type == 1) ? 0.5 : Type - 1 );
YNPC = (double) gRenderMap.DataMap.YSW_Minimap + (256 - *(DWORD *)(Model + 176)) / ((Type == 1) ? 0.5 : Type - 1 );

XNPC = XNPC - gRenderMap.DataMap.This_108 - 5;
YNPC = YNPC - gRenderMap.DataMap.This_112 - 5;

if( *(WORD *)(Model + 132) == 251 )
{
RenderBitMapColored(31466, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 255 || *(WORD *)(Model + 132) == 253 )
{
RenderBitMapColored(31467, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 240 ) //-- baul
{
RenderBitMapColored(31468, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 229 || *(WORD *)(Model + 132) == 235 || *(WORD *)(Model + 132) == 233 || *(WORD *)(Model + 132) == 237 ) //-- quest
{
RenderBitMapColored(31469, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else
{
RenderBitMapColored(32452, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}

if( pCheckMouseOver((int) XNPC, (int) YNPC, (int) 10, (int) 10) )
{
pDrawToolTip((int) XNPC, (int) YNPC - 10, (char *)(Model + 56));
}
}
}
}
}

int TimerEvent;

void Interface::DrawMiniMap()
{
if(gRenderMap.DataMap.ModelID == -1)
{
return;
}

if (this->MiniMapCheck() || this->CheckMap()
|| !MiniMap || this->CheckWindow(FullMap)
|| this->CheckWindow(FriendList) || gInterface.CheckWindow(SkillTree)
|| gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(FastMenu))
{
return;
}

float DIRPointer;
lpViewObj ObjectPointer;
char Cord[256];
float v8; // ST34_4@1
float v9; // ST30_4@1
float v10; // ST08_4@1
float v11; // ST04_4@1
int Type;
int Multiplicador;
int Scalado;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer =  180 + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

Type = gRenderMap.DataMap.Scale;

DataMapLoad();

v8 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));
v9 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));

v10 = (double) gRenderMap.DataMap.YSW_Minimap;
v11 = (double) gRenderMap.DataMap.XSW_Minimap;
//-- Fondo
RenderBitmap(31464, v11 - 1, v10 + 6, 125, 125, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo
//-- Mapa
RenderBitmap(31462, v11 + 14, v10 + 18, 95, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, 0.0); //Minimapa abajo
//RenderBitmap(31462, v11 + 14, v10 + 18, 93, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, gRenderMap.DataMap.Alpha); //Minimapa abajo
//-- Cabezera
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
//-- Titulo
pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo

//-- Usuario
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
pSetBlend(true);
glColor4f(1.0, 1.0, 0.0, gRenderMap.DataMap.Alpha);
pDrawBarForm((double)gRenderMap.DataMap.DropMoveUserX, (double)gRenderMap.DataMap.DropMoveUserY, 4.0, 4.0, 0.0, 0);
pGLSwitch();
}
else
{
sub_637E80( 32450,
(double)gRenderMap.DataMap.DropMoveUserX,
(double)gRenderMap.DataMap.DropMoveUserY,
10.0,
10.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);
}

float JCPartyCoordX;
float JCPartyCoordY;

for(int i = 0; i < pPartyMemberCount ; i++)
{
if( !strcmp(pGetStrutParty( i ).Name, pGetUserName) )
{
continue;
}

JCPartyCoordX = (double) gRenderMap.DataMap.XSW_Minimap + gMiniMap.gPartyInfo[ i ].x / ((Type == 1) ? 0.5 : Type - 1 );
JCPartyCoordY = (double) gRenderMap.DataMap.YSW_Minimap + (256 - gMiniMap.gPartyInfo[ i ].y ) / ((Type == 1) ? 0.5 : Type - 1 );

JCPartyCoordX = JCPartyCoordX - gRenderMap.DataMap.This_108 - 5;
JCPartyCoordY = JCPartyCoordY - gRenderMap.DataMap.This_112 - 5;

RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
}

EnableAlphaTest(1);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);

DataViewPortMapLoad();
int textAlpha;

if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
pSetBlend(true);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);
pDrawGUI(31608, gRenderMap.DataMap.XSW_Minimap_Frame, gRenderMap.DataMap.YSW_Minimap_Frame, 154.0, 162.0);
pDrawGUI(31609, gRenderMap.DataMap.XSW_Time_Frame, gRenderMap.DataMap.YSW_Time_Frame, 134.0, 37.0);
pGLSwitch();

if(CheckButtonPressed( 618, 240, 15, 15 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}
else if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 1;
}

TimerEvent = GetTickCount();
}
}

if(CheckButtonPressed( 546, 239, 35, 20 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Alpha == 1.0 )
{
gRenderMap.DataMap.Alpha = (double) 0.90f;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
gRenderMap.DataMap.Alpha = (double)0.80;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
gRenderMap.DataMap.Alpha = (double)0.70f;
}
else
{
gRenderMap.DataMap.Alpha = (double)1.0f;
}

TimerEvent = GetTickCount();
}
}

if ( gRenderMap.DataMap.Alpha == 1.0 )
{
textAlpha = 100;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
textAlpha = 90;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
textAlpha = 80;
}
else
{
textAlpha = 70;
}


}

pGLSwitch();
EnableAlphaTest(0);
glColor4f(1.0, 1.0, 1.0, 1.0);
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
char Info[20];
wsprintf(Info, "%d", textAlpha);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), 546, 245, Info, 35, 0, (LPINT)3, 0);
}

//-- Carcasa Mapa
//RenderBitmap(31465, v11 + 0, v10 + 6, 120, 120, 0.01299999747, 0.02999999747, 0.3105553985, 0.6109998822, 1, 1, 0.0); //Minimapa abajo
RenderBitmap(31463, v11 - 1, v10 + 6, 124, 124, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo

int x1, y1, w1, h1;

//-- Boton Alejar
x1 = v11 + 53; //Minimapa abajo
y1 = v10 + 113; //Minimapa abajo
w1 = 18;
h1 = 18;

RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);
if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 1;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0); //0,3689999878 + 0,06260011024
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Acercar
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 100; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);

if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Config
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 102; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Camara
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 13; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton 3D
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 15; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Star
x1 = v11 + 53; //Minimapa abajo
y1 = v10 - 1; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Armadura
x1 = v11 - 5; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Batalla
x1 = v11 + 108; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}


bool MiniMapFileCheck1(int Map) // OK
{
if(Map - 1 == 30){return 0;}

char Path[64];

wsprintf(Path, "Data\\Custom\\Maps\\World%d.ozj", Map);

int File = rFileOpen(Path, "rb");

if ( File )
{
rFileClose(File);
return 1;
}
else
{
return 0;
}
}

void MiniMapLoad() // OK
{
if (pMapNumber < MAX_MINI_MAP && pMapNumber != 30)
{
char buff[32];

wsprintf(buff, "Custom\\Maps\\World%d.jpg", ( pMapNumber + 1 ));

if (MiniMapFileCheck1( pMapNumber + 1 ) != 0)
{
gRenderMap.DataMap.ModelID = 31462;
pLoadImage(buff, 31462, 0x2601, 0x2900, 1, 0);
}
else
{
gRenderMap.DataMap.ModelID = -1;
}
}
}

__declspec(naked) void LoadTexture()
{
static DWORD Addr2_JMP = 0x0062F8A6;
static DWORD Addr1_JMP = 0x0062F87C;
static DWORD Map = 0x007AA331;

_asm
{
MOV EAX, DWORD PTR SS:[EBP-0x78]
MOV Map, EAX
}
if ( Map == 74 || Map == 75 )
{
_asm
{
JMP[Addr2_JMP]
}
}
else
{
MiniMapLoad();
_asm
{
JMP[Addr1_JMP]
}
}
}

bool pDisabledMouseMAP(int x, int y, int w, int h)
{
return 0;
}

void CMinimap::MiniMapload()
{
SetCompleteHook(0xE8, 0x0082B772, &pDisabledMouseMAP); //ok

SetCompleteHook(0xE9, 0x0062F870, &LoadTexture); //ok
SetCompleteHook(0xE9, 0x0082ABA0, &CMinimap::MapRender);
}

Minimap.h
Code: [Select]
#pragma once
//--/TAP FULLMAP
//----- (00790DF0) --------------------------------------------------------
#define sub_790DF0 ((void(__cdecl*)(int a4, float a5, float a6, float a7, float a8, float a9, float a10, float a11, float a12, int a13))0x00790DF0)
//----- (00638130) --------------------------------------------------------
#define pDrawMapFull ((void(__cdecl*)(int ModelID, float x, float y, float Width, float Heigth, float Rotacion))0x00638130)
#define sub_82B7A0 ((char(__thiscall*)(signed int a4, signed int a5))0x0082B7A0)
#define sub_8875E0 ((char(__cdecl*)(DWORD a1))0x008875E0)
#define sub_635CF0 ((void (__stdcall*)(signed int a4))0X00635CF0)
#define rFileOpen ((int(__cdecl*)(char* FileName, char* Mode)) 0x9D0040) //1.04E
#define rFileClose ((signed int(__cdecl*)(int a1))0x9CFC26) //1.04E

#define MAX_MINI_MAP 100

struct LoadTypeMap
{
/*+0*/   DWORD ModelID;
/*+4*/   DWORD XSW_Minimap_Frame;
/*+8*/   DWORD YSW_Minimap_Frame;
/*+12*/  DWORD XSW_Minimap;
/*+16*/  DWORD YSW_Minimap;
/*+20*/  DWORD XSW_Time_Frame;
/*+24*/  DWORD YSW_Time_Frame;
/*+92*/  DWORD This_92;
/*+96*/  DWORD This_96;
/*+100*/ DWORD DropMoveUserX;
/*+104*/ DWORD DropMoveUserY;
/*+108*/ DWORD This_108;
/*+112*/ DWORD This_112;
/*+116*/ float CurrentMoveX;
/*+120*/ float CurrentMoveY;
/*+124*/ DWORD Scale;
/*+126*/ DWORD TimerEventVK;
/*+128*/ float Alpha;
};

class CMinimap
{
public:
CMinimap();
virtual ~CMinimap();
void MiniMapload();
char MapRender(int a1);
public:
LoadTypeMap DataMap;
}; extern CMinimap gRenderMap;

Bug icono party: el icono se sale del minimapa


Solución por el momento es quitando el icono:
MiniMap.cpp
Buscar:
RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
Reemplazar:
Code: [Select]
/*RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));*/

Alejando el minimapa se ve bien:




Para la cabezara y el nombre de los mapas:
MiniMap.cpp
Buscar y quitar //:
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Code: [Select]
	RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Buscar y quitar //:
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo
Code: [Select]
	pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo


pMapName unidentified

---------------------------[NULL]---------------------------------

Offline khyle650 #132 Posteado: February 21, 2021, 08:38:04 PM | Modificado: February 22, 2021, 03:12:28 PM by khyle650

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 103
  • Gracias recibida: 2422
  • es
pMapName unidentified

Si estas usando este source no tendría que darte ningún problema.

Muestra imagen del error para ayudarte mejor.

Saludos.


Offline Specifier #133 Posteado: February 21, 2021, 09:18:28 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 718
  • Gracias recibida: 5852
  • ae
AGREGAR MARCO Y BOTONES MINIMAPA




Textura Minimapa:
http://www.mediafire.com/file/qof86mi7vmac7v8/Minimapa.rar/file

Los Botones que están configurados solo son los de acercar y alejar el Minimapa, los otros hay que configurarlos.

Interface.cpp
Buscar y quitar //
//pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon

Code: [Select]
	//MiniMap
pLoadImage("Custom\\Maps\\PlayerPoint.jpg", 31460, 0x2600, 0x2900, 1, 0);
pLoadImage("Custom\\Interface\\none.tga", 31461, 0x2601, 0x2900, 1, 0);
//--
pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_blacksmith.tga", 31466, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_Potion.tga", 31467, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_baul.tga", 31468, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_Que.tga", 31469, 0x2601, 0x2900, 1, 0); //-- Dungeon

pLoadImage("Interface\\mini_map_ui_party.tga", 61520, 0x2601, 0x2901, 1, 0); //esquina abajo derecha

MiniMap.cpp
Code: [Select]
#include "stdafx.h"
#include "MiniMap.h"
#include "Import.h"
#include "Util.h"
#include "Offset.h"
#include "User.h"
#include "Interface.h"
#include "Defines.h"
#include "Common.h"
#include "MiniMapInfo.h"
#include "Central.h"
#include "WindowsStruct.h"
#include "InfoLog.h"
#include "PrintPlayer.h"

CMinimap gRenderMap;

CMinimap::CMinimap()
{
this->DataMap.ModelID = -1;
this->DataMap.XSW_Minimap_Frame = 486;  //-- Minimap_FrameX
this->DataMap.YSW_Minimap_Frame = 234;  //-- Minimap_FrameY
this->DataMap.XSW_Minimap = 510; //-- MiniMapX
this->DataMap.YSW_Minimap = 265; //265; //-- MiniMapY
this->DataMap.XSW_Time_Frame = 506; //-- Time_FrameX
this->DataMap.YSW_Time_Frame = 392; //-- Time_FrameY
this->DataMap.This_92 = 0;
this->DataMap.This_96 = 0;
this->DataMap.DropMoveUserX = 0; //-- DropMoveUserX
this->DataMap.DropMoveUserY = 0; //-- DropMoveUserY
this->DataMap.This_108;
this->DataMap.This_112;
this->DataMap.CurrentMoveX = 0.0; //-- CurrentMoveX
this->DataMap.CurrentMoveY = 0.0; //-- CurrentMoveY
this->DataMap.Scale = 1; //-- Scale
this->DataMap.TimerEventVK = 0; //-- Scale
this->DataMap.Alpha = 1.0f; //-- Alpha
}

CMinimap::~CMinimap()
{
}

//----- (0082ABA0)
char CMinimap::MapRender(int a1)
{
float DIRPointer;
lpViewObj ObjectPointer;

char result; // al@2
float blue; // ST30_4@3
float green; // ST2C_4@3
float v7; // ST78_4@3
float v8; // ST74_4@3
float v9; // ST20_4@12
float v10; // ST1C_4@12
float v11; // ST70_4@12
float v12; // ST6C_4@12
float v13; // ST10_4@12
float v14; // ST0C_4@12
float v15; // ST20_4@15
float v16; // ST1C_4@15
float v17; // ST68_4@15
float v18; // ST64_4@15
float v19; // ST10_4@15
float v20; // ST0C_4@15
int v21; // eax@17
int v22; // eax@19
float v23; // ST30_4@19
float v24; // ST60_4@19
int v25; // eax@19
float v26; // ST5C_4@19
float v27; // ST58_4@19
float v28; // ST54_4@22
float v29; // ST50_4@22
float v30; // ST4C_4@22
float v31; // ST48_4@22
int v32; // eax@23
int v33; // eax@23
float v34; // ST2C_4@23
float v35; // ST44_4@23
int v36; // eax@23
float v37; // ST30_4@23
float v38; // ST40_4@23
int v39; // eax@23
float v40; // ST30_4@23
float v41; // ST2C_4@23
float v42; // ST3C_4@23
float v43; // ST38_4@23
int v44; // [sp+78h] [bp-3Ch]@1
float v45; // [sp+7Ch] [bp-38h]@3
float v46; // [sp+88h] [bp-2Ch]@6
float v47; // [sp+8Ch] [bp-28h]@1
float v48; // [sp+90h] [bp-24h]@3
float v49; // [sp+94h] [bp-20h]@6
float v50; // [sp+98h] [bp-1Ch]@6
float v51; // [sp+9Ch] [bp-18h]@3
float v52; // [sp+A4h] [bp-10h]@3
float v53; // [sp+A8h] [bp-Ch]@3
signed int i; // [sp+ACh] [bp-8h]@3
int j; // [sp+ACh] [bp-8h]@17
int k; // [sp+ACh] [bp-8h]@20
float v57; // [sp+B0h] [bp-4h]@3

v44 = a1;
v47 = 45.0;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer = (double) 135.0f + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

if ( *(BYTE *)(a1 + 13500) )
{
pSetBlend(1);
pDrawBarForm(0.0, 0.0, 640.0, 480.0, 0.45000002, 1);
pGLSwitch();

pSetBlend(1);
glColor4f(1.0, 1.0, 1.0, 1.0);

v53 = (double)*(signed int *)(oUserPreviewStruct + 172) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);

v48 = (double)*(signed int *)(oUserPreviewStruct + 176) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);

v52 = 0.65156251;
v45 = 1.0;
v57 = 35.0;
v51 = 6.0;
blue = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);
green = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);
v7 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80) - v53;
v8 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76) - v48;
//-- PINTA el Mapa
pDrawMapFull(32447, v8, v7, green, blue, v47);

//-- CICLO PARA PINTAR LOS NPC
for ( i = 0; i < 100 && (signed int)*(BYTE *)(v44 + 116 * i + 300) > 0; ++i )
{
v50 = (double)*(signed int *)(v44 + 116 * i + 304) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v46 = (double)*(signed int *)(v44 + 116 * i + 308) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v49 = (double)*(signed int *)(v44 + 116 * i + 312);

if ( *(BYTE *)(v44 + 116 * i + 300) == 1 )
{
if ( pMapNumber != 34 || (signed int)(unsigned __int8)0x986746A <= 0 || *(DWORD *)(v44 + 116 * i + 304) == 228 && *(DWORD *)(v44 + 116 * i + 308) == 48 && pMapNumber == 34 )
{
//-- PINTAMOS LOS NPC
v9 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v10 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v11 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v12 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v13 = (double)25;
v14 = (double)25;

pDrawMapObject(32452, v46, v50, v14, v13, v12, v11, v10, v9, v47, v49, 0.546875, 0.546875, i);
}
}
else if ( *(BYTE *)(v44 + 116 * i + 300) == 2 )
{
//-- PINTAMOS PORTAL
v15 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v16 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v17 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v18 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v19 = (double)30;
v20 = (double)30;

pDrawMapObject(32451, v46, v50, v20, v19, v18, v17, v16, v15, v47, v49, 0.546875, 0.546875, i + 100);
}
}
//-- PINTAMOS AL PERSONAJE
sub_637E80( 32450,
325.0,
230.0,
15.0,
15.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);

//v21 = pMakeColor(255, 255, 255, 255);
//RenderBitMapColored(32450, 325.0, 230.0, 15.0, 15.0, 0.0, 0.0, 0.546875, 0.546875, v21);

pGLSwitch();
glColor3f(1.0, 1.0, 1.0);
pSetBlend(false);
result = 1;
}
else
{
result = *(BYTE *)(a1 + 13500);
}

return result;
}

void DataMapLoad()
{
int v4; // [sp+Ch] [bp-Ch]@5
int v5; // [sp+10h] [bp-8h]@2
int Type;
int Multiplicador;
int Scalado;

Type = gRenderMap.DataMap.Scale;
Multiplicador = (( Type == 1 ) ? 1 : Type - 1 );
Scalado = (( Type == 1 ) ? 512 : 128 );

gRenderMap.DataMap.This_92 = *(DWORD *)(*(DWORD *)0x7BC4F04 + 172) / ((Type == 1) ? 0.5 : Type - 1 ); //-- X
gRenderMap.DataMap.This_96 = (256 - *(DWORD *)(*(DWORD *)0x7BC4F04 + 176)) / ((Type == 1) ? 0.5 :  Type - 1  ); //-- Y

//-- X
if ( gRenderMap.DataMap.This_92 - ( Multiplicador << 6 ) <= 0 )
v5 = 0;
else
v5 = gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_108 = ( v5 >= Scalado ) ? Scalado : (v5 <= 0) ? 0: gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

//-- Y
if ( gRenderMap.DataMap.This_96 - ( Multiplicador << 6 ) <= 0 )
v4 = 0;
else
v4 = gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_112 = ( v4 >= Scalado ) ? Scalado : (v4 <= 0) ? 0: gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

//gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - 2 - gRenderMap.DataMap.This_108 - 2; //Minimapa abajo
//gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 + 1 - gRenderMap.DataMap.This_112 + 1; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - gRenderMap.DataMap.This_108; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 - gRenderMap.DataMap.This_112; //Minimapa abajo

gRenderMap.DataMap.CurrentMoveX = (double)gRenderMap.DataMap.This_108 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
gRenderMap.DataMap.CurrentMoveY = (double)gRenderMap.DataMap.This_112 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
}

void DataViewPortMapLoad()
{
int Model;
int Type;
float XNPC, YNPC;

Type = gRenderMap.DataMap.Scale;

for (int i = 0; i < 400; ++i )
{
Model = pGetPreviewStruct(pPreviewThis(), i);
if ( Model
&& *(BYTE *)(Model + 780)
&& Model != *(DWORD *)0x7BC4F04
&& (*(BYTE *)(Model + 800) == 1 || *(BYTE *)(Model + 800) == 2 || *(BYTE *)(Model + 800) == 4) )
{
if ( *(BYTE *)(Model + 800) == 4  &&  *(WORD *)(Model + 132) != 249 )
{
XNPC = (double) gRenderMap.DataMap.XSW_Minimap + *(DWORD *)(Model + 172) / ((Type == 1) ? 0.5 : Type - 1 );
YNPC = (double) gRenderMap.DataMap.YSW_Minimap + (256 - *(DWORD *)(Model + 176)) / ((Type == 1) ? 0.5 : Type - 1 );

XNPC = XNPC - gRenderMap.DataMap.This_108 - 5;
YNPC = YNPC - gRenderMap.DataMap.This_112 - 5;

if( *(WORD *)(Model + 132) == 251 )
{
RenderBitMapColored(31466, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 255 || *(WORD *)(Model + 132) == 253 )
{
RenderBitMapColored(31467, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 240 ) //-- baul
{
RenderBitMapColored(31468, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 229 || *(WORD *)(Model + 132) == 235 || *(WORD *)(Model + 132) == 233 || *(WORD *)(Model + 132) == 237 ) //-- quest
{
RenderBitMapColored(31469, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else
{
RenderBitMapColored(32452, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}

if( pCheckMouseOver((int) XNPC, (int) YNPC, (int) 10, (int) 10) )
{
pDrawToolTip((int) XNPC, (int) YNPC - 10, (char *)(Model + 56));
}
}
}
}
}

int TimerEvent;

void Interface::DrawMiniMap()
{
if(gRenderMap.DataMap.ModelID == -1)
{
return;
}

if (this->MiniMapCheck() || this->CheckMap()
|| !MiniMap || this->CheckWindow(FullMap)
|| this->CheckWindow(FriendList) || gInterface.CheckWindow(SkillTree)
|| gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(FastMenu))
{
return;
}

float DIRPointer;
lpViewObj ObjectPointer;
char Cord[256];
float v8; // ST34_4@1
float v9; // ST30_4@1
float v10; // ST08_4@1
float v11; // ST04_4@1
int Type;
int Multiplicador;
int Scalado;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer =  180 + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

Type = gRenderMap.DataMap.Scale;

DataMapLoad();

v8 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));
v9 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));

v10 = (double) gRenderMap.DataMap.YSW_Minimap;
v11 = (double) gRenderMap.DataMap.XSW_Minimap;
//-- Fondo
RenderBitmap(31464, v11 - 1, v10 + 6, 125, 125, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo
//-- Mapa
RenderBitmap(31462, v11 + 14, v10 + 18, 95, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, 0.0); //Minimapa abajo
//RenderBitmap(31462, v11 + 14, v10 + 18, 93, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, gRenderMap.DataMap.Alpha); //Minimapa abajo
//-- Cabezera
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
//-- Titulo
pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo

//-- Usuario
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
pSetBlend(true);
glColor4f(1.0, 1.0, 0.0, gRenderMap.DataMap.Alpha);
pDrawBarForm((double)gRenderMap.DataMap.DropMoveUserX, (double)gRenderMap.DataMap.DropMoveUserY, 4.0, 4.0, 0.0, 0);
pGLSwitch();
}
else
{
sub_637E80( 32450,
(double)gRenderMap.DataMap.DropMoveUserX,
(double)gRenderMap.DataMap.DropMoveUserY,
10.0,
10.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);
}

float JCPartyCoordX;
float JCPartyCoordY;

for(int i = 0; i < pPartyMemberCount ; i++)
{
if( !strcmp(pGetStrutParty( i ).Name, pGetUserName) )
{
continue;
}

JCPartyCoordX = (double) gRenderMap.DataMap.XSW_Minimap + gMiniMap.gPartyInfo[ i ].x / ((Type == 1) ? 0.5 : Type - 1 );
JCPartyCoordY = (double) gRenderMap.DataMap.YSW_Minimap + (256 - gMiniMap.gPartyInfo[ i ].y ) / ((Type == 1) ? 0.5 : Type - 1 );

JCPartyCoordX = JCPartyCoordX - gRenderMap.DataMap.This_108 - 5;
JCPartyCoordY = JCPartyCoordY - gRenderMap.DataMap.This_112 - 5;

RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
}

EnableAlphaTest(1);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);

DataViewPortMapLoad();
int textAlpha;

if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
pSetBlend(true);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);
pDrawGUI(31608, gRenderMap.DataMap.XSW_Minimap_Frame, gRenderMap.DataMap.YSW_Minimap_Frame, 154.0, 162.0);
pDrawGUI(31609, gRenderMap.DataMap.XSW_Time_Frame, gRenderMap.DataMap.YSW_Time_Frame, 134.0, 37.0);
pGLSwitch();

if(CheckButtonPressed( 618, 240, 15, 15 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}
else if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 1;
}

TimerEvent = GetTickCount();
}
}

if(CheckButtonPressed( 546, 239, 35, 20 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Alpha == 1.0 )
{
gRenderMap.DataMap.Alpha = (double) 0.90f;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
gRenderMap.DataMap.Alpha = (double)0.80;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
gRenderMap.DataMap.Alpha = (double)0.70f;
}
else
{
gRenderMap.DataMap.Alpha = (double)1.0f;
}

TimerEvent = GetTickCount();
}
}

if ( gRenderMap.DataMap.Alpha == 1.0 )
{
textAlpha = 100;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
textAlpha = 90;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
textAlpha = 80;
}
else
{
textAlpha = 70;
}


}

pGLSwitch();
EnableAlphaTest(0);
glColor4f(1.0, 1.0, 1.0, 1.0);
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
char Info[20];
wsprintf(Info, "%d", textAlpha);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), 546, 245, Info, 35, 0, (LPINT)3, 0);
}

//-- Carcasa Mapa
//RenderBitmap(31465, v11 + 0, v10 + 6, 120, 120, 0.01299999747, 0.02999999747, 0.3105553985, 0.6109998822, 1, 1, 0.0); //Minimapa abajo
RenderBitmap(31463, v11 - 1, v10 + 6, 124, 124, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo

int x1, y1, w1, h1;

//-- Boton Alejar
x1 = v11 + 53; //Minimapa abajo
y1 = v10 + 113; //Minimapa abajo
w1 = 18;
h1 = 18;

RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);
if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 1;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0); //0,3689999878 + 0,06260011024
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Acercar
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 100; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);

if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Config
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 102; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Camara
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 13; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton 3D
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 15; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Star
x1 = v11 + 53; //Minimapa abajo
y1 = v10 - 1; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Armadura
x1 = v11 - 5; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Batalla
x1 = v11 + 108; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}


bool MiniMapFileCheck1(int Map) // OK
{
if(Map - 1 == 30){return 0;}

char Path[64];

wsprintf(Path, "Data\\Custom\\Maps\\World%d.ozj", Map);

int File = rFileOpen(Path, "rb");

if ( File )
{
rFileClose(File);
return 1;
}
else
{
return 0;
}
}

void MiniMapLoad() // OK
{
if (pMapNumber < MAX_MINI_MAP && pMapNumber != 30)
{
char buff[32];

wsprintf(buff, "Custom\\Maps\\World%d.jpg", ( pMapNumber + 1 ));

if (MiniMapFileCheck1( pMapNumber + 1 ) != 0)
{
gRenderMap.DataMap.ModelID = 31462;
pLoadImage(buff, 31462, 0x2601, 0x2900, 1, 0);
}
else
{
gRenderMap.DataMap.ModelID = -1;
}
}
}

__declspec(naked) void LoadTexture()
{
static DWORD Addr2_JMP = 0x0062F8A6;
static DWORD Addr1_JMP = 0x0062F87C;
static DWORD Map = 0x007AA331;

_asm
{
MOV EAX, DWORD PTR SS:[EBP-0x78]
MOV Map, EAX
}
if ( Map == 74 || Map == 75 )
{
_asm
{
JMP[Addr2_JMP]
}
}
else
{
MiniMapLoad();
_asm
{
JMP[Addr1_JMP]
}
}
}

bool pDisabledMouseMAP(int x, int y, int w, int h)
{
return 0;
}

void CMinimap::MiniMapload()
{
SetCompleteHook(0xE8, 0x0082B772, &pDisabledMouseMAP); //ok

SetCompleteHook(0xE9, 0x0062F870, &LoadTexture); //ok
SetCompleteHook(0xE9, 0x0082ABA0, &CMinimap::MapRender);
}

Minimap.h
Code: [Select]
#pragma once
//--/TAP FULLMAP
//----- (00790DF0) --------------------------------------------------------
#define sub_790DF0 ((void(__cdecl*)(int a4, float a5, float a6, float a7, float a8, float a9, float a10, float a11, float a12, int a13))0x00790DF0)
//----- (00638130) --------------------------------------------------------
#define pDrawMapFull ((void(__cdecl*)(int ModelID, float x, float y, float Width, float Heigth, float Rotacion))0x00638130)
#define sub_82B7A0 ((char(__thiscall*)(signed int a4, signed int a5))0x0082B7A0)
#define sub_8875E0 ((char(__cdecl*)(DWORD a1))0x008875E0)
#define sub_635CF0 ((void (__stdcall*)(signed int a4))0X00635CF0)
#define rFileOpen ((int(__cdecl*)(char* FileName, char* Mode)) 0x9D0040) //1.04E
#define rFileClose ((signed int(__cdecl*)(int a1))0x9CFC26) //1.04E

#define MAX_MINI_MAP 100

struct LoadTypeMap
{
/*+0*/   DWORD ModelID;
/*+4*/   DWORD XSW_Minimap_Frame;
/*+8*/   DWORD YSW_Minimap_Frame;
/*+12*/  DWORD XSW_Minimap;
/*+16*/  DWORD YSW_Minimap;
/*+20*/  DWORD XSW_Time_Frame;
/*+24*/  DWORD YSW_Time_Frame;
/*+92*/  DWORD This_92;
/*+96*/  DWORD This_96;
/*+100*/ DWORD DropMoveUserX;
/*+104*/ DWORD DropMoveUserY;
/*+108*/ DWORD This_108;
/*+112*/ DWORD This_112;
/*+116*/ float CurrentMoveX;
/*+120*/ float CurrentMoveY;
/*+124*/ DWORD Scale;
/*+126*/ DWORD TimerEventVK;
/*+128*/ float Alpha;
};

class CMinimap
{
public:
CMinimap();
virtual ~CMinimap();
void MiniMapload();
char MapRender(int a1);
public:
LoadTypeMap DataMap;
}; extern CMinimap gRenderMap;

Bug icono party: el icono se sale del minimapa


Solución por el momento es quitando el icono:
MiniMap.cpp
Buscar:
RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
Reemplazar:
Code: [Select]
/*RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));*/

Alejando el minimapa se ve bien:




Para la cabezara y el nombre de los mapas:
MiniMap.cpp
Buscar y quitar //:
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Code: [Select]
	RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Buscar y quitar //:
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo
Code: [Select]
	pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo


pMapName unidentified

Si estas usando este source no tendría que darte ningún problema.

Muestra imagen del error para ayudarte mejor.

Saludos.


---------------------------[NULL]---------------------------------

Offline khyle650 #134 Posteado: February 21, 2021, 09:43:15 PM | Modificado: February 22, 2021, 03:14:15 PM by khyle650

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 103
  • Gracias recibida: 2422
  • es
@baphomet desactiva la cabezera y titulo:

Code: [Select]
//-- Cabezera
/*RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); */ //Minimapa abajo
//-- Titulo
/*pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); */ //Minimapa abajo

Edit:
Fix pMapName:
Import.h
Buscar:
#define pSetCursorFocus            *(DWORD*)0x00E8CB3C
y añadir abajo:
Code: [Select]
#define pMapName				((char*(__cdecl*)(signed int mapNumber)) 0x5D2C10)


Gracias:


Offline Specifier #135 Posteado: February 22, 2021, 01:22:39 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 718
  • Gracias recibida: 5852
  • ae
@baphomet desactiva la cabezera y titulo:

Code: [Select]
//-- Cabezera
/*RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); */ //Minimapa abajo
//-- Titulo
/*pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); */ //Minimapa abajo

i understand what you mean
but what i mean is the pMapName(World)) is unidentified

if i remove it the name of map and coordinates will not appear only the minimap icon :D

---------------------------[NULL]---------------------------------

Offline nujd00 #136 Posteado: February 22, 2021, 03:34:28 AM | Modificado: February 22, 2021, 03:53:37 AM by nujd00

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 364
  • Gracias recibida: 333
  • ph
AGREGAR MARCO Y BOTONES MINIMAPA




Textura Minimapa:
http://www.mediafire.com/file/qof86mi7vmac7v8/Minimapa.rar/file

Los Botones que están configurados solo son los de acercar y alejar el Minimapa, los otros hay que configurarlos.

Interface.cpp
Buscar y quitar //
//pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
//pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon

Code: [Select]
	//MiniMap
pLoadImage("Custom\\Maps\\PlayerPoint.jpg", 31460, 0x2600, 0x2900, 1, 0);
pLoadImage("Custom\\Interface\\none.tga", 31461, 0x2601, 0x2900, 1, 0);
//--
pLoadImage("Custom\\Maps\\edBtUcx.tga", 31463, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\edBtUcx_1.tga", 31464, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\YYB6BUk.tga", 31465, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_blacksmith.tga", 31466, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_Potion.tga", 31467, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_baul.tga", 31468, 0x2601, 0x2900, 1, 0); //-- Dungeon
pLoadImage("Custom\\Maps\\mini_map_ui_Que.tga", 31469, 0x2601, 0x2900, 1, 0); //-- Dungeon

pLoadImage("Interface\\mini_map_ui_party.tga", 61520, 0x2601, 0x2901, 1, 0); //esquina abajo derecha

MiniMap.cpp
Code: [Select]
#include "stdafx.h"
#include "MiniMap.h"
#include "Import.h"
#include "Util.h"
#include "Offset.h"
#include "User.h"
#include "Interface.h"
#include "Defines.h"
#include "Common.h"
#include "MiniMapInfo.h"
#include "Central.h"
#include "WindowsStruct.h"
#include "InfoLog.h"
#include "PrintPlayer.h"

CMinimap gRenderMap;

CMinimap::CMinimap()
{
this->DataMap.ModelID = -1;
this->DataMap.XSW_Minimap_Frame = 486;  //-- Minimap_FrameX
this->DataMap.YSW_Minimap_Frame = 234;  //-- Minimap_FrameY
this->DataMap.XSW_Minimap = 510; //-- MiniMapX
this->DataMap.YSW_Minimap = 265; //265; //-- MiniMapY
this->DataMap.XSW_Time_Frame = 506; //-- Time_FrameX
this->DataMap.YSW_Time_Frame = 392; //-- Time_FrameY
this->DataMap.This_92 = 0;
this->DataMap.This_96 = 0;
this->DataMap.DropMoveUserX = 0; //-- DropMoveUserX
this->DataMap.DropMoveUserY = 0; //-- DropMoveUserY
this->DataMap.This_108;
this->DataMap.This_112;
this->DataMap.CurrentMoveX = 0.0; //-- CurrentMoveX
this->DataMap.CurrentMoveY = 0.0; //-- CurrentMoveY
this->DataMap.Scale = 1; //-- Scale
this->DataMap.TimerEventVK = 0; //-- Scale
this->DataMap.Alpha = 1.0f; //-- Alpha
}

CMinimap::~CMinimap()
{
}

//----- (0082ABA0)
char CMinimap::MapRender(int a1)
{
float DIRPointer;
lpViewObj ObjectPointer;

char result; // al@2
float blue; // ST30_4@3
float green; // ST2C_4@3
float v7; // ST78_4@3
float v8; // ST74_4@3
float v9; // ST20_4@12
float v10; // ST1C_4@12
float v11; // ST70_4@12
float v12; // ST6C_4@12
float v13; // ST10_4@12
float v14; // ST0C_4@12
float v15; // ST20_4@15
float v16; // ST1C_4@15
float v17; // ST68_4@15
float v18; // ST64_4@15
float v19; // ST10_4@15
float v20; // ST0C_4@15
int v21; // eax@17
int v22; // eax@19
float v23; // ST30_4@19
float v24; // ST60_4@19
int v25; // eax@19
float v26; // ST5C_4@19
float v27; // ST58_4@19
float v28; // ST54_4@22
float v29; // ST50_4@22
float v30; // ST4C_4@22
float v31; // ST48_4@22
int v32; // eax@23
int v33; // eax@23
float v34; // ST2C_4@23
float v35; // ST44_4@23
int v36; // eax@23
float v37; // ST30_4@23
float v38; // ST40_4@23
int v39; // eax@23
float v40; // ST30_4@23
float v41; // ST2C_4@23
float v42; // ST3C_4@23
float v43; // ST38_4@23
int v44; // [sp+78h] [bp-3Ch]@1
float v45; // [sp+7Ch] [bp-38h]@3
float v46; // [sp+88h] [bp-2Ch]@6
float v47; // [sp+8Ch] [bp-28h]@1
float v48; // [sp+90h] [bp-24h]@3
float v49; // [sp+94h] [bp-20h]@6
float v50; // [sp+98h] [bp-1Ch]@6
float v51; // [sp+9Ch] [bp-18h]@3
float v52; // [sp+A4h] [bp-10h]@3
float v53; // [sp+A8h] [bp-Ch]@3
signed int i; // [sp+ACh] [bp-8h]@3
int j; // [sp+ACh] [bp-8h]@17
int k; // [sp+ACh] [bp-8h]@20
float v57; // [sp+B0h] [bp-4h]@3

v44 = a1;
v47 = 45.0;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer = (double) 135.0f + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

if ( *(BYTE *)(a1 + 13500) )
{
pSetBlend(1);
pDrawBarForm(0.0, 0.0, 640.0, 480.0, 0.45000002, 1);
pGLSwitch();

pSetBlend(1);
glColor4f(1.0, 1.0, 1.0, 1.0);

v53 = (double)*(signed int *)(oUserPreviewStruct + 172) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);

v48 = (double)*(signed int *)(oUserPreviewStruct + 176) / 256.0 * (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);

v52 = 0.65156251;
v45 = 1.0;
v57 = 35.0;
v51 = 6.0;
blue = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80);
green = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76);
v7 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 80) - v53;
v8 = (double)*(signed int *)(a1 + 8 * *(DWORD *)(a1 + 124) + 76) - v48;
//-- PINTA el Mapa
pDrawMapFull(32447, v8, v7, green, blue, v47);

//-- CICLO PARA PINTAR LOS NPC
for ( i = 0; i < 100 && (signed int)*(BYTE *)(v44 + 116 * i + 300) > 0; ++i )
{
v50 = (double)*(signed int *)(v44 + 116 * i + 304) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v46 = (double)*(signed int *)(v44 + 116 * i + 308) / 256.0
* (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v49 = (double)*(signed int *)(v44 + 116 * i + 312);

if ( *(BYTE *)(v44 + 116 * i + 300) == 1 )
{
if ( pMapNumber != 34 || (signed int)(unsigned __int8)0x986746A <= 0 || *(DWORD *)(v44 + 116 * i + 304) == 228 && *(DWORD *)(v44 + 116 * i + 308) == 48 && pMapNumber == 34 )
{
//-- PINTAMOS LOS NPC
v9 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v10 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v11 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v12 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v13 = (double)25;
v14 = (double)25;

pDrawMapObject(32452, v46, v50, v14, v13, v12, v11, v10, v9, v47, v49, 0.546875, 0.546875, i);
}
}
else if ( *(BYTE *)(v44 + 116 * i + 300) == 2 )
{
//-- PINTAMOS PORTAL
v15 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80);
v16 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76);
v17 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 80) - v53;
v18 = (double)*(signed int *)(v44 + 8 * *(DWORD *)(v44 + 124) + 76) - v48;
v19 = (double)30;
v20 = (double)30;

pDrawMapObject(32451, v46, v50, v20, v19, v18, v17, v16, v15, v47, v49, 0.546875, 0.546875, i + 100);
}
}
//-- PINTAMOS AL PERSONAJE
sub_637E80( 32450,
325.0,
230.0,
15.0,
15.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);

//v21 = pMakeColor(255, 255, 255, 255);
//RenderBitMapColored(32450, 325.0, 230.0, 15.0, 15.0, 0.0, 0.0, 0.546875, 0.546875, v21);

pGLSwitch();
glColor3f(1.0, 1.0, 1.0);
pSetBlend(false);
result = 1;
}
else
{
result = *(BYTE *)(a1 + 13500);
}

return result;
}

void DataMapLoad()
{
int v4; // [sp+Ch] [bp-Ch]@5
int v5; // [sp+10h] [bp-8h]@2
int Type;
int Multiplicador;
int Scalado;

Type = gRenderMap.DataMap.Scale;
Multiplicador = (( Type == 1 ) ? 1 : Type - 1 );
Scalado = (( Type == 1 ) ? 512 : 128 );

gRenderMap.DataMap.This_92 = *(DWORD *)(*(DWORD *)0x7BC4F04 + 172) / ((Type == 1) ? 0.5 : Type - 1 ); //-- X
gRenderMap.DataMap.This_96 = (256 - *(DWORD *)(*(DWORD *)0x7BC4F04 + 176)) / ((Type == 1) ? 0.5 :  Type - 1  ); //-- Y

//-- X
if ( gRenderMap.DataMap.This_92 - ( Multiplicador << 6 ) <= 0 )
v5 = 0;
else
v5 = gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_108 = ( v5 >= Scalado ) ? Scalado : (v5 <= 0) ? 0: gRenderMap.DataMap.This_92 - ( Multiplicador << 6 );

//-- Y
if ( gRenderMap.DataMap.This_96 - ( Multiplicador << 6 ) <= 0 )
v4 = 0;
else
v4 = gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

gRenderMap.DataMap.This_112 = ( v4 >= Scalado ) ? Scalado : (v4 <= 0) ? 0: gRenderMap.DataMap.This_96 - ( Multiplicador << 6 );

//gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - 2 - gRenderMap.DataMap.This_108 - 2; //Minimapa abajo
//gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 + 1 - gRenderMap.DataMap.This_112 + 1; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserX = gRenderMap.DataMap.XSW_Minimap + gRenderMap.DataMap.This_92 - gRenderMap.DataMap.This_108; //Minimapa abajo
gRenderMap.DataMap.DropMoveUserY = gRenderMap.DataMap.YSW_Minimap + gRenderMap.DataMap.This_96 - gRenderMap.DataMap.This_112; //Minimapa abajo

gRenderMap.DataMap.CurrentMoveX = (double)gRenderMap.DataMap.This_108 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
gRenderMap.DataMap.CurrentMoveY = (double)gRenderMap.DataMap.This_112 / ((double) ((Type == 1) ? 512.0 : 256.0 ) / (double)Multiplicador );
}

void DataViewPortMapLoad()
{
int Model;
int Type;
float XNPC, YNPC;

Type = gRenderMap.DataMap.Scale;

for (int i = 0; i < 400; ++i )
{
Model = pGetPreviewStruct(pPreviewThis(), i);
if ( Model
&& *(BYTE *)(Model + 780)
&& Model != *(DWORD *)0x7BC4F04
&& (*(BYTE *)(Model + 800) == 1 || *(BYTE *)(Model + 800) == 2 || *(BYTE *)(Model + 800) == 4) )
{
if ( *(BYTE *)(Model + 800) == 4  &&  *(WORD *)(Model + 132) != 249 )
{
XNPC = (double) gRenderMap.DataMap.XSW_Minimap + *(DWORD *)(Model + 172) / ((Type == 1) ? 0.5 : Type - 1 );
YNPC = (double) gRenderMap.DataMap.YSW_Minimap + (256 - *(DWORD *)(Model + 176)) / ((Type == 1) ? 0.5 : Type - 1 );

XNPC = XNPC - gRenderMap.DataMap.This_108 - 5;
YNPC = YNPC - gRenderMap.DataMap.This_112 - 5;

if( *(WORD *)(Model + 132) == 251 )
{
RenderBitMapColored(31466, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 255 || *(WORD *)(Model + 132) == 253 )
{
RenderBitMapColored(31467, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 240 ) //-- baul
{
RenderBitMapColored(31468, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else if( *(WORD *)(Model + 132) == 229 || *(WORD *)(Model + 132) == 235 || *(WORD *)(Model + 132) == 233 || *(WORD *)(Model + 132) == 237 ) //-- quest
{
RenderBitMapColored(31469, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}
else
{
RenderBitMapColored(32452, XNPC, YNPC, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, 255));
}

if( pCheckMouseOver((int) XNPC, (int) YNPC, (int) 10, (int) 10) )
{
pDrawToolTip((int) XNPC, (int) YNPC - 10, (char *)(Model + 56));
}
}
}
}
}

int TimerEvent;

void Interface::DrawMiniMap()
{
if(gRenderMap.DataMap.ModelID == -1)
{
return;
}

if (this->MiniMapCheck() || this->CheckMap()
|| !MiniMap || this->CheckWindow(FullMap)
|| this->CheckWindow(FriendList) || gInterface.CheckWindow(SkillTree)
|| gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(FastMenu))
{
return;
}

float DIRPointer;
lpViewObj ObjectPointer;
char Cord[256];
float v8; // ST34_4@1
float v9; // ST30_4@1
float v10; // ST08_4@1
float v11; // ST04_4@1
int Type;
int Multiplicador;
int Scalado;

ObjectPointer = &*(ObjectPreview*)(*(DWORD *)0x7BC4F04);
DIRPointer =  180 + ( 45 * abs((signed int)(ObjectPointer->m_Model.Angle.Z / 45.0)));

Type = gRenderMap.DataMap.Scale;

DataMapLoad();

v8 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));
v9 = (double) (( Type == 1 ) ? 0.25f : (( Type == 2 ) ? 0.5f : 1.0));

v10 = (double) gRenderMap.DataMap.YSW_Minimap;
v11 = (double) gRenderMap.DataMap.XSW_Minimap;
//-- Fondo
RenderBitmap(31464, v11 - 1, v10 + 6, 125, 125, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo
//-- Mapa
RenderBitmap(31462, v11 + 14, v10 + 18, 95, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, 0.0); //Minimapa abajo
//RenderBitmap(31462, v11 + 14, v10 + 18, 93, 100, gRenderMap.DataMap.CurrentMoveX, gRenderMap.DataMap.CurrentMoveY, v9, v8, 1, 1, gRenderMap.DataMap.Alpha); //Minimapa abajo
//-- Cabezera
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
//-- Titulo
pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo

//-- Usuario
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
pSetBlend(true);
glColor4f(1.0, 1.0, 0.0, gRenderMap.DataMap.Alpha);
pDrawBarForm((double)gRenderMap.DataMap.DropMoveUserX, (double)gRenderMap.DataMap.DropMoveUserY, 4.0, 4.0, 0.0, 0);
pGLSwitch();
}
else
{
sub_637E80( 32450,
(double)gRenderMap.DataMap.DropMoveUserX,
(double)gRenderMap.DataMap.DropMoveUserY,
10.0,
10.0,
DIRPointer,
0.0,
0.0,
0.546875,
0.546875);
}

float JCPartyCoordX;
float JCPartyCoordY;

for(int i = 0; i < pPartyMemberCount ; i++)
{
if( !strcmp(pGetStrutParty( i ).Name, pGetUserName) )
{
continue;
}

JCPartyCoordX = (double) gRenderMap.DataMap.XSW_Minimap + gMiniMap.gPartyInfo[ i ].x / ((Type == 1) ? 0.5 : Type - 1 );
JCPartyCoordY = (double) gRenderMap.DataMap.YSW_Minimap + (256 - gMiniMap.gPartyInfo[ i ].y ) / ((Type == 1) ? 0.5 : Type - 1 );

JCPartyCoordX = JCPartyCoordX - gRenderMap.DataMap.This_108 - 5;
JCPartyCoordY = JCPartyCoordY - gRenderMap.DataMap.This_112 - 5;

RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
}

EnableAlphaTest(1);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);

DataViewPortMapLoad();
int textAlpha;

if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
pSetBlend(true);
glColor4f(1.0, 1.0, 1.0, gRenderMap.DataMap.Alpha);
pDrawGUI(31608, gRenderMap.DataMap.XSW_Minimap_Frame, gRenderMap.DataMap.YSW_Minimap_Frame, 154.0, 162.0);
pDrawGUI(31609, gRenderMap.DataMap.XSW_Time_Frame, gRenderMap.DataMap.YSW_Time_Frame, 134.0, 37.0);
pGLSwitch();

if(CheckButtonPressed( 618, 240, 15, 15 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}
else if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 1;
}

TimerEvent = GetTickCount();
}
}

if(CheckButtonPressed( 546, 239, 35, 20 ))
{
PlayBuffer(25, 0, 0);

if (GetTickCount() >= TimerEvent + 200)
{
if ( gRenderMap.DataMap.Alpha == 1.0 )
{
gRenderMap.DataMap.Alpha = (double) 0.90f;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
gRenderMap.DataMap.Alpha = (double)0.80;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
gRenderMap.DataMap.Alpha = (double)0.70f;
}
else
{
gRenderMap.DataMap.Alpha = (double)1.0f;
}

TimerEvent = GetTickCount();
}
}

if ( gRenderMap.DataMap.Alpha == 1.0 )
{
textAlpha = 100;
}
else if ( gRenderMap.DataMap.Alpha == 0.90f )
{
textAlpha = 90;
}
else if ( gRenderMap.DataMap.Alpha == 0.80f )
{
textAlpha = 80;
}
else
{
textAlpha = 70;
}


}

pGLSwitch();
EnableAlphaTest(0);
glColor4f(1.0, 1.0, 1.0, 1.0);
if ( gProtect.m_MainInfo.CustomInterfaceType == 1 || gProtect.m_MainInfo.CustomInterfaceType == 2 )
{
char Info[20];
wsprintf(Info, "%d", textAlpha);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), 546, 245, Info, 35, 0, (LPINT)3, 0);
}

//-- Carcasa Mapa
//RenderBitmap(31465, v11 + 0, v10 + 6, 120, 120, 0.01299999747, 0.02999999747, 0.3105553985, 0.6109998822, 1, 1, 0.0); //Minimapa abajo
RenderBitmap(31463, v11 - 1, v10 + 6, 124, 124, 0.3699999452, 0.0625, 0.5779999495, 0.2889999151, 1, 1, 0.0); //Minimapa abajo

int x1, y1, w1, h1;

//-- Boton Alejar
x1 = v11 + 53; //Minimapa abajo
y1 = v10 + 113; //Minimapa abajo
w1 = 18;
h1 = 18;

RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);
if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 3 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 1;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0); //0,3689999878 + 0,06260011024
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.43160009804, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Acercar
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 100; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
PlayBuffer(25, 0, 0);

if( GetTickCount() >= gRenderMap.DataMap.TimerEventVK + 200 )
{
if ( gRenderMap.DataMap.Scale == 1 )
{
gRenderMap.DataMap.Scale = 2;
}
else if ( gRenderMap.DataMap.Scale == 2 )
{
gRenderMap.DataMap.Scale = 3;
}

gRenderMap.DataMap.TimerEventVK = GetTickCount();
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.3689999878, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, !*(BYTE*)(*(DWORD*)(0x00E8CB7C) + 0x08) ? 0.3689999878 : 0.5570000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Config
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 102; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.682000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Camara
x1 = v11 + 15; //Minimapa abajo
y1 = v10 + 13; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.74460064924, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton 3D
x1 = v11 + 90; //Minimapa abajo
y1 = v10 + 15; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.61940042876, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Star
x1 = v11 + 53; //Minimapa abajo
y1 = v10 - 1; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.4950000539, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Armadura
x1 = v11 - 5; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.80720075948, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}

//-- Boton Batalla
x1 = v11 + 108; //Minimapa abajo
y1 = v10 + 56; //Minimapa abajo
//-- Carcaza Boton
RenderBitmap(31463, x1 - 5, y1 - 3, 26, 26, 0.8360000253, 0.4990000129, 0.1519999206, 0.073999919, 1, 1, 0.0);

if(pCheckMouseOver( x1, y1, w1, h1 ))
{
if( *(BYTE*)0x8793386 )
{
PlayBuffer(25, 0, 0);
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.2499999553, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.1239999682, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}
else
{
RenderBitmap(31463, x1, y1, 18.29999924, 18.29999924, 0.0, 0.93240097996, 0.1219998896, 0.06599189341, 1, 1, 0.0);
}
}


bool MiniMapFileCheck1(int Map) // OK
{
if(Map - 1 == 30){return 0;}

char Path[64];

wsprintf(Path, "Data\\Custom\\Maps\\World%d.ozj", Map);

int File = rFileOpen(Path, "rb");

if ( File )
{
rFileClose(File);
return 1;
}
else
{
return 0;
}
}

void MiniMapLoad() // OK
{
if (pMapNumber < MAX_MINI_MAP && pMapNumber != 30)
{
char buff[32];

wsprintf(buff, "Custom\\Maps\\World%d.jpg", ( pMapNumber + 1 ));

if (MiniMapFileCheck1( pMapNumber + 1 ) != 0)
{
gRenderMap.DataMap.ModelID = 31462;
pLoadImage(buff, 31462, 0x2601, 0x2900, 1, 0);
}
else
{
gRenderMap.DataMap.ModelID = -1;
}
}
}

__declspec(naked) void LoadTexture()
{
static DWORD Addr2_JMP = 0x0062F8A6;
static DWORD Addr1_JMP = 0x0062F87C;
static DWORD Map = 0x007AA331;

_asm
{
MOV EAX, DWORD PTR SS:[EBP-0x78]
MOV Map, EAX
}
if ( Map == 74 || Map == 75 )
{
_asm
{
JMP[Addr2_JMP]
}
}
else
{
MiniMapLoad();
_asm
{
JMP[Addr1_JMP]
}
}
}

bool pDisabledMouseMAP(int x, int y, int w, int h)
{
return 0;
}

void CMinimap::MiniMapload()
{
SetCompleteHook(0xE8, 0x0082B772, &pDisabledMouseMAP); //ok

SetCompleteHook(0xE9, 0x0062F870, &LoadTexture); //ok
SetCompleteHook(0xE9, 0x0082ABA0, &CMinimap::MapRender);
}

Minimap.h
Code: [Select]
#pragma once
//--/TAP FULLMAP
//----- (00790DF0) --------------------------------------------------------
#define sub_790DF0 ((void(__cdecl*)(int a4, float a5, float a6, float a7, float a8, float a9, float a10, float a11, float a12, int a13))0x00790DF0)
//----- (00638130) --------------------------------------------------------
#define pDrawMapFull ((void(__cdecl*)(int ModelID, float x, float y, float Width, float Heigth, float Rotacion))0x00638130)
#define sub_82B7A0 ((char(__thiscall*)(signed int a4, signed int a5))0x0082B7A0)
#define sub_8875E0 ((char(__cdecl*)(DWORD a1))0x008875E0)
#define sub_635CF0 ((void (__stdcall*)(signed int a4))0X00635CF0)
#define rFileOpen ((int(__cdecl*)(char* FileName, char* Mode)) 0x9D0040) //1.04E
#define rFileClose ((signed int(__cdecl*)(int a1))0x9CFC26) //1.04E

#define MAX_MINI_MAP 100

struct LoadTypeMap
{
/*+0*/   DWORD ModelID;
/*+4*/   DWORD XSW_Minimap_Frame;
/*+8*/   DWORD YSW_Minimap_Frame;
/*+12*/  DWORD XSW_Minimap;
/*+16*/  DWORD YSW_Minimap;
/*+20*/  DWORD XSW_Time_Frame;
/*+24*/  DWORD YSW_Time_Frame;
/*+92*/  DWORD This_92;
/*+96*/  DWORD This_96;
/*+100*/ DWORD DropMoveUserX;
/*+104*/ DWORD DropMoveUserY;
/*+108*/ DWORD This_108;
/*+112*/ DWORD This_112;
/*+116*/ float CurrentMoveX;
/*+120*/ float CurrentMoveY;
/*+124*/ DWORD Scale;
/*+126*/ DWORD TimerEventVK;
/*+128*/ float Alpha;
};

class CMinimap
{
public:
CMinimap();
virtual ~CMinimap();
void MiniMapload();
char MapRender(int a1);
public:
LoadTypeMap DataMap;
}; extern CMinimap gRenderMap;

Bug icono party: el icono se sale del minimapa


Solución por el momento es quitando el icono:
MiniMap.cpp
Buscar:
RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));
Reemplazar:
Code: [Select]
/*RenderBitMapColored(61520, JCPartyCoordX, JCPartyCoordY, 10.0, 10.0, 0.0, 0.0, 0.546875, 0.546875, pMakeColor(255, 255, 255, gRenderMap.DataMap.Alpha * 255));*/

Alejando el minimapa se ve bien:




Para la cabezara y el nombre de los mapas:
MiniMap.cpp
Buscar y quitar //:
//RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Code: [Select]
	RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); //Minimapa abajo
Buscar y quitar //:
//pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo
Code: [Select]
	pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); //Minimapa abajo



have idea how to put minimap in lower of helper button?
like this

NUJD RABAGO

Gracias:


Offline nujd00 #137 Posteado: February 22, 2021, 04:17:17 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 364
  • Gracias recibida: 333
  • ph
have error MiniMap.cpp(343): error C3861: 'pMapName': identifier not found

NUJD RABAGO

Offline nujd00 #138 Posteado: February 22, 2021, 04:33:45 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 364
  • Gracias recibida: 333
  • ph
@baphomet desactiva la cabezera y titulo:

Code: [Select]
//-- Cabezera
/*RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); */ //Minimapa abajo
//-- Titulo
/*pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); */ //Minimapa abajo

i understand what you mean
but what i mean is the pMapName(World)) is unidentified

if i remove it the name of map and coordinates will not appear only the minimap icon :D


did you figure the pMapName error?

NUJD RABAGO

Offline Specifier #139 Posteado: February 22, 2021, 04:43:20 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 718
  • Gracias recibida: 5852
  • ae
@baphomet desactiva la cabezera y titulo:

Code: [Select]
//-- Cabezera
/*RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); */ //Minimapa abajo
//-- Titulo
/*pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); */ //Minimapa abajo

i understand what you mean
but what i mean is the pMapName(World)) is unidentified

if i remove it the name of map and coordinates will not appear only the minimap icon :D


did you figure the pMapName error?


minimap.cpp
you need to configure pMapNAme

Code: [Select]
//-- Cabezera
/*RenderBitmap(31463, v11, v10 - 23, 120.0, 20.0, 0.3259999454, 0.00249999878, 0.6679999232, 0.04399995133, 1, 1, 0.0); */ //Minimapa abajo
//-- Titulo
/*pSetFont(pTextThis(), (int)pFontBold);
wsprintf(Cord, "%s ( %d , %d )", ((World >= 82 && World <= 100) ? pGetTextLine(pTextLineThis, (3810 + World - 82)) : pMapName(World)), ObjectPointer->MapPosX, ObjectPointer->MapPosY);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 0);
pSetTextColor(pTextThis(), 240, 240, 240, 255);
pDrawText(pTextThis(), v11 + 35, v10 - 17, Cord, 148.0, 0, (LPINT)1, 0); */ //Minimapa abajo

---------------------------[NULL]---------------------------------

Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
18 Replies
8622 Views
Last post October 13, 2021, 06:58:44 PM
by MaxServers
1 Replies
2322 Views
Last post April 10, 2021, 03:10:27 PM
by ZabiinoOo
127 Replies
30178 Views
Last post August 27, 2025, 07:09:56 AM
by T-LEGENDARY
0 Replies
852 Views
Last post January 06, 2024, 06:55:48 AM
by T-LEGENDARY
23 Replies
9220 Views
Last post February 16, 2025, 06:39:10 AM
by T-LEGENDARY