Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: FILES FOX V13 - + SLOT PET+FLAG SYSTEM + SKIN SYSTEM (Source)  (Visto 14255 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline osvaldo1811 #80 Posteado: January 30, 2024, 07:02:48 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 428
  • Gracias recibida: 110
  • ar
hola. alguien me puede decir porque todos los personajes al hacer el reset van a lorencia y en el caso de la elfa tendria que ir a noria y la summoner a elveland pero van a lorencia. gracias

Estoy usando estos files y aquí es normal, incluso he cambiado varias cosas en el código fuente.
Quizás la solución esté en gate.txt

hola mira yo encontré esto en el gate que es a donde me manda al resetear

348     1    0     144    127    145     128     0             0          0     *       *          *     0           1 //Move Reset Lorencia
si lo quito me hace el reset en el lugar

el mapa y coordenadas que ponga yo en ese index es a donde manda a todos los personajes y como ya dije antes si lo quito me hace el reset en el lugar. también me fije en el game server la configuración del reset por si ahi esta mara que resetee en el lugar pero no.

otra consulta el custom mix lo pudiste configurar y te funciona porque a mi no y yo no toque nada en la src

Gracias:


Offline osvaldo1811 #81 Posteado: January 30, 2024, 07:08:57 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 428
  • Gracias recibida: 110
  • ar
hola. alguien me puede decir porque todos los personajes al hacer el reset van a lorencia y en el caso de la elfa tendria que ir a noria y la summoner a elveland pero van a lorencia. gracias

Estoy usando estos files y aquí es normal, incluso he cambiado varias cosas en el código fuente.
Quizás la solución esté en gate.txt

el problema esta en la src asi que es raro que a vos te ande bien. mira como esta en la src


if(gServerInfo.m_CommandResetMove[lpObj->AccountLevel] != 0)
{
   switch(lpObj->Class)
   {
      case CLASS_DW:
         gObjMoveGate(lpObj->Index,348);
         break;
      case CLASS_DK:
         gObjMoveGate(lpObj->Index,348);
         break;
      case CLASS_FE:
         gObjMoveGate(lpObj->Index,348);
         break;
      case CLASS_MG:
         gObjMoveGate(lpObj->Index,348);
         break;
      case CLASS_DL:
         gObjMoveGate(lpObj->Index,348);
         break;
      case CLASS_SU:
         gObjMoveGate(lpObj->Index,348);
         break;
      case CLASS_RF:
         gObjMoveGate(lpObj->Index,348);
         break;
   }
}
hola mira yo encontré esto en el gate que es a donde me manda al resetear

348     1    0     144    127    145     128     0             0          0     *       *          *     0           1 //Move Reset Lorencia
si lo quito me hace el reset en el lugar

el mapa y coordenadas que ponga yo en ese index es a donde manda a todos los personajes y como ya dije antes si lo quito me hace el reset en el lugar. también me fije en el game server la configuración del reset por si ahi esta mara que resetee en el lugar pero no.

otra consulta el custom mix lo pudiste configurar y te funciona porque a mi no y yo no toque nada en la src


Offline osvaldo1811 #82 Posteado: February 03, 2024, 05:44:58 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 428
  • Gracias recibida: 110
  • ar
hola como están. consulta alguien pudo solucionar el problema con el party en el cual cuando son mas de 7 personajes en el party usas la tecla P y se le cierra el cliente al líder del party y al ultimo.

Esto otro es a modo comentario la Store en versiones para S2/S3 no funciona y los mobs que están en icarus Mega Crust tiene un problema visual.

y si alguien mas esta probando la source me puede decir como configuro o deshabilito el antifloot porque me banea todo el tiempo las cuentas al relogear el serve
El resto esta todo genial y funciona todo perfecto gracias por el aporte.


Offline osvaldo1811 #83 Posteado: February 03, 2024, 08:00:43 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 428
  • Gracias recibida: 110
  • ar
hola como están. consulta alguien pudo solucionar el problema con el party en el cual cuando son mas de 7 personajes en el party usas la tecla P y se le cierra el cliente al líder del party y al ultimo.

Esto otro es a modo comentario la Store en versiones para S2/S3 no funciona y los mobs que están en icarus Mega Crust tiene un problema visual.

y si alguien mas esta probando la source me puede decir como configuro o deshabilito el antifloot porque me banea todo el tiempo las cuentas al relogear el serve
El resto esta todo genial y funciona todo perfecto gracias por el aporte.

el pajaro del DL al estar equipado por momendos no se ve hay que sacarlo y volver a colocarlo para que se vea.


Offline kijo23312 #84 Posteado: February 03, 2024, 10:03:47 AM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 6
  • Gracias recibida: 1
  • mx
Alguien sabe como se colocan las flags? :)


Offline wellwisher22 #85 Posteado: March 07, 2024, 10:40:34 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 239
  • Gracias recibida: 1963
  • br
1 Bug Novo Slot Pet não dá status dos pets e quando move de mapa ele some!


Offline Alejandra(-_-) #86 Posteado: March 20, 2024, 04:42:15 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 9
  • Gracias recibida: 20
  • mx
que codigo tendria q poner para que el pj no camine cuando abro el panel de opciones por que cuando abro el panel y doy clic en una opcion el pj camina no deberia pero camina creo que falta una definición o algo haber si me apoyan :v
solo te falta agregar el setcursor a esa parte del code nada mas
Can you give more details about which part? I'm bad at scr code
shared src !!
https://mega.nz/file/HN5BGYII#44njM_x0bOTl_tX5c0DOhoxxprUVMpSj5cTvcWtozxQ
mejor dime que parte del codigo no que me pases todo una source !! asi te ayudo bro !!

Code: [Select]
#include "stdafx.h"
#if WINDOWS_QUEST
#include "WindowsQuest.h"
#include "Interface.h"
#include "Protocol.h"
#include "Item.h"
#include "Offset.h"
#include "Item.h"
#include "Defines.h"
#include "CustomMap.h"
#include "Common.h"
#include "Protect.h"
#include "Central.h"

// ----------------------------------------------------------------------------------------------

WinQuestSystem gWinQuestSystem;
// ----------------------------------------------------------------------------------------------

WinQuestSystem::WinQuestSystem()
{
this->Init();
}
// ----------------------------------------------------------------------------------------------

WinQuestSystem::~WinQuestSystem()
{
// --
}
// ----------------------------------------------------------------------------------------------

void WinQuestSystem::Init()
{
// --
this->DrawMiniInfoFlag = false;
ZeroMemory(&this->ewdata, sizeof(this->ewdata));
}
// ----------------------------------------------------------------------------------------------

void WinQuestSystem::Load()
{
this->Init();
}
// ----------------------------------------------------------------------------------------------

void WinQuestSystem::ImageLoad()
{
pLoadImage("Custom\\Interface\\Party_info_block.tga", ex_INFO_2, 0x2601, 0x2900, 1, 0);
pLoadImage("Custom\\Interface\\newui_cha_textbox03.tga", ex_TEXT_BOX3, 0x2601, 0x2900, 1, 0);
}
// ----------------------------------------------------------------------------------------------

void WinQuestSystem::BindImages()
{
int eWHig;

eWHig = 423;
gInterface.BindObject(OBJECT_WIN_QUEST_FINISH, 0x7A62, 90, 15.5, -1, -1); //Boton Accept Quest
gInterface.BindObject(OBJECT_WIN_QUEST_MAIN, 0x7A5A, 222, eWHig, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_TITLE, 0x7A63, 230, 67, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_FRAME, 0x7A58, 230, 15, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_FOOTER, 0x7A59, 230, 50, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_DIV, 0x7A62, 223, 21, -1, -1); //Dividor lineas
gInterface.BindObject(OBJECT_WIN_QUEST_CLOSE, 51522, 16, 16, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_TAB, 51522, 166, 22, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_TAB1, 51522, 70, 15, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_TAB2, 51522, 70, 15, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_TAB3, 51522, 70, 15, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_COUNT1, 0x7BAC, 168, 18, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_COUNT2, 0x7BAC, 168, 18, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_COUNT3, 0x7BAC, 168, 18, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_INFOBG, 0x7AA3, 170, 21, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_INFOBG2, 0x7AA1, 170, 22, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_LINE1, 0x7B67, 154, 3, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_POINT1, 0x7B68, 10, 10, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_INFO, ex_INFO_2, 22, 19, -1, -1);
gInterface.BindObject(OBJECT_WIN_QUEST_INFOBG3, ex_TEXT_BOX3, 170, 21, -1, -1);
gInterface.BindObject(OPEN_QUEST, 0x7904, 25, 40, -1, -1);
}
// ----------------------------------------------------------------------------------------------

void WinQuestSystem::Draw()
{
if (!gInterface.Data[OBJECT_WIN_QUEST_MAIN].OnShow)
{
return;
}

pSetCursorFocus = true;

pSetBlend(true);

int a = this->OpenTab;

// int Addradd = pWinWidth / pWinHeightReal / 2 - 320;
DWORD ItemNameColor = eWhite;
float MainWidth = 210.0;
float MainHeight = 400.0;
float StartY = ((MAX_WIN_HEIGHT - 51) / 2) - (MainHeight / 2);
float StartX = (MAX_WIN_WIDTH / 2) - (MainWidth / 2);
float MainCenter = StartX + (MainWidth / 3);
float ButtonX = MainCenter - (float)(29.0 / 2);

float ContentX = StartX;
float ContentY = StartY;

float TabX = StartX + 30;
float TabY = ContentY + 30 + 5;
float InfoX = 0;
float InfoY = 0;
int InfoA = 0;
int InfoM = 0;
int bColor = 0;
//--
gInterface.Data[OBJECT_WIN_QUEST_MAIN].MaxX = StartX + MainWidth;
gInterface.Data[OBJECT_WIN_QUEST_MAIN].MaxY = StartY + MainHeight;

gCentral.DrawDropBox(StartX, StartY, MainWidth, MainHeight, 0, 0);

gInterface.DrawFormat(eBlue250, (int)StartX, (int)StartY + 10, 210, 3, "Windows Quest");



gInterface.DrawGUI(OBJECT_WIN_QUEST_CLOSE, StartX + MainWidth - gInterface.Data[OBJECT_WIN_QUEST_CLOSE].Width -5, ContentY+5);
gCentral.DrawDropBox(StartX + MainWidth - gInterface.Data[OBJECT_WIN_QUEST_CLOSE].Width-5, ContentY+5, 16, 16, 0, 0);
gInterface.DrawText603(eRed, StartX + MainWidth - gInterface.Data[OBJECT_WIN_QUEST_CLOSE].Width -26, ContentY + 8, 60, 3, "X");
// ----
if (gInterface.IsWorkZone(OBJECT_WIN_QUEST_CLOSE))
{
DWORD Color = eGray100;
// ----
if (gInterface.Data[OBJECT_WIN_QUEST_CLOSE].OnClick)
{
Color = eGray150;
}
// ----
gInterface.DrawColoredGUI(OBJECT_WIN_QUEST_CLOSE, gInterface.Data[OBJECT_WIN_QUEST_CLOSE].X, gInterface.Data[OBJECT_WIN_QUEST_CLOSE].Y, Color);
gInterface.DrawToolTip(gInterface.Data[OBJECT_WIN_QUEST_CLOSE].X + 5, gInterface.Data[OBJECT_WIN_QUEST_CLOSE].Y + 25, "Close");
}
// ------------------------------------
if (this->OpenTab == 0)
{
gInterface.DrawGUI(OBJECT_WIN_QUEST_TAB1, TabX, TabY);
gCentral.DrawDropBox(TabX, TabY, 70, 15, 0, 0);

gInterface.DrawGUI(OBJECT_WIN_QUEST_TAB2, TabX + 80, TabY);
gCentral.DrawDropBox(TabX + 80, TabY, 70, 15, 0, 0);
}
else if (this->OpenTab == 1)
{
gInterface.DrawGUI(OBJECT_WIN_QUEST_TAB1, TabX, TabY);
gCentral.DrawDropBox(TabX, TabY, 70, 15, 0, 0);

gInterface.DrawGUI(OBJECT_WIN_QUEST_TAB2, TabX + 80, TabY);
gCentral.DrawDropBox(TabX + 80, TabY, 70, 15, 0, 0);
}

if (this->ewdata[0].b_End)
{
gInterface.DrawText603(eRed, TabX+2, TabY + 3, 60, 3, "Off");
}
else
{
gInterface.DrawText603(eGold, TabX+2, TabY + 3, 60, 3, "first Quest");


}
if (this->ewdata[1].b_End)
{
gInterface.DrawText603(eRed, TabX + 80, TabY + 3, 60, 3, "Off");
}
else
{
gInterface.DrawText603(eGold, TabX + 82, TabY + 3, 60, 3, "second Quest");
}

// ------------------------------------
// -> End Quest
// ------------------------------------
if (this->ewdata[a].b_End)
{
float EndY = ContentY + 53;
gInterface.DrawGUI(OBJECT_WIN_QUEST_INFOBG3, StartX + 30, EndY + 12);
gInterface.DrawText603(eAncient, ContentX + 30, EndY + 17, 170, 3, "End");
gInterface.Data[OBJECT_WIN_QUEST_FINISH].Attribute = false;
return;
}
// ------------------------------------
// -> Content Need
// ------------------------------------
float NeededY = ContentY + 53;

gInterface.DrawText603(eAncient, ContentX + 20, TabY + 20, 180, 3, "%s", this->ewdata[a].NameQuest);

gCentral.DrawDropBox(StartX + 5, TabY + 37, 200, 0.5, 0, 0); // Divisor 1

gInterface.DrawText603(eAncient, ContentX + 20, TabY + 36, 170, 3, "Requisitos");

float CountNeededY = NeededY + 30;

gInterface.DrawText603(eWhite, StartX + 30, CountNeededY + 6, 100, 1, "Level:");

if (this->ewdata[a].b_Level)
{
bColor = eGold;
}
else
{
bColor = eRed;
}

gInterface.DrawText603(bColor, StartX + 60, CountNeededY + 6, 100, 1, "%d", this->ewdata[a].NeedLevel);
gInterface.DrawText603(eWhite, StartX + 90, CountNeededY + 6, 100, 1, "Reset:");

if (this->ewdata[a].b_Reset)
{
bColor = eGold;
}
else
{
bColor = eRed;
}

gInterface.DrawText603(bColor, StartX + 120, CountNeededY + 6, 100, 1, "%d", this->ewdata[a].NeedReset);
gInterface.DrawText603(eWhite, StartX + 150, CountNeededY + 6, 100, 1, "GReset:");

if (this->ewdata[a].b_Grand)
{
bColor = eGold;
}
else
{
bColor = eRed;
}

gInterface.DrawText603(bColor, StartX + 185, CountNeededY + 6, 100, 1, "%d", this->ewdata[a].NeedGrand);

CountNeededY += 21;
// ------------------------------------
// -> Content Mission
// ------------------------------------
float MissionX = StartX -10;
float MissionY = ContentY + 53 + 40;

MissionY += 10;

float CountMissionY = MissionY + 20;

//----------------------------------------------------

for (int m = 0; m < EW_MAX_MISSION; m++)
{
if (this->ewdata[a].MissionType[m] == Hunting ||
this->ewdata[a].MissionType[m] == Droping ||
this->ewdata[a].MissionType[m] == Searching)
{
if (this->ewdata[a].b_Mission[m])
{
bColor = eExcellent;
}
else
{
bColor = eWhite;
}

CountMissionY += 10;

if (this->ewdata[a].MissionType[m] == Hunting)
{
if (this->ewdata[a].MissionID[m] == 65535)
{
gInterface.DrawText603(bColor, MissionX + 30 + 5 + 15, CountMissionY, 200, 1, "- Kill Level %d~%d: %d/%d",
this->ewdata[a].MissionOpt[m], this->ewdata[a].MissionExl[m], this->ewdata[a].Count[m], this->ewdata[a].MissionCount[m]);
}
else
{
gInterface.DrawText603(bColor, MissionX + 30 + 5 + 15, CountMissionY, 200, 1, "- %s: %d/%d", pGetMonsterName(this->ewdata[a].MissionID[m]/*gMonster.GetMonsterName(this->ewdata[a].MissionID[m]*/), this->ewdata[a].Count[m], this->ewdata[a].MissionCount[m]);
}
}
else if (this->ewdata[a].MissionType[m] == Droping)
{
gInterface.DrawText603(bColor, MissionX + 30 + 5 + 15, CountMissionY, 200, 1, "- %s: %d/%d", getItemName(GET_ITEM(this->ewdata[a].MissionID[m], this->ewdata[a].MissionIndex[m])), ewdata[a].Count[m], ewdata[a].MissionCount[m]);
}
else if (this->ewdata[a].MissionType[m] == Searching)
{
gInterface.DrawText603(bColor, MissionX + 30 + 5 + 15, CountMissionY, 200, 1, "- %s (%d)", getItemName(GET_ITEM(this->ewdata[a].MissionID[m], this->ewdata[a].MissionIndex[m])), this->ewdata[a].MissionCount[m]);
}
}
}
// ------------------------------------
// -> Content Reward
// ------------------------------------
float RewardY = ContentY + 53 + 100 + 42 + 15;

gCentral.DrawDropBox(StartX +5, RewardY, 200, 0.5, 0, 0);

gInterface.DrawText603(eAncient, ContentX + 20, RewardY + 6, 170, 3, "Reward");

float CountRewardY = RewardY + 34 - 4;

for (int r = 0; r < EW_MAX_REWARD; r++)
{
if (this->ewdata[a].RewardType[r] == ewZen ||
this->ewdata[a].RewardType[r] == ewFreePoint ||
this->ewdata[a].RewardType[r] == ewItem ||
this->ewdata[a].RewardType[r] == ewBonus ||
this->ewdata[a].RewardType[r] == ewBuff)
{
if (this->ewdata[a].RewardType[r] == ewZen)
{
char RewardMSG[64] = { 0 };
gInterface.DrawText603(eWhite, StartX + 30 + 5, CountRewardY + 5, 100, 1, "Zen:");
pGetMoneyFormat((double)(int)this->ewdata[a].RewardCount[r], RewardMSG, 0);
gInterface.DrawText603(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%s", RewardMSG);
}
else if (this->ewdata[a].RewardType[r] == ewFreePoint)
{
gInterface.DrawFormat(eWhite, StartX + 30 + 5, CountRewardY + 5, 100, 1, "Lvl Point:");
gInterface.DrawFormat(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%d", this->ewdata[a].RewardCount[r]);
}
else if (this->ewdata[a].RewardType[r] == ewItem)
{

ItemBmdStruct* ItemInfo = pGetItemBmdStruct(ITEM(this->ewdata[a].RewardItemType[r], this->ewdata[a].RewardItemIndex[r]));


const int WidthValue = 24;
const int HeightValue = 26;
float barWidth = WidthValue * ItemInfo->ItemWidth;
float barHeight = HeightValue * ItemInfo->ItemHeight;

if (this->ewdata[a].RewardItemLevel[r] > 0)
{
gInterface.DrawText603(eGold, StartX + 20, CountRewardY + 5, 100, 3, "- %s +%d x%d",
getItemName(GET_ITEM(this->ewdata[a].RewardItemType[r], this->ewdata[a].RewardItemIndex[r])), this->ewdata[a].RewardItemLevel[r], this->ewdata[a].RewardCount[r]);
}
else
{
gInterface.DrawText603(eGold, StartX + 20, CountRewardY + 5, 100, 3, "- %s x %d",
getItemName(GET_ITEM(this->ewdata[a].RewardItemType[r], this->ewdata[a].RewardItemIndex[r])), this->ewdata[a].RewardCount[r]);
}

// ObjectItem* item_data = (ObjectItem*)&item__;

if (pCheckMouseOver((int)(StartX + 20), (int)(CountRewardY + 5), 100, 7))
{
NewModelRender3D(StartX + 155, ContentX + 40, barWidth, barHeight, GET_ITEM(this->ewdata[a].RewardItemType[r], this->ewdata[a].RewardItemIndex[r]), this->ewdata[a].RewardItemLevel[r], 1, 0, 0);

//Tooltip imcompleto
/* JCCoord B;

B.X = 196;
B.Y = (int)130;

sub_7E3E30(*(DWORD*)(GetInstance() + 308), B, (int)item_data, 0, 0, 0);

pSetBlend(false);*/
}
}
else if (this->ewdata[a].RewardType[r] == ewBonus)
{
gInterface.DrawFormat(eWhite, StartX + 30 + 5, CountRewardY + 5, 100, 1, "WCoin:");
gInterface.DrawFormat(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%d", this->ewdata[a].RewardCount[r]);
}
else if (this->ewdata[a].RewardType[r] == ewBuff)
{
gInterface.DrawText603(eWhite, StartX + 30 + 5, CountRewardY + 5, 100, 1, "Buff:");

switch (this->ewdata[a].RewardItemType[r])
{
case 1:
gInterface.DrawFormat(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%s", "Experience: + 15%%");
break;
case 2:
gInterface.DrawFormat(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%s", "Dmg: +10%%/Wizard Dmg: +10%%");
break;
case 3:
gInterface.DrawFormat(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%s", "Defence: +10%%");
break;
case 4:
gInterface.DrawFormat(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%s", "Exel Dmg Rate: +5%%/Ctcal Dmg Rate: +5%%");
break;
case 5:
gInterface.DrawFormat(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%s", "Zen Drop: +50%%");
break;
case 6:
gInterface.DrawFormat(eGold, StartX + 30 + 70, CountRewardY + 5, 100, 3, "%s", "Double Damage: +5%%");
break;
}
}

CountRewardY += 21;
}
}
// ------------------------------------
// -> Finish
// ------------------------------------
bool Finish = 0;

if (this->ewdata[a].Start)
{
Finish = this->ewdata[a].b_done;
}
else
{
Finish = this->ewdata[a].b_accept;
}

//------
if (gInterface.IsWorkZone(OBJECT_WIN_QUEST_FINISH))
{
if (gInterface.Data[OBJECT_WIN_QUEST_FINISH].OnClick)
{
gInterface.DrawButtonRender(OBJECT_WIN_QUEST_FINISH, StartX + (MainWidth / 2) - (110 / 2), StartY + MainHeight - 32, 0, 28);
gCentral.DrawDropBox(StartX + (MainWidth / 2) - (110 / 2), StartY + MainHeight - 32, 108, 20, 0, 0);
}
else
{
gInterface.DrawButtonRender(OBJECT_WIN_QUEST_FINISH, StartX + (MainWidth / 2) - (110 / 2), StartY + MainHeight - 32, 0, 0);
gCentral.DrawDropBox(StartX + (MainWidth / 2) - (110 / 2), StartY + MainHeight - 32, 108, 20, 0, 0);
}
}
else
{
gInterface.DrawButtonRender(OBJECT_WIN_QUEST_FINISH, StartX + (MainWidth / 2) - (110 / 2), StartY + MainHeight - 32, 0, 0);
gCentral.DrawDropBox(StartX + (MainWidth / 2) - (110 / 2), StartY + MainHeight - 32, 108, 20, 0, 0);
}

if (this->ewdata[a].Start)
{

gInterface.DrawFormat(eWhite, StartX + (MainWidth / 2) - (70 / 2), StartY + MainHeight - 25, 59, 3, "Done");

}
else
{

gInterface.DrawFormat(eWhite, StartX + (MainWidth / 2) - (70 / 2), StartY + MainHeight - 25, 59, 3, "Accept");

}
//------
if (!Finish)
{
gInterface.Data[OBJECT_WIN_QUEST_FINISH].Attribute = false;
}
else
{
// ----
gInterface.Data[OBJECT_WIN_QUEST_FINISH].Attribute = true;
// ----
}

pSetBlend(false);
}

void WinQuestSystem::DrawMiniInfo()
{

try
{
if (gInterface.MiniMapCheck() || gInterface.CheckWindow(FullMap)
|| gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(SkillTree)
|| gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(FastMenu)
|| gInterface.CheckWindow(Character))
{
return;
}

/* if (gProtect.m_MainInfo.MiniMapType == 1)
{
if (MiniMap == 1)
{
return;
}
}
*/
int qCount = 0;
int mCount = 0;
bool DrInfo = false;

for (int a = 0; a < EW_MAX_ACT; a++)
{
if (this->ewdata[a].Start == TRUE)
{
qCount += 15;

for (int m = 0; m < EW_MAX_MISSION; m++)
{
if (this->ewdata[a].MissionType[m] == Hunting ||
this->ewdata[a].MissionType[m] == Droping ||
this->ewdata[a].MissionType[m] == Searching)
{
mCount += 10;
DrInfo = true;
}
}
}
}

if (DrInfo == false)
{

return;
}

float iX = 530; //posicion MiniInfoQuest
float iY = 320; //posicion MiniInfoQuest
float Wind = 100; //posicion MiniInfoQuest
float Hig = qCount + mCount;

float StartiY = 420; //posicion MiniInfoQuest

iY = StartiY - Hig;

pSetBlend(true);

pDrawColorButton(0x7980, iX, iY, Wind, Hig, NULL, NULL, Color4f(0, 0, 0, 100));

iY += 3;

for (int a = 0; a < EW_MAX_ACT; a++)
{
if (this->ewdata[a].Start == TRUE)
{
gInterface.DrawText603(eOrange, iX + 2, iY, 200, 2, "%s", this->ewdata[a].NameQuest);

for (int m = 0; m < EW_MAX_MISSION; m++)
{
if (this->ewdata[a].MissionType[m] == Hunting ||
this->ewdata[a].MissionType[m] == Droping ||
this->ewdata[a].MissionType[m] == Searching)
{
iY += 10;

if (this->ewdata[a].MissionType[m] == Hunting)
{
if (this->ewdata[a].MissionID[m] == 65535)
{
gInterface.DrawText603(eWhite, iX + 2, iY, 200, 2, "- Kill Level %d~%d: %d/%d",
this->ewdata[a].MissionOpt[m], this->ewdata[a].MissionExl[m], this->ewdata[a].Count[m], this->ewdata[a].MissionCount[m]);
}
else
{
gInterface.DrawText603(eWhite, iX + 2, iY, 200, 2, "- %s: %d/%d", pGetMonsterName(this->ewdata[a].MissionID[m]/*gMonster.GetMonsterName(this->ewdata[a].MissionID[m]*/), this->ewdata[a].Count[m], this->ewdata[a].MissionCount[m]);
}
}
else if (this->ewdata[a].MissionType[m] == Droping)
{
gInterface.DrawText603(eWhite, iX + 2, iY, 200, 2, "- %s: %d/%d", getItemName(GET_ITEM(this->ewdata[a].MissionID[m], this->ewdata[a].MissionIndex[m])), ewdata[a].Count[m], ewdata[a].MissionCount[m]);
}
else if (this->ewdata[a].MissionType[m] == Searching)
{
gInterface.DrawText603(eWhite, iX + 2, iY, 200, 2, "- %s (%d)", getItemName(GET_ITEM(this->ewdata[a].MissionID[m], this->ewdata[a].MissionIndex[m])), this->ewdata[a].MissionCount[m]);
}
}
}

iY += 15;
}
}

pSetBlend(false);
}
catch (...)
{
}
}
//// ----------------------------------------------------------------------------------------------
void WinQuestSystem::DrawOpenWQ()
{
if (gInterface.Data[OPEN_QUEST].OnShow)
{
gInterface.Data[OPEN_QUEST].OnShow = false;
}

if (gInterface.MiniMapCheck() || gInterface.CheckWindow(FullMap)
|| gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(SkillTree)
|| gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(FastMenu)
|| gInterface.CheckWindow(Character))
{
return;
}


//   int Addradd = pWinWidth / pWinHeightReal / 2 - 320;

  gInterface.Data[OPEN_QUEST].OnShow = true;

  gInterface.DrawGUI(OPEN_QUEST, 610, 200);

  if (gInterface.IsWorkZone(OPEN_QUEST))
  {
  pSetCursorFocus = true; // Bloqueo de Cursor Al Señalar :)
  gInterface.DrawToolTip(520, 210, "WINDOWS QUEST");
  // ----
  if (gInterface.Data[OPEN_QUEST].OnClick)
  {
  gInterface.DrawColoredGUI(OPEN_QUEST, 610, 200, pMakeColor(40, 20, 3, 130));
  return;
  }
  // ----
  gInterface.DrawColoredGUI(OPEN_QUEST, 610, 200, pMakeColor(255, 204, 20, 200));
  }

}

//
int WinQuestSystem::Button(DWORD Event)
{
if (gInterface.ButtonEx(Event, OPEN_QUEST, false))
{
if (gInterface.MiniMapCheck() || gInterface.CheckWindow(FullMap)
|| gInterface.CheckWindow(FriendList) || gInterface.CheckWindow(SkillTree)
|| gInterface.CheckWindow(CashShop) || gInterface.CheckWindow(FastMenu)
|| gInterface.CheckWindow(Character))
{
return 0;
}

PMSG_CHARACTER_LIST_SEND pMsg;
pMsg.header.set(0xDE, 0x21, sizeof(pMsg));
DataSend((BYTE*)& pMsg, pMsg.header.size);
return true;
}

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

if (gInterface.ButtonEx(Event, OBJECT_WIN_QUEST_FINISH, true))
{
this->CG_AcñeptQuest();

return true;
}
else if (gInterface.ButtonEx(Event, OBJECT_WIN_QUEST_CLOSE, false))
{
pSetCursorFocus = false;
gInterface.Data[OBJECT_WIN_QUEST_MAIN].Close();

return true;
}
else if (gInterface.ButtonEx(Event, OBJECT_WIN_QUEST_TAB1, false))
{
this->OpenTab = 0;

return true;
}
else if (gInterface.ButtonEx(Event, OBJECT_WIN_QUEST_TAB2, false))
{
this->OpenTab = 1;

return true;
}
else if (gInterface.ButtonEx(Event, OBJECT_WIN_QUEST_TAB3, false))
{
this->OpenTab = 2;

return true;
}

return false;
}
//// ----------------------------------------------------------------------------------------------
//
void WinQuestSystem::GC_RecvMain(GC_MainPacket* aRecv)
{
for (int a = 0; a < EW_MAX_ACT; a++)
{
strncpy(this->ewdata[a].NameQuest, aRecv->xQuest[a].NameQuest, 25);
this->ewdata[a].b_accept = aRecv->xQuest[a].b_accept;
this->ewdata[a].b_done = aRecv->xQuest[a].b_done;
this->ewdata[a].b_End = aRecv->xQuest[a].b_End;
// -> user send
this->ewdata[a].Start = aRecv->xQuest[a].Start;
this->ewdata[a].Number = aRecv->xQuest[a].Number;
for (int m = 0; m < EW_MAX_MISSION; m++)
{
this->ewdata[a].Count[m] = aRecv->xQuest[a].Count[m];
}
// -> need send
this->ewdata[a].b_Level = aRecv->xQuest[a].b_Level;
this->ewdata[a].b_Reset = aRecv->xQuest[a].b_Reset;
this->ewdata[a].b_Grand = aRecv->xQuest[a].b_Grand;

this->ewdata[a].NeedLevel = aRecv->xQuest[a].NeedLevel;
this->ewdata[a].NeedReset = aRecv->xQuest[a].NeedReset;
this->ewdata[a].NeedGrand = aRecv->xQuest[a].NeedGrand;
// -> mission send
for (int m = 0; m < EW_MAX_MISSION; m++)
{
this->ewdata[a].b_Mission[m] = aRecv->xQuest[a].b_Mission[m];
this->ewdata[a].MissionType[m] = aRecv->xQuest[a].MissionType[m];
this->ewdata[a].MissionID[m] = aRecv->xQuest[a].MissionID[m];
this->ewdata[a].MissionIndex[m] = aRecv->xQuest[a].MissionIndex[m];
this->ewdata[a].MissionLevel[m] = aRecv->xQuest[a].MissionLevel[m];
this->ewdata[a].MissionLuck[m] = aRecv->xQuest[a].MissionLuck[m];
this->ewdata[a].MissionOpt[m] = aRecv->xQuest[a].MissionOpt[m];
this->ewdata[a].MissionExl[m] = aRecv->xQuest[a].MissionExl[m];
this->ewdata[a].MissionCount[m] = aRecv->xQuest[a].MissionCount[m];
this->ewdata[a].MissionProcent[m] = aRecv->xQuest[a].MissionProcent[m];
}
for (int r = 0; r < EW_MAX_REWARD; r++)
{

this->ewdata[a].RewardType[r] = aRecv->xQuest[a].RewardType[r];
this->ewdata[a].RewardCount[r] = aRecv->xQuest[a].RewardCount[r];
this->ewdata[a].RewardItemType[r] = aRecv->xQuest[a].RewardItemType[r];
this->ewdata[a].RewardItemIndex[r] = aRecv->xQuest[a].RewardItemIndex[r];
this->ewdata[a].RewardItemLevel[r] = aRecv->xQuest[a].RewardItemLevel[r];
}
}

if (aRecv->isOpenWindow)
{
if (!gInterface.Data[OBJECT_WIN_QUEST_MAIN].OnShow)
{
this->SwitchStatsWindowState();
pSetCursorFocus = true;
}
}

}
//// ----------------------------------------------------------------------------------------------
//
void WinQuestSystem::CG_AcñeptQuest()
{
CG_Accept_Done pReq = { 0 };
pReq.h.set(0xDE, 0x0D, sizeof(pReq));
pReq.Result = this->OpenTab;
DataSend((LPBYTE)&pReq, pReq.h.size);
}
//// ----------------------------------------------------------------------------------------------
//
void WinQuestSystem::GC_MiniInfoRecv(GC_WinMiniInfo* aRecv)
{
for (int a = 0; a < EW_MAX_ACT; a++)
{
strncpy(this->ewdata[a].NameQuest, aRecv->xQuest[a].NameQuest, 25);

this->ewdata[a].Start = aRecv->xQuest[a].Start;

for (int m = 0; m < EW_MAX_MISSION; m++)
{
this->ewdata[a].Count[m] = aRecv->xQuest[a].WQuestCount[m];
this->ewdata[a].MissionType[m] = aRecv->xQuest[a].MissionType[m];
this->ewdata[a].MissionID[m] = aRecv->xQuest[a].MissionID[m];
this->ewdata[a].MissionIndex[m] = aRecv->xQuest[a].MissionIndex[m];
this->ewdata[a].MissionLevel[m] = aRecv->xQuest[a].MissionLevel[m];
this->ewdata[a].MissionLuck[m] = aRecv->xQuest[a].MissionLuck[m];
this->ewdata[a].MissionOpt[m] = aRecv->xQuest[a].MissionOpt[m];
this->ewdata[a].MissionExl[m] = aRecv->xQuest[a].MissionExl[m];
this->ewdata[a].MissionCount[m] = aRecv->xQuest[a].MissionCount[m];
}
}
}
//// ----------------------------------------------------------------------------------------------
//
void WinQuestSystem::GC_MiniInfoRecv(GC_WinMiniInfox* aRecv)
{
int a = aRecv->a;
int m = aRecv->m;

if (a < 0 || a >= EW_MAX_ACT)
{
return;
}

if (m < 0 && m >= EW_MAX_MISSION)
{
return;
}

this->ewdata[a].Count[m]++;
}
//// ----------------------------------------------------------------------------------------------
//
void WinQuestSystem::GC_Start(GC_WinStart* aRecv)
{
int a = aRecv->Act;
int s = aRecv->Start;

if (a < 0 || a >= EW_MAX_ACT)
{
return;
}

if (s == true)
{
this->ewdata[a].Start = true;
}
}
//// ----------------------------------------------------------------------------------------------
#endif

For example WindowsQuest.cpp
Where do I need to add and edit so it doesn't move when clicking on the table


debe crear un pSetCursorFocus = true;
pSetCursorFocus = false; exclusivo para ese evento lo mas seguro en central.cpp
esperemos que alguien coloque guia de como hacer

That's right . I hope someone can give detailed instructions on this issue.

 Question2 Question2 Question2
This is not too difficult, you need to rearrange the custom menus in a reasonable way  fiesta

esperemos a un heroe sin capa que ayude al pueblo

es algo simple xD!
vamos heroe sin capa ayuda al puedo de israel :V  cheesyy2

HELP  P.L.E.A.S.E!  please

buenas tengo el mismo problema se mueve al darle click algunas solucion  please   al igual con la interfac de SistemFlag -- DailyReward --- SistemSkin... los botones no funciona bien y se meueve el personaje


Offline dakosmu #87 Posteado: March 21, 2024, 12:56:20 AM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 633
  • Gracias recibida: 6197
  • ve
Citar
buenas tengo el mismo problema se mueve al darle click algunas solucion  please   al igual con la interfac de SistemFlag -- DailyReward --- SistemSkin... los botones no funciona bien y se meueve el personaje

Colocar en DRAW


Dakosmu Colaborador

Offline wellwisher22 #88 Posteado: March 21, 2024, 04:21:04 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 239
  • Gracias recibida: 1963
  • br
Citar
buenas tengo el mismo problema se mueve al darle click algunas solucion  please   al igual con la interfac de SistemFlag -- DailyReward --- SistemSkin... los botones no funciona bien y se meueve el personaje

Colocar en DRAW


Tentei assim mas não funciona

if (GetKeyState(VK_F4) & 0x4000 && GetTickCount() >= gCustomMenu.OpenTestDelay + 250)
         {
            if (GetForegroundWindow() == pGameWindow && !gInterface.CheckWindow(ObjWindow::ChatWindow))
            {
               if (gCustomMenu.CheckTestWindow())
               {
                  gCustomMenu.CloseTestWindow();

               }
               else
               {
                  gCustomMenu.OpenTestWindow();
                  pSetCursorFocus = true;
               }

               gCustomMenu.OpenTestDelay = GetTickCount();
            }
         }


Offline dakosmu #89 Posteado: March 21, 2024, 08:27:11 PM | Modificado: March 21, 2024, 09:43:24 PM by dakosmu

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 633
  • Gracias recibida: 6197
  • ve
interface.cpp



ThueFlag.cpp



Interface.cpp




interface.h




ThueFlag.h





Dakosmu Colaborador

Offline dakosmu #90 Posteado: March 21, 2024, 08:32:38 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 633
  • Gracias recibida: 6197
  • ve
Quizas este Otro les puede funcionar

Buscar
Code: [Select]
if (pCheckMouseOver(x + w - 25, y + 5, 20, 18))

Colocar como indica en la imagen







Buscar
Code: [Select]
THUE_FLAG_DATA* skin = this->FindId(this->Selected)

Agregar como indica la imagen




Dakosmu Colaborador

Offline wellwisher22 #91 Posteado: March 22, 2024, 11:58:24 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 239
  • Gracias recibida: 1963
  • br

Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
136 Replies
81252 Views
Last post December 19, 2023, 11:47:05 AM
by sh4ll3
10 Replies
6633 Views
Last post December 16, 2022, 09:55:24 AM
by Miisoia
29 Replies
5730 Views
Last post July 19, 2023, 10:01:21 AM
by Juninsj22
35 Replies
7705 Views
Last post March 17, 2024, 12:04:05 PM
by T-LEGENDARY
86 Replies
14442 Views
Last post April 18, 2024, 10:24:16 PM
by CezarMaster