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!

[Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)

Junior Spellweaver
Joined
Sep 5, 2012
Messages
148
Reaction score
2
Hi sir aecrimch can u add only new chat separation on my main ? thankyou sir. this main i use is from MuEngine im using muengine files and he dont support chat separation on his main. so im getting a problem how to get it. please add only chat separation
 
Last edited:
Banned
Banned
Joined
Feb 8, 2015
Messages
108
Reaction score
19
no bro :): I draw my own MiniMap totally custom I only use webzen textures from: Screen Map for generate mini images and: Interface texture from: Minimap on: Illusion Temple.. but look this:

on Interface.cpp:

Code:
void Interface::Load()
{
    this->BindObject(eSAMPLEBUTTON, 0x7AA4, 16, 15, 175, 1);
    // ----
    this->BindObject(eRANK_MAIN, 0x7A5A, 222, 303, -1, -1);
    this->BindObject(eRANK_TITLE, 0x7A63, 230, 67, -1, -1);
    this->BindObject(eRANK_FRAME, 0x7A58, 230, 15, -1, -1);
    this->BindObject(eRANK_FOOTER, 0x7A59, 230, 50, -1, -1);
    this->BindObject(eRANK_BUTTON, 0x7A5E, 128, 29, -1, -1);
    this->BindObject(eRANK_DIV, 0x7A62, 223, 21, -1, -1);
    this->BindObject(eRANK_TAB1, 0x7AAD, 48, 22, -1, -1);
    this->BindObject(eRANK_TAB2, 0x7AAD, 48, 22, -1, -1);
    this->BindObject(eRANK_TAB3, 0x7AAD, 48, 22, -1, -1);
    this->BindObject(eRANK_TAB4, 0x7AAE, 72, 22, -1, -1);
    this->BindObject(eCAMERA_MAIN, 0x787A, 54, 18, 174, 0);
    this->BindObject(eCAMERA_BUTTON1, 0x787B, 16, 12, 175.5, 1);
    this->BindObject(eCAMERA_BUTTON2, 0x787C, 16, 12, 192.5, 1);
    this->BindObject(eCRAFT_MAIN, 0x7A5A, 222, 303, -1, -1);
    this->BindObject(eCRAFT_TITLE, 0x7A63, 230, 67, -1, -1);
    this->BindObject(eCRAFT_FRAME, 0x7A58, 230, 15, -1, -1);
    this->BindObject(eCRAFT_FOOTER, 0x7A59, 230, 50, -1, -1);
    this->BindObject(eCRAFT_DIV, 0x7A62, 223, 21, -1, -1);
    this->BindObject(eCRAFT_TAB1, 0x7AAD, 48, 22, -1, -1);
    this->BindObject(eCRAFT_TAB2, 0x7AAD, 48, 22, -1, -1);
    this->BindObject(eCRAFT_TAB3, 0x7AAD, 48, 22, -1, -1);
    this->BindObject(eCRAFT_TAB4, 0x7AAE, 72, 22, -1, -1);
    this->BindObject(eCRAFT_CLOSE, 0x7EC5, 36, 29, -1, -1);
    this->BindObject(eCRAFT_INFOBG, 0x7AA3, 170, 21, -1, -1);
    this->BindObject(eCRAFT_MONEYBG, 0x7A89, 170, 26, -1, -1);
    this->BindObject(eCRAFT_FINISH, 0x7A5E, 128, 29, -1, -1);
    this->BindObject(eRESET_MAIN, 0x7A5A, 222, 303, -1, -1);
    this->BindObject(eRESET_TITLE, 0x7A63, 230, 67, -1, -1);
    this->BindObject(eRESET_FRAME, 0x7A58, 230, 15, -1, -1);
    this->BindObject(eRESET_FOOTER, 0x7A59, 230, 50, -1, -1);
    this->BindObject(eRESET_DIV, 0x7A62, 223, 21, -1, -1);
    this->BindObject(eRESET_CLOSE, 0x7EC5, 36, 29, -1, -1);
    this->BindObject(eRESET_INFOBG, 0x7AA3, 170, 21, -1, -1);
    this->BindObject(eRESET_MONEYBG, 0x7A89, 170, 26, -1, -1);
    this->BindObject(eRESET_FINISH, 0x7A5E, 128, 29, -1, -1);
    this->BindObject(eNEWS_MAIN, 0x7A5A, 222, 303, -1, -1);
    this->BindObject(eNEWS_TITLE, 0x7A63, 230, 67, -1, -1);
    this->BindObject(eNEWS_FRAME, 0x7A58, 230, 15, -1, -1);
    this->BindObject(eNEWS_FOOTER, 0x7A59, 230, 50, -1, -1);
    this->BindObject(eNEWS_DIV, 0x7A62, 223, 21, -1, -1);
    this->BindObject(eNEWS_INFOBG, 0x787D, 170, 21, -1, -1);
    this->BindObject(eNEWS_CLOSE, 0x7EC5, 36, 29, -1, -1);
    this->BindObject(eNEWS_BACK, 0x7A5E, 128, 29, -1, -1);
    // ----
    [COLOR=#ff0000]this->BindObject(eMINI_MAP_BG, 0x7882, 138, 265, -1, -1);[/COLOR]
[COLOR=#ff0000]    this->BindObject(ePLAYER_POINT, 0x7883, 3, 3, -1, -1);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    this->BindObject(eNULL_MAP, 0x7884, 128, 128, -1, -1);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    this->BindObject(eLORENCIA_MAP, 0x7885, 128, 128, -1, -1);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    this->BindObject(eDUNGEON_MAP, 0x7886, 128, 128, -1, -1);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    this->BindObject(eDEVIAS_MAP, 0x7887, 128, 128, -1, -1);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    this->BindObject(eNORIA_MAP, 0x7888, 128, 128, -1, -1);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    this->BindObject(eLOSTTOWER_MAP, 0x7889, 128, 128, -1, -1);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    // Reserved 0x788A for EXILE[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    this->BindObject(eSTADIUM_MAP, 0x788B, 128, 128, -1, -1);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    this->BindObject(eATLANS_MAP, 0x788C, 128, 128, -1, -1);[/COLOR]
    // ----
#ifdef __MAKELO__
    this->BindObject(eOFFEXP_SWITCH, 32513, 57, 23, MAX_WIN_WIDTH-57, 0);
#endif
#ifdef __BEREZNUK__
    this->BindObject(eTIME, 0x787E, 131, 70, -10, 359);
    this->Data[eTIME].OnShow = true;
#endif
#ifdef __ROOT__
    this->BindObject(eQUEST_MAIN, 0x7A5A, 222, 303, -1, -1);
    this->BindObject(eQUEST_TITLE, 0x7A63, 230, 67, -1, -1);
    this->BindObject(eQUEST_FRAME, 0x7A58, 230, 15, -1, -1);
    this->BindObject(eQUEST_FOOTER, 0x7A59, 230, 50, -1, -1);
    this->BindObject(eQUEST_DIV, 0x7A62, 223, 21, -1, -1);
    this->BindObject(eQUEST_CLOSE, 0x7EC5, 36, 29, -1, -1);
#endif
    // ----
    SetOp((LPVOID)oAllowGUI_Call1, this->AllowGUI, ASM::CALL);
    SetOp((LPVOID)oAllowGUI_Call2, this->AllowGUI, ASM::CALL);
    SetOp((LPVOID)oDrawInterface_Call, this->Work, ASM::CALL);
    SetOp((LPVOID)oLoadSomeForm_Call, this->LoadImages, ASM::CALL);
    SetOp((LPVOID)0x00633FFB, this->LoadModels, ASM::CALL);
    SetRange((LPVOID)0x0077FB7E, 7, ASM::NOP);
    SetOp((LPVOID)0x0077FB7E, (LPVOID)CharacterInfoExtern, ASM::JMP);
#ifdef __NOVUS__
    SetRange((LPVOID)0x00598C7D, 29, ASM::NOP);
    SetOp((LPVOID)0x00598C7D, (LPVOID)StaffNameColor, ASM::JMP);
    SetRange((LPVOID)0x005E496C, 13, ASM::NOP);
    SetOp((LPVOID)0x005E496C, (LPVOID)AddSomeShine, ASM::JMP);
#endif
}

void Interface::Work()
{
    gObjUser.Refresh();
    gCamera.Rotate();
    gCamera.Position();
    // ----
#if defined __BEREZNUK__ || __MIX__ || __REEDLAN__ || __MUANGEL__ || __WHITE__ || __MEGAMU__ || __VIRNET__
    gConnectEx.Run();
#endif
#ifdef __NOVUS__
    gInterface.DrawCraftWindow();
#endif
#ifdef __MAKELO__
    gInterface.DrawOffExpSwitch();
#endif
#ifdef __BEREZNUK__
    gInterface.DrawTime();
#endif
    // ----
    gInterface.DrawCameraUI();
    gInterface.DrawResetWindow();
    gInterface.DrawNewsWindow();
    [COLOR=#ff0000]gInterface.DrawMiniMapWindow();[/COLOR]
    // ----
    gInterface.DrawLifeBar();
#ifdef __RMOS__
    gInterface.DrawQuestDialog();
#endif
    // ----
    pDrawInterface();
}

void Interface::LoadImages()
{
    pLoadImage("Custom\\Interface\\CameraUI_BG.tga", 0x787A, 0x2601, 0x2900, 1, 0);
    pLoadImage("Custom\\Interface\\CameraUI_Switch.tga", 0x787B, 0x2601, 0x2900, 1, 0);
    pLoadImage("Custom\\Interface\\CameraUI_Reset.tga", 0x787C, 0x2601, 0x2900, 1, 0);
    pLoadImage("Custom\\Interface\\NewsBoard_Title.tga", 0x787D, 0x2601, 0x2900, 1, 0);
    // ----
    [COLOR=#ff0000]pLoadImage("Custom\\Interface\\MiniMapUI.tga", 0x7882, 0x2601, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\PlayerPoint.jpg", 0x7883, 0x2600, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\MiniMapNull.tga", 0x7884, 0x2601, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // --[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\MiniMap0.tga", 0x7885, 0x2601, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // --[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\MiniMap1.tga", 0x7886, 0x2601, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // --[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\MiniMap2.tga", 0x7887, 0x2601, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\MiniMap3.tga", 0x7888, 0x2601, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\MiniMap4.tga", 0x7889, 0x2601, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    // Exile Map 0x788A[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\MiniMap6.tga", 0x788B, 0x2601, 0x2900, 1, 0);[/COLOR]
[COLOR=#ff0000]    // ----[/COLOR]
[COLOR=#ff0000]    pLoadImage("Custom\\Maps\\MiniMap7.tga", 0x788C, 0x2601, 0x2900, 1, 0);[/COLOR]
    // ----
#ifdef __BEREZNUK__
    pLoadImage("Custom\\Interface\\TimeBar.tga", 0x787E, 0x2601, 0x2900, 1, 0);
#endif
#ifdef __MAKELO__
    pLoadImage("Interface\\newui_pcroom.tga", 32513, 0x2601, 0x2900, 1, 0);
#endif
    // ----
    pLoadSomeForm();
}

[COLOR=#ff0000]bool Interface::MiniMapCheck()[/COLOR]
[COLOR=#ff0000]{[/COLOR]
[COLOR=#ff0000]    if(this->CheckWindow(Inventory) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(CashShop) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(ChaosBox) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(Character) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(CommandWindow) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(ExpandInventory) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(ExpandWarehouse) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(FullMap) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(GensInfo) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(Guild) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(NPC_Dialog) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(NPC_Julia) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(NPC_Titus) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(OtherStore) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(Party) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(PetInfo) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(Shop) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(SkillTree) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(Store) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(Trade) ||[/COLOR]
[COLOR=#ff0000]        this->CheckWindow(Warehouse) )[/COLOR]
[COLOR=#ff0000]        return true;[/COLOR]
[COLOR=#ff0000]    return false;[/COLOR]
[COLOR=#ff0000]}[/COLOR]

[COLOR=#ff0000]bool Interface::CombinedChecks()[/COLOR]
[COLOR=#ff0000]{[/COLOR]
[COLOR=#ff0000]    if( (this->CheckWindow(Inventory) [/COLOR]
[COLOR=#ff0000]        && this->CheckWindow(ExpandInventory) [/COLOR]
[COLOR=#ff0000]        && this->CheckWindow(Store)) || [/COLOR]
[COLOR=#ff0000]        (this->CheckWindow(Inventory) [/COLOR]
[COLOR=#ff0000]        && this->CheckWindow(Warehouse) [/COLOR]
[COLOR=#ff0000]        && this->CheckWindow(ExpandWarehouse)) || [/COLOR]
[COLOR=#ff0000]        (this->CheckWindow(Inventory) [/COLOR]
[COLOR=#ff0000]        && this->CheckWindow(Character) [/COLOR]
[COLOR=#ff0000]        && this->CheckWindow(Store)) )[/COLOR]
[COLOR=#ff0000]        return true;[/COLOR]
[COLOR=#ff0000]    return false;[/COLOR]
[COLOR=#ff0000]}

[/COLOR][COLOR=#0000cd]void Interface::DrawMiniMapWindow()
{
    float MainWidth            = 138.0;
    float MainHeight        = 265.0;
    float StartY            = 264.0;
    float StartX            = 512.0;
    // ----
    if( this->MiniMapCheck() || this->CombinedChecks() )
    {
        return;
    }
    // ----
    switch(gObjUser.m_MapNumber)
    {
        case 0:    //Lorencia
        {
            this->DrawGUI(eLORENCIA_MAP, StartX, StartY + 30);
        }
        break;
        // --
        case 1:    //Dungeon
        {
            this->DrawGUI(eDUNGEON_MAP, StartX, StartY + 30);
        }
        break;
        // --
        case 2:    //Devias
        {
            this->DrawGUI(eDEVIAS_MAP, StartX, StartY + 30);
        }
        break;
        // --
        case 3:    //Noria
        {
            this->DrawGUI(eNORIA_MAP, StartX, StartY + 30);
        }
        break;
        // --
        case 4:    //LostTower
        {
            this->DrawGUI(eLOSTTOWER_MAP, StartX, StartY + 30);
        }
        break;
        // --
        case 5:    //Exile (disabled)
        {
            return;
        }
        break;
        // --
        case 6:    //Stadium
        {
            this->DrawGUI(eSTADIUM_MAP, StartX, StartY + 30);
        }
        break;
        // --
        case 7:    //Atlans
        {
            this->DrawGUI(eATLANS_MAP, StartX, StartY + 30);
        }
        break;
        // --
        default: //Default
        {
            this->DrawGUI(eNULL_MAP, StartX, StartY + 30);
        }
        break;
    }
    // ----
    this->DrawGUI(eMINI_MAP_BG, StartX, StartY);
    this->DrawGUI(ePLAYER_POINT, (float)(StartX - 1 + gObjUser.lpViewPlayer->MapPosX / 2), (float)(294 - 1 + ( 255 - gObjUser.lpViewPlayer->MapPosY ) / 2) );
}[/COLOR]

:p: and I have my own code for put effects on items.. I no need use yet coded by: zteam
you share pLoadImage("Custom\\Maps\\PlayerPoint.jpg", 0x7883, 0x2600, 0x2900, 1, 0); // ----
pLoadImage("Custom\\Maps\\MiniMapNull.tga", 0x7884, 0x2601, 0x2900, 1, 0);
// --
pLoadImage("Custom\\Maps\\MiniMap0.tga", 0x7885, 0x2601, 0x2900, 1, 0);
// --
pLoadImage("Custom\\Maps\\MiniMap1.tga", 0x7886, 0x2601, 0x2900, 1, 0);
// --
pLoadImage("Custom\\Maps\\MiniMap2.tga", 0x7887, 0x2601, 0x2900, 1, 0);
// ----
pLoadImage("Custom\\Maps\\MiniMap3.tga", 0x7888, 0x2601, 0x2900, 1, 0);
// ----
pLoadImage("Custom\\Maps\\MiniMap4.tga", 0x7889, 0x2601, 0x2900, 1, 0);
// ----
// Exile Map 0x788A
// ----
pLoadImage("Custom\\Maps\\MiniMap6.tga", 0x788B, 0x2601, 0x2900, 1, 0);
// ----
pLoadImage("Custom\\Maps\\MiniMap7.tga", 0x788C, 0x2601, 0x2900, 1, 0);
 
Newbie Spellweaver
Joined
Feb 9, 2013
Messages
20
Reaction score
1
someone would have the full client with new items, Encoder and Item.txt server
I shall be grateful if available for download :):eek:tt:
 
Banned
Banned
Joined
Feb 8, 2015
Messages
108
Reaction score
19
Actually.. is only: Linear filtering ( but apply on 1 different way that old: RMST code ).. because Anisotropic on main is bad..

First you must add a new: Display.cpp file and Display.h file with this code:

Code:
#include "stdafx.h"
#include "Display.h"
#include "Interface.h"
#include "detours.h"
#include "TMemory.h"
#include "User.h"


int Lin    = GetPrivateProfileIntA("zClient","IsLin",0,".\\zClient.ini");
int Fog = GetPrivateProfileIntA("zClient","IsFog",0,".\\zClient.ini");


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


typedef void (APIENTRY *FUNC_GLENABLE)            (GLenum mode);
FUNC_GLENABLE glEnable_o = NULL;


typedef HWND (APIENTRY *FUNC_WINEXEC)            (LPCTSTR lpClassName,LPCTSTR lpWindowName);
FUNC_WINEXEC WinExec_o = NULL;


typedef void (APIENTRY *FUNC_GLBIND)            (GLenum target,GLuint texture);
FUNC_GLBIND glBindTex_o = NULL;


void APIENTRY glEnable_h(GLenum mode)
{
    if( pPlayerState != GameProcess )
    {
        *(double*)oCam_ClipS = 540;
        *(double*)oCam_ClipU = 580;
        *(double*)oCam_ClipJ = 600;
        *(double*)oCam_ClipM = 660;
        *(double*)oCam_ClipL = 1250;
        *(double*)oCam_ClipX = 1190;
        *(double*)oCam_ClipN = 1900;
        // ----
        *(float*)oCam_ClipZ  = 2300;
        *(float*)oCam_ClipY  = 2400;
        *(float*)oCam_ClipV     = 2650;
        *(float*)oCam_ClipQ     = 3220;
        *(float*)oCam_ClipP     = 3300;
        *(float*)oCam_ClipO     = 3400;
    }
    else
    {
        *(double*)oCam_ClipS = 6144;
        *(double*)oCam_ClipU = 6144;
        *(double*)oCam_ClipJ = 6144;
        *(double*)oCam_ClipM = 6144;
        *(double*)oCam_ClipL = 6144;
        *(double*)oCam_ClipX = 6144;
        *(double*)oCam_ClipN = 6144;
        // ----
        *(float*)oCam_ClipZ  = 6144;
        *(float*)oCam_ClipY  = 6144;
        *(float*)oCam_ClipV     = 6144;
        *(float*)oCam_ClipQ     = 6144;
        *(float*)oCam_ClipP     = 6144;
        *(float*)oCam_ClipO     = 6144;
    }
    // ----
    SetByte((LPVOID)0x004D87EC,0x0E);
    // ----
    if(Lin!=0)
    {
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
        glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    }
    // ----
    if(Fog!=0)
    {
        SetNop(0x004D9938,2);
        SetNop(0x004D9954,2);
    }
    // ----
    glEnable_o(mode);
}


void gFiltersInit()
{    
    glEnable_o = (FUNC_GLENABLE)DetourFunction((PBYTE)DetourFindFunction("Opengl32.dll", "glBegin"),(PBYTE)glEnable_h);
}

and in .h file:

Code:
#pragma once


void gFiltersInit();

and in your: dllmain.cpp add this:

Code:
[COLOR=#ff0000]#include "Display.h"[/COLOR]

extern "C" __declspec(dllexport)void Init()
{
    //VMBEGIN
    // ----
    DWORD OldProtect;
    // ----
    if(VirtualProtect(LPVOID(0x401000),0xD21FFF,PAGE_EXECUTE_READWRITE,&OldProtect))
    {
           gController.Load();
       gChatExpanded.Load();
       gItemPrice.Load();
       gItem.Load();
       gResetSystem.Load();
       gProtocol.Load();
       gCheatGuard.Load();
       gObjUser.Load();
       gOther.Load();
       gInterface.Load();
       gVisualFix.InitVisualFix();
       g_ItemModel.Load();

           [COLOR=#ff0000]gFiltersInit();[/COLOR]
     }
}

and you must use my Camera clip cases for the Maps floor.. look this on Import.h:


Code:
#define oCam_ClipY    0x00D2C894    //float: 2400.000
#define oCam_ClipZ    0x00D27BC0  //float: 2300.000
#define oCam_ClipV    0x00D2C890  //float: 2650.000
#define oCam_ClipQ    0x00D27BCC    //float: 3220.000
#define oCam_ClipO    0x00D2C840  //float: 3400.000
#define oCam_ClipP    0x00D2C8A8    //float: 3300.000
#define oCam_ClipX    0x00D2C848  //double: 1190.00000000
#define oCam_ClipJ    0x00D22E88  //double: 600.0000000000000
#define oCam_ClipN    0x00D2C878    //double: 1900.000000000000
#define oCam_ClipU    0x00D2C898  //double: 580.0000000000000
#define oCam_ClipL    0x00D2C888    //double: 1250.00000000000
#define oCam_ClipM    0x00D2C830    //double: 660.0000000000000
#define oCam_ClipS    0x00D256F0  //double: 540.0000000000000

PS: But you must use some detours library version for this.. and add to your solution folder from project.. I'm using detours version: 1.5 here I leave for u. Good Luck



PS 2: And for ini file: zClient.ini put this:

Code:
[zClient]
IsLin    =1
IsFog    =1

PS 3: Fog is internal on main.exe not detours used because is slow for make intercept.
detours version: 1.5 please reupload
 
Newbie Spellweaver
Joined
Sep 7, 2011
Messages
14
Reaction score
21
detours version: 1.5 please reupload

Sure bro.. here new link for detours 1.5:



here link for detours 2.1 too:



Credits: Mr. Kernighan (old RMSTeam from external fog code 1.03K)



you share pLoadImage("Custom\\Maps\\PlayerPoint.jpg", 0x7883, 0x2600, 0x2900, 1, 0); // ----
pLoadImage("Custom\\Maps\\MiniMapNull.tga", 0x7884, 0x2601, 0x2900, 1, 0);
// --
pLoadImage("Custom\\Maps\\MiniMap0.tga", 0x7885, 0x2601, 0x2900, 1, 0);
// --
pLoadImage("Custom\\Maps\\MiniMap1.tga", 0x7886, 0x2601, 0x2900, 1, 0);
// --
pLoadImage("Custom\\Maps\\MiniMap2.tga", 0x7887, 0x2601, 0x2900, 1, 0);
// ----
pLoadImage("Custom\\Maps\\MiniMap3.tga", 0x7888, 0x2601, 0x2900, 1, 0);
// ----
pLoadImage("Custom\\Maps\\MiniMap4.tga", 0x7889, 0x2601, 0x2900, 1, 0);
// ----
// Exile Map 0x788A
// ----
pLoadImage("Custom\\Maps\\MiniMap6.tga", 0x788B, 0x2601, 0x2900, 1, 0);
// ----
pLoadImage("Custom\\Maps\\MiniMap7.tga", 0x788C, 0x2601, 0x2900, 1, 0);

I don't have originals: .tga files from Nemesis, but maybe this: .jpg from my minimap can help to you bro:



ps: and here I leave too: .tga from Interface for external minimap that: Nemesis, use in his code:

6A5Uizc - [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap) - RaGEZONE Forums




and my own modified from original (without Illusion Event buttons that not works xD in the same .rar file):

bn5QTs2 - [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap) - RaGEZONE Forums


ps 2: I leave here too.. a small experiment that I make.. a long time ago.. (without Success xD) sorry, but I don't know so much of programming... to try to implement something like this:

aecrimch - [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap) - RaGEZONE Forums


I make this textures .tga using.. directX texture tool and my brain xD look:

WDMUXUV - [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap) - RaGEZONE Forums


JX6eZiF - [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap) - RaGEZONE Forums




ps3: YES, this is from another knowded game... I know :D: Hahaha.. is my failed trying.. to re-create Arieth Radar Mini Map...

ps4: and here I leave.. pseudo-code decompiled from: 1.04d GMO main.exe with my IDA 6.6 from original Webzen MiniMap Proc (maybe to some person here is util this):

Code:
//----- (00887490) --------------------------------------------------------
char __usercall sub_887490@<al>(int a1@<ecx>, int a2@<ebx>, int a3@<edi>, int a4@<esi>)
{
  int alpha; // ST2C_4@1
  int v5; // eax@1
  int v6; // eax@1
  int v7; // eax@1
  float v8; // ST34_4@1
  float v9; // ST30_4@1
  float v10; // ST08_4@1
  float v11; // ST04_4@1
  float green; // ST24_4@1
  float red; // ST20_4@1
  float v14; // ST24_4@1
  float v15; // ST20_4@1
  int v16; // ST2C_4@2
  int v17; // eax@2
  GLfloat v18; // ST2C_4@6
  GLfloat v19; // ST2C_4@7
  GLfloat v20; // ST2C_4@10
  GLfloat v21; // ST2C_4@11
  int v22; // ST18_4@12
  int v23; // ST14_4@12
  int v24; // eax@12
  float v25; // ST1C_4@13
  float v26; // ST18_4@13
  float v27; // ST24_4@14
  float v28; // ST20_4@14
  int v29; // edx@14
  int v30; // edx@14
  int v31; // edx@15
  int v33; // [sp+34h] [bp-104h]@1
  char v34; // [sp+38h] [bp-100h]@1
  char v35; // [sp+39h] [bp-FFh]@1

  v33 = a1;
  v34 = 0;
  sub_9CF4B0((int)&v35, 0, 255);
  sub_635FD0(1);
  glColor4f(1.0, 1.0, 1.0, *(float *)(v33 + 128));
  alpha = (int)dword_E8C58C;
  v5 = (int)sub_41FE10(a2, a3);
  sub_420120(v5, alpha);
  v6 = (int)sub_41FE10(a2, a3);
  sub_420040(v6, 0xFFu, 0xFFu, 0xFFu, 0xFFu);
  v7 = (int)sub_41FE10(a2, a3);
  sub_4200B0(v7, 0, 0, 0, 0);
  v8 = (double)*(signed int *)(v33 + 124) * 0.5;
  v9 = (double)*(signed int *)(v33 + 124) * 0.5;
  v10 = (double)*(signed int *)(v33 + 16);
  v11 = (double)*(signed int *)(v33 + 12);
  sub_637C60(a2, a3, a4, 31610, v11, v10, 128.0, 128.0, *(float *)(v33 + 116), *(float *)(v33 + 120), v9, v8, 1, 1, 0.0);
  green = (double)*(signed int *)(v33 + 8);
  red = (double)*(signed int *)(v33 + 4);
  sub_790A00(a2, a3, a4, 31608, red, green, 154.0, 162.0);
  v14 = (double)*(signed int *)(v33 + 24);
  v15 = (double)*(signed int *)(v33 + 20);
  sub_790A00(a2, a3, a4, 31609, v15, v14, 134.0, 37.0);
  glColor4f(1.0, 1.0, 1.0, *(float *)(v33 + 128));
  if ( sub_8CAF90() )
  {
    v16 = (int)dword_E8C590;
    v17 = (int)sub_41FE10(a2, a3);
    sub_420120(v17, v16);
    if ( flt_5EF5A1C - *(float *)(v33 + 144) > 500.0 )
    {
      *(float *)(v33 + 144) = flt_5EF5A1C;
      *(_BYTE *)(v33 + 134) = 1;
    }
    if ( *(_BYTE *)(v33 + 134) )
    {
      if ( *(_DWORD *)(v33 + 140) >= 10 )
      {
        v19 = *(float *)(v33 + 140);
        sub_50D100(a3, a4, (int)&v34, (int)"%d:%d", *(_DWORD *)(v33 + 136));
      }
      else
      {
        v18 = *(float *)(v33 + 140);
        sub_50D100(a3, a4, (int)&v34, (int)"%d:0%d", *(_DWORD *)(v33 + 136));
      }
    }
    else if ( *(_DWORD *)(v33 + 140) >= 10 )
    {
      v21 = *(float *)(v33 + 140);
      sub_50D100(a3, a4, (int)&v34, (int)"%d %d", *(_DWORD *)(v33 + 136));
    }
    else
    {
      v20 = *(float *)(v33 + 140);
      sub_50D100(a3, a4, (int)&v34, (int)"%d 0%d", *(_DWORD *)(v33 + 136));
    }
    v22 = *(_DWORD *)(v33 + 24) + 10;
    v23 = *(_DWORD *)(v33 + 20);
    v24 = (int)sub_41FE10(a2, a3);
    sub_420150(v24, v23, v22, (int)&v34, 134, 0, 3, 0);
  }
  (*(void (__thiscall **)(int))(*(_DWORD *)v33 + 12))(v33);
  glColor4f(1.0, 1.0, 0.0, *(float *)(v33 + 128));
  v25 = (double)*(signed int *)(v33 + 104);
  v26 = (double)*(signed int *)(v33 + 100);
  sub_6378A0(v26, v25, 3.0, 3.0, 0.0, 0);
  sub_635F50();
  sub_635FD0(1);
  glColor4f(1.0, 1.0, 1.0, *(float *)(v33 + 128));
  if ( *(_BYTE *)(v33 + 132) == 1 )
  {
    v27 = (double)*(signed int *)(v33 + 32);
    v28 = (double)*(signed int *)(v33 + 28);
    sub_790A00(a2, a3, a4, 31614, v28, v27, 128.0, 53.0);
    sub_888730(v33, a2, a3, a4);
    sub_779540(v33 + 188, v29, *(float *)(v33 + 128), 1);
    sub_779540(v33 + 360, v30, *(float *)(v33 + 128), 1);
    sub_7797A0(v33 + 188, a2, a3, a4, 0);
    sub_7797A0(v33 + 360, a2, a3, a4, 0);
  }
  sub_790880(v33 + 532, (int)dword_E8C58C);
  sub_779540(v33 + 532, v31, *(float *)(v33 + 128), 1);
  sub_7797A0(v33 + 532, a2, a3, a4, 0);
  sub_635F50();
  return 1;
}
// 5EF5A1C: using guessed type float flt_5EF5A1C;

ps5: My IDA shows this.. when I load the original 1.04.04 GMO main.exe:

wePrkWr - [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap) - RaGEZONE Forums


Some person here... have this ??? Hahaha !! :eek:tt: :eek:tt: :eek:tt:
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Mar 3, 2016
Messages
28
Reaction score
1
my friend fix position on Cloak... Looks like crap... Its not fix in .dll its only fixed position in bmd.
here fixed Cloak of Death only bmd:

how u can do it ?
u can fix it for me ? Please https://mega.nz/#F!jQ8VmbpC!XtXUIlAUFOA0nQAlsuo8UQ
 
Newbie Spellweaver
Joined
Jun 14, 2008
Messages
36
Reaction score
16
my friend fix position on Cloak... Looks like crap... Its not fix in .dll its only fixed position in bmd.
here fixed Cloak of Death only bmd:


Link is death, anyone reupload ? Thank you!
 
Back
Top