Develop stopped, must learn more programming, mods please delete this thread.
Printable View
Develop stopped, must learn more programming, mods please delete this thread.
mmm looks nice except object id:) I guess u should explain how to calculate it.
Object Index*512+Object Id,
thanks so much (Y)
RMST Server Files 4.6 (storm free) content the new Custom Jewels?
Very nice addon.
Big Thanks)
P.S.: You can make gold name/glow/description/price for new jewels?
You can make only NPCSkins for 1.07V ? ;>
very good! nice dev! xD.
DarkSim: The source code to load the main jewelry, custom color names and other things are the same as original jewelry made by Webzen.. already provided.. I share here, the credits are the source for SmallHabit
and .h file:Code://=================================
// LCTeam 1.00S Main Project v0.2b
// Started : 22.03.2010
// Coder : SmallHabit
//=================================
#include "Jewels.h"
#include "Utils.h"
void JewelsInitHook()
{
//Hook NewJewelColor
BYTE JewelsNewsPrice[] = { 0xFF, 0x25, 0x00, 0x63, 0x90, 0x00, 0x90, 0x90, 0x90, 0x90 };
memcpy((int*)0x0052BBCB,JewelsNewsPrice,sizeof(Jew elsNewsPrice)); //1.00Y
*(unsigned int*)0x00906300 = (unsigned int)JewelsNewPrice; //
//Hook NewJewelColor
BYTE JewelsColors[] = { 0xFF, 0x25, 0x10, 0x63, 0x90, 0x00, 0x90, 0x90, 0x90, 0x90 };
memcpy((int*)0x005D5649,JewelsColors,sizeof(Jewels Colors)); //1.00Y
*(unsigned int*)0x00906310 = (unsigned int)JewelsColor; //
//Hook JewelText
BYTE JewelText[] = { 0xFF, 0x25, 0x20, 0x63, 0x90, 0x00, 0x90, 0x90, 0x90, 0x90 };
SetNop(0x005DA181,62); //1.00Y
memcpy((int*)0x005DA17B,JewelText,sizeof(JewelText )); //1.00Y
*(unsigned int*)0x00906320 = (unsigned int)JewelInfoText; //
//Hook NewJewelDrop
BYTE JewelDrop[] = { 0xFF, 0x25, 0x30, 0x63, 0x90, 0x00, 0x90, 0x90, 0x90, 0x90 };
memcpy((int*)0x005E3A45,JewelDrop,sizeof(JewelDrop )); //1.00Y
*(unsigned int*)0x00906330 = (unsigned int)JewelNewDrop; //
//Hook JewelMoveItem1
BYTE JewelMove1[] = { 0xFF, 0x25, 0x40, 0x63, 0x90, 0x00, 0x90, 0x90, 0x90, 0x90 };
memcpy((int*)0x00798F1C,JewelMove1,sizeof(JewelMov e1)); //1.00Y
*(unsigned int*)0x00906340 = (unsigned int)JewelMoveOnItem1; //
//Hook JewelMoveItem2
BYTE JewelMove2[] = { 0xFF, 0x25, 0x50, 0x63, 0x90, 0x00, 0x90, 0x90, 0x90, 0x90 };
memcpy((int*)0x0079A4AF,JewelMove2,sizeof(JewelMov e2)); //1.00Y
*(unsigned int*)0x00906350 = (unsigned int)JewelMoveOnItem2; //
//Hook JewelsSwitcher2
BYTE JewelsSwitchers2[] = { 0xFF, 0x25, 0x80, 0x3F, 0x8F, 0x00, 0x90, 0x90, 0x90, 0x90 };
memcpy((int*)0x00792719,JewelsSwitchers2,sizeof(Je welsSwitchers2)); //1.03Y
*(unsigned int*)0x008F3F80 = (unsigned int)JewelsSwitcher2; //
}
void __declspec(naked) JewelsSwitcher2()
{
_asm
{
//Original
MOV EDX,DWORD PTR SS:[EBP-0x14]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C0D
JE ItemAllowed
//Jewel Of Luck
MOV EDX,DWORD PTR SS:[EBP-0x14]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C9B
JE ItemAllowed
//Jewel Of Skill
MOV EDX,DWORD PTR SS:[EBP-0x14]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C9C
JE ItemAllowed
mov eax,0x00792726 //new
jmp eax
ItemAllowed:
mov eax,0x0079276F //new
jmp eax
}
}
void __declspec(naked) JewelsColor()
{
_asm
{
//Original Soul
cmp ax, 0x1C0E;
je AddColor;
//Jewel Of Luck
cmp ax, 0x1C9B;
je AddColor;
//Jewel Of Skill
cmp ax, 0x1C9C;
je AddColor;
mov edx, COLOR_ADR_RETURN;
jmp edx;
AddColor:
mov edx, COLOR_ADR_ALLOW;
jmp edx;
}
}
void __declspec(naked) JewelInfoText()
{
_asm
{
//Original (Bless)
JNZ Item1 //Next Item
PUSH 0x23C //Text Line
MOV ECX, 0x07BAF2C0
mov esi, 0x00403A60
call esi
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7D2739C]
LEA EAX,DWORD PTR DS:[EAX+EAX*4]
LEA EDX,DWORD PTR DS:[EAX+EAX*4]
LEA EAX,DWORD PTR DS:[EDX*4+0x7CF42A0]
PUSH EAX
mov esi, 0x008C5E68
call esi
MOV EAX,DWORD PTR DS:[0x7D2739C]
ADD ESP,8
MOV DWORD PTR DS:[EAX*4+0x7CF5490],EBX
MOV DWORD PTR DS:[EAX*4+0x7D24968],EBX
INC EAX
Item1:
//Jewel Of Luck
MOV DWORD PTR DS:[0x7D2739C],EAX
CMP WORD PTR SS:[EBP],0x1C9B //Item Number
JNZ Item2 //Jnz to Next Item or Return
PUSH 2555 //Text Line
MOV ECX, 0x07BAF2C0
mov esi, 0x00403A60
call esi
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7D2739C]
LEA EAX,DWORD PTR DS:[EAX+EAX*4]
LEA EDX,DWORD PTR DS:[EAX+EAX*4]
LEA EAX,DWORD PTR DS:[EDX*4+0x7CF42A0]
PUSH EAX
mov esi, 0x008C5E68
call esi
MOV EAX,DWORD PTR DS:[0x7D2739C]
ADD ESP,8
MOV DWORD PTR DS:[EAX*4+0x7CF5490],EBX
MOV DWORD PTR DS:[EAX*4+0x7D24968],EBX
INC EAX
MOV DWORD PTR DS:[0x7D2739C],EAX
Item2:
//Jewel Of Skill
MOV DWORD PTR DS:[0x7D2739C],EAX
CMP WORD PTR SS:[EBP],0x1C9C //Item Number
JNZ Return //Jnz to Next Item or Return
PUSH 2556 //Text Line
MOV ECX, 0x07BAF2C0
mov esi, 0x00403A60
call esi
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7D2739C]
LEA EAX,DWORD PTR DS:[EAX+EAX*4]
LEA EDX,DWORD PTR DS:[EAX+EAX*4]
LEA EAX,DWORD PTR DS:[EDX*4+0x7CF42A0]
PUSH EAX
mov esi, 0x008C5E68
call esi
MOV EAX,DWORD PTR DS:[0x7D2739C]
ADD ESP,8
MOV DWORD PTR DS:[EAX*4+0x7CF5490],EBX
MOV DWORD PTR DS:[EAX*4+0x7D24968],EBX
INC EAX
MOV DWORD PTR DS:[0x7D2739C],EAX
Return:
mov edi, 0x005DA1C1 //1.00Y
jmp edi;
}
}
void __declspec(naked) JewelsNewPrice()
{
_asm
{
//Soul Original
cmp ecx,0x1C0E
jnz Price1
mov dword ptr ss:[ebp-8],0x5B8D80
mov dword ptr ss:[ebp-4],0x0
mov esi, 0x0052D06F //1.00Y
jmp esi;
Price1:
mov edx,dword ptr ss:[ebp+8]
movsx eax,word ptr ds:[edx]
mov esi, JewelOfLuck;
jmp esi;
//Jewel of Luck
JewelOfLuck:
cmp ecx,0x1C9B
jnz Price2
mov dword ptr ss:[ebp-8],0x989680
mov dword ptr ss:[ebp-4],0x0
mov esi, 0x0052D06F
jmp esi;
Price2:
mov edx,dword ptr ss:[ebp+8]
movsx eax,word ptr ds:[edx]
mov esi, JewelOfSkill;
jmp esi;
//Jewel of Skill
JewelOfSkill:
cmp ecx,0x1C9C
jnz Price3
mov dword ptr ss:[ebp-8],0x17D7840
mov dword ptr ss:[ebp-4],0x0
mov esi, 0x0052D06F
jmp esi;
Price3:
mov edx,dword ptr ss:[ebp+8]
movsx eax,word ptr ds:[edx]
mov esi, 0x0052BBEC;
jmp esi;
}
}
void __declspec(naked) JewelNewDrop()
{
_asm
{
//Original
CMP AX,0x1C0E
JE Return
//Jewel Of Luck
CMP AX,0x1C9B
JE Return
//Jewel Of Skill
CMP AX,0x1C9C
JE Return
mov edi, 0x005E3A4F
jmp edi;
Return:
mov edi, 0x005E3C52;
jmp edi;
}
}
void __declspec(naked) JewelMoveOnItem2()
{
_asm
{
//Original
MOV EDX,DWORD PTR SS:[EBP+0x08]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C0E
JNZ Next1
CMP DWORD PTR SS:[EBP-0x4],0x00
JL Next1
CMP DWORD PTR SS:[EBP-0x4],0x08
JG Next1
MOV AL,0x01
mov edi, 0x0079A4CE
jmp edi
Next1:
//Jewel Of Luck
MOV EDX,DWORD PTR SS:[EBP+0x08]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C9B
JNZ Next2
CMP DWORD PTR SS:[EBP-0x4],0x00
JL Next2
CMP DWORD PTR SS:[EBP-0x4],0x08
JG Next2
MOV AL,0x01
mov edi, 0x0079A4CE
jmp edi
Next2:
//Jewel Of Skill
MOV EDX,DWORD PTR SS:[EBP+0x08]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C9C
JNZ Next
CMP DWORD PTR SS:[EBP-0x4],0x00
JL Next
CMP DWORD PTR SS:[EBP-0x4],0x08
JG Next
MOV AL,0x01
mov edi, 0x0079A4CE
jmp edi
Next:
mov edi, 0x0079A4CC
jmp edi
}
}
void __declspec(naked) JewelMoveOnItem1()
{
_asm
{
//Original
MOV EDX,DWORD PTR SS:[EBP-0x78]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C0E //Item
JNZ Next1
MOV ECX,DWORD PTR SS:[EBP-0x9C]
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP-0x78]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0xB4]
mov edi, 0x0079A40F
call edi
MOV BYTE PTR SS:[EBP-0xA0],AL
Next1:
//Jewel Of Luck
MOV EDX,DWORD PTR SS:[EBP-0x78]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C9B //Item
JNZ Next2
MOV ECX,DWORD PTR SS:[EBP-0x9C]
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP-0x78]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0xB4]
mov edi, 0x0079A40F
call edi
MOV BYTE PTR SS:[EBP-0xA0],AL
mov esi, 0x0079901A
jmp esi
Next2:
//Jewel Of Luck
MOV EDX,DWORD PTR SS:[EBP-0x78]
MOVSX EAX,WORD PTR DS:[EDX]
CMP EAX,0x1C9C //Item
JNZ Next
MOV ECX,DWORD PTR SS:[EBP-0x9C]
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP-0x78]
PUSH EDX
MOV ECX,DWORD PTR SS:[EBP-0xB4]
mov edi, 0x0079A40F
call edi
MOV BYTE PTR SS:[EBP-0xA0],AL
mov esi, 0x0079901A
jmp esi
Next:
mov esi, 0x00798F4A
jmp esi
}
}
CodeBlocks: Here I leave you (to you and the community), the source code, which I corrected this last time, as much as possible (in spite of not knowing much about c + +) for camera + mini + heaven with the project and other files. .. to compile with visual studio 2005 .. also has the offsets, and you compile and test (only the 3D camera), and the camera works fine .. I do not know the minimap and the sky ... offsets are of my interest: aHelper using the main 1.07P + contributed to by: chris05, and the code is to vcorp that Decompiler in: MyGSFun, and re-built using other parts of code: MuLengend.Code:DECLARE_HOOK(GetItemPrice, void * pItem, int a2)
{
if (ItemCheck(REF_16(pItem))) {
return ITEM_PRICE;
}
return RealGetItemPrice(pItem, a2);
}
Link: http://www.multiupload.com/40UOTX5LZ0
PS: The reason why I'm bringing these things .. is that from now on .. I really learn to program, stop being a Leecher .. and promises to help people working with the same intentions as yo .. provide the free developments and sources.
SmallHabbitt source is for main 1.00Y, this client or main is MuBlue?
And if someone have this main (1.00Y) version please uploaded.
CodeBlocks, try this
I want to know if it works correctly dll: Sky + cam + minimap shared... be possible if you could test it? especially want to know if it works the sky.
ps: Here I leave the folder to be added into: Data. --> Link http://www.multiupload.com/49J3ZITNBI
Oh, remembered - would be cool add "Monster HP Bar (by mirraseq & Dudi)" and "Chatwnd (by Gembird)" :mellow:
P.S.: In Chatwd offsets for 1.03.27 JPN
- Offsets for 1.03.11 (Thanks DeadMan)
Code:const int GetDisplayMsgType = 0x6F7FE0;
const int SetDisplayMsgType = 0x6F7F95;
const int ShowChatMsgs = 0x6F5584;
const int ShowChatMsgsCall_Hook = 0x6F7927;
const int NewCall = 0x8510BA;
const int FixSysMsg1_Hook = 0x6F60AC;
const int FixSysMsg1_FALSE = FixSysMsg1_Hook+5;
const int FixSysMsg1_TRUE = 0x6F6165;
const int FixSysMsg2_Hook = 0x6F63B3;
const int FixSysMsg2_FALSE = FixSysMsg2_Hook+5;
const int FixSysMsg2_TRUE = 0x6F64B6;
const int FixSysMsg3_Hook = 0x6F6715;
const int FixSysMsg3_FALSE = FixSysMsg3_Hook+5;
const int FixSysMsg3_TRUE = 0x6F67DA;
U can xplain what is that of "Chatwnd" ? Thanks :) and good for dll release (Y)
Chatwd is division of chat section for logs and chat)
http://img641.imageshack.us/img641/7...0321130000.jpg
Good develpment really but with what client we use this all release are based on season 4.5 or 4.6 jpn protocol and others is for kor protocol =/ i don't see server release or development for this version u.u
Anyone? =) please for i can test this main?
omfg...you are kidding...for example you can use RMST server and client for this....after you unpack rmst client,apply patch [1.03V]/[1.03Y]....next download "Custom main 1.03Y with addon.dll" and be happy :)
We can use RMST with 1.03Y? but this main is for season 5 and rmst is season 4.6 =/ ... are you sure i can use 1.03y main?
CodeBlocks, can you update your DLL and add Chatwnd + Monster HP bar? Would be awesome for your development :P
Please don't tell me to do this myself coz i can't, i just lack the knowledge
Can you set this for 1.07V+ I can search for all offsets you need, (less items offsets, because on this version don't work)
Mulegend: It would be possible for you to help me find the offset called: "SkyHook" for main.exe of version 1.03k (Jpn)? (The right offset, not the left: chris05) for the sky source code.
PS: The ones I find are the same as found: aHelper, but when compiling the code + all external dependencies for OpenGL functions for... the sky does not work persists.
//Sky Offsets 1.03k
TSkyHook SkyHook = (TSkyHook) 0x00601764; ---> Okay this offset?
TBlend Blend = (TBlend) 0x005F3BD0;
TUnBlend UnBlend = (TUnBlend) 0x005F3B51;
int *MainState = (int*) 0x008D6F7C;
int *Map = (int*) 0x005E9409;
Your code is wrong
offset int Blend is Unblend, and Unblend is Blend :P
Map: 0x8C5CF8
SkyHook: 0x57FC00
Credits, vcorp ONLY
Use RMST Tornado files, work fine for testing, except session 5 options.I use an repack of Insomina source, rebuild by me.
Monster HP bar need server side addon, and about chatwnd i can not figure out what exactly is good for...
I guess, but this is just an development, not the final product, so it not 100% ready....
I did test your source with 3d, sky and minimap, but the sky offsets are wrong, when i have some free time i will start working again on the main, and try to add more customs.
About sky, if i do not have the right offsets, the sky will not work, your offsets are wrong, and search them in other versions have no point.I will try to find the right offsets and if i manage to find them, i will post an guide.
The original source release here, and fix by MuLegend, have the original offsets, but i do not know for what main version is.
Thank you all, and when i get some free time i will update the code...Remember i am not an pro coder, so my knowledge are not that advance.
Any ideas, suggestions, critics, src, advice, help are welcome.
Thanks MuLegend, for the help... but these offsets are for main.exe version 1.03k? --> :(
Chatwnd function is very useful in these new versions, it separate the players texts from server texts..
mauro07,
You said: "Mulegend: It would be possible for you to help me find the offset called: "SkyHook" for main.exe of version 1.03k (Jpn)? (The right offset, not the left: chris05) for the sky source code."
1 - I never post some offsets of any version JPN, because I work only Kor version...
2 - I posted some offsets and they work for me...
chris05: Sorry if I sound bad... I mean.. the offset for main.exe 1.03k am looking for: aHelper by reference to which you posted in 1.07P+
Monste HP BAR 1.03k offsets:
Works good!Quote:
#define MU_DRAW_INTERFACE 0x00739CB5
#define MU_DRAWGUI 0x006FBD23
#define MU_CREATE_COLOR 0x004109C0
#define MU_DRAW_BUTTON 0x006FBE13
#define MU_DRAW_COLORED_BUTTON 0x006FBED6
#define MU_CDC_GET_THIS_POINTER 0x0041EB98
#define MU_CDC_TABBEDTEXTOUT 0x0041EE57
#define MU_CDC_SETTEXTCOLOR 0x0041ED68
#define MU_PROTOCOL_CORE 0x0063FDD0
I have a question... the code posted by MuLegend sky here in the forum.. works well?, that is, someone could compile a dll function with that code sky?
Here I leave 2 very interesting things... the source code for functional CAMERA+SKY, but with a little bug that needs to be fixed and functional 1.03k jpn offsets.
CAMERA+SKY SRC
ps: My intension to raise this code done by vcorp and arranged by: MuLegend and Genilson17, is that together we can make a better community.. more solidarity, sorry if I said before that would bring it up.. Sorry about that was wrong. and also friends need your help to fix the bug that has this code, the part of the sky left without texturing.
Credits: vcorp, Alpg, MuLegend, Genilson17 and some others who do not remember at this time.
ps 2: The credits for me on this would be the following:
but not if .. should give me credit, I did some research that's only, but hey who does not like to tell me and I take the credit. :)Quote:
//0.99B+ (CHS) [TESTED] but, the sky code must be reformulated (Old Main)
SkyHook = 005C7BD5;
Display = 00543DE0;
MainState = 00610660;
Map = 006081C0;
Blend = 005B13C0;
UnBlend = 005B1340;
//1.02c (ENG) -> [TESTED] but with error of black square in some casses.
SkyHook = 005E9210;
Display = 006B390F;
MainState = 007B5658;
Map = 007A4DC0;
Blend = 0069A8A9;
UnBlend = 0069A82A;
//1.07h (KOR) -> [NOT TESTED]
SkyHook = 0059C790;
Display = 0061FE8E;
MainState = 0091BBFC;
Map = 00907F3C;
Blend = 006122A0;
UnBlend = 00612221;
The reason for asking for help... was that they had the don't knowledge to do things on my own, but hey you learn to study and practice :)
I'll take the offsets for the 99b chs, luck and thank you. :P
look in 0.99B + (as clarified in the previous post), we must reformulate the code, that is a main old school and not working properly, you also need to put a 3d camera too.
What would be really spectacular... is to fix the black square error is seen in front of the character and rotating with the rotation of the camera, anyone have any idea how to fix this bug?
Look this:
http://img24.imageshack.us/img24/676...2715400002.jpg
http://img839.imageshack.us/img839/1...2715390000.jpg
PS: To me it seems this bug or problem has to do with this part of code:that is where the coordinates are taken from the camera to put pictures of the sky. :/:Code:void GetCamCoords(double* x_cam, double* y_cam, double* z_cam)
{
double m[16];
glGetDoublev(GL_MODELVIEW_MATRIX, m);
*x_cam = -m[12] * m[0] - m[13] * m[1] - m[14] * m[2];
*y_cam = -m[12] * m[4] - m[13] * m[5] - m[14] * m[6];
*z_cam = -m[12] * m[8] - m[13] * m[9] - m[14] * m[10];
}
zemattana: can you help solve this bug?
every time i learn guides like C++ - For Dummies
and C++ OpenGL Programming Tutorial - Cprogramming.com
Visual C++
:) Learn, Test before ask
Great joob with compare offsets in another mains
Thanks for the links of the pages and good MuLegend you, me and everyone we know is not much to do Research's. :X
PS: Not much to say... I get to try to fix the problem with all the tools I have at hand.
PS 2: In this coords exctly SKY func 100% (1.02c Main):
http://i.imgur.com/9KW2V.jpg
http://i.imgur.com/c3wkI.jpg
http://i.imgur.com/BULZE.jpg
http://i.imgur.com/HSmDT.jpg
Download 1.rar from Sendspace.com - send big files the easy way
Please need patch sky for it main. Thanks
Can you share offsets for 3d in this main? :)
KeysS: You have to get them from CodeBlocks, since he is the only one that works with the main.exe 1.03y (Jpn). (Obviously for those of us in this issue)
the full vcorp source code is for the version: 1.03g, here I leave.
--> complete vcorp source
If... seems legitimate... dude that was completed, to see that weighed less than: 1 mb, but it comes with the project for visual studio 2003. Thanks scrome
@Keys
Offsets 3D Camera Main 1.03Y
0061F9F9 =================> Camera_Zoom = 35
008F6F34 =================> Camera_RotY = -48.5
081A2950 =================> Camera_RotZ = -45
008F5FC0 =================> Camera_PosZ = 150
008F6DEC =================> Camera_ClipX = 1190
005C5FB9 =================> Camera_ClipY = 2400
00803B45 =================> Camera_GlClip = 3000
test please:8:
Why not works on S3 main If wrote "Any Mains"?
if zed126 search the offsets of the main using ollydbg... probably they are wrong.
Thanks now works, but how exactly u find it, using guides here i found but wrong offsets -.- using winhex works but glclip and -48.5 wrong offsets then ... i don't know how exactly find it on mains JPN in mains kor is more easy i think ^^ thanks if u can tell how find exactly offsets it will be good :)
Test:
http://i254.photobucket.com/albums/h...19_09-0001.jpg
Ok thanks a lot i will continue with my works :):thumbup:
Add please in it main
Download 1.exe from Sendspace.com - send big files the easy way
Thread Closed by Request.