Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Source WideScreen 2024 By Dakosmu  (Visto 5130 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline dakosmu #40 Posteado: January 19, 2024, 02:38:47 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve
After adding the widescreen feature, I can't right-click to retrieve items in the CHAOS interface. I'm not sure what is causing this issue. I earnestly request help from all the brothers. Please help me.



Tiene link del source ? Que usted usa ? Para yo intentar


https://tuservermu.com.ve/index.php?topic=47038.0     

Thank you very much. I hope you can help me fix this issue please please please please


que numero de item es ??
/make ????

Dakosmu Colaborador

Offline dakosmu #41 Posteado: January 19, 2024, 02:53:56 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve
I have a problem when I load 90% and the game shuts down. I put in ozt and tga and it still doesn't work. I use the source

https://tuservermu.com.ve/index.php?topic=56103.0

estoy revisando...

o ya solucionaste?

Dakosmu Colaborador

Offline dakosmu #42 Posteado: January 19, 2024, 03:27:15 PM | Modificado: January 19, 2024, 03:38:41 PM by dakosmu

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve
I have a problem when I load 90% and the game shuts down. I put in ozt and tga and it still doesn't work. I use the source

https://tuservermu.com.ve/index.php?topic=56103.0






Usted debe colcoar esto en dicha carpeta como indica la imagen


Dakosmu Colaborador

Offline erickmalfoy #43 Posteado: January 19, 2024, 07:51:58 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 554
  • Gracias recibida: 319
  • ar

Offline nhantac #44 Posteado: January 19, 2024, 08:04:05 PM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 60
  • Gracias recibida: 67
  • vn
https://ibb.co/4ZW24qK
https://ibb.co/zZBmQmg
I have this error, hope bro can show me how to fix it


Buscar en CustomJewelBank.cpp


colocar  //


quedaria asi


 

Unsuccessful, thanks bro


Offline erickmalfoy #45 Posteado: January 19, 2024, 08:11:05 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 554
  • Gracias recibida: 319
  • ar
I have a problem when I load 90% and the game shuts down. I put in ozt and tga and it still doesn't work. I use the source

https://tuservermu.com.ve/index.php?topic=56103.0






Usted debe colcoar esto en dicha carpeta como indica la imagen


1>LINK : fatal error LNK1104: no se puede abrir el archivo 'jpeg.lib'       
no me reconoce ya lo puse en ulti que podra ser ?


Offline erickmalfoy #46 Posteado: January 19, 2024, 08:18:41 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 554
  • Gracias recibida: 319
  • ar
I have a problem when I load 90% and the game shuts down. I put in ozt and tga and it still doesn't work. I use the source

https://tuservermu.com.ve/index.php?topic=56103.0






Usted debe colcoar esto en dicha carpeta como indica la imagen


1>LINK : fatal error LNK1104: no se puede abrir el archivo 'jpeg.lib'       
no me reconoce ya lo puse en ulti que podra ser ?

https://ibb.co/wR1Gn3C


Offline nhantac #47 Posteado: January 19, 2024, 08:43:06 PM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 60
  • Gracias recibida: 67
  • vn
I have a problem when I load 90% and the game shuts down. I put in ozt and tga and it still doesn't work. I use the source

https://tuservermu.com.ve/index.php?topic=56103.0






Usted debe colcoar esto en dicha carpeta como indica la imagen


1>LINK : fatal error LNK1104: no se puede abrir el archivo 'jpeg.lib'       
no me reconoce ya lo puse en ulti que podra ser ?

https://ibb.co/wR1Gn3C
coppy Jpeg.lib vào \Main_EX603\Main rồi build lại xem bro

Gracias:


Offline erickmalfoy #48 Posteado: January 19, 2024, 08:51:54 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 554
  • Gracias recibida: 319
  • ar
I have a problem when I load 90% and the game shuts down. I put in ozt and tga and it still doesn't work. I use the source

https://tuservermu.com.ve/index.php?topic=56103.0






Usted debe colcoar esto en dicha carpeta como indica la imagen


1>LINK : fatal error LNK1104: no se puede abrir el archivo 'jpeg.lib'       
no me reconoce ya lo puse en ulti que podra ser ?

https://ibb.co/wR1Gn3C
coppy Jpeg.lib vào \Main_EX603\Main rồi build lại xem bro

Nice Graz bro  https://ibb.co/Ry7tsSQ

Gracias:


Offline thangdtqn3 #49 Posteado: January 19, 2024, 09:03:14 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 25
  • Gracias recibida: 18
  • gb
How to fix @dakosmu


eso se soluciona de esta manera

buscar la parte del cpp.
y agregar el codigo , la distancia cambia en los numeros del codigo, muntiplique por 2

https://tuservermu.com.ve/index.php?action=bestanswer;do=mark;msg=313665

enviar imagen si logra funcionar
Can I have a picture of the code you put in to fix them, I remember there's no .cpp of the seed?


Offline dark32 #50 Posteado: January 19, 2024, 10:25:19 PM

  • 0 puntos por ventas
  • *
  • Rank: Avanzado
  • Posts: 131
  • Gracias recibida: 1547
  • ar
Lo probe funciona perfectamente el wide, aunque el tooltip de las habilidades no dibuja las estadisticas de estas. (Ya saben cuando ponen el puntero sobre el Ice Storm por ejemplo y les dice cuanto pega)

envia foto o video para tener una idea

Me refiero a que no se dibuja la informacion de las habilidades.->
Spoiler for Hiden:

tambien tengo estos 2 problemas.
mover la ventana de party->
Spoiler for Hiden:
y la durabilidad de las armas ->
Spoiler for Hiden:

Si alguien algun sugerencia para mover esas se agradece.



Offline dakosmu #51 Posteado: January 19, 2024, 10:27:24 PM | Modificado: January 19, 2024, 10:30:23 PM by dakosmu

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve
Lo probe funciona perfectamente el wide, aunque el tooltip de las habilidades no dibuja las estadisticas de estas. (Ya saben cuando ponen el puntero sobre el Ice Storm por ejemplo y les dice cuanto pega)

envia foto o video para tener una idea

Me refiero a que no se dibuja la informacion de las habilidades.->
Spoiler for Hiden:

tambien tengo estos 2 problemas.
mover la ventana de party->
Spoiler for Hiden:
y la durabilidad de las armas ->
Spoiler for Hiden:

Si alguien algun sugerencia para mover esas se agradece.

con este codigo

tienes que usar ese codigo para todo los .CPP que necesites orientar los codigos

Ejemplo si tu Baul de Joyas esta de lados tienes que entrar en el cpp del banco de joyas
si tu ventana de Ranking esta de lado. tienes que entrar en tu CPP del Ranking y colocar el codigo
si tu tu informacion arriba de PING y MS esta de lado tienes que entrar en el CPP del PING y MS
si tu radar esta de lado tienes que entrar en el CPP de tu radar y meter el codigo

asi sucesivamente con todo lo que quieras orientar y reparar



Dakosmu Colaborador

Offline dakosmu #52 Posteado: January 19, 2024, 10:32:26 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve
How to fix @dakosmu


eso se soluciona de esta manera

buscar la parte del cpp.
y agregar el codigo , la distancia cambia en los numeros del codigo, muntiplique por 2

https://tuservermu.com.ve/index.php?action=bestanswer;do=mark;msg=313665

enviar imagen si logra funcionar
Can I have a picture of the code you put in to fix them, I remember there's no .cpp of the seed?

link de los source?

Dakosmu Colaborador

Offline dakosmu #53 Posteado: January 19, 2024, 10:34:41 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve
https://ibb.co/4ZW24qK
https://ibb.co/zZBmQmg
I have this error, hope bro can show me how to fix it


Buscar en CustomJewelBank.cpp


colocar  //


quedaria asi


 

Unsuccessful, thanks bro

deme su CustomJewelBank.cpp y .h

Dakosmu Colaborador

Offline thangdtqn3 #54 Posteado: January 19, 2024, 10:57:51 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 25
  • Gracias recibida: 18
  • gb
How to fix @dakosmu


eso se soluciona de esta manera

buscar la parte del cpp.
y agregar el codigo , la distancia cambia en los numeros del codigo, muntiplique por 2

https://tuservermu.com.ve/index.php?action=bestanswer;do=mark;msg=313665

enviar imagen si logra funcionar
Can I have a picture of the code you put in to fix them, I remember there's no .cpp of the seed?

link de los source?
Source ZonaMu.


Offline nhantac #55 Posteado: January 19, 2024, 10:58:13 PM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 60
  • Gracias recibida: 67
  • vn
https://ibb.co/4ZW24qK
https://ibb.co/zZBmQmg
I have this error, hope bro can show me how to fix it


Buscar en CustomJewelBank.cpp


colocar  //


quedaria asi


 

Unsuccessful, thanks bro

deme su CustomJewelBank.cpp y .h
.cpp
#include "stdafx.h"
#include "CustomJewelBank.h"
#include "Defines.h"
#include "Interface.h"
#include "Offset.h"
#include "Protect.h"
#include "Util.h"
#include "HealthBar.h"
#include "Object.h"
#include "PrintPlayer.h"
#include "User.h"
#include "Import.h"

CCustomJewelBank gCustomJewelBank;

CCustomJewelBank::CCustomJewelBank()
{
   this->m_Data.Bless      = 0;
   this->m_Data.Soul      = 0;
   this->m_Data.Life      = 0;
   this->m_Data.Creation   = 0;
   this->m_Data.Guardian   = 0;
   this->m_Data.GemStone   = 0;
   this->m_Data.Harmony   = 0;
   this->m_Data.Chaos      = 0;
   this->m_Data.LowStone   = 0;
   this->m_Data.HighStone   = 0;
   this->Page = 0;
}

void CCustomJewelBank::DrawNewStatus()
{
   //if(gProtect.m_MainInfo.CustomAdvancedStausEnable != 1)
   //{
   //   return;
   //}

}

void CCustomJewelBank::JewelBankSend(int slot)
{
   if((GetTickCount() - this->StatusTick) < 400 )
   {
      //gInterface.Data[eEventTimePANEL_MAIN].OnShow = false;
      return;
   }

   if (slot < 0)
   {
      return;
   }

   this->StatusTick = GetTickCount();

   //this->JewelEnable = false;

   PSBMSG_JEWELBANK_SEND pMsg;

   pMsg.slot = slot;

   pMsg.header.set(0xF3, 0xF5,sizeof(pMsg));

   DataSend((BYTE*)&pMsg,pMsg.header.size);
}

void CCustomJewelBank::GCCustomJewelBankInfoRecv(PSBMSG_JEWELBANK_RECV* lpMsg) // OK
{
   this->m_Data.Bless      = lpMsg->Bless;
   this->m_Data.Soul      = lpMsg->Soul;
   this->m_Data.Life      = lpMsg->Life;
   this->m_Data.Creation   = lpMsg->Creation;
   this->m_Data.Guardian   = lpMsg->Guardian;
   this->m_Data.GemStone   = lpMsg->GemStone;
   this->m_Data.Harmony   = lpMsg->Harmony;
   this->m_Data.Chaos      = lpMsg->Chaos;
   this->m_Data.LowStone   = lpMsg->LowStone;
   this->m_Data.HighStone   = lpMsg->HighStone;

   this->JewelEnable = 1;
}

void InvetoryItemOver(int This)
{
   lpItemObj item = (lpItemObj)*(DWORD*)(This + 84);

   if (item)
   {
      if ( GetKeyState ( VK_RBUTTON ) & 0x8000 && GetKeyState ( VK_SHIFT ) & 0x8000 )
      {
         int start = 12;
         if (*(DWORD*)(This + 44) == 200)
         {
            start = 12;
         }
         else if (*(DWORD*)(This + 44) == 44)
         {
            start = 76;
         }
         else if(*(DWORD*)(This + 44) == 131)
         {
            start = 108;
         }

         int Slot = item->PosX+(item->PosY*8)+start;

         gCustomJewelBank.JewelBankSend(Slot);
      }
   }

   ((void(__thiscall*)(int))0x007DCF20)(This);
}

void CCustomJewelBank::Load()
{
   SetCompleteHook(0xE8,0x007DD0D9,&InvetoryItemOver);
}

void CCustomJewelBank::DrawJewelBankWindow()
{

   if( gInterface.Data[eJewelBank_MAIN].OnShow == false)
   {
      return;
   }

   if (gInterface.CheckWindow(SkillTree) || gInterface.CheckWindow(Character) || gInterface.CheckWindow(Shop) || gInterface.CheckWindow(CreateGuild) || gInterface.CheckWindow(ChatWindow) || gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(MuHelper) || gInterface.CheckWindow(Store) || gInterface.CheckWindow(Warehouse) || gInterface.CheckWindow(Trade) || gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(MoveList) || gInterface.CheckWindow(ChaosBox))
   {
      if (gInterface.Data[eJewelBank_MAIN].OnShow == true)
      {
         gInterface.Data[eJewelBank_MAIN].OnShow = false;
         pSetCursorFocus = false;
         return;
      }
   }

   int BackSpace = 0;

   if (gInterface.CheckWindow(ExpandInventory))
   {
      BackSpace = 180.0;
   }

   pSetCursorFocus = true;
   float MainWidth         = 230.0;
   float MainHeight      = 180.0;
   float StartBody         = 55.0;
   float StartY         = 55.0;
   float StartX         = (MAX_WIN_WIDTH / 2) - (MainWidth / 2) - BackSpace;
   float MainCenter      = StartX + (MainWidth / 3);
   float ButtonX         = MainCenter - (float)(29.0 / 2);
   // ----
   gInterface.DrawGUI(eJewelBank_MAIN, StartX, StartY + (float)2.0);
   gInterface.DrawGUI(eJewelBank_TITLE, StartX, StartY);
   StartY = gInterface.DrawRepeatGUI(eJewelBank_FRAME, StartX, StartY + (float)5.0, 13);
   gInterface.DrawGUI(eJewelBank_FOOTER, StartX, StartY);
   gInterface.DrawGUI(eJewelBank_CLOSE, StartX + MainWidth - gInterface.Data[eJewelBank_CLOSE].Width, StartBody);
   // ----
   DWORD Color = eGray100;
   if (gInterface.IsWorkZone(eJewelBank_CLOSE))
   {
      // ----
      if (gInterface.Data[eJewelBank_CLOSE].OnClick)
      {
         Color = eGray150;
      }
      // ----
      gInterface.DrawColoredGUI(eJewelBank_CLOSE, gInterface.Data[eJewelBank_CLOSE].X, StartBody, Color);
      gInterface.DrawToolTip((int)gInterface.Data[eJewelBank_CLOSE].X + 5, (int)gInterface.Data[eJewelBank_CLOSE].Y + 25, gCustomMessage.GetMessageB(388));
   }

   gInterface.DrawFormat(eGold, (int)StartX + 10, (int)StartBody + 10, 210, 3, "Jewels Bank");

   if (this->JewelEnable == 1)
   {
      StartBody -= 15;

      if(this->Page == 0)
      {
         gInterface.DrawGUI(eJewelBank_NEXT, StartX + MainWidth - gInterface.Data[eSAMPLEBUTTON].Width - 10, 170);
         gInterface.ResetDrawIMG(eJewelBank_PREV);
      }
      else
      {
         gInterface.DrawGUI(eJewelBank_PREV, StartX + MainWidth - gInterface.Data[eSAMPLEBUTTON].Width - 8, 170);
         gInterface.ResetDrawIMG(eJewelBank_NEXT);
      }

      for (int i=(5*this->Page); i < (5*this->Page)+5; i++)
      {
         int posxx = 0;
         int WidthValue = 18;
         int HeightValue = 20;

         int posyy = (i >= 5) ? (i-5):i;

         if (i == 0)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7181);

            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 80 + (34*posyy),barWidth,barHeight,7181+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 52, 1,gCustomMessage.GetMessageB(1806));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.Bless);
         }
         if (i == 1)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7182);
            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 80 + (34*posyy),barWidth,barHeight,7182+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 52, 1,gCustomMessage.GetMessageB(1807));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.Soul);
         }
         if (i == 2)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7184);
            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 85 + (34*posyy),barWidth,barHeight,7184+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 52, 1,gCustomMessage.GetMessageB(3312));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.Life);
         }
         if (i == 3)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7190);
            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 85 + (34*posyy),barWidth,barHeight,7190+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 60, 1,gCustomMessage.GetMessageB(3313));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.Creation);
         }
         if (i == 4)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7199);
            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 75 + (34*posyy),barWidth,barHeight,7199+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 60, 1,gCustomMessage.GetMessageB(3314));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.Guardian);
         }   
         if (i == 5)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7209);

            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 80 + (34*posyy),barWidth,barHeight,7209+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 60, 1,"GemStone");
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.GemStone);
         }
         if (i == 6)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7210);
            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 85 + (34*posyy),barWidth,barHeight,7210+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 60, 1,gCustomMessage.GetMessageB(3315));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.Harmony);
         }
         if (i == 7)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(6159);
            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 75 + (34*posyy),barWidth,barHeight,6159+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 52, 1,gCustomMessage.GetMessageB(3316));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.Chaos);
         }
         if (i == 8)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7211);
            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 88 + (34*posyy),barWidth,barHeight,7211+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 60, 1,gCustomMessage.GetMessageB(3317));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.LowStone);
         }
         if (i == 9)
         {
            ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7212);
            float barWidth = WidthValue*ItemInfo->ItemWidth;
            float barHeight = HeightValue*ItemInfo->ItemHeight;

            gInterface.DrawItem(StartX + 20,StartBody + 85 + (34*posyy),barWidth,barHeight,7212+ITEM_BASE_MODEL,SET_ITEMOPT_LEVEL(0),0,0,0);

            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 57 + (36*posyy), 60, 1,gCustomMessage.GetMessageB(3318));
            gInterface.DrawFormat(eGold,  StartX + 35, StartBody + 67 + (36*posyy), 52, 1,"x %d", this->m_Data.HighStone);
         }   

         for (int j=(i*5); j < (i*5)+5; j++)
         {
            gInterface.DrawGUI(eJewelBank_WITHDRAW+j, StartX + 100 + (18*posxx), StartBody + 55 + (36*posyy));

            if (posxx == 0)
               gInterface.DrawFormat(eGold,  StartX + 105 + (18*posxx), StartBody + 59 + (36*posyy), 52, 1,"01");
            if (posxx == 1)
               gInterface.DrawFormat(eGold,  StartX + 105 + (18*posxx), StartBody + 59 + (36*posyy), 52, 1,"10");
            if (posxx == 2)
               gInterface.DrawFormat(eGold,  StartX + 105 + (18*posxx), StartBody + 59 + (36*posyy), 52, 1,"20");
            if (posxx == 3)
               gInterface.DrawFormat(eGold,  StartX + 105 + (18*posxx), StartBody + 59 + (36*posyy), 52, 1,"30");
            if (posxx == 4)
               gInterface.DrawFormat(eGold,  StartX + 105 + (18*posxx), StartBody + 59 + (36*posyy), 52, 1,"**");

            posxx++;
         }
      }

      gInterface.DrawFormat(eExcellent,  StartX, StartBody + 240, 230, 3,"To deposit use SHIFT + Right Click!");
   }
   else
   {
      if (this->Loading == 1)
      {
         gInterface.DrawFormat(eGold, MainCenter +30, StartBody + 100, 52, 1,gCustomMessage.GetMessage(133),"..");
         this->Loading = 2;
      }
      else if(this->Loading == 2)
      {
         gInterface.DrawFormat(eGold, MainCenter +30, StartBody + 100, 52, 1,gCustomMessage.GetMessage(133),"...");
         this->Loading = 3;
      }
      else if(this->Loading == 3)
      {
         gInterface.DrawFormat(eGold, MainCenter +30, StartBody + 100, 52, 1,gCustomMessage.GetMessage(133),"....");
         this->Loading = 4;
      }
      else if(this->Loading == 4)
      {
         gInterface.DrawFormat(eGold, MainCenter +30, StartBody + 100, 52, 1,gCustomMessage.GetMessage(133),".....");
         this->Loading = 0;
      }
      else
      {
         gInterface.DrawFormat(eGold, MainCenter +30, StartBody + 100, 52, 1,gCustomMessage.GetMessage(133),".");
         this->Loading = 1;
      }
   }
}

void CCustomJewelBank::OpenWindow()
{
   if (gInterface.CheckWindow(SkillTree) || gInterface.CheckWindow(Shop) || gInterface.CheckWindow(CreateGuild) || gInterface.CheckWindow(ChatWindow) || gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(MuHelper) || gInterface.CheckWindow(Store)  || gInterface.CheckWindow(Warehouse) || gInterface.CheckWindow(Trade) || gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(GuardNPC))
   {
      return;
   }

   if((GetTickCount() - gInterface.Data[eJewelBank_MAIN].EventTick) < 500 )
   {
      return;
   }

   gInterface.Data[eJewelBank_MAIN].EventTick = GetTickCount();

   if (gInterface.Data[eJewelBank_MAIN].OnShow == true)
   {
      gInterface.Data[eJewelBank_MAIN].OnShow = false;
      pSetCursorFocus = false;
      return;
   }

   gInterface.CloseCustomWindow();

   gInterface.OpenWindow(Inventory);
   gInterface.CloseWindow(Character);
   gInterface.Data[eJewelBank_MAIN].OnShow = true;
   pSetCursorFocus = true;

}

bool CCustomJewelBank::CommandNext(DWORD Event)
{
   DWORD CurrentTick   = GetTickCount();
   DWORD Delay         = (CurrentTick - gInterface.Data[eJewelBank_NEXT].EventTick);
   DWORD Delay2      = (CurrentTick - gInterface.Data[eJewelBank_PREV].EventTick);

   if( !gInterface.Data[eJewelBank_MAIN].OnShow )
   {
      return false;
   }
   
   if( !gInterface.IsWorkZone(eJewelBank_NEXT) )
   {
      return false;
   }

   if( Event == WM_LBUTTONDOWN )
   {
      gInterface.Data[eJewelBank_NEXT].OnClick = true;
      return true;
   }

   if( Delay < 300 || Delay2 < 300 )
   {
      return false;
   }
   
   gInterface.Data[eJewelBank_NEXT].OnClick = false;
   
   this->Page++;
   
   gInterface.Data[eJewelBank_NEXT].EventTick = GetTickCount();
   

   return true;
}

bool CCustomJewelBank::CommandPrev(DWORD Event)
{
   DWORD CurrentTick   = GetTickCount();
   DWORD Delay         = (CurrentTick - gInterface.Data[eJewelBank_PREV].EventTick);
   DWORD Delay2      = (CurrentTick - gInterface.Data[eJewelBank_NEXT].EventTick);

   if( !gInterface.Data[eJewelBank_MAIN].OnShow )
   {
      return false;
   }
   
   if( !gInterface.IsWorkZone(eJewelBank_PREV) )
   {
      return false;
   }

   if( Event == WM_LBUTTONDOWN )
   {
      gInterface.Data[eJewelBank_PREV].OnClick = true;
      return true;
   }

   if( Delay < 300 || Delay2 < 300 )
   {
      return false;
   }
   
   gInterface.Data[eJewelBank_PREV].OnClick = false;
   
   this->Page--;
   
   gInterface.Data[eJewelBank_PREV].EventTick = GetTickCount();
   

   return true;
}

bool CCustomJewelBank::EventJewelBankWindow_Close(DWORD Event)
{
   DWORD CurrentTick = GetTickCount();
   DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_CLOSE].EventTick);
   // ----
   if (!gInterface.Data[eJewelBank_MAIN].OnShow || !gInterface.IsWorkZone(eJewelBank_CLOSE))
   {
      return false;
   }
   // ----
   if (Event == WM_LBUTTONDOWN)
   {
      gInterface.Data[eJewelBank_CLOSE].OnClick = true;
      return true;
   }
   // ----
   gInterface.Data[eJewelBank_CLOSE].OnClick = false;
   // ----
   if (Delay < 500)
   {
      return false;
   }
   // ----
   gInterface.Data[eJewelBank_CLOSE].EventTick = GetTickCount();
   gInterface.Data[eJewelBank_MAIN].OnShow = false;
   pSetCursorFocus = false;
   // ----
   return false;
}

bool CCustomJewelBank::EventJewelBankWithDraw(DWORD Event)
{   
   DWORD CurrentTick   = GetTickCount();
   //DWORD Delay         = (CurrentTick - this->Data[eDIABLO_CLOSE].EventTick);

   if (!gInterface.Data[eJewelBank_MAIN].OnShow)
   {
      return false;
   }

   for (int i = 25*Page; i<(25*Page)+25; i++)
   {
      if (gInterface.IsWorkZone(eJewelBank_WITHDRAW+i))
      {
         DWORD Delay         = (CurrentTick - gInterface.Data[eJewelBank_WITHDRAW+i].EventTick);

         if( Event == WM_LBUTTONDOWN )
         {
            gInterface.Data[eJewelBank_WITHDRAW+i].OnClick = true;
            return true;
         }
         // ----
         gInterface.Data[eJewelBank_WITHDRAW+i].OnClick = false;
         // ----
         if( Delay < 300 )
         {
            return false;
         }
         // ----

         int type = 0;
         int num = -1;
         int count = -1;

         if (i >=45 && i < 50)
         {
            type = 9;
            num = i-45;
         }
         if (i >=40 && i < 45)
         {
            type = 8;
            num = i-40;
         }
         if (i >=35 && i < 40)
         {
            type = 7;
            num = i-35;
         }
         if (i >=30 && i < 35)
         {
            type = 6;
            num = i-30;
         }
         if (i >=25 && i < 30)
         {
            type = 5;
            num = i-25;
         }
         if (i >=20 && i < 25)
         {
            type = 4;
            num = i-20;
         }
         if (i >=15 && i < 20)
         {
            type = 3;
            num = i-15;
         }
         if (i >=10 && i < 15)
         {
            type = 2;
            num = i-10;
         }
         if (i >=5 && i < 10)
         {
            type = 1;
            num = i-5;
         }
         if (i >=0 && i < 5)
         {
            type = 0;
            num = i;
         }

         if (num == 0) count = 1;
         if (num == 1) count = 10;
         if (num == 2) count = 20;
         if (num == 3) count = 30;
         if (num == 4) count = 99;

         if (count <= 0)
            return false;

         this->JewelBankWithDrawSend(type,count);
         gInterface.Data[eJewelBank_WITHDRAW+i].EventTick = GetTickCount();
      }
   }
   return false;
}

void CCustomJewelBank::JewelBankWithDrawSend(int type,int count)
{
   if((GetTickCount() - this->StatusTick) < 400 )
   {
      return;
   }

   if((GetTickCount() - gInterface.Data[eJewelBank_MAIN].EventTick) < 400 )
   {
      return;
   }

   if (type < 0 || count < 0)
   {
      return;
   }

   this->StatusTick = GetTickCount();

   //this->JewelEnable = false;

   PSBMSG_JEWELBANKWITHDRAW_SEND pMsg;

   pMsg.type = type;

   pMsg.count = count;

   pMsg.header.set(0xF3, 0xF6,sizeof(pMsg));

   DataSend((BYTE*)&pMsg,pMsg.header.size);
}
.h
#pragma once

#include "Protocol.h"
#include "Object.h"

#define ITEM_BASE_MODEL 1171
// ---
struct CUSTOM_JEWELBANK_DATA
{
   int Bless;
   int Soul;
   int Life;
   int Creation;
   int Guardian;
   int GemStone;
   int Harmony;
   int Chaos;
   int LowStone;
   int HighStone;
};

struct PSBMSG_JEWELBANK_SEND
{
   PSBMSG_HEAD header; // C1:F3:F4
   int slot;
};

struct PSBMSG_JEWELBANKWITHDRAW_SEND
{
   PSBMSG_HEAD header; // C1:F3:F4
   int type;
   int count;
};

struct PSBMSG_JEWELBANK_UPDATE_SEND
{
   PSBMSG_HEAD header; // C1:F3:F4
};

struct PSBMSG_JEWELBANK_RECV
{
   PSBMSG_HEAD h;
   int Bless;
   int Soul;
   int Life;
   int Creation;
   int Guardian;
   int GemStone;
   int Harmony;
   int Chaos;
   int LowStone;
   int HighStone;
};
// ---
class CCustomJewelBank
{
public:
   CCustomJewelBank();
   void Load();
   // ---
   void DrawNewStatus();
   void DrawJewelBankWindow();
   void OpenWindow();
   bool CommandNext(DWORD Event);
   bool CommandPrev(DWORD Event);
   bool EventJewelBankWindow_Close(DWORD Event);
   bool EventJewelBankWithDraw(DWORD Event);
   void JewelBankWithDrawSend(int type,int count);
   // ---
   void JewelBankSend(int slot);
   void GCCustomJewelBankInfoRecv(PSBMSG_JEWELBANK_RECV* lpMsg);


private:
   // ---
   CUSTOM_JEWELBANK_DATA m_Data;
   bool IsOpen;
   short StatusLoad;
   DWORD StatusTick;
   int Loading;
   int JewelEnable;
   int Bless;
   int Soul;
   int Life;
   int Creation;
   int Guardian;
   int GemStone;
   int Harmony;
   int Chaos;
   int LowStone;
   int HighStone;
   int Page;
};
extern CCustomJewelBank gCustomJewelBank;


Offline dakosmu #56 Posteado: January 20, 2024, 12:28:25 AM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve


https://imgur.com/a/BWiSGIz

Funciona bien aqui

que Source usted esta usando? Link

Puede TEST CustomJewelBank.cpp

Code: [Select]
#include "stdafx.h"
#include "CustomJewelBank.h"
#include "Defines.h"
#include "Import.h"
#include "Interface.h"
#include "Offset.h"
#include "Protect.h"
#include "Util.h"
#include "HealthBar.h"
#include "Import.h"
#include "Object.h"
#include "PrintPlayer.h"
#include "User.h"

CCustomJewelBank gCustomJewelBank;

CCustomJewelBank::CCustomJewelBank()
{
    this->m_Data.Bless = 0;
    this->m_Data.Soul = 0;
    this->m_Data.Life = 0;
    this->m_Data.Creation = 0;
    this->m_Data.Guardian = 0;
    this->m_Data.GemStone = 0;
    this->m_Data.Harmony = 0;
    this->m_Data.Chaos = 0;
    this->m_Data.LowStone = 0;
    this->m_Data.HighStone = 0;
    this->Page = 0;
}

void CCustomJewelBank::DrawNewStatus()
{
    //if(gProtect.m_MainInfo.CustomAdvancedStausEnable != 1)
    //{
    //   return;
    //}

}

void CCustomJewelBank::JewelBankSend(int slot)
{
    if ((GetTickCount() - this->StatusTick) < 400)
    {
        //gInterface.Data[eEventTimePANEL_MAIN].OnShow = false;
        return;
    }

    if (slot < 0)
    {
        return;
    }

    this->StatusTick = GetTickCount();

    //this->JewelEnable = false;

    PSBMSG_JEWELBANK_SEND pMsg;

    pMsg.slot = slot;

    pMsg.header.set(0xF3, 0xF5, sizeof(pMsg));

    DataSend((BYTE*)&pMsg, pMsg.header.size);
}

void CCustomJewelBank::GCCustomJewelBankInfoRecv(PSBMSG_JEWELBANK_RECV* lpMsg) // OK
{
    this->m_Data.Bless = lpMsg->Bless;
    this->m_Data.Soul = lpMsg->Soul;
    this->m_Data.Life = lpMsg->Life;
    this->m_Data.Creation = lpMsg->Creation;
    this->m_Data.Guardian = lpMsg->Guardian;
    this->m_Data.GemStone = lpMsg->GemStone;
    this->m_Data.Harmony = lpMsg->Harmony;
    this->m_Data.Chaos = lpMsg->Chaos;
    this->m_Data.LowStone = lpMsg->LowStone;
    this->m_Data.HighStone = lpMsg->HighStone;

    this->JewelEnable = 1;
}

void InvetoryItemOver(int This)
{
    lpItemObj item = (lpItemObj) * (DWORD*)(This + 84);

    if (item)
    {
        if (GetKeyState(VK_RBUTTON) & 0x8000 && GetKeyState(VK_SHIFT) & 0x8000)
        {
            int start = 12;
            if (*(DWORD*)(This + 44) == 200)
            {
                start = 12;
            }
            else if (*(DWORD*)(This + 44) == 44)
            {
                start = 76;
            }
            else if (*(DWORD*)(This + 44) == 131)
            {
                start = 108;
            }

            int Slot = item->PosX + (item->PosY * 8) + start;

            gCustomJewelBank.JewelBankSend(Slot);
        }
    }

    ((void(__thiscall*)(int))0x007DCF20)(This);
}

void CCustomJewelBank::Load()
{
    SetCompleteHook(0xE8, 0x007DD0D9, &InvetoryItemOver);
}

void CCustomJewelBank::DrawJewelBankWindow()
{

    if (gInterface.Data[eJewelBank_MAIN].OnShow == false)
    {
        return;
    }

    if (gInterface.CheckWindow(SkillTree) || gInterface.CheckWindow(Character) || gInterface.CheckWindow(Shop) || gInterface.CheckWindow(CreateGuild) || gInterface.CheckWindow(ChatWindow) || gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(MuHelper) || gInterface.CheckWindow(Store) || gInterface.CheckWindow(Warehouse) || gInterface.CheckWindow(Trade) || gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(MoveList) || gInterface.CheckWindow(ChaosBox))
    {
        if (gInterface.Data[eJewelBank_MAIN].OnShow == true)
        {
            gInterface.Data[eJewelBank_MAIN].OnShow = false;
            pSetCursorFocus = false;
            return;
        }
    }

    int BackSpace = 0;

    if (gInterface.CheckWindow(ExpandInventory))
    {
        BackSpace = 180.0;
    }

    pSetCursorFocus = true;
    float MainWidth = 230.0;
    float MainHeight = 180.0;
    float StartBody = 55.0;
    float StartY = 55.0;
    float StartX = (MAX_WIN_WIDTH / 2) - (MainWidth / 2) - BackSpace;
    float MainCenter = StartX + (MainWidth / 3);
    float ButtonX = MainCenter - (float)(29.0 / 2);
    // ----
    gInterface.DrawGUI(eJewelBank_MAIN, StartX, StartY + (float)2.0);
    gInterface.DrawGUI(eJewelBank_TITLE, StartX, StartY);
    StartY = gInterface.DrawRepeatGUI(eJewelBank_FRAME, StartX, StartY + (float)5.0, 13);
    gInterface.DrawGUI(eJewelBank_FOOTER, StartX, StartY);
    gInterface.DrawGUI(eJewelBank_CLOSE, StartX + MainWidth - gInterface.Data[eJewelBank_CLOSE].Width, StartBody);
    // ----
    DWORD Color = eGray100;
    if (gInterface.IsWorkZone(eJewelBank_CLOSE))
    {
        // ----
        if (gInterface.Data[eJewelBank_CLOSE].OnClick)
        {
            Color = eGray150;
        }
        // ----
        gInterface.DrawColoredGUI(eJewelBank_CLOSE, gInterface.Data[eJewelBank_CLOSE].X, StartBody, Color);
        gInterface.DrawToolTip((int)gInterface.Data[eJewelBank_CLOSE].X + 5, (int)gInterface.Data[eJewelBank_CLOSE].Y + 25, gCustomMessage.GetMessageB(388));
    }

    gInterface.DrawFormat(eGold, (int)StartX + 10, (int)StartBody + 10, 210, 3, "Jewels Bank");

    if (this->JewelEnable == 1)
    {
        StartBody -= 15;

        if (this->Page == 0)
        {
            gInterface.DrawGUI(eJewelBank_NEXT, StartX + MainWidth - gInterface.Data[eSAMPLEBUTTON].Width - 10, 170);
            gInterface.ResetDrawIMG(eJewelBank_PREV);
        }
        else
        {
            gInterface.DrawGUI(eJewelBank_PREV, StartX + MainWidth - gInterface.Data[eSAMPLEBUTTON].Width - 8, 170);
            gInterface.ResetDrawIMG(eJewelBank_NEXT);
        }

        for (int i = (5 * this->Page); i < (5 * this->Page) + 5; i++)
        {
            int posxx = 0;
            int WidthValue = 18;
            int HeightValue = 20;

            int posyy = (i >= 5) ? (i - 5) : i;

            if (i == 0)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7181);

                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 80 + (34 * posyy), barWidth, barHeight, 7181 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 52, 1, gCustomMessage.GetMessageB(1806));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Bless);
            }
            if (i == 1)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7182);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 80 + (34 * posyy), barWidth, barHeight, 7182 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 52, 1, gCustomMessage.GetMessageB(1807));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Soul);
            }
            if (i == 2)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7184);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 85 + (34 * posyy), barWidth, barHeight, 7184 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 52, 1, gCustomMessage.GetMessageB(3312));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Life);
            }
            if (i == 3)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7190);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 85 + (34 * posyy), barWidth, barHeight, 7190 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3313));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Creation);
            }
            if (i == 4)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7199);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 75 + (34 * posyy), barWidth, barHeight, 7199 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3314));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Guardian);
            }
            if (i == 5)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7209);

                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 80 + (34 * posyy), barWidth, barHeight, 7209 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, "GemStone");
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.GemStone);
            }
            if (i == 6)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7210);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 85 + (34 * posyy), barWidth, barHeight, 7210 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3315));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Harmony);
            }
            if (i == 7)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(6159);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 75 + (34 * posyy), barWidth, barHeight, 6159 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 52, 1, gCustomMessage.GetMessageB(3316));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Chaos);
            }
            if (i == 8)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7211);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 88 + (34 * posyy), barWidth, barHeight, 7211 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3317));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.LowStone);
            }
            if (i == 9)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7212);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 85 + (34 * posyy), barWidth, barHeight, 7212 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3318));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.HighStone);
            }

            for (int j = (i * 5); j < (i * 5) + 5; j++)
            {
                gInterface.DrawGUI(eJewelBank_WITHDRAW + j, StartX + 100 + (18 * posxx), StartBody + 55 + (36 * posyy));

                if (posxx == 0)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "01");
                if (posxx == 1)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "10");
                if (posxx == 2)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "20");
                if (posxx == 3)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "30");
                if (posxx == 4)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "**");

                posxx++;
            }
        }

        gInterface.DrawFormat(eExcellent, StartX, StartBody + 240, 230, 3, "To deposit use SHIFT + Right Click!");
    }
    else
    {
        if (this->Loading == 1)
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), "..");
            this->Loading = 2;
        }
        else if (this->Loading == 2)
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), "...");
            this->Loading = 3;
        }
        else if (this->Loading == 3)
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), "....");
            this->Loading = 4;
        }
        else if (this->Loading == 4)
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), ".....");
            this->Loading = 0;
        }
        else
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), ".");
            this->Loading = 1;
        }
    }
}

void CCustomJewelBank::OpenWindow()
{
    if (gInterface.CheckWindow(SkillTree) || gInterface.CheckWindow(Shop) || gInterface.CheckWindow(CreateGuild) || gInterface.CheckWindow(ChatWindow) || gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(MuHelper) || gInterface.CheckWindow(Store) || gInterface.CheckWindow(Warehouse) || gInterface.CheckWindow(Trade) || gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(GuardNPC))
    {
        return;
    }

    if ((GetTickCount() - gInterface.Data[eJewelBank_MAIN].EventTick) < 500)
    {
        return;
    }

    gInterface.Data[eJewelBank_MAIN].EventTick = GetTickCount();

    if (gInterface.Data[eJewelBank_MAIN].OnShow == true)
    {
        gInterface.Data[eJewelBank_MAIN].OnShow = false;
        pSetCursorFocus = false;
        return;
    }

    gInterface.CloseCustomWindow();

    //gInterface.OpenWindow(Inventory);
    gInterface.CloseWindow(Character);
    gInterface.Data[eJewelBank_MAIN].OnShow = true;
    pSetCursorFocus = true;

}

bool CCustomJewelBank::CommandNext(DWORD Event)
{
    DWORD CurrentTick = GetTickCount();
    DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_NEXT].EventTick);
    DWORD Delay2 = (CurrentTick - gInterface.Data[eJewelBank_PREV].EventTick);

    if (!gInterface.Data[eJewelBank_MAIN].OnShow)
    {
        return false;
    }

    if (!gInterface.IsWorkZone(eJewelBank_NEXT))
    {
        return false;
    }

    if (Event == WM_LBUTTONDOWN)
    {
        gInterface.Data[eJewelBank_NEXT].OnClick = true;
        return true;
    }

    if (Delay < 300 || Delay2 < 300)
    {
        return false;
    }

    gInterface.Data[eJewelBank_NEXT].OnClick = false;

    this->Page++;

    gInterface.Data[eJewelBank_NEXT].EventTick = GetTickCount();


    return true;
}

bool CCustomJewelBank::CommandPrev(DWORD Event)
{
    DWORD CurrentTick = GetTickCount();
    DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_PREV].EventTick);
    DWORD Delay2 = (CurrentTick - gInterface.Data[eJewelBank_NEXT].EventTick);

    if (!gInterface.Data[eJewelBank_MAIN].OnShow)
    {
        return false;
    }

    if (!gInterface.IsWorkZone(eJewelBank_PREV))
    {
        return false;
    }

    if (Event == WM_LBUTTONDOWN)
    {
        gInterface.Data[eJewelBank_PREV].OnClick = true;
        return true;
    }

    if (Delay < 300 || Delay2 < 300)
    {
        return false;
    }

    gInterface.Data[eJewelBank_PREV].OnClick = false;

    this->Page--;

    gInterface.Data[eJewelBank_PREV].EventTick = GetTickCount();


    return true;
}

bool CCustomJewelBank::EventJewelBankWindow_Close(DWORD Event)
{
    DWORD CurrentTick = GetTickCount();
    DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_CLOSE].EventTick);
    // ----
    if (!gInterface.Data[eJewelBank_MAIN].OnShow || !gInterface.IsWorkZone(eJewelBank_CLOSE))
    {
        return false;
    }
    // ----
    if (Event == WM_LBUTTONDOWN)
    {
        gInterface.Data[eJewelBank_CLOSE].OnClick = true;
        return true;
    }
    // ----
    gInterface.Data[eJewelBank_CLOSE].OnClick = false;
    // ----
    if (Delay < 500)
    {
        return false;
    }
    // ----
    gInterface.Data[eJewelBank_CLOSE].EventTick = GetTickCount();
    gInterface.Data[eJewelBank_MAIN].OnShow = false;
    pSetCursorFocus = false;
    // ----
    return false;
}

bool CCustomJewelBank::EventJewelBankWithDraw(DWORD Event)
{
    DWORD CurrentTick = GetTickCount();
    //DWORD Delay         = (CurrentTick - this->Data[eDIABLO_CLOSE].EventTick);

    if (!gInterface.Data[eJewelBank_MAIN].OnShow)
    {
        return false;
    }

    for (int i = 25 * Page; i < (25 * Page) + 25; i++)
    {
        if (gInterface.IsWorkZone(eJewelBank_WITHDRAW + i))
        {
            DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_WITHDRAW + i].EventTick);

            if (Event == WM_LBUTTONDOWN)
            {
                gInterface.Data[eJewelBank_WITHDRAW + i].OnClick = true;
                return true;
            }
            // ----
            gInterface.Data[eJewelBank_WITHDRAW + i].OnClick = false;
            // ----
            if (Delay < 300)
            {
                return false;
            }
            // ----

            int type = 0;
            int num = -1;
            int count = -1;

            if (i >= 45 && i < 50)
            {
                type = 9;
                num = i - 45;
            }
            if (i >= 40 && i < 45)
            {
                type = 8;
                num = i - 40;
            }
            if (i >= 35 && i < 40)
            {
                type = 7;
                num = i - 35;
            }
            if (i >= 30 && i < 35)
            {
                type = 6;
                num = i - 30;
            }
            if (i >= 25 && i < 30)
            {
                type = 5;
                num = i - 25;
            }
            if (i >= 20 && i < 25)
            {
                type = 4;
                num = i - 20;
            }
            if (i >= 15 && i < 20)
            {
                type = 3;
                num = i - 15;
            }
            if (i >= 10 && i < 15)
            {
                type = 2;
                num = i - 10;
            }
            if (i >= 5 && i < 10)
            {
                type = 1;
                num = i - 5;
            }
            if (i >= 0 && i < 5)
            {
                type = 0;
                num = i;
            }

            if (num == 0) count = 1;
            if (num == 1) count = 10;
            if (num == 2) count = 20;
            if (num == 3) count = 30;
            if (num == 4) count = 99;

            if (count <= 0)
                return false;

            this->JewelBankWithDrawSend(type, count);
            gInterface.Data[eJewelBank_WITHDRAW + i].EventTick = GetTickCount();
        }
    }
    return false;
}

void CCustomJewelBank::JewelBankWithDrawSend(int type, int count)
{
    if ((GetTickCount() - this->StatusTick) < 400)
    {
        return;
    }

    if ((GetTickCount() - gInterface.Data[eJewelBank_MAIN].EventTick) < 400)
    {
        return;
    }

    if (type < 0 || count < 0)
    {
        return;
    }

    this->StatusTick = GetTickCount();

    //this->JewelEnable = false;

    PSBMSG_JEWELBANKWITHDRAW_SEND pMsg;

    pMsg.type = type;

    pMsg.count = count;

    pMsg.header.set(0xF3, 0xF6, sizeof(pMsg));

    DataSend((BYTE*)&pMsg, pMsg.header.size);
}

que Source usted esta usando? Link??

Dakosmu Colaborador

Offline dakosmu #57 Posteado: January 20, 2024, 12:29:43 AM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve

link de los source?
Source ZonaMu.
[/quote]

No le entendi.

Usted esta usando Source Zonamu?

puede enviar link¡

Dakosmu Colaborador

Offline nhantac #58 Posteado: January 20, 2024, 01:29:18 AM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 60
  • Gracias recibida: 67
  • vn


https://imgur.com/a/BWiSGIz

Funciona bien aqui

que Source usted esta usando? Link

Puede TEST CustomJewelBank.cpp

Code: [Select]
#include "stdafx.h"
#include "CustomJewelBank.h"
#include "Defines.h"
#include "Import.h"
#include "Interface.h"
#include "Offset.h"
#include "Protect.h"
#include "Util.h"
#include "HealthBar.h"
#include "Import.h"
#include "Object.h"
#include "PrintPlayer.h"
#include "User.h"

CCustomJewelBank gCustomJewelBank;

CCustomJewelBank::CCustomJewelBank()
{
    this->m_Data.Bless = 0;
    this->m_Data.Soul = 0;
    this->m_Data.Life = 0;
    this->m_Data.Creation = 0;
    this->m_Data.Guardian = 0;
    this->m_Data.GemStone = 0;
    this->m_Data.Harmony = 0;
    this->m_Data.Chaos = 0;
    this->m_Data.LowStone = 0;
    this->m_Data.HighStone = 0;
    this->Page = 0;
}

void CCustomJewelBank::DrawNewStatus()
{
    //if(gProtect.m_MainInfo.CustomAdvancedStausEnable != 1)
    //{
    //   return;
    //}

}

void CCustomJewelBank::JewelBankSend(int slot)
{
    if ((GetTickCount() - this->StatusTick) < 400)
    {
        //gInterface.Data[eEventTimePANEL_MAIN].OnShow = false;
        return;
    }

    if (slot < 0)
    {
        return;
    }

    this->StatusTick = GetTickCount();

    //this->JewelEnable = false;

    PSBMSG_JEWELBANK_SEND pMsg;

    pMsg.slot = slot;

    pMsg.header.set(0xF3, 0xF5, sizeof(pMsg));

    DataSend((BYTE*)&pMsg, pMsg.header.size);
}

void CCustomJewelBank::GCCustomJewelBankInfoRecv(PSBMSG_JEWELBANK_RECV* lpMsg) // OK
{
    this->m_Data.Bless = lpMsg->Bless;
    this->m_Data.Soul = lpMsg->Soul;
    this->m_Data.Life = lpMsg->Life;
    this->m_Data.Creation = lpMsg->Creation;
    this->m_Data.Guardian = lpMsg->Guardian;
    this->m_Data.GemStone = lpMsg->GemStone;
    this->m_Data.Harmony = lpMsg->Harmony;
    this->m_Data.Chaos = lpMsg->Chaos;
    this->m_Data.LowStone = lpMsg->LowStone;
    this->m_Data.HighStone = lpMsg->HighStone;

    this->JewelEnable = 1;
}

void InvetoryItemOver(int This)
{
    lpItemObj item = (lpItemObj) * (DWORD*)(This + 84);

    if (item)
    {
        if (GetKeyState(VK_RBUTTON) & 0x8000 && GetKeyState(VK_SHIFT) & 0x8000)
        {
            int start = 12;
            if (*(DWORD*)(This + 44) == 200)
            {
                start = 12;
            }
            else if (*(DWORD*)(This + 44) == 44)
            {
                start = 76;
            }
            else if (*(DWORD*)(This + 44) == 131)
            {
                start = 108;
            }

            int Slot = item->PosX + (item->PosY * 8) + start;

            gCustomJewelBank.JewelBankSend(Slot);
        }
    }

    ((void(__thiscall*)(int))0x007DCF20)(This);
}

void CCustomJewelBank::Load()
{
    SetCompleteHook(0xE8, 0x007DD0D9, &InvetoryItemOver);
}

void CCustomJewelBank::DrawJewelBankWindow()
{

    if (gInterface.Data[eJewelBank_MAIN].OnShow == false)
    {
        return;
    }

    if (gInterface.CheckWindow(SkillTree) || gInterface.CheckWindow(Character) || gInterface.CheckWindow(Shop) || gInterface.CheckWindow(CreateGuild) || gInterface.CheckWindow(ChatWindow) || gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(MuHelper) || gInterface.CheckWindow(Store) || gInterface.CheckWindow(Warehouse) || gInterface.CheckWindow(Trade) || gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(MoveList) || gInterface.CheckWindow(ChaosBox))
    {
        if (gInterface.Data[eJewelBank_MAIN].OnShow == true)
        {
            gInterface.Data[eJewelBank_MAIN].OnShow = false;
            pSetCursorFocus = false;
            return;
        }
    }

    int BackSpace = 0;

    if (gInterface.CheckWindow(ExpandInventory))
    {
        BackSpace = 180.0;
    }

    pSetCursorFocus = true;
    float MainWidth = 230.0;
    float MainHeight = 180.0;
    float StartBody = 55.0;
    float StartY = 55.0;
    float StartX = (MAX_WIN_WIDTH / 2) - (MainWidth / 2) - BackSpace;
    float MainCenter = StartX + (MainWidth / 3);
    float ButtonX = MainCenter - (float)(29.0 / 2);
    // ----
    gInterface.DrawGUI(eJewelBank_MAIN, StartX, StartY + (float)2.0);
    gInterface.DrawGUI(eJewelBank_TITLE, StartX, StartY);
    StartY = gInterface.DrawRepeatGUI(eJewelBank_FRAME, StartX, StartY + (float)5.0, 13);
    gInterface.DrawGUI(eJewelBank_FOOTER, StartX, StartY);
    gInterface.DrawGUI(eJewelBank_CLOSE, StartX + MainWidth - gInterface.Data[eJewelBank_CLOSE].Width, StartBody);
    // ----
    DWORD Color = eGray100;
    if (gInterface.IsWorkZone(eJewelBank_CLOSE))
    {
        // ----
        if (gInterface.Data[eJewelBank_CLOSE].OnClick)
        {
            Color = eGray150;
        }
        // ----
        gInterface.DrawColoredGUI(eJewelBank_CLOSE, gInterface.Data[eJewelBank_CLOSE].X, StartBody, Color);
        gInterface.DrawToolTip((int)gInterface.Data[eJewelBank_CLOSE].X + 5, (int)gInterface.Data[eJewelBank_CLOSE].Y + 25, gCustomMessage.GetMessageB(388));
    }

    gInterface.DrawFormat(eGold, (int)StartX + 10, (int)StartBody + 10, 210, 3, "Jewels Bank");

    if (this->JewelEnable == 1)
    {
        StartBody -= 15;

        if (this->Page == 0)
        {
            gInterface.DrawGUI(eJewelBank_NEXT, StartX + MainWidth - gInterface.Data[eSAMPLEBUTTON].Width - 10, 170);
            gInterface.ResetDrawIMG(eJewelBank_PREV);
        }
        else
        {
            gInterface.DrawGUI(eJewelBank_PREV, StartX + MainWidth - gInterface.Data[eSAMPLEBUTTON].Width - 8, 170);
            gInterface.ResetDrawIMG(eJewelBank_NEXT);
        }

        for (int i = (5 * this->Page); i < (5 * this->Page) + 5; i++)
        {
            int posxx = 0;
            int WidthValue = 18;
            int HeightValue = 20;

            int posyy = (i >= 5) ? (i - 5) : i;

            if (i == 0)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7181);

                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 80 + (34 * posyy), barWidth, barHeight, 7181 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 52, 1, gCustomMessage.GetMessageB(1806));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Bless);
            }
            if (i == 1)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7182);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 80 + (34 * posyy), barWidth, barHeight, 7182 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 52, 1, gCustomMessage.GetMessageB(1807));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Soul);
            }
            if (i == 2)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7184);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 85 + (34 * posyy), barWidth, barHeight, 7184 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 52, 1, gCustomMessage.GetMessageB(3312));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Life);
            }
            if (i == 3)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7190);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 85 + (34 * posyy), barWidth, barHeight, 7190 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3313));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Creation);
            }
            if (i == 4)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7199);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 75 + (34 * posyy), barWidth, barHeight, 7199 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3314));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Guardian);
            }
            if (i == 5)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7209);

                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 80 + (34 * posyy), barWidth, barHeight, 7209 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, "GemStone");
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.GemStone);
            }
            if (i == 6)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7210);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 85 + (34 * posyy), barWidth, barHeight, 7210 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3315));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Harmony);
            }
            if (i == 7)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(6159);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 75 + (34 * posyy), barWidth, barHeight, 6159 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 52, 1, gCustomMessage.GetMessageB(3316));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.Chaos);
            }
            if (i == 8)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7211);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 88 + (34 * posyy), barWidth, barHeight, 7211 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3317));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.LowStone);
            }
            if (i == 9)
            {
                ItemBmdStruct* ItemInfo = pGetItemBmdStruct(7212);
                float barWidth = WidthValue * ItemInfo->ItemWidth;
                float barHeight = HeightValue * ItemInfo->ItemHeight;

                gInterface.DrawItem(StartX + 20, StartBody + 85 + (34 * posyy), barWidth, barHeight, 7212 + ITEM_BASE_MODEL, SET_ITEMOPT_LEVEL(0), 0, 0, 0);

                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 57 + (36 * posyy), 60, 1, gCustomMessage.GetMessageB(3318));
                gInterface.DrawFormat(eGold, StartX + 35, StartBody + 67 + (36 * posyy), 52, 1, "x %d", this->m_Data.HighStone);
            }

            for (int j = (i * 5); j < (i * 5) + 5; j++)
            {
                gInterface.DrawGUI(eJewelBank_WITHDRAW + j, StartX + 100 + (18 * posxx), StartBody + 55 + (36 * posyy));

                if (posxx == 0)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "01");
                if (posxx == 1)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "10");
                if (posxx == 2)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "20");
                if (posxx == 3)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "30");
                if (posxx == 4)
                    gInterface.DrawFormat(eGold, StartX + 105 + (18 * posxx), StartBody + 59 + (36 * posyy), 52, 1, "**");

                posxx++;
            }
        }

        gInterface.DrawFormat(eExcellent, StartX, StartBody + 240, 230, 3, "To deposit use SHIFT + Right Click!");
    }
    else
    {
        if (this->Loading == 1)
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), "..");
            this->Loading = 2;
        }
        else if (this->Loading == 2)
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), "...");
            this->Loading = 3;
        }
        else if (this->Loading == 3)
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), "....");
            this->Loading = 4;
        }
        else if (this->Loading == 4)
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), ".....");
            this->Loading = 0;
        }
        else
        {
            gInterface.DrawFormat(eGold, MainCenter + 30, StartBody + 100, 52, 1, gCustomMessage.GetMessage(133), ".");
            this->Loading = 1;
        }
    }
}

void CCustomJewelBank::OpenWindow()
{
    if (gInterface.CheckWindow(SkillTree) || gInterface.CheckWindow(Shop) || gInterface.CheckWindow(CreateGuild) || gInterface.CheckWindow(ChatWindow) || gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(MuHelper) || gInterface.CheckWindow(Store) || gInterface.CheckWindow(Warehouse) || gInterface.CheckWindow(Trade) || gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(GuardNPC))
    {
        return;
    }

    if ((GetTickCount() - gInterface.Data[eJewelBank_MAIN].EventTick) < 500)
    {
        return;
    }

    gInterface.Data[eJewelBank_MAIN].EventTick = GetTickCount();

    if (gInterface.Data[eJewelBank_MAIN].OnShow == true)
    {
        gInterface.Data[eJewelBank_MAIN].OnShow = false;
        pSetCursorFocus = false;
        return;
    }

    gInterface.CloseCustomWindow();

    //gInterface.OpenWindow(Inventory);
    gInterface.CloseWindow(Character);
    gInterface.Data[eJewelBank_MAIN].OnShow = true;
    pSetCursorFocus = true;

}

bool CCustomJewelBank::CommandNext(DWORD Event)
{
    DWORD CurrentTick = GetTickCount();
    DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_NEXT].EventTick);
    DWORD Delay2 = (CurrentTick - gInterface.Data[eJewelBank_PREV].EventTick);

    if (!gInterface.Data[eJewelBank_MAIN].OnShow)
    {
        return false;
    }

    if (!gInterface.IsWorkZone(eJewelBank_NEXT))
    {
        return false;
    }

    if (Event == WM_LBUTTONDOWN)
    {
        gInterface.Data[eJewelBank_NEXT].OnClick = true;
        return true;
    }

    if (Delay < 300 || Delay2 < 300)
    {
        return false;
    }

    gInterface.Data[eJewelBank_NEXT].OnClick = false;

    this->Page++;

    gInterface.Data[eJewelBank_NEXT].EventTick = GetTickCount();


    return true;
}

bool CCustomJewelBank::CommandPrev(DWORD Event)
{
    DWORD CurrentTick = GetTickCount();
    DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_PREV].EventTick);
    DWORD Delay2 = (CurrentTick - gInterface.Data[eJewelBank_NEXT].EventTick);

    if (!gInterface.Data[eJewelBank_MAIN].OnShow)
    {
        return false;
    }

    if (!gInterface.IsWorkZone(eJewelBank_PREV))
    {
        return false;
    }

    if (Event == WM_LBUTTONDOWN)
    {
        gInterface.Data[eJewelBank_PREV].OnClick = true;
        return true;
    }

    if (Delay < 300 || Delay2 < 300)
    {
        return false;
    }

    gInterface.Data[eJewelBank_PREV].OnClick = false;

    this->Page--;

    gInterface.Data[eJewelBank_PREV].EventTick = GetTickCount();


    return true;
}

bool CCustomJewelBank::EventJewelBankWindow_Close(DWORD Event)
{
    DWORD CurrentTick = GetTickCount();
    DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_CLOSE].EventTick);
    // ----
    if (!gInterface.Data[eJewelBank_MAIN].OnShow || !gInterface.IsWorkZone(eJewelBank_CLOSE))
    {
        return false;
    }
    // ----
    if (Event == WM_LBUTTONDOWN)
    {
        gInterface.Data[eJewelBank_CLOSE].OnClick = true;
        return true;
    }
    // ----
    gInterface.Data[eJewelBank_CLOSE].OnClick = false;
    // ----
    if (Delay < 500)
    {
        return false;
    }
    // ----
    gInterface.Data[eJewelBank_CLOSE].EventTick = GetTickCount();
    gInterface.Data[eJewelBank_MAIN].OnShow = false;
    pSetCursorFocus = false;
    // ----
    return false;
}

bool CCustomJewelBank::EventJewelBankWithDraw(DWORD Event)
{
    DWORD CurrentTick = GetTickCount();
    //DWORD Delay         = (CurrentTick - this->Data[eDIABLO_CLOSE].EventTick);

    if (!gInterface.Data[eJewelBank_MAIN].OnShow)
    {
        return false;
    }

    for (int i = 25 * Page; i < (25 * Page) + 25; i++)
    {
        if (gInterface.IsWorkZone(eJewelBank_WITHDRAW + i))
        {
            DWORD Delay = (CurrentTick - gInterface.Data[eJewelBank_WITHDRAW + i].EventTick);

            if (Event == WM_LBUTTONDOWN)
            {
                gInterface.Data[eJewelBank_WITHDRAW + i].OnClick = true;
                return true;
            }
            // ----
            gInterface.Data[eJewelBank_WITHDRAW + i].OnClick = false;
            // ----
            if (Delay < 300)
            {
                return false;
            }
            // ----

            int type = 0;
            int num = -1;
            int count = -1;

            if (i >= 45 && i < 50)
            {
                type = 9;
                num = i - 45;
            }
            if (i >= 40 && i < 45)
            {
                type = 8;
                num = i - 40;
            }
            if (i >= 35 && i < 40)
            {
                type = 7;
                num = i - 35;
            }
            if (i >= 30 && i < 35)
            {
                type = 6;
                num = i - 30;
            }
            if (i >= 25 && i < 30)
            {
                type = 5;
                num = i - 25;
            }
            if (i >= 20 && i < 25)
            {
                type = 4;
                num = i - 20;
            }
            if (i >= 15 && i < 20)
            {
                type = 3;
                num = i - 15;
            }
            if (i >= 10 && i < 15)
            {
                type = 2;
                num = i - 10;
            }
            if (i >= 5 && i < 10)
            {
                type = 1;
                num = i - 5;
            }
            if (i >= 0 && i < 5)
            {
                type = 0;
                num = i;
            }

            if (num == 0) count = 1;
            if (num == 1) count = 10;
            if (num == 2) count = 20;
            if (num == 3) count = 30;
            if (num == 4) count = 99;

            if (count <= 0)
                return false;

            this->JewelBankWithDrawSend(type, count);
            gInterface.Data[eJewelBank_WITHDRAW + i].EventTick = GetTickCount();
        }
    }
    return false;
}

void CCustomJewelBank::JewelBankWithDrawSend(int type, int count)
{
    if ((GetTickCount() - this->StatusTick) < 400)
    {
        return;
    }

    if ((GetTickCount() - gInterface.Data[eJewelBank_MAIN].EventTick) < 400)
    {
        return;
    }

    if (type < 0 || count < 0)
    {
        return;
    }

    this->StatusTick = GetTickCount();

    //this->JewelEnable = false;

    PSBMSG_JEWELBANKWITHDRAW_SEND pMsg;

    pMsg.type = type;

    pMsg.count = count;

    pMsg.header.set(0xF3, 0xF6, sizeof(pMsg));

    DataSend((BYTE*)&pMsg, pMsg.header.size);
}

que Source usted esta usando? Link??
https://tuservermu.com.ve/index.php?topic=59904.msg303547#msg303547
mình dùng src của bạn T-LEGENDARY


Offline dakosmu #59 Posteado: January 20, 2024, 02:41:47 AM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 632
  • Gracias recibida: 6136
  • ve


https://tuservermu.com.ve/index.php?topic=59904.msg303547#msg303547
mình dùng src của bạn T-LEGENDARY






No puedo ayudarlo.
source no tener aplicado el banco de joyas,  shocked2

Usted debe agregarlo y compartirlo conmigo . para lograr darle ayuda. saludos

 cool2

Dakosmu Colaborador

Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
79 Replies
18576 Views
Last post July 18, 2023, 09:11:07 AM
by hungngok9x
29 Replies
5304 Views
Last post December 12, 2023, 09:24:25 PM
by MsotoC
2 Replies
2071 Views
Last post July 26, 2023, 05:30:14 PM
by OBBY
17 Replies
3431 Views
Last post April 18, 2024, 04:04:51 AM
by showmax
0 Replies
861 Views
Last post January 20, 2024, 07:25:16 PM
by dakosmu