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)

Custom Title Activated
Loyal Member
Joined
Dec 5, 2009
Messages
2,657
Reaction score
1,178
Finished... External MiniMap and another shits added to: zClient source look this:

You used webzen code for minimap & replaced texture or custom? ^^ (sry for spam aecrimch)

I added custom minimap from 0, what i used for position (square) rendering is player coordinations & image size.

Just make sure your minimap is hidden when you open MuHelper etc.

About wing effects, seems like arieth effect xD in zTeam .dll you have 3 func

pAllowStaticEffect
pPlayStaticEffect
pPlayDynamicEffect

After small mod you can add effects to more than 1 bones...
pAllowStaticEffect(x, &x, x, 1, 0);

1 = Bone ID

Some wz effects id's (but ofc we can load own effect & manipulate)
Code:
0x7d83    // ~ Lights (1-5)			
------   ----------------------------------
0x7d7E    // ~ Flower 1
0x7d7F    // ~ Flower 2
0x7d80    // ~ Flower 3
------   ----------------------------------
0x7d4d    // ~ Flame (0 / 1+)
0x7e73    // ~ Flame Type 2
0x7eaf    // ~ Flame Type 3  
------   ----------------------------------
0x7e35    // ~ Snow Type 1
0x7e36    // ~ Snow Type 2
------   ----------------------------------
0x7e63    // ~ Heart (0 / 1)
------   ----------------------------------
0x7E1F    // ~ Blue Effect 
------   ----------------------------------
0x7d30    // ~ Some Balls
------   ----------------------------------
0x7d65    // ~ Basic Smoke
0x7d65    // ~ Green Smoke
0x7d65    // ~ Smoke Up-Right
0x7d65    // ~ Smoke Type (3 / 4+)
0x7e04    // ~ Smoke Ball (0 / 5+)
------   ----------------------------------
0x7e22    // ~ Some effect
------   ----------------------------------
0x7e7c    // ~ Static Light
------   ----------------------------------
0x7d36    // ~ Blue Dynamic Light (0+)
------   ----------------------------------
0x7d71    // ~ Stars (id 4 like w3 elf)

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

Attachments

You must be registered for see attachments list
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,313
You used webzen code for minimap & replaced texture or custom? ^^ (sry for spam aecrimch)

I added custom minimap from 0, what i used for position (square) rendering is player coordinations & image size.

Just make sure your minimap is hidden when you open MuHelper etc.

About wing effects, seems like arieth effect xD in zTeam .dll you have 3 func

pAllowStaticEffect
pPlayStaticEffect
pPlayDynamicEffect

After small mod you can add effects to more than 1 bones...
pAllowStaticEffect(x, &x, x, 1, 0);

1 = Bone ID

Some wz effects id's (but ofc we can load own effect & manipulate)
Code:
0x7d83    // ~ Lights (1-5)            
------   ----------------------------------
0x7d7E    // ~ Flower 1
0x7d7F    // ~ Flower 2
0x7d80    // ~ Flower 3
------   ----------------------------------
0x7d4d    // ~ Flame (0 / 1+)
0x7e73    // ~ Flame Type 2
0x7eaf    // ~ Flame Type 3  
------   ----------------------------------
0x7e35    // ~ Snow Type 1
0x7e36    // ~ Snow Type 2
------   ----------------------------------
0x7e63    // ~ Heart (0 / 1)
------   ----------------------------------
0x7E1F    // ~ Blue Effect 
------   ----------------------------------
0x7d30    // ~ Some Balls
------   ----------------------------------
0x7d65    // ~ Basic Smoke
0x7d65    // ~ Green Smoke
0x7d65    // ~ Smoke Up-Right
0x7d65    // ~ Smoke Type (3 / 4+)
0x7e04    // ~ Smoke Ball (0 / 5+)
------   ----------------------------------
0x7e22    // ~ Some effect
------   ----------------------------------
0x7e7c    // ~ Static Light
------   ----------------------------------
0x7d36    // ~ Blue Dynamic Light (0+)
------   ----------------------------------
0x7d71    // ~ Stars (id 4 like w3 elf)

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

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
 

Attachments

You must be registered for see attachments list
Last edited:
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,313
Can you share anisotropic filtering \ smoothing from your customs? Looks pretty good

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.
 
Last edited:
Experienced Elementalist
Joined
Nov 26, 2008
Messages
253
Reaction score
67
You used webzen code for minimap & replaced texture or custom? ^^ (sry for spam aecrimch)

I added custom minimap from 0, what i used for position (square) rendering is player coordinations & image size.

Just make sure your minimap is hidden when you open MuHelper etc.

About wing effects, seems like arieth effect xD in zTeam .dll you have 3 func

pAllowStaticEffect
pPlayStaticEffect
pPlayDynamicEffect

After small mod you can add effects to more than 1 bones...
pAllowStaticEffect(x, &x, x, 1, 0);

1 = Bone ID

Some wz effects id's (but ofc we can load own effect & manipulate)
Code:
0x7d83    // ~ Lights (1-5)            
------   ----------------------------------
0x7d7E    // ~ Flower 1
0x7d7F    // ~ Flower 2
0x7d80    // ~ Flower 3
------   ----------------------------------
0x7d4d    // ~ Flame (0 / 1+)
0x7e73    // ~ Flame Type 2
0x7eaf    // ~ Flame Type 3  
------   ----------------------------------
0x7e35    // ~ Snow Type 1
0x7e36    // ~ Snow Type 2
------   ----------------------------------
0x7e63    // ~ Heart (0 / 1)
------   ----------------------------------
0x7E1F    // ~ Blue Effect 
------   ----------------------------------
0x7d30    // ~ Some Balls
------   ----------------------------------
0x7d65    // ~ Basic Smoke
0x7d65    // ~ Green Smoke
0x7d65    // ~ Smoke Up-Right
0x7d65    // ~ Smoke Type (3 / 4+)
0x7e04    // ~ Smoke Ball (0 / 5+)
------   ----------------------------------
0x7e22    // ~ Some effect
------   ----------------------------------
0x7e7c    // ~ Static Light
------   ----------------------------------
0x7d36    // ~ Blue Dynamic Light (0+)
------   ----------------------------------
0x7d71    // ~ Stars (id 4 like w3 elf)

Could you share that modification and enlighten a noob on how to add the effects to individual bones?
I'd really appreciate it.
 
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,313
for add to MiniMap source here I leave my last research Interface Objects from main.exe index ( this things not put on original source from: zClient ).

on Defines.h file -> ObjWindow enum add this cases:

Code:
[COLOR=#ff0000]Quest            = 4,
MuHelper                = 79,[/COLOR]

then.. now with this 2 new windows indexs from main.exe you can add on: Interface.cpp file on: MiniMapCheck proc:

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

PS: Quest is Quest window from Player ( opened with: T Key ) and Mu Helper is: ( opened with: Z Key ).

PS 2: This is for "hide" Minimap on display.. when you open some of this original windows from Game.

PS 3: I forgot: FastMenu ( opened with U Key ) & Friend List ( opened with F Key ).. now added too.

PS 4: Actually.. is lacking some Special NPC window like: "Priest Sevina Window", "Guild Master Window", "Marlon NPC Window", "Priest Devin 3rd Quest Window", "Were Wolf 3rd Quest Window", "Golden Archer Window", "Lucky Number NPC Window", "Season 5 Events Windows from NPC to Enter to Events", etc..
 
Last edited:
Experienced Elementalist
Joined
Jun 17, 2014
Messages
242
Reaction score
107
Yea @mauro07 that code is correct, & offset is fine too, but the offset zTeam got for PosZ is for restore position
so basically it will go crazy if you reset it on zClient with the mod active & offset you post.

So
Import.h
Code:
#define oCam_PosZDef            0x0D255AC    // Restore PosZ
#define oCam_PosZ            0x0D255A0    // PosZ

Camera.cpp -> Camera::Camera()
Code:
this->Default.PositionZ    = *(float*)oCam_PosZ;

[B]change to[/B]

this->Default.PositionZ    = *(float*)oCam_PosZDef;

& also

Camera.cpp -> Camera::Init()
Code:
SetFloat((LPVOID)oCam_PosZ,        this->Default.PositionZ);

[B]change to[/B]

SetDouble((LPVOID)oCam_PosZ,        this->Default.PositionZ);

Also for Start using interface button

Interface.cpp -> Interface::Work()
Code:
[B]Add[/B]

gCamera.Position();


Now after this simple change & with active addon Mauro posted, camera will be correctly restored using Reset button.

HF

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

i'm used and it give me error: Auto close main when i use 3D
 
Experienced Elementalist
Joined
Nov 26, 2013
Messages
270
Reaction score
90
i'm used and it give me error: Auto close main when i use 3D

Use this:
Code:
void Camera::Position()
{
    if (!this->IsActive)
    {
        return;
    }
    // ----
    if (this->InMove)
    {
        if (this->TempCursorY < gObjUser.m_CursorY)
        {
            if (*(float*)oCam_RotY < -45)
            {
                SetDouble((LPVOID)oCam_PosZ, *(double*)oCam_PosZ [COLOR=#ff0000]-[/COLOR] 44);
                SetFloat((LPVOID)oCam_RotY, *(float*)oCam_RotY [COLOR=#0000ff]+[/COLOR] (double)2.42);
            }
        }
        else if (this->TempCursorY > gObjUser.m_CursorY)
        {
            if (*(float*)oCam_RotY > -90)
            {
                SetDouble((LPVOID)oCam_PosZ, *(double*)oCam_PosZ [COLOR=#ff0000]+[/COLOR] 44);
                SetFloat((LPVOID)oCam_RotY, *(float*)oCam_RotY [COLOR=#0000ff]-[/COLOR] (double)2.42);
            }
        }
        // ----
        this->TempCursorY = gObjUser.m_CursorY;
    }
}
 
Experienced Elementalist
Joined
Jun 17, 2014
Messages
242
Reaction score
107
Use this:
Code:
void Camera::Position()
{
    if (!this->IsActive)
    {
        return;
    }
    // ----
    if (this->InMove)
    {
        if (this->TempCursorY < gObjUser.m_CursorY)
        {
            if (*(float*)oCam_RotY < -45)
            {
                SetDouble((LPVOID)oCam_PosZ, *(double*)oCam_PosZ [COLOR=#ff0000]-[/COLOR] 44);
                SetFloat((LPVOID)oCam_RotY, *(float*)oCam_RotY [COLOR=#0000ff]+[/COLOR] (double)2.42);
            }
        }
        else if (this->TempCursorY > gObjUser.m_CursorY)
        {
            if (*(float*)oCam_RotY > -90)
            {
                SetDouble((LPVOID)oCam_PosZ, *(double*)oCam_PosZ [COLOR=#ff0000]+[/COLOR] 44);
                SetFloat((LPVOID)oCam_RotY, *(float*)oCam_RotY [COLOR=#0000ff]-[/COLOR] (double)2.42);
            }
        }
        // ----
        this->TempCursorY = gObjUser.m_CursorY;
    }
}

thank you. it working :D
 
Joined
Oct 29, 2007
Messages
1,292
Reaction score
1,313
More nice code for zClient source... :D: this time.. is for change F7 Key for show/hide News Board.. by: N Key.. you must make this:

First you must add a new Check function on: Interface.cpp file make this:

Code:
[COLOR=#ff0000]bool Interface::WinKeyChecks()[/COLOR]
[COLOR=#ff0000]{[/COLOR]
[COLOR=#ff0000]    if( this->CheckWindow(MuHelper) || this->CheckWindow(FriendList) || this->CheckWindow(ChatWindow) )[/COLOR]
[COLOR=#ff0000]        return true;[/COLOR]
[COLOR=#ff0000]    return false;[/COLOR]
[COLOR=#ff0000]}[/COLOR]

on: Interface.h file add this on public access to Interface class:

Code:
[COLOR=#FF0000]bool [/COLOR][COLOR=#FF0000]WinKeyChecks();[/COLOR]

PS 1: Is important that you add this definition on public access for have access to this later from anothers .cpp files.

on: Defines.h file add this:

Code:
[COLOR=#008000]// Virtual Key Codes[/COLOR]
[COLOR=#ff0000]#define    VK_N                        0x4E[/COLOR]

on: Controller.cpp file add this:

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

[/COLOR]LRESULT Controller::Keyboard(int Code, WPARAM wParam, LPARAM lParam)
{
    if( (Code == HC_ACTION) && (wParam == WM_KEYDOWN))
    {
        KBDLLHOOKSTRUCT Hook = *((KBDLLHOOKSTRUCT*)lParam);
        // ----
        switch(Hook.vkCode)
        {
                 // --
        [COLOR=#008000]/*case VK_F7:[/COLOR]
[COLOR=#008000]            {[/COLOR]
[COLOR=#008000]                if( GetForegroundWindow() == pGameWindow )[/COLOR]
[COLOR=#008000]                {[/COLOR]
[COLOR=#008000]                    if( gInterface.CheckNewsWindow() )[/COLOR]
[COLOR=#008000]                    {[/COLOR]
[COLOR=#008000]                        gInterface.CloseNewsWindow();[/COLOR]
[COLOR=#008000]                    }[/COLOR]
[COLOR=#008000]                    else[/COLOR]
[COLOR=#008000]                    {[/COLOR]
[COLOR=#008000]                        gNewsBoard.ReqOpenMain();[/COLOR]
[COLOR=#008000]                    }[/COLOR]
[COLOR=#008000]                }[/COLOR]
[COLOR=#008000]            }[/COLOR]
[COLOR=#008000]            break;*/[/COLOR]
            // --
        [COLOR=#ff0000]case VK_N:[/COLOR]
[COLOR=#ff0000]            {[/COLOR]
[COLOR=#ff0000]                if ( gInterface.WinKeyChecks() )[/COLOR]
[COLOR=#ff0000]                {[/COLOR]
[COLOR=#ff0000]                    return false;[/COLOR]
[COLOR=#ff0000]                }[/COLOR]
[COLOR=#ff0000]                if( GetForegroundWindow() == pGameWindow )[/COLOR]
[COLOR=#ff0000]                {[/COLOR]
[COLOR=#ff0000]                    if( gInterface.CheckNewsWindow() )[/COLOR]
[COLOR=#ff0000]                    {[/COLOR]
[COLOR=#ff0000]                        gInterface.CloseNewsWindow();[/COLOR]
[COLOR=#ff0000]                    }[/COLOR]
[COLOR=#ff0000]                    else[/COLOR]
[COLOR=#ff0000]                    {[/COLOR]
[COLOR=#ff0000]                        gNewsBoard.ReqOpenMain();[/COLOR]
[COLOR=#ff0000]                    }[/COLOR]
[COLOR=#ff0000]                }[/COLOR]
[COLOR=#ff0000]            }[/COLOR]
[COLOR=#ff0000]            break;[/COLOR]
            // --

PS 2: Now using.. our new WinKeyChecks() and defined VK_N on: Defines.h you can open News Board in Game using: N Key from keyboard :D:

PS 3: You can remove on your zServer side on: "MuServer\Data\Custom\NewsMain.ini" file on: [Common] ShowOnLogin = 0 and with this.. now News Board not show on Login, when you enter in the Game.

PS 4: For more... virtual key codes definitions from msdn you can see this page:
 
Last edited:
Newbie Spellweaver
Joined
Jul 23, 2012
Messages
15
Reaction score
0
mauro you can pass the offsets of these functions?

#define pDrawInterface ((void(__cdecl*)()) 0x0080F790)
#define oDrawInterface_Call 0x0080F6AE
#define pDrawGUI ((void(__cdecl*)(DWORD, float, float, float, float)) 0x00790A00)
#define pDrawToolTip ((int(__cdecl*)(int X, int Y, LPCSTR Text)) 0x00597220)
#define pDrawButton ((void(__cdecl*)(DWORD, float, float, float, float, float, float)) 0x00790CF0)
#define pDrawColorButton ((void(__cdecl*)(DWORD, float, float, float, float, float, float, DWORD)) 0x00790DD0)
#define pDrawExtraColor ((void(__cdecl*)(DWORD, float, float, float, float, float, float, float, float, DWORD)) 0x637A60)
#define pDrawMapObject ((void(__cdecl*)(DWORD, float, float, float, float, float, float, float, float, float, float, float, float, DWORD)) 0x638400)
#define pDrawInfoBox ((char(__cdecl*)(char Text, int Arg2)) 0x007380B0)
#define pDrawMessage ((int(__cdecl*)(LPCSTR Text, int Mode)) 0x00597630)
 
Experienced Elementalist
Joined
Jun 17, 2014
Messages
242
Reaction score
107
When i trying add 2 effect, main auto close.
 
Last edited:
Newbie Spellweaver
Joined
Dec 22, 2005
Messages
37
Reaction score
2
Why i can't use the lastest V4 patch of this release to connect my online server? When i change the client, i can connect well.
I've editted the IP in jewel.dll to my WAN IP. But i still can't connect to my online server. I don't know why. It's very strange.
 
Skilled Illusionist
Joined
Jan 17, 2013
Messages
326
Reaction score
19
This release contain some addons for zTeam client.
Addons are custom items (256 items for each categories - no tested custom bows), fix 3d camera for first zTeam dll which allow custom wings, glow, general glow (by SmallHabit), fog, sky, minimap, etc.

serial = jewels.dll = k1Pk2jcET48mxL3b;
version = jewels.dll = 22749;
IP = client/data/custom/common.z

zmain2.exe do not contain any connections info ...

if you chose to load all glow then in certain OS (with Directx 11 or up) you need to install Directx 9 SDK:

some picts:





















Download:

PS: This release do not contain client - server items files (you should generate - create yourself, please do not ask for)...

a good start for custom wings: http://forum.ragezone.com/f508/zteam-sources-1009684-post8114480/#post8114480

some videos: http://forum.ragezone.com/f197/zteam-season-6-ep3-source-1009021-post8136693/#post8136693
=======================
update:

Main characteristics (change in jewels.dll)
IP = connection.muonline.com.tw
Version = 22749 (1.04.04)
Serial = k1Pk2jcET48mxL3b

Customs glow items is loading ok.
New zclient.dll and new encoder.exe (reset working ok) added.
All connections infos (IP, serial, version) are in jewels.dll only (no more need common.z for IP).
Possibility to show / hide client / server time added in addons.ini.
download link:

Credits:
Webzen
chris05 (crack this version, 3dcamera and fog offsets, itemtooltip guide)
zTeam
sobieh, Leo123, zergnm [BoR] (3d camera source)
Gembrid for glow.dll and ttlci.dll
noob22 fix ttlci.dll
Brain special sets effect
4FUNer
mauro07
RZ MuOnline Community
aecrimch

[h=2]You can change the controls in gl_glow to be activated/deactivated with F8?[/h]
 
Initiate Mage
Joined
Aug 5, 2014
Messages
1
Reaction score
0
///EN
Change the IP connection.muonline.com.tw jewels.dll my NOIP and when I go off me . PLEASE HELP .
sorry for my horrible English , translate by google ....:huh:
///ES
Cambio en jewels.dll la ip connection.muonline.com.tw por mi NOIP y cuando entro me desconecta . AYUDA PORFAVOR.
perdon por mi ingles horrible , translate by google...:
 
Back
Top