[Release] 3D Camera Source
Not much to say, it's an old source but 100% working, it's good for learning and if you are smart you can make it better, or add new things (sky, etc).Maybe from new on the community will get better.
3D Camera cpp.
Code:
#include "Stdafx.h"
#include "3DCamera.h"
extern "C" _declspec(dllexport) void MU()
{
DWORD OldProtect;
if(VirtualProtect(LPVOID(0x401000),4310016,PAGE_EXECUTE_READWRITE,&OldProtect))
{
KeyboardSetHook(true);
MouseSetHook(true);
}
else {
MessageBoxA(NULL,"Your text here!","MuOnline Season 25 Ep.1",MB_OK);
}
}
int APIENTRY DllMain (HINSTANCE hInst, DWORD dwReason, LPVOID lpReserved){
switch(dwReason){
case DLL_PROCESS_DETACH:
KeyboardSetHook(false);
MouseSetHook(false);
break;
}
return true;
}
BOOL KeyboardSetHook(BOOL set_or_remove){
if(set_or_remove == TRUE){
if(KeyboardHook == NULL){
KeyboardHook = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, hInstance, GetCurrentThreadId());
if(!KeyboardHook){ return FALSE; }
}
} else {
return UnhookWindowsHookEx(KeyboardHook);
KeyboardHook = NULL;
}
return TRUE;
}
BOOL MouseSetHook(BOOL set_or_remove){
if(set_or_remove == TRUE){
if(MouseHook == NULL){
MouseHook = SetWindowsHookEx(WH_MOUSE, MouseProc, hInstance, GetCurrentThreadId());
if(!MouseHook){ return FALSE; }
}
} else { return UnhookWindowsHookEx(MouseHook); }
return TRUE;
}
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam){
if(((lParam>>31)&1) && (nCode == HC_ACTION)){
if(wParam == VK_F9){
*Camera_RotY = -48.5;
*Camera_RotZ = -45;
*Camera_PosZ = 150;
*Camera_ClipX = 1190;
*Camera_ClipY = 2400;
*Camera_GlClip = 3000;
*Camera_Zoom = 35;
}
if(wParam == VK_TAB){
if(!InitCamera)
{ InitCamera = true;
} else {
InitCamera = false;
}
}
}
return CallNextHookEx(KeyboardHook, nCode, wParam, lParam);
}
LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam){
MOUSEHOOKSTRUCTEX* mhs = (MOUSEHOOKSTRUCTEX*)lParam;
HWND MuWnd = FindWindow("MU", NULL);
if(GetForegroundWindow() == MuWnd){
if(InitCamera == true){
Camera.ClipX = *Camera_ClipX;
Camera.ClipY = *Camera_ClipY;
Camera.GlClip = *Camera_GlClip;
Camera.PosZ = *Camera_PosZ;
Camera.RotY = *Camera_RotY;
Camera.RotZ = *Camera_RotZ;
Camera.Zoom = *Camera_Zoom;
}
if(InitCamera == true) {
if(wParam == WM_MBUTTONDOWN){
MoveCamera = true;
}
if(wParam == WM_MBUTTONUP){
MoveCamera = false;
}
if(wParam == WM_MOUSEWHEEL){
int direction = mhs->mouseData;
if(direction > 0){
if(*Camera_Zoom < 60){ *Camera_Zoom += 2; }
}
else if(direction < 0){
if(*Camera_Zoom > 12){ *Camera_Zoom -= 2; }
}
*Camera_ClipX = 1190 + (abs(*Camera_PosZ - 150) * 3) + 3000;
*Camera_ClipY = 2400 + (abs(*Camera_PosZ - 150) * 3) + 3000;
*Camera_GlClip = 3000 + (abs(*Camera_PosZ - 150) * 3) + 1500;
}
else if(wParam == WM_MBUTTONDOWN){
MouseX = mhs->pt.x;
MouseY = mhs->pt.y;
}
else if(wParam == WM_MOUSEMOVE){
if(MoveCamera){
if(MouseX < mhs->pt.x){
*Camera_RotZ += 8;
if (*Camera_RotZ > 315) *Camera_RotZ = -45;
}
else if(MouseX > mhs->pt.x){
*Camera_RotZ -= 8;
if (*Camera_RotZ < -405) *Camera_RotZ = -45;
}
if(MouseY < mhs->pt.y){
if(*Camera_RotY < -45){
*Camera_PosZ -= 44;
*Camera_RotY += (float)2.42;
}
}
else if(MouseY > mhs->pt.y){
if(*Camera_RotY > -90){
*Camera_PosZ += 44;
*Camera_RotY -= (float)2.42;
}
}
MouseX = mhs->pt.x;
MouseY = mhs->pt.y;
*Camera_ClipX = 1190 + (abs(*Camera_PosZ - 150) * 3) + 1500;
*Camera_ClipY = 2400 + (abs(*Camera_PosZ - 150) * 3) + 1500;
*Camera_GlClip = 3000 + (abs(*Camera_PosZ - 150) * 3) + 1500;
}
}
}
}
return CallNextHookEx(MouseHook, code, wParam, lParam);
}
3D Camera h.
Code:
#pragma once
#include "Stdafx.h"
#pragma data_seg(".SHAREDDATA")
static HHOOK KeyboardHook = NULL;
static HHOOK MouseHook = NULL;
#pragma data_seg()
#pragma comment(linker, "/SECTION:.SHAREDDATA,RWS")
static HINSTANCE hInstance;
bool MoveCamera = false;
bool InitCamera = true;
int MouseX, MouseY;
float *Camera_Zoom = (float*) 0x00509DF8;
float *Camera_RotY = (float*) 0x008E2F80;
float *Camera_RotZ = (float*) 0x004A433A;
float *Camera_PosZ = (float*) 0x0046D01F;
float *Camera_ClipX = (float*) 0x008E2F90;
float *Camera_ClipY = (float*) 0x005C1883;
float *Camera_GlClip = (float*) 0x004B8A67;
struct CameraStruct {
float Zoom;
float RotY;
float RotZ;
float PosZ;
float ClipX;
float ClipY;
float GlClip;
} Camera;
LRESULT CALLBACK KeyboardProc(int, WPARAM, LPARAM);
LRESULT CALLBACK MouseProc(int, WPARAM, LPARAM);
BOOL MouseSetHook(BOOL);
BOOL KeyboardSetHook(BOOL);
Credits:
sobieh
Leo123
zergnm [BoR]
re: [Release] 3D Camera Source
re: [Release] 3D Camera Source
works in 1.03z JPN main ?
re: [Release] 3D Camera Source
Missing the Stdafx.h and Stdafx.cpp
Give the file already saved and compile and put in the topic
re: [Release] 3D Camera Source
Many thanks for posting this.
Malice
re: [Release] 3D Camera Source
Quote:
Originally Posted by
JoniverPH
works in 1.03z JPN main ?
If i'm not mistaking you must edit the offsets in order to make it work
1 Attachment(s)
re: [Release] 3D Camera Source
Quote:
Originally Posted by
saintus
Credits:
sobieh
Leo123
zergnm [BoR]
Hmm... Leo123? How he contribute on this source?
P.S: This sources I realesed two years ago on czf forum, I take some idea from sobieh source, zergnm helped me to add mouse control... so, where is my name in list?
In attachment I post full project writen in 2008....
P.S: simply it's not good when your work is signed by another
re: [Release] 3D Camera Source
this is -=FeliX=- source LOL ?
re: [Release] 3D Camera Source
Felix this is the source from sobieh, with additions from the other two, Leo123 was working with the sources back in 07, As for this source and your source, I have no desire or intention to scan Leo's source, your source, sobieh's source, etc. to determine the differences to see who's code is whose, but there are differences between this one and yours, so why don't we stop this whole credits war on something that is based off a source code done by someone a long time ago, that has had many different people working on it. When it's something completely original or you can provide proof that it has your code in it, then ok, otherwise let's let it drop.
re: [Release] 3D Camera Source
Quote:
Originally Posted by
Denied
If i'm not mistaking you must edit the offsets in order to make it work
Please! how I can find 3d ofset in any main.exe
Thanks you
re: [Release] 3D Camera Source
Quote:
Originally Posted by
-=FeliX=-
Hmm... Leo123? How he contribute on this source?
P.S: This sources I realesed two years ago on czf forum, I take some idea from sobieh source, zergnm helped me to add mouse control... so, where is my name in list?
In attachment I post full project writen in 2008....
P.S: simply it's not good when your work is signed by another
3DCamera.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'
cant build 3dcamera.dll file
and what function name is in 3dCamera.dll?
re: [Release] 3D Camera Source
This is a part of Leo123 source, and from what i know Leo develop this from sobieh source (or part of source), i learn so much from Leo123,sobieh, and from all coders that release sources and tutorials, so THANK YOU guys, you deserve all my respect and gratitude.I respect credits of all coders, i know how much work is in every code.If i disrespect someone i apologize.
Code:
#pragma once
#include "stdafx.h"
#pragma data_seg(".SHAREDDATA")
static HHOOK KeyboardHook = NULL;
static HHOOK MouseHook = NULL;
#pragma data_seg()
#pragma comment(linker, "/SECTION:.SHAREDDATA,RWS")
static HINSTANCE hInstance;
bool MoveCamera = false;
bool InitCamera = true;
int MouseX, MouseY;
int AddY , AddX;
float RotSpeed = 0;
bool OK = false;
bool O_Pressed;
bool PushO_;
// VERSION SWITCH
#define vYourVersion // Example 1.02c
#ifdef vYourVersion //
DWORD *Screen_W = (DWORD*) 0x00844610;// 3.00e 00844610
DWORD *Screen_H = (DWORD*) 0x00844614;// 3.00e 00844614
// ver 3.00e Main.exe Offsets
float *Camera_GlClip = (float*) 0x005F227F; //0046A4C5 2000.000 Found (Worka)
float *Camera_RotZ = (float*) 0x7FD2DC4; //07FD2DBC -48.50000 Found (Tested Work) Need Set some nops.
float *Camera_RotY = (float*) 0x808C00; //07FD2DC4 -45.00000 Found (Tested Work)
float *Camera_Zoom = (float*) 0x005F2009; //0x8445F8; //008445F8 35.00000 Found (Tested Work)
float *Camera_PosZ = (float*) 0x00807C94; //00807C94 150.0000
float *Camera_ClipX = (float*) 0x00808A8C;// 1190.000
float *Camera_ClipY = (float*) 0x0059D66C; // 2400.000
#endif
#ifdef v104D // 1.04D
float *Camera_ClipX = (float*) 0x7578B1;
float *Camera_ClipY = (float*) 0x607AE8;
float *Camera_GlClip = (float*) 0x65F738;
float *Camera_PosZ = (float*) 0x756994;
float *Camera_RotZ = (float*) 0x7AFD794;
float *Camera_RotY = (float*) 0x757A30;
float *Camera_Zoom = (float*) 0x65F410;
DWORD *Screen_W = (DWORD*) 0x77D1BC;
DWORD *Screen_H = (DWORD*) 0x77D1C0;
// 1.04D login screen camera offsets
float *LRotZ = (float*) 0x65F880;
float *LPosX = (float*) 0x65F88A;
float *LPosY = (float*) 0x65F894;
float *LPosZ = (float*) 0x65F89E;
#endif
LRESULT CALLBACK KeyboardProc(int, WPARAM, LPARAM);
LRESULT CALLBACK MouseProc(int, WPARAM, LPARAM);
BOOL MouseSetHook(BOOL);
BOOL KeyboardSetHook(BOOL);
extern "C" __declspec (dllexport) void __cdecl Loaded();
Quote:
Originally Posted by
tungcz
Please! how I can find 3d ofset in any main.exe
Thanks you
Here are two tuts about finding 3D Camera offsets:
http://forum.ragezone.com/f196/searc...in-exe-353500/
http://forum.ragezone.com/f196/find-...winhex-656118/
re: [Release] 3D Camera Source
Quote:
Originally Posted by
saintus
This is a part of Leo123 source, and from what i know Leo develop this from sobieh source (or part of source), i learn so much from Leo123,sobieh, and from all coders that release sources and tutorials, so THANK YOU guys, you deserve all my respect and gratitude.I respect credits of all coders, i know how much work is in every code.If i disrespect someone i apologize.
Code:
#pragma once
#include "stdafx.h"
#pragma data_seg(".SHAREDDATA")
static HHOOK KeyboardHook = NULL;
static HHOOK MouseHook = NULL;
#pragma data_seg()
#pragma comment(linker, "/SECTION:.SHAREDDATA,RWS")
static HINSTANCE hInstance;
bool MoveCamera = false;
bool InitCamera = true;
int MouseX, MouseY;
int AddY , AddX;
float RotSpeed = 0;
bool OK = false;
bool O_Pressed;
bool PushO_;
// VERSION SWITCH
#define vYourVersion // Example 1.02c
#ifdef vYourVersion //
DWORD *Screen_W = (DWORD*) 0x00844610;// 3.00e 00844610
DWORD *Screen_H = (DWORD*) 0x00844614;// 3.00e 00844614
// ver 3.00e Main.exe Offsets
float *Camera_GlClip = (float*) 0x005F227F; //0046A4C5 2000.000 Found (Worka)
float *Camera_RotZ = (float*) 0x7FD2DC4; //07FD2DBC -48.50000 Found (Tested Work) Need Set some nops.
float *Camera_RotY = (float*) 0x808C00; //07FD2DC4 -45.00000 Found (Tested Work)
float *Camera_Zoom = (float*) 0x005F2009; //0x8445F8; //008445F8 35.00000 Found (Tested Work)
float *Camera_PosZ = (float*) 0x00807C94; //00807C94 150.0000
float *Camera_ClipX = (float*) 0x00808A8C;// 1190.000
float *Camera_ClipY = (float*) 0x0059D66C; // 2400.000
#endif
#ifdef v104D // 1.04D
float *Camera_ClipX = (float*) 0x7578B1;
float *Camera_ClipY = (float*) 0x607AE8;
float *Camera_GlClip = (float*) 0x65F738;
float *Camera_PosZ = (float*) 0x756994;
float *Camera_RotZ = (float*) 0x7AFD794;
float *Camera_RotY = (float*) 0x757A30;
float *Camera_Zoom = (float*) 0x65F410;
DWORD *Screen_W = (DWORD*) 0x77D1BC;
DWORD *Screen_H = (DWORD*) 0x77D1C0;
// 1.04D login screen camera offsets
float *LRotZ = (float*) 0x65F880;
float *LPosX = (float*) 0x65F88A;
float *LPosY = (float*) 0x65F894;
float *LPosZ = (float*) 0x65F89E;
#endif
LRESULT CALLBACK KeyboardProc(int, WPARAM, LPARAM);
LRESULT CALLBACK MouseProc(int, WPARAM, LPARAM);
BOOL MouseSetHook(BOOL);
BOOL KeyboardSetHook(BOOL);
extern "C" __declspec (dllexport) void __cdecl Loaded();
Here are two tuts about finding 3D Camera offsets:
http://forum.ragezone.com/f196/searc...in-exe-353500/
http://forum.ragezone.com/f196/find-...winhex-656118/
If possible , can you find the 1.02c offsets?
Thanks!
re: [Release] 3D Camera Source
Here is Shatter's main 1.02c with 3D camera, antihack, etc.
Download Client.exe
re: [Release] 3D Camera Source
@saintus: can you for me find ofset 3D main 1.07K. Thanks you very much
Download Main1.07K