Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Development] Ultimate Source Code for Customs

Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,315
for 1.02k (Jpn) of MuReedLan Main.exe SKY OFFSETS CORRECTS ARE:

BLEND = 006B8419
UNBLEND = 006B839A
SKYHOOK = 00600C70
DISPLAY = 006D148F
MAINSTATE = 007E8088
MAP = 007D60C8

GLOBAL MESSAGE FOR 1.02k (Jpn):

#define Main_PrintGlobal 005A0C70H;


PS: The sky offsets wanted: CodeBlock were wrong... I check these color "red", are what I corrected and now if they are all correct.
 
Last edited:
Experienced Elementalist
Joined
Oct 12, 2007
Messages
219
Reaction score
5
Need patch for sky for client and I found error in sourse code:


{
for(int i=0 ; i<30; i++)
{
for(int j=0; j<6; j++)
{
images[j] = blankimage;
}


Why it is? When the worlds are not one by one. World1 - World19, World 25, World31 and etc
 
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,315
J = Indicates the amount of textures to be loaded for each map, in this case indicates that should be less or equal than 6, which is fine because the sky is a "cube", and a cube has 6 faces.

I = Indicates the number of worlds than to the 6 textures must loaded in the 6 faces of the cube of sky.

that is what is not good or you don't understand?
 
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,315
I can find all the offsets for the functions of the sky, no problem for any version of main.exe... not really very hard to do, so it is that I can do in 5 min (at most), but the offsets for the camera, are somewhat more complicated to find, since the search to be made is of type FLOAT , so I say again... I am available to all users of the forum ... whatever version of main.exe, for which you arrange to sky... I'll gladly contribute to the cause, as I have been doing since the beginning of this topic... but with 3 conditions which are:

1 - I need to know which version of main.exe is (means they must upload their main.exe to internet).

2 - the offsets for the 3D camera, I will not look for anyone, so here should be sought in advance to have them (meaning, if they intend to prove that the offsets of the sky to seek work well, must necessarily also share their camera offsets 3d, in case I do not have, and that are not online).

3 - do not ask me for extra help and video tutorials, guide / guides with photos, to learn how to find the offsets for yourself and / or to learn how to use the compiler in any case we already be doing it myself in the future, when you have some free time. (this is the reason why supply full source code + all libs + all project files and solution).

ps: to learn how to find offsets in main.exe camera (any version, except the old school), see this topic: http://forum.ragezone.com/f196/find-offsets-main-3dcamera-using-656118/
 
Experienced Elementalist
Joined
Oct 12, 2007
Messages
219
Reaction score
5
Load please patch with bmp files for skyhook
 
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,315
Here I leave to all those who have not been found on the Internet, or do not want to look for are taken :p SKY images for some Worlds.

Link:

PS: Please ignore the folder: World52, because as we all know, but we do that all maps have SKY, (including those above the Index, 30), Elbeland (the World52) is different from all maps, as the black background (in Elbeland is Gray color). so obviously the offset to engage the SKY or Skyhook, is different.

Credits for editing these images of Sky are to: VCORP
 
Custom Title Activated
Loyal Member
Joined
Dec 5, 2009
Messages
2,657
Reaction score
1,178
3 - do not ask me for extra help and video tutorials, guide / guides with photos, to learn how to find the offsets for yourself and / or to learn how to use the compiler in any case we already be doing it myself in the future, when you have some free time. (this is the reason why supply full source code + all libs + all project files and solution).

but u asked like 2 year everyone how to make that :D

funny isnt it ?:D

make something new mauro -,- ups i forget :D no more sources hahaha
 
Last edited:
Experienced Elementalist
Joined
Oct 12, 2007
Messages
219
Reaction score
5
I'm have FOG but after patch not have sky. Why? May be other offset for skyhook?
 
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,315
1313: Please send me your 3D camera offsets (all) to 1.02k JPN, I myself will compiled camera+ sky + fog for you.

PS: This is a statement for all... I am currently working on a source code that will serve to put main.exe MiniMap in minor versions: 1.00, so here are pending, because I have a good part of the Research made ​​for 0.99B +, compared to some offsets to sobieh 1.02d.

Here I leave a part of code in Delphi:

Code:
//-------------------------------------------------------------------------
     // Mini Mapa
     //-------------------------------------------------------------------------

     if (CurrMap^ = 9) then PushF10 := false;  // DS 1-4
     if (CurrMap^ = 32) then PushF10 := false; // DS 5-6
     if (CurrMap^ = 30) then PushF10 := false; // LOREN
     if (CurrMap^ = 10) then PushF10 := false; // ICARUS
     if (CurrMap^ > 10) AND (CurrMap^ < 24) then PushF10 := false; // BC 1-7 + CC 1-6

     if PushF10 = True then begin
          GlLoadEncImage ('Maps\' + Maps[CurrMap^] +  'Map.jpg',$1B,$2600,$2900,0,1);
          GlLoadEncImage ('Interface\MiniMapa.jpg',$1C,$2600,$2900,0,1);
       BlendGl(1);
       UnBlendGl();
          glPicture($1C,480,272,160,160,0,0,0.61,0.61,1); // MAP BG
          glPicture($1B,497,295,128,128,0,0,1,1,1);       // MAP
       BlendGl(1);

        for a:= 0 to 399 do begin
            gX  := Ptr(gObjPtr^ + (a * $438) + $39A);
            gY  := Ptr(gObjPtr^ + (a * $438) + $39B);
            MyDword := gObjPtr^ + (a * $438);

            PY := (gX^ div 2);
            PX := (gY^ div 2);
            gAddr := Ptr(gObjPtr^ + (a * $438));

          if (gAddr^ = 1) AND NOT (MyDword = MePtr^) AND NOT (gX^ = 0) AND NOT (gY^ = 0) then begin
            gAddr := Ptr(gObjPtr^ + (a * $438) + $88);
            if gAddr^ = 1 then BoxGL(496 + PX,296 + PY,2,2,255,0,255,255);      // GRACZ
            if gAddr^ = 2 then BoxGL(496 + PX,296 + PY,2,2,255,0,0,255);        // MOB
          end;
        end;

        MeX  := Ptr(MePtr^ + $3EC);
        MeY  := Ptr(MePtr^ + $3FC);
        gX2  := Ptr(MePtr^ + $39A);
        gY2  := Ptr(MePtr^ + $39B);

        if MeX^ = 0 then PY := (gX2^ div 2) else PY := (MeX^ div 2);
        if MeY^ = 0 then PX := (gY2^ div 2) else PX := (MeY^ div 2);

        BoxGL(495 + PX,295 + PY,3,3,255,255,0,255); // MAP POINT SELF

        glColor4f(1,1,1,1);
      BlendGl(1);
      UnBlendGl();
     end;

and this is what I could move to C++:

Code:
if((*CurrMap == 9)   ) PushF10 =  false;
     if((*CurrMap == 32)   ) PushF10 =  false;
     if((*CurrMap == 30)   ) PushF10 =  false;
     if((*CurrMap == 10)   ) PushF10 =  false;
     if((*CurrMap > 10) &&  (*CurrMap < 24)   ) PushF10 =  false;

if(PushF10 == True   )  { 
          GlLoadEncImage ("Maps\" + Maps[CurrMap^] +  "Map.jpg",$1B,$2600,$2900,0,1);
          GlLoadEncImage ("Interface\MiniMapa.jpg",$1C,$2600,$2900,0,1);
       BlendGl(1);
       UnBlendGl();
          glPicture($1C,480,272,160,160,0,0,0.61,0.61,1);
          glPicture($1B,497,295,128,128,0,0,1,1,1);
       BlendGl(1);

for( a=  0; a<=399; a++)  { 
            gX  =  Ptr(*gObjPtr + (a * $438) + $39A);
            gY  =  Ptr(*gObjPtr + (a * $438) + $39B);
            MyDword =*  gObjPtr + (a * $438);

            PY =  (*gX  /  2);
            PX =  (*gY  /  2);
            gAddr =  Ptr(*gObjPtr + (a * $438));

if((*gAddr == 1) &&  !   (MyDword ==* MePtr) &&  !   (*gX == 0) &&  !   (*gY == 0)   )  { 
            gAddr =  Ptr(*gObjPtr + (a * $438) + $88);
*            if(gAddr == 1   ) BoxGL(496 + PX,296 + PY,2,2,255,0,255,255);      // GRACZ
*            if(gAddr == 2   ) BoxGL(496 + PX,296 + PY,2,2,255,0,0,255);        // MOB
           } 
         } 

        MeX  =  Ptr(*MePtr + $3EC);
        MeY  =  Ptr(*MePtr + $3FC);
        gX2  =  Ptr(*MePtr + $39A);
        gY2  =  Ptr(*MePtr + $39B);

*        if(MeX == 0   ) PY =  (*gX2  /  2) else PY =  (*MeX  /  2);
*        if(MeY == 0   ) PX =  (*gY2  /  2) else PX =  (*MeY  /  2);

        BoxGL(495 + PX,295 + PY,3,3,255,255,0,255); // MAP POINT SELF

        glColor4f(1,1,1,1);
      BlendGl(1);
      UnBlendGl();
      }



Credits to: Sobieh (the best!)
 
Last edited:
Experienced Elementalist
Joined
Oct 12, 2007
Messages
219
Reaction score
5
Please help I have it problem with FOG. On the corner of the cube is very rich-FOG



I want FOG how it server has.



And Please more skyes for maps.


---------- Post added at 02:04 PM ---------- Previous post was at 12:48 PM ----------

And give me please true offset for 1.02k Jpn Main *Main_SSPatch
 
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,315
That server to show in the video, called: MU PQC, no fog, what you see and fog appears, is actually an effect on the images of sky, if you want is to have the same sky as the MU, MU in your client, your client simply DOWNLOAD, install it on your computer... and copy the images of sky, which can be in: Data\Interface or Data\Sky, or some other directory...
 
Experienced Elementalist
Joined
Oct 12, 2007
Messages
219
Reaction score
5
Why I have bug of FOG in corner of the cube?!
 
Newbie Spellweaver
Joined
Jan 13, 2010
Messages
98
Reaction score
118
Code:
GlLoadEncImage ("Maps\" [COLOR="Red"]+[/COLOR] Maps[CurrMap^] [COLOR="Red"]+[/COLOR]  "Map.jpg",[COLOR="Red"]$1B,$2600,$2900[/COLOR],0,1);

WTF? C++ don't have this poop like $ syntax.
To use add strings like "sdfsd" + "sdfsd" you need to overload operator + or use std::string type.

Code:
GlLoadEncImage("Interface\MiniMapa.jpg", $1C, $2600, $2900, 0, 1);

Same poop with $. And one more thing if your digit is hexadecimal type you need to use prefix 0xXX.

Code:
gX  := Ptr(gObjPtr^ + (a * $438) + $39A);
gY  := Ptr(gObjPtr^ + (a * $438) + $39B);
MyDword := gObjPtr^ + (a * $438);
Delphi pointer = Ptr(...);
C pointer = *
Xor operation ^ for what?


Code:
if((*gAddr == 1) &&  !   (MyDword ==* MePtr) &&  !   (*gX == 0) &&  !   (*gY == 0)   )  { 
            gAddr =  Ptr(*gObjPtr + (a * $438) + $88);
*            if(gAddr == 1   ) BoxGL(496 + PX,296 + PY,2,2,255,0,255,255);      // GRACZ
*            if(gAddr == 2   ) BoxGL(496 + PX,296 + PY,2,2,255,0,0,255);        // MOB
           } 
         }

(facepalm)
 
Last edited:
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,315
I think I should clarify... when I said that I had since moving from: Delphi to C++, of course I meant, that converted one language to another by means of a converter from Delphi to C++, I found on the Internet (since I do not know about Delphi) and just now starting to understand some things about C++..

PS: But let the full source code for Delphi Sobieh original made ​​with Offsets for version 1.02d main.exe for others who know much more than I, may travel to C++, or any other language they know, to use them, main.exe versions in less than 1.00 or greater, too, and maybe encode something new, like the Minimap, but better.

LINK:
 
Last edited:
Experienced Elementalist
Joined
Oct 12, 2007
Messages
219
Reaction score
5
Why Kalima not has water?
 
Last edited:
Back
Top