becouse i think the Julia was originaly made on the JPN thats why ;)! i have the same problem then when i added it but at the last i figure it out :D!
becouse i think the Julia was originaly made on the JPN thats why ;)! i have the same problem then when i added it but at the last i figure it out :D!
Awsome project ,the monstars are realy cool and all ,zasmpqninq i sened to you private massge about this cuz i have some problem :( .
thanks you!
i download main + dll in this thread .. all work perfect but hpbar not work. i add in source and compiled dll for server. help please.
On MY stadium not work minimap
hp bar work.
Last edited by Anonym11; 31-08-13 at 11:55 PM.
FOR ADD HP MOB BAR IN: GAMESERVERCS 1.00.90 YOU MUST HOOK THE SAME FUNCTION, BUT USING OTHER OFFSET IN THIS SECTION OF CODE OF YOUR AI JULIA .298 SRC:
THIS IS THE CORRECT HOOK FUNCTION OFFSET FOR GSCS .90 -> Utilits.HookThis((DWORD)&GCDamageSend, 0x00403D55);
Researched of: GS .90 Normal by me! xD
Enable Skill Siege in All Maps -> 1.03P ENG
and
Decrypt Log Fix
By ~ Velton D.//========================================================================== //-- Main.exe -> Skill Siege All Maps
//==========================================================================
*(BYTE*)(0x0057FF57+1) = 0x2B;
*(BYTE*)(0x0057FF5C+1) = 0x26;
*(BYTE*)(0x0057FF61+1) = 0x21;
*(BYTE*)(0x0057FF66+1) = 0x1C;
*(BYTE*)(0x0057FF6B+1) = 0x17;
*(BYTE*)(0x0059B735+2) = 0x00;
*(BYTE*)(0x0059B73B+2) = 0x00;
*(BYTE*)(0x0059B741+2) = 0x00;
*(BYTE*)(0x0059B747+2) = 0x00;
*(BYTE*)(0x0059B74D+2) = 0x00;
*(BYTE*)(0x0059B753+2) = 0x00;
*(BYTE*)(0x0057ABC6+1) = 0x33;
*(BYTE*)(0x0057ABCB+1) = 0x2E;
*(BYTE*)(0x0057ABD0+1) = 0x29;
*(BYTE*)(0x0057ABD5+1) = 0x24;
*(BYTE*)(0x0057ABDA+1) = 0x1F;
*(BYTE*)(0x0057AC28+1) = 0x33;
*(BYTE*)(0x0057AC2D+1) = 0x2E;
*(BYTE*)(0x0057AC32+1) = 0x29;
*(BYTE*)(0x0057AC37+1) = 0x24;
*(BYTE*)(0x0057AC3C+1) = 0x1F;
*(BYTE*)(0x00493DC8+3) = 0x01;
*(BYTE*)(0x0057ABDF) = 0xEB;
*(BYTE*)(0x0057FF70) = 0xEB;
*(BYTE*)(0x0057AC41) = 0xEB;
//==========================================================================
//-- Main.exe -> Decrypt Log Fix
//==========================================================================
BYTE DecryptLog[5] = { 0x90, 0x90, 0x90, 0x90, 0x90 };
memcpy((int*) 0x006BE86D, DecryptLog, sizeof(DecryptLog));
memcpy((int*) 0x006BEA80, DecryptLog, sizeof(DecryptLog));
VeltonD vs mauro07 is pro code MUOnline
So, nobody managed to fix this source to make it load custom items (besides weapons I mean)....Still cant make it to load Sets....
Seems like "char*PatchNewSets" has some wrong offsets, since it's not loading any custom textures :/
Not on this source, nor in the one Ponyo sent to me in order to try to fix this :|
Loop New Sets//========================================================================== //-- Main.exe -> Multi Client :: 0xEB - Ativa / 0x75 - Desativa
//==========================================================================
*(BYTE*)(0x005FAE63) = 0xEB;
//==========================================================================
//-- Main.exe -> Set & Wing NPC::Chaos Card Master
//==========================================================================
*(DWORD*)(0x00504BA8+3) = 13; // -> Set Level
*(WORD*)(0x00504B9F+7) = ITEM2(12, 36); // -> Wings Slot
*(WORD*)(0x00504B63+7) = ITEM2(7, 1); // -> Helm Slot
*(WORD*)(0x00504B6F+7) = ITEM2(8, 1); // -> Armor Slot
*(WORD*)(0x00504B7B+7) = ITEM2(9, 1); // -> Pants Slot
*(WORD*)(0x00504B87+7) = ITEM2(10,1); // -> Gloves Slot
*(WORD*)(0x00504B93+7) = ITEM2(11,1); // -> Boots Slot
//==========================================================================
//-- Main.exe -> Set NPC::Marlon
//==========================================================================
*(WORD*)(0x00503C98+7) = ITEM2(3, 7); // -> First Weapon Slot
*(BYTE*)(0x00503CA4+6) = 8; // -> First Weapon Level
*(WORD*)(0x00503CAE+7) = -1; // -> Second Weapon Slot
*(WORD*)(0x00503C2A+7) = ITEM2(7, 9); // -> Helm Slot
*(BYTE*)(0x00503C36+6) = 13; // -> Helm Level
*(WORD*)(0x00503C40+7) = ITEM2(8, 9); // -> Armor Slot
*(BYTE*)(0x00503C4C+6) = 13; // -> Armor Level
*(WORD*)(0x00503C56+7) = ITEM2(9, 9); // -> Pants Slot
*(BYTE*)(0x00503C62+6) = 13; // -> Pants Level
*(WORD*)(0x00503C6C+7) = ITEM2(10,9); // -> Gloves Slot
*(BYTE*)(0x00503C78+6) = 13; // -> Gloves Level
*(WORD*)(0x00503C82+7) = ITEM2(11,9); // -> Boots Slot
*(BYTE*)(0x00503C8E+6) = 13; // -> Boots Level
//==========================================================================
//-- Main.exe -> Set NPC::Crossbow Guard
//==========================================================================
*(WORD*)(0x00504365+7) = ITEM2(7, 9); // -> Helm Slot
*(WORD*)(0x00504371+7) = ITEM2(8, 9); // -> Armor Slot
*(WORD*)(0x0050437D+7) = ITEM2(9, 9); // -> Pants Slot
*(WORD*)(0x00504389+7) = ITEM2(10,9); // -> Gloves Slot
*(WORD*)(0x00504395+7) = ITEM2(11,9); // -> Boots Slot
*(WORD*)(0x005043A1+7) = ITEM2(4,11); // -> First Weapon Slot
*(WORD*)(0x005043AD+7) = ITEM2(4, 7); // -> Second Weapon Slot
//==========================================================================
//-- Main.exe -> Set NPC::Berdysh Guard
//==========================================================================
*(WORD*)(0x00504470+7) = ITEM2(7, 9); // -> Helm Slot
*(WORD*)(0x0050447C+7) = ITEM2(8, 9); // -> Armor Slot
*(WORD*)(0x00504488+7) = ITEM2(9, 9); // -> Pants Slot
*(WORD*)(0x00504494+7) = ITEM2(10,9); // -> Gloves Slot
*(WORD*)(0x005044A0+7) = ITEM2(11,9); // -> Boots Slot
*(WORD*)(0x005044AC+7) = ITEM2(3, 7); // -> First Weapon Slot
char Sets[30];
int i;
char *PlayerDir = "Data\\Custom\\Player\\";
char *PlayerFolder = "Custom\\Player\\";
void InitSets(int ItemID, char* ModelName, char* Folder, char* Form){
_asm
{
PUSH -1
PUSH ModelName
PUSH Form
PUSH ItemID
mov eax,BMDModelLoad
CALL eax
PUSH 1
PUSH 0x2600
PUSH 0x2901
PUSH Folder
PUSH ItemID
mov eax,OpenTexture
CALL eax
}
}
void __declspec(naked) NewSetsLoop()
{
for (i = 5; i < 512; i++)
{
//==========================================================================
//-- Sets Loop -> HelmMale Limit::150 <-> 300
//==========================================================================
if(i > 149 && i < 301)
{
sprintf_s(Sets, "HelmMale%d", i+1);
InitSets(LOAD_ITEM(7, i), Sets, PlayerFolder, PlayerDir);
}
//==========================================================================
//-- Sets Loop -> ArmorMale Limit::150 <-> 300
//==========================================================================
if(i > 149 && i < 301)
{
sprintf_s(Sets, "ArmorMale%d", i+1);
InitSets(LOAD_ITEM(8, i), Sets, PlayerFolder, PlayerDir);
}
//==========================================================================
//-- Sets Loop -> PantsMale Limit::150 <-> 300
//==========================================================================
if(i > 149 && i < 301)
{
sprintf_s(Sets, "PantMale%d", i+1);
InitSets(LOAD_ITEM(9, i), Sets, PlayerFolder, PlayerDir);
}
//==========================================================================
//-- Sets Loop -> GloveMale Limit::150 <-> 300
//==========================================================================
if(i > 149 && i < 301)
{
sprintf_s(Sets, "GloveMale%d", i+1);
InitSets(LOAD_ITEM(10, i), Sets, PlayerFolder, PlayerDir);
}
//==========================================================================
//-- Sets Loop -> BootMale Limit::150 <-> 300
//==========================================================================
if(i > 149 && i < 301)
{
sprintf_s(Sets, "BootMale%d", i+1);
InitSets(LOAD_ITEM(11, i), Sets, PlayerFolder, PlayerDir);
}
}
_asm
{
PUSH 11
PUSH gSet
PUSH gSetData
PUSH gSetID
mov eax,BMDModelLoad
CALL eax
ADD ESP,0x10
mov eax,ReturnSetOffset
JMP eax
}
}
void MainItemLoop()
{
PatchJMP g_SetsPatch;
SetNop(LoadSetModel, 25);
g_SetsPatch.Command = 0xE9;
g_SetsPatch.Pointer = (DWORD)&NewSetsLoop;
memcpy((int*)LoadSetModel, &g_SetsPatch, sizeof(g_SetsPatch));
HookThis((DWORD)&NewSetsLoop, LoadSetModel);
}
#ifdef _103P
#define gItem 0x008CC1D0
#define gData 0x008CC1D8
#define gItemID 0x1F60
#define gSet 0x008C022C
#define gSetData 0x008C0238
#define gSetID 0x1151
#define OpenTexture 0x005D63E0
#define BMDModelLoad 0x005D6A93
#define ReturnOffset 0x005DA18B
#define LoadModel 0x005DA172
#define LoadSetModel 0x005D712B
#define ReturnSetOffset 0x005D7144
#endif
Nice.. VeltonD, is my developed struct for load custom 3d bmd file from: Data\Player, get a original loop into the: main.exe for these folder + some modification's made by you.. but.. < 301?? Why? if you use: Pentium Tools Cracked version, can you edit to max: 512 row in: Item.bmd file. (Magic Hand Editor it's unless limited on this type of edition).