-
[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
-
re: [Release] 3D Camera Source
Quote:
Originally Posted by
tungcz
@saintus: can you for me find ofset 3D main 1.07K. Thanks you very much
Download Main1.07K
PM me at cau2.0nljne_1102@yahoo.com.vn :D
-
re: [Release] 3D Camera Source
can you share for me 3D main 1.02c.
yahoo: by.2spy
sorry i'm bad english :D
Thanks you very much
-
re: [Release] 3D Camera Source
hi guys. just wanna ask if microsoft visual studio must be used to compile these codes. or will cygwin be alright. thanks
-
re: [Release] 3D Camera Source
Quote:
Originally Posted by
Tarrent
hi guys. just wanna ask if microsoft visual studio must be used to compile these codes. or will cygwin be alright. thanks
You can use this one gnu cc - www.codeblocks.org
-
re: [Release] 3D Camera Source
Hi guys, Good I want to know If it is possible to add cam 3d at version 99c.And if it is possible Leave me a guide to guide Or if podrian to edit the main for my,From already thank you.
Sorry for my bad english, i user Translator =P
-
re: [Release] 3D Camera Source
Hi bmariano, yes its possible, but you need the offsets for this... so, you can addapt the source for the 99c version and compile, later just hook the main.exe and its done.
Hola mariano, soy kind, es posible, solamente necesitas los offsets del main 99c y ponerlos en la dll 3d... dps es compilarlo y listo.
Por cierto, el main de la 99c y la 99b son los mismos.
-
re: [Release] 3D Camera Source
Quote:
Originally Posted by
goldenfox
You can use this one gnu cc - www.codeblocks.org
thanks for that i'll be exploring this soon. but i'm using visual c++ for now...
@Boossik: i wonder... is it alright to remove 'afxres.h'? it wasn't "included" as headers in any of the codes anyway... :unsure:
@topic: I've compiled both -=FeliX=-'s and saintus's codes and i get the same error:
"Data/Local/Mix.bmd - file not found."
http://i532.photobucket.com/albums/e...ials/Error.png
i'm using main v.1.0.6.30 (from Enc Team) can anyone set me on the right path? heheh. thanx :mellow:
-
re: [Release] 3D Camera Source
Quote:
Originally Posted by
kinder32
Hi bmariano, yes its possible, but you need the offsets for this... so, you can addapt the source for the 99c version and compile, later just hook the main.exe and its done.
Hola mariano, soy kind, es posible, solamente necesitas los offsets del main 99c y ponerlos en la dll 3d... dps es compilarlo y listo.
Por cierto, el main de la 99c y la 99b son los mismos.
agracias kindancho, ya veo como hago para agregarle...
-
re: [Release] 3D Camera Source
Para que no te tire: "Data\Local\Mix.bmd File corrupted", tenes que Crackear las comprovaciones del Main.exe sobre los Archivos .bmd de la Carpeta Local del Cliente.
-
re: [Release] 3D Camera Source
Quote:
Originally Posted by
mauro07
Para que no te tire: "Data\Local\Mix.bmd File corrupted", tenes que Crackear las comprovaciones del Main.exe sobre los Archivos .bmd de la Carpeta Local del Cliente.
Mix.bmd (and even Mixtest.bmd!) are both physically present in the
Data\Local\ folder when I compiled the codes. But the error still appears:
http://i532.photobucket.com/albums/e...ials/Error.png
as if Mix.bmd was not in Data\Local T_T