-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Hello friends wanted to know why I get this when I try to log into the server
https://scontent-a-mia.xx.fbcdn.net/...92615713_n.jpg
https://fbcdn-sphotos-d-a.akamaihd.n...14486949_n.jpg
también me sale que el glow no anda o algo por el estilo pero ya instale el Direx que dajaste como arreglo eso?
desde ya gracias este era lo que yo buscaba sos un genio
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
@firemarcos,
create missing files and use Encoder.exe from archive.
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
aecrimch
I'll ask him about it, but now we are busy with own project =)
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Who fix wizardry damage above 155%?
if wizadry damage > 155, option reset and up again...(visual) on real we are have 189% wizadry damage for example in game we are see 34%
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Hi I have this dream server but I can not simply create the customer does not walk me
files and not as if like leave them in the folder to unzip or MuServer xD
Nor is it to put the files edit my sql pasword nor to put my ip
not if anyone is so generous and kind that alla been there myself and I want to help
also affects writing not speak English but I understand n fast
or could make a video please
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
aecrimch
Bro shared fix
http://i.imgur.com/aUcsRun.jpg
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Finished... External MiniMap and another shits added to: zClient source look this:
https://www.youtube.com/watch?v=42Hz...ature=youtu.be
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
just bragging? or share something with us? if you just bragging, please start a new thread and show your skills there!
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
aecrimch
just bragging? or share something with us?
not only bragging xD.. I will share here my modifications on code :):
on: Camera.h from class put this:
Code:
class Camera
{
public:
Camera();
~Camera();
// ----
void Init();
void Switch();
void Run(MOUSEHOOKSTRUCTEX * Mouse, WPARAM wParam);
void Rotate();
void Position();
// ----
bool RestStop;
bool IsActive;
float ZoomPercent;
// ----
DefaultData Default;
private:
BYTE RotateMode;
bool InMove;
int TempCursorX;
int TempCursorY;
// ----
}; extern Camera gCamera;
PS 1: Is important that you include bool RestStop; like public acccess on class for later have access of this from anothers .cpp files.
on: Camera.cpp put this:
Code:
void Return(void *lpParam)
{
while(*(float*)oCam_RotZ != -45.0f || *(float*)oCam_RotY != -48.5f || *(double*)oCam_PosZ != 150.0f || *(float*)oCam_Zoom != 35.0f)
{
gCamera.RestStop = true;
// ----
(*(float*)oCam_RotZ > -45.0f) ? *(float*)oCam_RotZ -= 1.0f : *(float*)oCam_RotZ += 1.0f;
if (*(float*)oCam_RotZ > -47.0f && *(float*)oCam_RotZ < -43.0f)
*(float*)oCam_RotZ = -45.0f;
(*(float*)oCam_RotY > -48.5f) ? *(float*)oCam_RotY -= 0.5f : *(float*)oCam_RotY += 0.5f;
if (*(float*)oCam_RotY > -50.5f && *(float*)oCam_RotY < -46.5f)
*(float*)oCam_RotY = -48.5f;
(*(double*)oCam_PosZ > 150.0f) ? *(double*)oCam_PosZ -= 5.0f : *(double*)oCam_PosZ += 5.0f;
if (*(double*)oCam_PosZ > 146.0f && *(double*)oCam_PosZ < 152.0f)
*(double*)oCam_PosZ = 150.0f;
(*(float*)oCam_Zoom > 35.0f) ? *(float*)oCam_Zoom -= 1.0f : *(float*)oCam_Zoom += 1.0f;
if (*(float*)oCam_Zoom > 33.0f && *(float*)oCam_Zoom < 37.0f)
*(float*)oCam_Zoom = 35.0f;
Sleep(10);
}
// ----
gCamera.RestStop = false;
// ----
_endthread();
}
// ----------------------------------------------------------------------------------------
void FreeMemory(void *lParam)
{
while (1)
{
Sleep(20000);
SetProcessWorkingSetSize(GetCurrentProcess(), -1, -1);
}
}
PS: Is important that you not include on: Camera class this function..
and put this Init from Camera.cpp class:
Code:
void Camera::Init()
{
if( pPlayerState != GameProcess )
{
return;
}
// ----
/*
SetFloat((LPVOID)oCam_Zoom, this->Default.Zoom);
SetFloat((LPVOID)oCam_RotY, this->Default.RotationY);
SetFloat((LPVOID)oCam_RotZ, this->Default.RotationZ);
SetDouble((LPVOID)oCam_PosZ, this->Default.PositionZ);
*/
// ----
_beginthread(Return, 0, NULL);
_beginthread(FreeMemory, 0, NULL);
// ----
this->ZoomPercent = *(float*)oCam_Zoom / ((float)ZOOM_MAX / 100.0f);
}
on: Interface.cpp add this on DrawCameraUI proc and a New function for draw called: DrawPictureAlpha:
Code:
void Interface::DrawPictureAlpha(char Path[64], float X, float Y, float Width, float Height, int U1, int U2, float ScaleX, float ScaleY, int HL)
{
pLoadImage(Path, 0x1B, 0x2601, 0x2900, 1, 0);
pDrawImage(0x1B, X, Y, Width, Height, U1, U2, ScaleX, ScaleY, HL, 1, 0);
}
void Interface::DrawCameraUI()
{
float PosX = this->GetResizeX(eCAMERA_MAIN);
// ----
if( this->CheckWindow(CashShop)
|| this->CheckWindow(SkillTree)
|| this->CheckWindow(FullMap)
|| this->CheckWindow(MoveList)
|| (this->CheckWindow(Inventory)
&& this->CheckWindow(ExpandInventory)
&& this->CheckWindow(Store))
|| (this->CheckWindow(Inventory)
&& this->CheckWindow(Warehouse)
&& this->CheckWindow(ExpandWarehouse)) )
{
return;
}
// ----
this->DrawGUI(eCAMERA_MAIN, PosX, 0);
this->DrawGUI(eCAMERA_BUTTON1, PosX + 0.5, 1);
this->DrawGUI(eCAMERA_BUTTON2, PosX + 18.5, 1);
// ----
if( gCamera.IsActive )
{
this->DrawColoredGUI(eCAMERA_BUTTON1, PosX + 0.5, 1, eShinyGreen);
}
// ----
if( IsWorkZone(eCAMERA_BUTTON1) )
{
if( gCamera.IsActive )
{
this->DrawToolTip(PosX + 0.5 - 5, 25, "Zoom: %02.f%%", gCamera.ZoomPercent);
}
else
{
this->DrawToolTip(PosX + 0.5 - 5, 25, "3D Camera [On|Off]");
}
// ----
if( this->Data[eCAMERA_BUTTON1].OnClick )
{
this->DrawColoredGUI(eCAMERA_BUTTON1, PosX + 0.5, 1, pMakeColor(40, 20, 3, 130));
return;
}
// ----
this->DrawColoredGUI(eCAMERA_BUTTON1, PosX + 0.5, 1, pMakeColor(152, 205, 52, 200));
}
else if( IsWorkZone(eCAMERA_BUTTON2) )
{
this->DrawToolTip(PosX + 18.5 - 5, 25, "3D Camera [Reset]");
// ----
if( this->Data[eCAMERA_BUTTON2].OnClick )
{
this->DrawColoredGUI(eCAMERA_BUTTON2, PosX + 18.5, 1, pMakeColor(40, 20, 3, 130));
return;
}
// ----
this->DrawColoredGUI(eCAMERA_BUTTON2, PosX + 18.5, 1, pMakeColor(255, 204, 20, 200));
}
if( gCamera.RestStop == true )
{
this->DrawColoredGUI(eCAMERA_BUTTON2, PosX + 18.5, 1, pMakeColor(255, 0, 0, 200));
this->DrawFormat(eOrange, PosX + 35.0, 25, 210, 3, "Restoring.. Camera");
this->DrawPictureAlpha("Custom\\Interface\\TimerClock.tga", PosX + 55.0, 15, 64, 64, 0, 0, 1.0f, 1.0f, 1);
}
}
on Interface.h add this definition on Interface class:
Code:
void DrawPictureAlpha(char Path[64], float X, float Y, float Width, float Height, int U1, int U2, float ScaleX, float ScaleY, int HL);
on: Import.h add this:
Code:
#define pDrawImage ((void(__cdecl*)(int ImageID, float PosX, float PosY, float Width, float Height, int Arg6, int Arg7, float ScaleX, float ScaleY, int Arg11, int Arg12, int Arg13)) 0x637C60)
and for that main.exe not makes crash add this on: dllmain.cpp
Code:
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();
}
}
PS 2: Is important add VirtualProtector of main.exe because now you not only using.. class on DLL.
PS 3: Here I leave my texture for Sand clock is a .tga file
https://mega.co.nz/#!nEAyBKqT!w6NRf5..._HZRXcXHWgVscs
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
mauro07
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)
http://i.imgur.com/kKkTz8u.jpg
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
anyone knows of a tool to view ex700 ozs files?
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
4FUNer
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)
http://i.imgur.com/kKkTz8u.jpg
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);
// ----
this->BindObject(eMINI_MAP_BG, 0x7882, 138, 265, -1, -1);
this->BindObject(ePLAYER_POINT, 0x7883, 3, 3, -1, -1);
// ----
this->BindObject(eNULL_MAP, 0x7884, 128, 128, -1, -1);
// ----
this->BindObject(eLORENCIA_MAP, 0x7885, 128, 128, -1, -1);
// ----
this->BindObject(eDUNGEON_MAP, 0x7886, 128, 128, -1, -1);
// ----
this->BindObject(eDEVIAS_MAP, 0x7887, 128, 128, -1, -1);
// ----
this->BindObject(eNORIA_MAP, 0x7888, 128, 128, -1, -1);
// ----
this->BindObject(eLOSTTOWER_MAP, 0x7889, 128, 128, -1, -1);
// ----
// Reserved 0x788A for EXILE
// ----
this->BindObject(eSTADIUM_MAP, 0x788B, 128, 128, -1, -1);
// ----
this->BindObject(eATLANS_MAP, 0x788C, 128, 128, -1, -1);
// ----
#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();
gInterface.DrawMiniMapWindow();
// ----
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);
// ----
pLoadImage("Custom\\Interface\\MiniMapUI.tga", 0x7882, 0x2601, 0x2900, 1, 0);
// ----
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);
// ----
#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();
}
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) )
return true;
return false;
}
bool Interface::CombinedChecks()
{
if( (this->CheckWindow(Inventory)
&& this->CheckWindow(ExpandInventory)
&& this->CheckWindow(Store)) ||
(this->CheckWindow(Inventory)
&& this->CheckWindow(Warehouse)
&& this->CheckWindow(ExpandWarehouse)) ||
(this->CheckWindow(Inventory)
&& this->CheckWindow(Character)
&& this->CheckWindow(Store)) )
return true;
return false;
}
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) );
}
:P: and I have my own code for put effects on items.. I no need use yet coded by: zteam
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
mauro07
Can you share anisotropic filtering \ smoothing from your customs? Looks pretty good
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
psychedelic
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:
#include "Display.h"
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();
gFiltersInit();
}
}
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
https://mega.co.nz/#!uZJATLrJ!PSQeyq...Ak1yiOiaiXQ0e0
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.
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
4FUNer
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.
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
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:
Quest = 4,
MuHelper = 79,
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) ||
this->CheckWindow(FriendList) ||
this->CheckWindow(FastMenu) ||
this->CheckWindow(MuHelper) ||
this->CheckWindow(Quest) )
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..
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
4FUNer
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;
change to
this->Default.PositionZ = *(float*)oCam_PosZDef;
& also
Camera.cpp -> Camera::Init()
Code:
SetFloat((LPVOID)oCam_PosZ, this->Default.PositionZ);
change to
SetDouble((LPVOID)oCam_PosZ, this->Default.PositionZ);
Also for Start using interface button
Interface.cpp -> Interface::Work()
Code:
Add
gCamera.Position();
Now after this simple change & with active addon Mauro posted, camera will be correctly restored using Reset button.
HF
http://oi62.tinypic.com/bfrv9y.jpg
i'm used and it give me error: Auto close main when i use 3D
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
BladeKnight109
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 - 44);
SetFloat((LPVOID)oCam_RotY, *(float*)oCam_RotY + (double)2.42);
}
}
else if (this->TempCursorY > gObjUser.m_CursorY)
{
if (*(float*)oCam_RotY > -90)
{
SetDouble((LPVOID)oCam_PosZ, *(double*)oCam_PosZ + 44);
SetFloat((LPVOID)oCam_RotY, *(float*)oCam_RotY - (double)2.42);
}
}
// ----
this->TempCursorY = gObjUser.m_CursorY;
}
}
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
Quote:
Originally Posted by
psychedelic
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 - 44);
SetFloat((LPVOID)oCam_RotY, *(float*)oCam_RotY + (double)2.42);
}
}
else if (this->TempCursorY > gObjUser.m_CursorY)
{
if (*(float*)oCam_RotY > -90)
{
SetDouble((LPVOID)oCam_PosZ, *(double*)oCam_PosZ + 44);
SetFloat((LPVOID)oCam_RotY, *(float*)oCam_RotY - (double)2.42);
}
}
// ----
this->TempCursorY = gObjUser.m_CursorY;
}
}
thank you. it working :D
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
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:
bool Interface::WinKeyChecks()
{
if( this->CheckWindow(MuHelper) || this->CheckWindow(FriendList) || this->CheckWindow(ChatWindow) )
return true;
return false;
}
on: Interface.h file add this on public access to Interface class:
Code:
bool WinKeyChecks();
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:
// Virtual Key Codes
#define VK_N 0x4E
on: Controller.cpp file add this:
Code:
#include "Defines.h"
LRESULT Controller::Keyboard(int Code, WPARAM wParam, LPARAM lParam)
{
if( (Code == HC_ACTION) && (wParam == WM_KEYDOWN))
{
KBDLLHOOKSTRUCT Hook = *((KBDLLHOOKSTRUCT*)lParam);
// ----
switch(Hook.vkCode)
{
// --
/*case VK_F7:
{
if( GetForegroundWindow() == pGameWindow )
{
if( gInterface.CheckNewsWindow() )
{
gInterface.CloseNewsWindow();
}
else
{
gNewsBoard.ReqOpenMain();
}
}
}
break;*/
// --
case VK_N:
{
if ( gInterface.WinKeyChecks() )
{
return false;
}
if( GetForegroundWindow() == pGameWindow )
{
if( gInterface.CheckNewsWindow() )
{
gInterface.CloseNewsWindow();
}
else
{
gNewsBoard.ReqOpenMain();
}
}
}
break;
// --
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: Virtual-Key Codes (Winuser.h) - Win32 apps | Microsoft Docs
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
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)
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
When i trying add 2 effect, main auto close.
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
any can teach me how to do this? .. sorry for noobish question .. :(
-
re: [Release] Addons for zClient (custom items, 3d fix, glow, fog, sky, minimap)
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.