Welcome, Guest
You have to register before you can post on our site.

Username/Email:
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 3,911
» Latest member: aloganjuioroz6749
» Forum threads: 5,153
» Forum posts: 41,375

Full Statistics

Online Users
There are currently 29 online users.
» 1 Member(s) | 27 Guest(s)
Bing, aloganjuioroz6749

Latest Threads
Last Chaos Server Sale
Forum: The Black Market (Buy, Sell, Trade)
Last Post: XWrongX2
01-26-2026, 11:07 PM
» Replies: 3
» Views: 617
All in One Exporter
Forum: Tools
Last Post: Kain88
01-25-2026, 07:04 AM
» Replies: 4
» Views: 438
HELP! ReZasCashServer It ...
Forum: Ep4 Support
Last Post: Kain88
01-24-2026, 03:24 PM
» Replies: 2
» Views: 170
Hi, does anyone know the ...
Forum: Help
Last Post: Desarija
01-21-2026, 11:29 AM
» Replies: 1
» Views: 117
LastChaos Nemesis
Forum: Server Advertising
Last Post: Desarija
01-20-2026, 04:06 PM
» Replies: 3
» Views: 240
Looking for EP4 Guidance
Forum: General Discussion
Last Post: xHypnosiaa
01-19-2026, 08:33 AM
» Replies: 1
» Views: 172
We're in need of creative...
Forum: Project Recruitment
Last Post: RGT
01-16-2026, 12:48 AM
» Replies: 0
» Views: 121
Last Chaos build deployme...
Forum: Ep4 Guides
Last Post: xHypnosiaa
01-08-2026, 11:14 AM
» Replies: 0
» Views: 81
Last Chaos global server ...
Forum: Ep4 Guides
Last Post: xHypnosiaa
01-07-2026, 07:01 PM
» Replies: 0
» Views: 36
EP-2/EP-3 Mixed files
Forum: Archived General Server Releases
Last Post: TeKnodE
01-06-2026, 09:53 PM
» Replies: 1
» Views: 298

 
  Fast List Tool
Posted by: halohalo - 09-07-2012, 01:29 AM - Forum: Tools - Replies (2)


Hey everyone im halo, i saw that some need this tool, and coudn't find it in the forum. I saw it was with a package in another post, but if you only need this tool here you have it.

 

To open it:

 

-Save it on the LC USA/Data folder

-Open it as Admin.

 

Then it will run ok

 

Link: 2

 

If link goes down, tell me and i reupload it.

 

Regards,

 

Halo

 

Credits: Thanks Wiza for the tool

Print this item

  Let's Say that...EP2/EP3
Posted by: halohalo - 09-05-2012, 12:54 AM - Forum: General Discussion - Replies (13)

Hello all, im halo and im very curious Let's say that i download an emulator, and i fix all bugs, just an example. I have it ready, so i can make it playable like any other server? or emulators can't be a real server?

Print this item

  Another Registration script
Posted by: Sentence - 09-04-2012, 08:12 PM - Forum: Ep1 Websites - Replies (3)


2[german comments]

2[english comments]

 

This should be safe against SQL Injection and XSS

Print this item

  Basic Hooking tutorial
Posted by: someone - 09-03-2012, 02:29 PM - Forum: Coders Talk - Replies (8)


This tutorial will show you how to hook a dll into your application. First thing you need to do is to create a DLL:

Now Some Dll Tutorial:

You would need a
main.cpp - A file that contains the entry point for your dll
Hook.def - module definition file used to make functions much visible
Hook.h - used to define your Common stuff

And your c++ files:

main.cpp 2

#include <windows.h>
/*
*hinstDLL - Dll instances you want
*fdwReason - attaching reason
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved){
switch (fdwReason){
case DLL_PROCESS_ATTACH:{
printf("Hook.dll has been attached\n");
break;
}
case DLL_PROCESS_DETACH:{
printf("Hook.dll has been detached\n");
break;
}
}
return TRUE;
}
Hook.h

//to make your objects/methods visible (exported)
#ifndef HOOK_API
#define HOOK_API __declspec(dllexport)
#else
#define HOOK_API __declspec(dllimport)
#endif
Your cpp/h files:

#include "Hook.h"
#include <stdio.h>
void HOOK_API MyFunction(){
printf("myFunction\n");
}
Hook.def 2
It is used to make visible the functions to GetProcAddress, that will be used to retrieve functions from dll.

LIBRARY "Hook"
DESCRIPTION Simple Hook Dll
EXPORTS
MyFunction
Attaching the DLL
Second thing is to attach the DLL to your application:
1)Open the executable with a OllyDbg
2)Search some free space on the executable and write the Dll File name(Select a zone to edit, right click->Binary->edit->write "MyHook.dll" with out quotes), and copy the offset (lets call it offset1).

007EE120 4D DEC EBP ; ASCII "MyHook.dll",0
007EE121 79 48 JNS SHORT GameServ.007EE16B
007EE123 6F OUTS DX,DWORD PTR ES:[EDI]
007EE124 6F OUTS DX,DWORD PTR ES:[EDI]
007EE125 6B2E 64 IMUL EBP,DWORD PTR DS:[ESI],64
007EE128 6C INS BYTE PTR ES:[EDI],DX
007EE129 6C INS BYTE PTR ES:[EDI],DX

3)Search for another free space on the executable and write the code to load your dll(write "push offset1" without quotes, and copy to a file the offset of this instruction).

007EE142 68 20E17E00 PUSH GameServ.007EE120 ; ASCII "MyHook.dll"

4)now to load the dll, press CTRL+N and search for LoadLibraryA, and press enter, nother window will appear. Follow 1 of the call DWORD instructions there, copy that command and to the next line of your instruction(or much simple you could write call KERNEL32.LoadLibraryA, but this will give error).

007EE142 68 20E17E00 PUSH GameServ.007EE120 ; ASCII "MyHook.dll"
007EE147 FF15 4C816200 CALL DWORD PTR DS:[<&KERNEL32.LoadLibraryA>] ; kernel32.LoadLibraryA
007EE14D 90 NOP ; ignore this line, ^this instruction is copied from CTRL+N
5)Go to your Entry point(or somewhere at the beginning of the program) and jump to your dll loading code (add "jmp offset2" with out qotes).
6)Save EAX somewhere in memory.
7)Complete entry point code(or the missing code from the first jump) and jump back

007EE142 68 20E17E00 PUSH GameServ.007EE120 ; ASCII "MyHook.dll"
007EE147 FF15 4C816200 CALL DWORD PTR DS:[<&KERNEL32.LoadLibraryA>] ; kernel32.LoadLibraryA
007EE14D 90 NOP ; ignore this line, ^this instruction is copied from CTRL+N
007EE14E A3 30CC7E00 MOV DWORD PTR DS:[7ECC30],EAX ; Save eax in memory->dll handle
007EE153 55 PUSH EBP ; -complete code
007EE154 8BEC MOV EBP,ESP ; |
007EE156 6A FF PUSH -1 ; |
007EE158 -E9 C8C9E0FF JMP GameServ.005FAB25 ; jumps back to the program
And lastly using the functions from the DLL in your application: Now using the functions from the Executable:

I made a code to not write the same thing all over again(this code return the function address).

007EE19A 55 PUSH EBP ; Save base stack pointer
007EE19B 8BEC MOV EBP,ESP ; the stack pointer becomes the new base stack
007EE19D FF75 08 PUSH DWORD PTR SS:[EBP+8] ; get last parameter, ASCII "MyFinction",0
007EE1A0 FF35 30CC7E00 PUSH DWORD PTR DS:[7ECC30] ; MyHook.73120000
007EE1A6 FF15 C4806200 CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd>; kernel32.GetProcAddress
007EE1AC A3 34CC7E00 MOV DWORD PTR DS:[7ECC34],EAX ; save the function address address for later use
007EE1B1 8BE5 MOV ESP,EBP ; return to the previous stack pointer
007EE1B3 5D POP EBP ; return to the previous base pointer
007EE1B4 C2 0400 RETN 4 ; retun and remove a Dword value from stack
And to use it:

007EE18A 68 DAE07E00 PUSH GameServ.007EE0DA ; ASCII "MyFunction"
007EE18F E8 06000000 CALL GameServ.007EE19A
007EE194 FFD0 CALL EAX ; MyHook.MyFunction

Hooking without knowing ASM

 

For this you will need to know About this Windows API:

- 2

- 2

- 2

- 2

- 2

- 2

- 2

- 2

 

What you need to do first:

The First thing you need is to get the process ID, you can get the process ID either by getting it from task manager, starting a process thru 22, or searching the memory to find the Process Id thru    2 + 2, or thru 2

 

After you got the process ID you can simply open the Process with OpenProcess, to get  the process Handle, if you already have the process handle, you dont need to open the process(if you use ShellExecuteEx, or create Process, to open it with All Access).

//open the processm 1234 is the process ID
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 1234);
if (hProcess == NULL){
   //error could not open process
}

Now  you need to allocate some Memory in the process(create a new data section), for your data:

//your file that you need to hook
char myFile[] = "C:\myHook.dll";

//this usully does not matter if you put 1 byte or 1000 but you allways allocates 1000 bytes in hex
int iAllocSize = strlen(myFile)+1;
HANDLE addr = VirtualAllocEx( hProcess, NULL, iAllocSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE );
if( addr == NULL ) {
//Error could not allocate memory
}

Now you need to copy your data to the Process, for the process to find it(the process will look in its memory not in some other process memory)

//Write your Hook File Location to the Process
bool bWrite = WriteProcessMemory( hProcess, addr, myFile, strlen(myFile), NULL );
if(bWrite){
//error could not write to process
}

Now The Hooking Part:

Hooking with LoadLibrary and and CreateRemoteThread, it starts the Loadlibrary function in a Thread separate thread, Usually is rewuired to suspend the process first before you create the thread.

//geting the handle of LoadLibrary functrion
HANDLE hLoadLibrary = GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA");
if (hLoadLibrary == NULL){
// return failed
}
//Creating the Thread to run Loadlibrary, with the parameter the String that i made
HANDLE hThread = CreateRemoteThread( x, NULL, 0,(LPTHREAD_START_ROUTINE)hLoadLibrary, addr, 0, NULL );

// Wait till the thread finishes
int Result = WaitForSingleObject(hThread, INFINITE);
if(Result != 0){
//error thread failed
}

//close the thread
CloseHandle(hThread);

//delete the data section created earlier
VirtualFreeEx(hProcess, addr, iAllocSize, MEM_RELEASE);
//close the process
CloseHandle(hProcess);
More documentation(start with C then continue with c++):
C/C++
C: 2
C++: 2
Tools Win32:Notepad++, CodeBlocks , Visual C++, Borland C++, Turbo C
Tools Linux:Geany, CodeBlocks, Kwrite, gedit, emacs

To learn Assembly I suggestThis Book:
Read this 16bit Edition: 2
On linux AT&T sintax: 2

Print this item

  [C/C++]Basic Socket Programming - Part 1
Posted by: someone - 09-03-2012, 02:14 PM - Forum: Coders Talk - Replies (6)


This tutorial will show you how to make an basic socket client server communcaions:

Basic Client:

//general libraries
#include <stdio.h>

// platform specific libraries
#ifdef WIN32
#include <winsock2.h>
// check if its visual c++
#ifdef _MSC_VER
#pragma comment(lib,"ws2_32.lib")
#endif
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <unistd.h>
#include <errno.h>
#endif

// client starting up function
int startupClient(const char* serverName, unsigned short port) {
// for errors
int error;

// windows winsock init
#ifdef WIN32
WSAData wsaData;

// startup winsock
if ((error = WSAStartup(MAKEWORD(2, 2), &wsaData)) < 0) {
printf("Could Not Start Up Winsock!\n");
return -1;
}
#endif

// create a clientSocket for the client
int clientSocket = socket(AF_INET, SOCK_STREAM, 0);

// check if it could create a socket
if (clientSocket < 0) {
printf("Error Opening Socket!\n");
return -1;
}

// get the host entry from the client
// gethostbyname converts from Domain, IP to hostent structure
struct hostent *host_entry;
if ((host_entry = gethostbyname(serverName)) == NULL) {
printf("Could not find host!\n");
}

// init server connection info
struct sockaddr_in server;
memset(&server, 0, sizeof(sockaddr_in));

// server connection info
server.sin_family = AF_INET;
server.sin_port = htons(port);
server.sin_addr.s_addr = *(unsigned long*) host_entry->h_addr;

// connect to the server
if (connect(clientSocket, (sockaddr*)&server, sizeof(server)) < 0) {
printf("Error connecting to server!\n");
}
printf("Client Started\n");

return clientSocket;
}

// socket shutdown function
void shutdownSocket(int clientSocket) {
#ifdef WIN32
// close our socket
closesocket(clientSocket);

// shut down winsock
WSACleanup();
#else
// close our socket
close(clientSocket);
#endif
printf("Client Shutdown\n");
}

// the application entry point
int main(){
int Socket = startupClient("10.0.0.1", 12345);
if(Socket < 0){
// error, shuting down socket and close app
shutdownSocket(Socket);
return 1;
}

// sending data
char message[]="MyMessage";
send(Socket, message, strlen(message), 0);

// receiving data
char message2[20]={0};
recv(Socket, message2, sizeof(message2), 0);

return 0;
}

 

Basic Server:

//general libraries
#include <stdio.h>

// platform specific libraries
#ifdef WIN32
#include <winsock2.h>
// check if its visual c++
#ifdef _MSC_VER
#pragma comment(lib,"ws2_32.lib")
#endif
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <unistd.h>
#include <errno.h>
#endif

// server startup listening only on 1 IP
int startupServer(const char* serverName, unsigned short port) {
// windows winsock init
#ifdef WIN32
// the winsock data structure
WSAData wsaData;

// startup winsock
if (WSAStartup(MAKEWORD(2, 2), &wsaData) < 0) {
printf("Could Not Start Up Winsock!\n");
return -1;
}
#endif

// create a server Socket for the client
int Socket = socket(AF_INET, SOCK_STREAM, 0);

// check if it could create a socket
if (Socket < 0) {
printf("Error Opening Socket!\n");
return -1;
}

// init server connection info
struct sockaddr_in server;
memset(&server, 0, sizeof(sockaddr_in));

// server connection info
server.sin_family = AF_INET;
server.sin_port = htons(port);

// get the host entry from the client
// gethostbyname converts from Domain, IP to hostent structure
struct hostent *host_entry;
if ((host_entry = gethostbyname(serverName)) == NULL) {
printf("Could not find host!, trying by address \n");
server.sin_addr.s_addr = inet_addr(serverName);
}else{
server.sin_addr.s_addr = *(unsigned long*) host_entry->h_addr;
}
// till now its the same as startupClient
// instead of connect we bind and listen for new connectios

// bind the server to an IP
if (bind(Socket, (sockaddr*)&server, sizeof(server)) < 0) {
printf("Bind Failed!\n");
return -1;
}

// listen for new connections
if (listen(Socket, 5) < 0) {
printf("Listen Failed!\n");
return -1;
}

printf("Server Started\n");

return Socket;
}

//start up server listening on all interfaces
int startupServer(unsigned short port) {
//0.0.0.0 means all networks
return startupServer("0.0.0.0", port);
}

// Server shutdown function
void shutdownSocket(int clientSocket) {
#ifdef WIN32
// close our socket
closesocket(clientSocket);

// shut down winsock
WSACleanup();
#else
// close our socket
close(clientSocket);
#endif
printf("Client Shutdown\n");
}

// the application entry point
int main(){
int Socket = startupServer("10.0.0.1", 12345);
if(Socket < 0){
// error, shuting down socket and close app
shutdownSocket(Socket);
return 1;
}

// new socket for every client,
// you could create a socket wheel using a for loop to handle many clients
int clientSocket;
clientSocket = accept(Socket, 0, 0);

// check for errors
if (clientSocket < 0) {
printf("Accept Failed!\n");
}

// receiving data
char message2[20]={0};
int nBytes = recv(clientSocket, message2, sizeof(message2), 0);

switch(nBytes){
case 0: {
// client disconnected
break;
}
case -1:{
// if it's nonBlocking sochets you didnt received anything
break;
}
default:
// the message received from client
if(!strcmp(message2, "MyMessage")){
// sending data
char message[]="MyMessage";
send(clientSocket, message, strlen(message), 0);
}
}
return 0;
}

Print this item

  [C/C++]WIN32 Basic Tutorial
Posted by: someone - 09-03-2012, 02:09 PM - Forum: Coders Talk - Replies (6)


This is a basic tutorial for WN32 that shows how to make a WIN32 dialog window with some basic controlls and how to use them. This tutorial was posted first time by me in the HTS forum.

 

All windows API are in C, except for MFC, CLR, ATL, some say they are classes but if you look at the description they are structs.

 

Introduction

The main function in windows is a little different from the traditional int main()(from the console programming), the function will look something like this(2).

int APIENTRY WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

Win main it is not really necessary you could just simply use int main() if you want.

 

Creating a Window

Many types (like dialogs, controls, and other visual objects) are actual windows and sub-windows. The windows are created by the API function 2, to create any kind of window, be it the main window, or a control.

#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInt, HINSTANCE hpInt, LPSTR lpLine, int nShow){
//Creating a window
CreateWindowEx(
WS_EX_CLIENTEDGE, // Window Type
WC_DIALOG, //Class Name
"MyWindow", // Window Title
WS_OVERLAPPEDWINDOW | WS_VISIBLE, // Window Proprieties
0, // x Position on the Screen
0, // y Position on the Screen
width, // window Width
height, //window Height
NULL, // Parent window
NULL,
NULL, //Hint, handle to the previous window
NULL
);
//add await time or the window will close really fast
return 0;
}

 

Or it could be added in the WM_CREATE(will talk later into the window Procedure)

 

Creating Controllers

The window handle is an HWND(usually we call it hWnd), the function CreateWindowEx returns the window handle which it creates. Without the handle we can not send messages to the child windows(controls).

HWND myDialogWindow = CreateWindowEx( arguments);

 

The code will look like(2):

#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInt, HINSTANCE hpInt, LPSTR lpLine, int nShow){
//Creating a window
HWND hMainWindow = CreateWindowEx(
WS_EX_CLIENTEDGE, // Window Type
WC_DIALOG, //Class Name
"MyWindow", // Window Title
WS_OVERLAPPEDWINDOW | WS_VISIBLE, // Window Proprieties
0, // x Position on the Screen
0, // y Position on the Screen
width, // window Width
height, //window Height
NULL, // Parent window
NULL,
NULL, //Hint, handle to the previous window
NULL
);
//Creating a button
HWND hButton1 = CreateWindowEx(
0,
"BUTTON",// the class name, there are many classes "LABLE", EDIT", etc
"Buton",
BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD,
50,50,100,25,
hMainWindow ,// handle to the main parent window
NULL,NULL,NULL
);

//add await time or the window will close really fast
return 0;
}

 

The Window Procedure

2 receives every event that happens on the main window(for example it could be user events, pressing a button, etc). The window procedure is called by the system when an event on the window happens, and the window is informed with a message.

LRESULT WINAPI proc_name(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

 

For a procedure to be attached to a window it needs to instantiate a class of type 2 and registered with 2. The function 2 informs the main loop to break, any window procedure must not always return 0.

#include <windows.h>
//the window procedure
LRESULT WINAPI wndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
//if the message is WM_CLOSE
if(message == WM_CLOSE) {
// when pressing the X on the window it will send WM_CLOSE to the window procedure
// with PostQuitMessage will exit the while loop
PostQuitMessage(0);
}

return 0;
}

//the entry point of the window
int APIENTRY WinMain(HINSTANCE, HINSTANCE, LPSTR, int){
WNDCLASSEX wc; //the window class
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = wndProc; //the window procedure
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hint;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = "WindowClass"; //the class name
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

// registering the class
if(!RegisterClassEx(&wc)){
//error it can not register the class
}

// creating a window
HWND hwnd = CreateWindowEx( 0, "WindowClass","A dialog window",
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
400,100,200,200,
NULL,NULL,NULL,NULL
);

//making the window visible, showing the window
ShowWindow(hwnd, true);

//updating the window(this will call WM_PAINT)
UpdateWindow(hwnd);

//the window message loop
MSG msg;
while(GetMessage(&msg,NULL,0,0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}

 

Controllers types and how to use them

A good thing to know about controllers is that they are windows. As any other normal window they have a window procedure, window class, etc. which they are registered from the system. Anything you can do with a normal window you can do with a controller.

 

Messages:

Windows communicate using messages, when an event happens or when you want an control to do something, it will send a notification message. For standard controls the message will be WM_COMMAND and for common controls its WM_NOTIFY.

 

Messages can be send to a window using the API 2 with the use of 2 to access the data from that control, or you can use 2 to do what SendMessage and GetDlgItem does.

 

The Edit Boxes

One of the most used controls are the windows environments is the edit control, that permits the user to insert, modify, copy,etc text.

 

We said earlier about the CreateWindowEx to create controls.

#define IDC_EDIT 101 //used to identify a control, or you could use an enum

HWND hEdit = CreateWindowEx(
0,
"EDIT",// class name
"Text Box",
WS_VISIBLE | WS_CHILD,
50,50,100,25,
hwnd,
(HMENU)IDC_EDIT, //the control identifier
NULL,NULL
);

 

Accessing the information on the in the edit box it is made using the functions 2,si 2, 2, 2:

 

//hEdit is the control handle, and it can be accessed from anywhere
HWND hEdit = GetDlgItem( hwnd, IDC_EDIT);
GetWindowText(hEdit,buffer,255);
SetWindowText(hEdit,"New Message");

//or
GetDlgItemText(hwnd, IDC_EDIT, buffer, 255)
SetDlgItemText(hwnd, IDC_TEXT, "This is a string");

 

Notification Messages

When someone presses a button, the button sends the notification codes in type of WM_COMMAND to the parent window. for example a button control sends a notification code under the IDC_BUTTON every time the user presses the button.

 

#define IDC_BUTON 102 //used for identifying a button
//...
CreateWindowEx(
0,
"BUTTON",// button class
"Button",
BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD,
50,50,100,25,
hwnd,
(HMENU)IDC_BUTON,
NULL,NULL
);

And in the Window procedure:

LRESULT WINAPI wndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
//you can change the if into a switch
if(message == WM_COMMAND){
switch(wParam){
case IDC_BUTON:
MessageBox(hwnd,"Button Pressed","BTN WND",0);
break;
}
return 0;
}
}

 

Other Notifications:

WM_CREATE runs only once when the main window is created, in this notification you can create controls(Wrote above). WM_DESTROY same as WM_CREATE it runs once, when the window is destroyed, WM_PAINT it is called every time the function DispatchMessage is called.

 

WM_KEYDOWN and WM_KEYUP is called every time you press or release a keyboard key;

Code is from my Disertation Project

switch(message) {
case WM_KEYDOWN: // If we get a key down message, do stuff
switch(wParam){
case VK_ESCAPE: // If they push ESC, close the app
SendMessage(hwnd, WM_CLOSE, 0, 0);
break;

case 'W':
case VK_UP: // If they push up, move forward (Camera's +Z)
gCamera->move(Camera::eForward, MoveSpeed);
break;

case 'S':
case VK_DOWN: // If they push down, move backward (Camera's -Z)
gCamera->move(Camera::eBack, MoveSpeed);
break;

case 'D':
case VK_RIGHT: // If they push right, move right (Camera's +X)
gCamera->move(Camera::eRight, MoveSpeed);
break;

case 'A':
case VK_LEFT: // If they push left, move left (Camera's -X)
gCamera->move(Camera::eLeft, MoveSpeed);
break;

case 'R':
gCamera->reset(); // Recenter the camera
break;
}
break;
}

 

2 notifications are mouse events notifications or you could use WM_INPUT

case WM_MOUSEMOVE:
{
int xPos = GET_X_PARAM(lParam); //X absolute position
int yPos = GET_Y_PARAM(lParam); //Y absolute position
// ...
break;
}

Print this item

  [Release]Blackfire Website Re-Design
Posted by: DrGenius - 09-02-2012, 10:11 PM - Forum: Ep1 Websites - Replies (23)


Well i decide release this design based on Blackfire website cuz i was thinking in release other server but i never release it so i dont continue with this server so i decide release this design. all the credits for him and max for codes etc... i only re-design it with a some good graphics and some fixed in fonts etc..

Screen:

 

In the .rar file are incluided, PSD Files, paymentwall implemented and working with pingback,and all sql files.

Download: 2

Print this item

  Super Tool LC
Posted by: ReturnKratos - 09-02-2012, 03:39 PM - Forum: Development Showroom - Replies (31)


Hey Today i will show you the ultimate tool made by me.

 

It cost 10€ per license

 

The Change Log Will Tell you all info You Want !

 

Change Log :

Finally Version v3
Settings : You Can Edit your credential of MYSQL server

Account Panel : You Can Edit A User's Account !

Character Editor : You Can Edit A lot of thing of any character ( it show you character only if in account panel has selected one account )

Guild Editor : You Can Edit Guild Name, Guild Lvl, Guild Balance and member position !

Online Monitor : You can have look who is online in your server ( Every 20 Second It refresh automatic )

Login-Website Automatic : This Is a new features no one got this it can found account !!! in list of 1k account it check per account credential in login form if there is the selected account !!! then if you founded you can also save in other file nick and password like that you can check all account and then have fun with stole items !!! ( +2€ for account list ( 1k account ))

Register Automatic : This is a new features ! You can spam a lot of account ( in base of how it takes you some time )...i have used on hold atomiclastchaos.de 's site and i have spammed about 6k account you can have look on hes site there is atm 6.6k account ! ( this features not work on all website )

MultiClient : It Can work with ep1 as good, on ep2 as good... on ep3 i will create a special multi

5 BOT Spammer : In this stuff you can start spamm with 5 bots !!

[ NEW ! ] Castel Siege War Time !!! : With This Features you can set yourself your next war of your server !! it work very well !!!

 

Here Some Screen :

[url="http://imgur.com/a/RG0AC#0"]http://imgur.com/a/RG0AC#0[/url]
[url="http://postimage.org/gallery/v2qo4bo/9c2dc03f/"]http://postimage.org...qo4bo/9c2dc03f/[/url]
[url="http://imgur.com/Vopvd"]http://imgur.com/Vopvd[/url]
[url="http://imgur.com/omC9x"]http://imgur.com/omC9x[/url]

Print this item

  All Movements
Posted by: tiago - 09-01-2012, 10:24 PM - Forum: Client Side - Replies (3)


all movements skills in all chars:

 

 

 

2

Print this item

  News Summons
Posted by: tiago - 09-01-2012, 09:17 PM - Forum: Client Side - Replies (21)


new summon for your client....

 

2

 

 

Screen shots:

 

2

 

2

 

Pets:

 

2

 

Tool use:

2

 



Print this item