3 Attachment(s)
Re: MakePreviewCharSet Of Client (Source)
@mauro07 - i test your MakePreviewCharSet 1.03k
1 problem:
SetHook((LPVOID)gObjMakePreviewCharSet, (LPVOID)0x00611613, ASM::CALL); //Main 1.03Y+ JPN: 006317A3 ; Main 1.03k JPN: 00611613 [CRASH Main in Login Server]
Elf Soldier OK / Char Bug[Ivisible] / Wings Bug Opts
Attachment 127855Attachment 127856Attachment 127857
Re: MakePreviewCharSet Of Client (Source)
Quote:
Originally Posted by
VeltonD
@mauro07 - i test your MakePreviewCharSet 1.03k
1 problem:
SetHook((LPVOID)gObjMakePreviewCharSet, (LPVOID)0x00611613, ASM::CALL); //Main 1.03Y+ JPN: 006317A3 ; Main 1.03k JPN: 00611613 [CRASH Main in Login Server]
Elf Soldier OK / Char Bug[Ivisible] / Wings Bug Opts
Attachment 127855Attachment 127856Attachment 127857
Char bug is reladet to LevelSmallConvert function.
dont use the the function he gave you !
use this function cuz you dont have +15 items
PHP Code:
BYTE gLevelSmallConvert(int SmallValue)
{
BYTE ResultValue;
// ----
switch(SmallValue)
{
case 0:
ResultValue = 0;
break;
// --
case 1:
ResultValue = 3;
break;
// --
case 2:
ResultValue = 5;
break;
// --
case 3:
ResultValue = 7;
break;
// --
case 4:
ResultValue = 9;
break;
// --
case 5:
ResultValue = 11;
break;
// --
case 6:
ResultValue = 12;
break;
// --
case 7:
ResultValue = 13;
break;
// --
default:
ResultValue = 0;
break;
}
// ----
return ResultValue;
}
just replace it .
if you need more help add my to your skype .
check the last 2 function if its crashing again . (monro07 make a mistake there)
Full decompile function gObjMakeCharSet
PHP Code:
int __cdecl sub_4FDFE0(int a1, int a2, int a3, int a4)
{
int result; // eax@4
int v5; // ST10_4@34
int v6; // eax@34
int v7; // ST04_4@57
int v8; // eax@57
signed int v9; // [sp+14h] [bp-30h]@59
int v10; // [sp+18h] [bp-2Ch]@59
signed __int16 v11; // [sp+1Ch] [bp-28h]@48
char v12; // [sp+20h] [bp-24h]@44
int v13; // [sp+24h] [bp-20h]@12
__int16 v14; // [sp+34h] [bp-10h]@5
__int16 v15; // [sp+34h] [bp-10h]@8
__int16 v16; // [sp+34h] [bp-10h]@104
__int16 v17; // [sp+34h] [bp-10h]@107
__int16 v18; // [sp+34h] [bp-10h]@110
__int16 v19; // [sp+34h] [bp-10h]@113
__int16 v20; // [sp+34h] [bp-10h]@116
signed int v21; // [sp+38h] [bp-Ch]@103
int v22; // [sp+3Ch] [bp-8h]@2
unsigned __int8 v23; // [sp+40h] [bp-4h]@17
unsigned __int8 v24; // [sp+40h] [bp-4h]@29
unsigned __int8 v25; // [sp+40h] [bp-4h]@36
char v26; // [sp+40h] [bp-4h]@75
if ( a3 )
v22 = a3;
else
v22 = 1236 * a1 + dword_7A7239C;
result = v22 + 700;
if ( *(_DWORD *)(v22 + 748) == 826 )
{
v14 = *(_BYTE *)a2 | (unsigned __int16)(16 * (unsigned __int8)(*(_BYTE *)(a2 + 11) & 0xF0));
if ( v14 == 4095 )
{
*(_WORD *)(v22 + 392) = -1;
*(_BYTE *)(v22 + 395) = 0;
*(_BYTE *)(v22 + 396) = 0;
}
else
{
*(_WORD *)(v22 + 392) = v14 + 834;
}
v15 = *(_BYTE *)(a2 + 1) | (unsigned __int16)(16 * (unsigned __int8)(*(_BYTE *)(a2 + 12) & 0xF0));
if ( v15 == 4095 )
{
*(_WORD *)(v22 + 424) = -1;
*(_BYTE *)(v22 + 427) = 0;
*(_BYTE *)(v22 + 428) = 0;
}
else
{
if ( sub_45A030(*(_BYTE *)(v22 + 19)) != 4 || v15 != 2565 )
{
*(_WORD *)(v22 + 424) = v15 + 834;
}
else
{
v13 = sub_4A3820(dword_7AB3518 + 4413);
sub_4A2AD6(v22);
if ( !sub_490280(dword_8C5CF8) )
sub_4A4750(*(_DWORD *)(v22 + 600), v13);
}
}
if ( (((signed int)*(_BYTE *)(a2 + 4) >> 2) & 3) == 3 )
{
v23 = *(_BYTE *)(a2 + 8) & 7;
if ( v23 )
{
switch ( v23 )
{
case 5u:
*(_WORD *)(v22 + 456) = 7520;
break;
case 6u:
*(_WORD *)(v22 + 456) = 7019;
break;
case 7u:
*(_WORD *)(v22 + 456) = 7020;
break;
default:
*(_WORD *)(v22 + 456) = v23 + 6980;
break;
}
}
else
{
*(_WORD *)(v22 + 456) = -1;
*(_BYTE *)(v22 + 459) = 0;
*(_BYTE *)(v22 + 460) = 0;
}
}
else
{
*(_WORD *)(v22 + 456) = (((signed int)*(_BYTE *)(a2 + 4) >> 2) & 3) + 6978;
}
v24 = ((signed int)*(_BYTE *)(a2 + 15) >> 2) & 7;
if ( (((signed int)*(_BYTE *)(a2 + 15) >> 2) & 7) > 0 )
{
if ( v24 == 6 )
*(_WORD *)(v22 + 456) = 7021;
else
*(_WORD *)(v22 + 456) = v24 + 7013;
}
if ( a4 )
{
*(_BYTE *)(a4 + 4) = 0;
}
else
{
sub_4ABEB0(v22 + 700);
v5 = *(_WORD *)(v22 + 488);
v6 = sub_81AB71();
sub_81BDA7((void *)v6, v22, v5, 1);
}
v25 = *(_BYTE *)(a2 + 4) & 3;
if ( v25 == 3 )
{
if ( (*(_BYTE *)(a2 + 9) & 1) == 1 )
{
*(_WORD *)(v22 + 488) = 7493;
if ( a4 )
sub_4ABF7C(323, v22 + 952, v22 + 700, a4, 0);
else
sub_4AC2C4(323, v22 + 952, v22 + 700, 0);
}
else
{
*(_WORD *)(v22 + 488) = -1;
*(_BYTE *)(v22 + 491) = 0;
*(_BYTE *)(v22 + 492) = 0;
}
}
else
{
v12 = *(_BYTE *)(a2 + 15) & 0xE0;
if ( v12 != 32 && v12 != 64 && v12 != 128 && v12 != 224 )
{
*(_WORD *)(v22 + 488) = v25 + 7490;
v10 = 0;
v9 = 1;
if ( v25 )
{
if ( v25 == 2 )
{
v10 = 233;
}
else
{
if ( v25 == 3 )
v10 = 323;
else
v9 = 0;
}
}
else
{
v10 = 7490;
}
if ( v9 == 1 )
{
if ( a4 )
sub_4ABF7C(v10, v22 + 952, v22 + 700, a4, 0);
else
sub_4AC2C4(v10, v22 + 952, v22 + 700, 0);
}
}
else
{
v11 = 0;
switch ( v12 )
{
case 0x20:
v11 = 64;
break;
case 0x40:
v11 = 65;
break;
case 0x80:
v11 = 67;
break;
case 0xE0:
v11 = 80;
break;
default:
break;
}
*(_WORD *)(v22 + 488) = v11 + 7490;
if ( v11 != 64 && v11 != 65 || dword_8D6F7C == 4 || v22 == LODWORD(dword_7A723B8) )
{
v7 = *(_WORD *)(v22 + 488);
v8 = sub_81AB71();
sub_81BA70((void *)v8, v11 + 6656, v7, v22 + 952, v22, 0, 0);
}
}
}
if ( (*(_BYTE *)(a2 + 11) & 1) == 1 )
{
*(_WORD *)(v22 + 488) = 7494;
if ( a4 )
sub_4ABF7C(226, v22 + 952, v22 + 700, a4, 0);
else
sub_4AC2C4(226, v22 + 952, v22 + 700, 0);
}
if ( (*(_BYTE *)(a2 + 11) & 4) == 4 )
{
*(_WORD *)(v22 + 488) = 7527;
v26 = *(_BYTE *)(a2 + 15) & 3;
if ( (*(_BYTE *)(a2 + 16) & 1) == 1 )
v26 = 4;
*(_BYTE *)(v22 + 491) = v26;
switch ( v26 )
{
case 1:
if ( a4 )
sub_4ABF7C(384, v22 + 952, v22 + 700, a4, 0);
else
sub_4AC2C4(384, v22 + 952, v22 + 700, 0);
break;
case 2:
if ( a4 )
sub_4ABF7C(386, v22 + 952, v22 + 700, a4, 0);
else
sub_4AC2C4(386, v22 + 952, v22 + 700, 0);
break;
case 4:
if ( a4 )
sub_4ABF7C(387, v22 + 952, v22 + 700, a4, 0);
else
sub_4AC2C4(387, v22 + 952, v22 + 700, 0);
break;
default:
if ( a4 )
sub_4ABF7C(385, v22 + 952, v22 + 700, a4, 0);
else
sub_4AC2C4(385, v22 + 952, v22 + 700, 0);
break;
}
}
sub_4997AD(v22);
if ( (((signed int)*(_BYTE *)(a2 + 11) >> 1) & 1) == 1 )
{
if ( (signed int)*(_BYTE *)(v22 + 23) <= 0 || (signed int)*(_BYTE *)(v22 + 23) > 3 )
*(_BYTE *)(v22 + 23) = 4;
}
else
{
if ( (signed int)*(_BYTE *)(v22 + 23) <= 0 || (signed int)*(_BYTE *)(v22 + 23) > 3 )
*(_BYTE *)(v22 + 23) = 0;
}
v21 = *(_BYTE *)(a2 + 7) + (*(_BYTE *)(a2 + 6) << 8) + (*(_BYTE *)(a2 + 5) << 16);
*(_BYTE *)(v22 + 394) = sub_4FDEB0(*(_BYTE *)(a2 + 7) & 7);
*(_BYTE *)(v22 + 426) = sub_4FDEB0((v21 >> 3) & 7);
*(_BYTE *)(v22 + 458) = 0;
result = v22;
*(_BYTE *)(v22 + 490) = 0;
if ( !*(_BYTE *)(v22 + 15) )
{
v16 = 32 * (*(_BYTE *)(a2 + 12) & 0xF)
+ 16 * (((signed int)*(_BYTE *)(a2 + 8) >> 7) & 1)
+ ((signed int)*(_BYTE *)(a2 + 2) >> 4);
if ( v16 == 511 )
*(_WORD *)(v22 + 232) = (unsigned __int8)sub_504A69(*(_BYTE *)(v22 + 19)) + 9036;
else
*(_WORD *)(v22 + 232) = v16 + 4418;
v17 = 32 * (((signed int)*(_BYTE *)(a2 + 13) >> 4) & 0xF)
+ 16 * (((signed int)*(_BYTE *)(a2 + 8) >> 6) & 1)
+ (*(_BYTE *)(a2 + 2) & 0xF);
if ( v17 == 511 )
*(_WORD *)(v22 + 264) = (unsigned __int8)sub_504A69(*(_BYTE *)(v22 + 19)) + 9056;
else
*(_WORD *)(v22 + 264) = v17 + 4930;
v18 = 32 * (*(_BYTE *)(a2 + 13) & 0xF)
+ 16 * (((signed int)*(_BYTE *)(a2 + 8) >> 5) & 1)
+ ((signed int)*(_BYTE *)(a2 + 3) >> 4);
if ( v18 == 511 )
*(_WORD *)(v22 + 296) = (unsigned __int8)sub_504A69(*(_BYTE *)(v22 + 19)) + 9076;
else
*(_WORD *)(v22 + 296) = v18 + 5442;
v19 = 32 * (((signed int)*(_BYTE *)(a2 + 14) >> 4) & 0xF)
+ 16 * (((signed int)*(_BYTE *)(a2 + 8) >> 4) & 1)
+ (*(_BYTE *)(a2 + 3) & 0xF);
if ( v19 == 511 )
*(_WORD *)(v22 + 328) = (unsigned __int8)sub_504A69(*(_BYTE *)(v22 + 19)) + 9096;
else
*(_WORD *)(v22 + 328) = v19 + 5954;
v20 = 32 * (*(_BYTE *)(a2 + 14) & 0xF)
+ 16 * (((signed int)*(_BYTE *)(a2 + 8) >> 3) & 1)
+ ((signed int)*(_BYTE *)(a2 + 4) >> 4);
if ( v20 == 511 )
*(_WORD *)(v22 + 360) = (unsigned __int8)sub_504A69(*(_BYTE *)(v22 + 19)) + 9116;
else
*(_WORD *)(v22 + 360) = v20 + 6466;
*(_BYTE *)(v22 + 234) = sub_4FDEB0((v21 >> 6) & 7);
*(_BYTE *)(v22 + 266) = sub_4FDEB0((v21 >> 9) & 7);
*(_BYTE *)(v22 + 298) = sub_4FDEB0((v21 >> 12) & 7);
*(_BYTE *)(v22 + 330) = sub_4FDEB0((v21 >> 15) & 7);
*(_BYTE *)(v22 + 362) = sub_4FDEB0((v21 >> 18) & 7);
*(_BYTE *)(v22 + 235) = (*(_BYTE *)(a2 + 9) & 0x80) >> 7;
*(_BYTE *)(v22 + 267) = (*(_BYTE *)(a2 + 9) & 0x40) >> 6;
*(_BYTE *)(v22 + 299) = (*(_BYTE *)(a2 + 9) & 0x20) >> 5;
*(_BYTE *)(v22 + 331) = (*(_BYTE *)(a2 + 9) & 0x10) >> 4;
*(_BYTE *)(v22 + 363) = (*(_BYTE *)(a2 + 9) & 8) >> 3;
*(_BYTE *)(v22 + 236) = (*(_BYTE *)(a2 + 10) & 0x80) >> 7;
*(_BYTE *)(v22 + 268) = (*(_BYTE *)(a2 + 10) & 0x40) >> 6;
*(_BYTE *)(v22 + 300) = (*(_BYTE *)(a2 + 10) & 0x20) >> 5;
*(_BYTE *)(v22 + 332) = (*(_BYTE *)(a2 + 10) & 0x10) >> 4;
*(_BYTE *)(v22 + 364) = (*(_BYTE *)(a2 + 10) & 8) >> 3;
*(_BYTE *)(v22 + 395) = (*(_BYTE *)(a2 + 9) & 4) >> 2;
*(_BYTE *)(v22 + 427) = (*(_BYTE *)(a2 + 9) & 2) >> 1;
*(_BYTE *)(v22 + 396) = (*(_BYTE *)(a2 + 10) & 4) >> 2;
*(_BYTE *)(v22 + 428) = (*(_BYTE *)(a2 + 10) & 2) >> 1;
*(_BYTE *)(v22 + 22) = *(_BYTE *)(a2 + 10) & 1;
sub_49033A(v22);
result = sub_4FD4FD(v22);
}
}
return result;
}
to fix char bug change it :
PHP Code:
#define CS_START 1236
Re: MakePreviewCharSet Of Client (Source)
maybe someone will make this support 1.04d main ?
Edit: aechrim's main i mean
1 Attachment(s)
Re: MakePreviewCharSet Of Client (Source)
He was working in the Main Item +15 1.03K, However I will need help by the way = /, No Game Brightness and normal, now is +0 invetorio
Attachment 127899
Quote:
#define CS_START 1236
Crash :S
2 Attachment(s)
Re: MakePreviewCharSet Of Client (Source)
Hi guys, i have some problems with this on a season3 main. All my offsets are right, also i adapted the gObjMakePreviewCharSet function for season3 main (no panda pet, no summoner wings etc). My problem is related to the size of Preview struct. Can someone please tell me how i can find the right size for Preview struct ?
Thank you.
Re: MakePreviewCharSet Of Client (Source)
Quote:
Originally Posted by
-=DarkSim=-
sir what software do you used to imply this thing?. im new to develop and i want to learn it more, by the descent tutorials. pls help me.
Re: MakePreviewCharSet Of Client (Source)
someone has the research to offset the main 1.03k (1.03.11) JAPAN because mauro 07 the wrong that has some offset from the main crash!
Re: MakePreviewCharSet Of Client (Source)
Caothuphutho, mauro07 or DarkSim could help find the MakePreviewCharSet in main (0.97.02) already includes the wings but can not find the function to fix the visual bug. In gamesrever already fixed with only the main even, anyone who can help I am grateful.
http://i.imgur.com/smK1xWV.jpg?1
Dowload the main (0.97.02)
Re: MakePreviewCharSet Of Client (Source)
DarkHaziel post fix new wings in server?
Mauro07 Source Wings Custom Main 1.03k
http://www.mediafire.com/?98vhw80b42boph1
Notei que é brasileiro, Pode postar o Fix do Bug Visual?
Re: MakePreviewCharSet Of Client (Source)
@ - = DarkSim = -: Can you share or offset to correct Main 1.07x
@ - = DarkSim = -: Sorry for trouble, can u help me With This proplem!?
darksim in gameserver visual function to fix the bug wings is the only
@ - = DarkSim = -: I got proplem with Visual bug in Selected Character
MakePreviewCharSet?
Created dll to Main version added 1.07x all about: Main.dll src for Wings 4, Main.dll MakePreviewCharSet Jpn Client 1.03.11 Source Offsets, and yet still do not see the wings to select character
Ingles:
Error wings visual character select , Bug disappears trade wings , select character not seen the wings /
In aggregate gs DsProtocol.cpp and user.cpp
DsProtocol.cpp = JGPGetCharList
user.cpp = gObjMakePreviewCharSet
- JGPGetCharList (para la vista previa switch)
Código:
if (TempInventory [7]> = 49 && TempInventory [7] <= 59) { pCList.CharSet [5] | = CS_SET_WING1 (3); pCList.CharSet [17] | = (BYTE) (TempInventory [7] - 49 + 1) << 2; }
- GObjMakePreviewCharSet (por juego)
Código:
if (lpObj-> pInventory [7]. m_Type> = ITEMGET (12, 49) && lpObj-> pInventory [7]. m_Type <= ITEMGET (12, 59)) { lpObj-> CharSet [5] | = CS_SET_WING1 (3); lpObj-> CharSet [17] | = (. lpObj-> pInventory [7] m_Type - ITEMGET (12, 49) + 1) << 2; }
Please something missing to display the wings to select character
Español:
Creado dll para Main version 1.07x y agregado todo sobre : Main.dll src for Wings 4 , Main.dll MakePreviewCharSet Client Source Offsets 1.03.11 Jpn , y aun asi sigue sin verse las alas al seleccionar personaje
Error visual seleccionar personaje wings
Bug trade desaparece wings
seleccionar personaje no se observa las alas
En gs agregado en DsProtocol.cpp y user.cpp
DsProtocol.cpp = JGPGetCharList
user.cpp = gObjMakePreviewCharSet
- JGPGetCharList (para la vista previa switch)
Código:
if (TempInventory [7]> = 49 && TempInventory [7] <= 59) { pCList.CharSet [5] | = CS_SET_WING1 (3); pCList.CharSet [17] | = (BYTE) (TempInventory [7] - 49 + 1) << 2; }
- GObjMakePreviewCharSet (por juego)
Código:
if (lpObj-> pInventory [7]. m_Type> = ITEMGET (12, 49) && lpObj-> pInventory [7]. m_Type <= ITEMGET (12, 59)) { lpObj-> CharSet [5] | = CS_SET_WING1 (3); lpObj-> CharSet [17] | = (. lpObj-> pInventory [7] m_Type - ITEMGET (12, 49) + 1) << 2; }
Por favor algo falta para que se muestre las alas al seleccionar personaje
@ - = DarkSim = -: ¿Puede compartir u offset para corregir Main 1.07x
Re: MakePreviewCharSet Of Client (Source)
Quote:
Originally Posted by
DarkHaziel
Caothuphutho, mauro07 or DarkSim could help find the MakePreviewCharSet in main (0.97.02) already includes the wings but can not find the function to fix the visual bug. In gamesrever already fixed with only the main even, anyone who can help I am grateful.
http://i.imgur.com/smK1xWV.jpg?1
Dowload the main (0.97.02)
------------------------------------------
Can anybody help with this?
Re: MakePreviewCharSet Of Client (Source)
DarkSim, is there any program to used for this, like .exe? an application or it just a PHP? pleased can you tell me, add me on yahoo mail: Warzz_008@yahoo.com
Re: MakePreviewCharSet Of Client (Source)
I asked to be able to add new fields need to be corrected in the gameserver?
Re: MakePreviewCharSet Of Client (Source)
who can share source to client and server julia 4.6 (1.03k jpn) ?
Re: MakePreviewCharSet Of Client (Source)
Need help with main 1.04.10 (1.04j)...
Character Select BUG..
Character is Fly but dont show WINGS...
In game all correct.. After switch of map too