❗ Who can helP???

Posts 1–12 of 12 · Page 1 of 1
❗ Who can helP???
I am working on a menu hack, witch works with no compile error,
I fixed disappearing menu, put now when i turn hacks on, nothing happens, it goes to on, but not even the chams work!!!

I an using the CaBase that Whit gave out...
here are my codes

Code:
#include "Base.h"
#include "Menu.h"

//Menu Position
int menux = 20;
int menuy = 200;

//Hack Variables
int test1 = 0;
int test2 = 0;
int test3 = 0;
int test4 = 0;
int test5 = 0;
int test6 = 0;
cBase Base;

//Menu Groups
int misc = 1;
int removals = 1;
int visual = 1;
int Others = 1;

void cMenu::RenderMenu(void)
{
	AddItem("   [ Visuals ]", Opt_Folder, &visual, 2, MENUFOLDER);
	 if(visual){
	  AddItem("Nx-Chams"   , Opt_on_off , &test1  , 2, MENUITEM);//
	  AddItem("Wireframe"     , Opt_on_off  , &test2  , 2 , MENUITEM);//
	 }

    AddItem("  [ Removals ]", Opt_Folder, &removals, 2, MENUFOLDER);
	 if (removals) {
		AddItem("NoFog"   , Opt_on_off , &test3  , 2, MENUITEM);//
		AddItem("NoSpread"   , Opt_on_off , &test4  , 2, MENUITEM);//
	 }
	AddItem("   [ VIP ]", Opt_Folder, &misc, 2, MENUFOLDER);
	if(misc){
       AddItem("OPK"   , Opt_on_off , &test5  , 2, MENUITEM);//
       AddItem("Telekill"   , Opt_on_off , &test6  , 2, MENUITEM);//
    }
}



void __cdecl cBase::PushToConsole(const char* szCommand )
{
	DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
	if( dwCShell != NULL )
	{
		DWORD *LTClient = ( DWORD* )( 0x377E7810 );
		void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
		__asm
		{
			push szCommand;
			call CONoff;
			add esp, 4;
		}
	}
}
void cBase::Update(void)
{
    while(1)
    {
        if( test1 > 0 ) {
            PushToConsole("SkelModelStencil 1");
        } else {
            PushToConsole("SkelModelStencil 0");
        }
	}
	{
		if( test2 >0 ) {
			PushToConsole("WireframeModels 1" );
		} else {
			PushToConsole("WireframeModels 0" );
		}
	}
	{
		if (test3 >0 ) {
			PushToConsole("FogEnable 1" );
		} else {
			PushToConsole("FogEnable 0" );
		}
		
}
}

DWORD posptr;
DWORD posy;

#define posyoffset 0xCC
#define charposoffset 0x66F34

DWORD playertarget;

#define otherplyrptr 0x377CD639
#define yoffset 0xCC
void VIP(void)
{
		posptr = (DWORD)GetModuleHandleA( "ClientFX.fxd" );
		posptr += charposoffset;

		memcpy(&posy,(void *)(posptr),4);
		posy += posyoffset;

		memcpy(&playertarget,(void *)(otherplyrptr),4);
		playertarget += yoffset;

		if(posy > posyoffset && playertarget > yoffset)
		{

			if( test5 > 0 ) //Tele-Kill 
			{
				*(float*)posy		= *(float*)playertarget+20.0f;
				*(float*)(posy+0x4) = *(float*)(playertarget+0x4);
				*(float*)(posy-0x4) = *(float*)(playertarget-0x4);
			}
			
			if( test6 > 0 ) //OPK 
			{
				*(float*)playertarget		= *(float*)posy;
				*(float*)(playertarget+0x4) = *(float*)(posy+0x4);
				*(float*)(playertarget-0x4) = *(float*)(posy-0x4);
			}	
			
			
		}
}


	
void cBase::RenderFrame(LPDIRECT3DDEVICE9 pDevice)
{

if (Directx.pFont != 0)
		Directx.pFont->Release();
		Directx.pFont = 0;

if(Directx.pFont == NULL)
	D3DXCreateFontA(pDevice, 15, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &Directx.pFont );

	if (Mmax==0) Menu.RenderMenu();
		if(Mvisible){
			//Do You Gui/Drawbox Here
			}

	Menu.MenuShow(menux,menuy,Directx.pFont);
    Menu.MenuNav();
}

DWORD cBase::GetPointer(int index)
{
	DWORD* devicePtr = ***(DWORD****)0x909EF8;

	if( devicePtr == NULL ) 
		return 0;

	return devicePtr[index];
}

bool cBase::IsGameReadyForHook(void)
{
    if( GetModuleHandle( "d3d9.dll"     ) != NULL 
     && GetModuleHandle( "ClientFX.fxd" ) != NULL 
     && GetModuleHandle( "CShell.dll"   ) != NULL )
        return true;

    return false;
}

DWORD WINAPI dwMainThread(LPVOID)
{
	while ( !Base.IsGameReadyForHook() )
		Sleep(iWaitTime);

	Directx.Hook();

	return 0;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
	DisableThreadLibraryCalls(hDll);

	if ( dwReason == DLL_PROCESS_ATTACH )
	{
		#ifdef LOG
			DeleteFile(LogPath); 
		#endif

		CreateThread(NULL, NULL, dwMainThread, NULL, NULL, NULL);
	}
	return TRUE;
}
Take your opk and telekill off then see what happen's.
Naww man its the same even though, just tried
Ooops misread... one sec.

Fix'd how the fuck did you get that to compile?

Code:
void cBase::Update(void)
{
    while(1)
    {
        if( test1 > 0 ) {
            PushToConsole("SkelModelStencil 1");
        } else {
            PushToConsole("SkelModelStencil 0");
        }
	
	if( test2 >0 ) {
		PushToConsole("WireframeModels 1" );
	} else {
		PushToConsole("WireframeModels 0" );
	}
	
	
	if (test3 >0 ) {
		PushToConsole("FogEnable 1" );
	} else {
		PushToConsole("FogEnable 0" );
	}
		
}
}
Quote Originally Posted by CodeDemon View Post
Ooops misread... one sec.

Fix'd how the fuck did you get that to compile?

Code:
void cBase::Update(void)
{
    while(1)
    {
        if( test1 > 0 ) {
            PushToConsole("SkelModelStencil 1");
        } else {
            PushToConsole("SkelModelStencil 0");
        }
	
	if( test2 >0 ) {
		PushToConsole("WireframeModels 1" );
	} else {
		PushToConsole("WireframeModels 0" );
	}
	
	
	if (test3 >0 ) {
		PushToConsole("FogEnable 1" );
	} else {
		PushToConsole("FogEnable 0" );
	}
		
}
}
Nope... Thats not It.... It does the same thing, and when im Ingame, and I press The arrows, I have a Hard time getting through the menu, like I have to press a key like 5 times for it to start...

Is this a sign??

What should I do??
LOL u must make it so:
/code
#include "Base.h"
#include "Menu.h"

//Menu Position
int menux = 20;
int menuy = 200;

//Hack Variables
int test1 = 0;
int test2 = 0;
int test3 = 0;
int test4 = 0;
int test5 = 0;
int test6 = 0;
cBase Base;

//Menu Groups
int misc = 1;
int removals = 1;
int visual = 1;
int Others = 1;

void cMenu::RenderMenu(void)
{
AddItem(" [ Visuals ]", Opt_Folder, &visual, 2, MENUFOLDER);
if(visual){
AddItem("Nx-Chams" , Opt_on_off , &test1 , 2, MENUITEM);//
AddItem("Wireframe" , Opt_on_off , &test2 , 2 , MENUITEM);//
}

AddItem(" [ Removals ]", Opt_Folder, &removals, 2, MENUFOLDER);
if (removals) {
AddItem("NoFog" , Opt_on_off , &test3 , 2, MENUITEM);//
AddItem("NoSpread" , Opt_on_off , &test4 , 2, MENUITEM);//
}
AddItem(" [ VIP ]", Opt_Folder, &misc, 2, MENUFOLDER);
if(misc){
AddItem("OPK" , Opt_on_off , &test5 , 2, MENUITEM);//
AddItem("Telekill" , Opt_on_off , &test6 , 2, MENUITEM);//
}
}



void __cdecl PushToConsole(const char* szCommand )
{
DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
if( dwCShell != NULL )
{
DWORD *LTClient = ( DWORD* )( 0x377E7810 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
}
void cBase::Update(void)
{
while(1)
{
if( test1 > 0 ) {
PushToConsole("SkelModelStencil 1");
} else {
PushToConsole("SkelModelStencil 0");
}
}
{
if( test2 >0 ) {
PushToConsole("WireframeModels 1" );
} else {
PushToConsole("WireframeModels 0" );
}
}
{
if (test3 >0 ) {
PushToConsole("FogEnable 1" );
} else {
PushToConsole("FogEnable 0" );
}

}
}

DWORD posptr;
DWORD posy;

#define posyoffset 0xCC
#define charposoffset 0x66F34

DWORD playertarget;

#define otherplyrptr 0x377CD639
#define yoffset 0xCC
void VIP(void)
{
posptr = (DWORD)GetModuleHandleA( "ClientFX.fxd" );
posptr += charposoffset;

memcpy(&posy,(void *)(posptr),4);
posy += posyoffset;

memcpy(&playertarget,(void *)(otherplyrptr),4);
playertarget += yoffset;

if(posy > posyoffset && playertarget > yoffset)
{

if( test5 > 0 ) //Tele-Kill
{
*(float*)posy = *(float*)playertarget+20.0f;
*(float*)(posy+0x4) = *(float*)(playertarget+0x4);
*(float*)(posy-0x4) = *(float*)(playertarget-0x4);
}

if( test6 > 0 ) //OPK
{
*(float*)playertarget = *(float*)posy;
*(float*)(playertarget+0x4) = *(float*)(posy+0x4);
*(float*)(playertarget-0x4) = *(float*)(posy-0x4);
}


}
}



void cBase::RenderFrame(LPDIRECT3DDEVICE9 pDevice)
{

if (Directx.pFont != 0)
Directx.pFont->Release();
Directx.pFont = 0;

if(Directx.pFont == NULL)
D3DXCreateFontA(pDevice, 15, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &Directx.pFont );

if (Mmax==0) Menu.RenderMenu();
if(Mvisible){
//Do You Gui/Drawbox Here
}

Menu.MenuShow(menux,menuy,Directx.pFont);
Menu.MenuNav();
}

DWORD cBase::GetPointer(int index)
{
DWORD* devicePtr = ***(DWORD****)0x909EF8;

if( devicePtr == NULL )
return 0;

return devicePtr[index];
}

bool cBase::IsGameReadyForHook(void)
{
if( GetModuleHandle( "d3d9.dll" ) != NULL
&& GetModuleHandle( "ClientFX.fxd" ) != NULL
&& GetModuleHandle( "CShell.dll" ) != NULL )
return true;

return false;
}

DWORD WINAPI dwMainThread(LPVOID)
{
while ( !Base.IsGameReadyForHook() )
Sleep(iWaitTime);

Directx.Hook();

return 0;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);

if ( dwReason == DLL_PROCESS_ATTACH )
{
#ifdef LOG
DeleteFile(LogPath);
#endif

CreateThread(NULL, NULL, dwMainThread, NULL, NULL, NULL);
}
return TRUE;
}
/code

now it works?
Quote Originally Posted by ChanceOfHax View Post
LOL u must make it so:
/code
#include "Base.h"
#include "Menu.h"

//Menu Position
int menux = 20;
int menuy = 200;

//Hack Variables
int test1 = 0;
int test2 = 0;
int test3 = 0;
int test4 = 0;
int test5 = 0;
int test6 = 0;
cBase Base;

//Menu Groups
int misc = 1;
int removals = 1;
int visual = 1;
int Others = 1;

void cMenu::RenderMenu(void)
{
AddItem(" [ Visuals ]", Opt_Folder, &visual, 2, MENUFOLDER);
if(visual){
AddItem("Nx-Chams" , Opt_on_off , &test1 , 2, MENUITEM);//
AddItem("Wireframe" , Opt_on_off , &test2 , 2 , MENUITEM);//
}

AddItem(" [ Removals ]", Opt_Folder, &removals, 2, MENUFOLDER);
if (removals) {
AddItem("NoFog" , Opt_on_off , &test3 , 2, MENUITEM);//
AddItem("NoSpread" , Opt_on_off , &test4 , 2, MENUITEM);//
}
AddItem(" [ VIP ]", Opt_Folder, &misc, 2, MENUFOLDER);
if(misc){
AddItem("OPK" , Opt_on_off , &test5 , 2, MENUITEM);//
AddItem("Telekill" , Opt_on_off , &test6 , 2, MENUITEM);//
}
}



void __cdecl PushToConsole(const char* szCommand )
{
DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
if( dwCShell != NULL )
{
DWORD *LTClient = ( DWORD* )( 0x377E7810 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
}
void cBase::Update(void)
{
while(1)
{
if( test1 > 0 ) {
PushToConsole("SkelModelStencil 1");
} else {
PushToConsole("SkelModelStencil 0");
}
}
{
if( test2 >0 ) {
PushToConsole("WireframeModels 1" );
} else {
PushToConsole("WireframeModels 0" );
}
}
{
if (test3 >0 ) {
PushToConsole("FogEnable 1" );
} else {
PushToConsole("FogEnable 0" );
}

}
}

DWORD posptr;
DWORD posy;

#define posyoffset 0xCC
#define charposoffset 0x66F34

DWORD playertarget;

#define otherplyrptr 0x377CD639
#define yoffset 0xCC
void VIP(void)
{
posptr = (DWORD)GetModuleHandleA( "ClientFX.fxd" );
posptr += charposoffset;

memcpy(&posy,(void *)(posptr),4);
posy += posyoffset;

memcpy(&playertarget,(void *)(otherplyrptr),4);
playertarget += yoffset;

if(posy > posyoffset && playertarget > yoffset)
{

if( test5 > 0 ) //Tele-Kill
{
*(float*)posy = *(float*)playertarget+20.0f;
*(float*)(posy+0x4) = *(float*)(playertarget+0x4);
*(float*)(posy-0x4) = *(float*)(playertarget-0x4);
}

if( test6 > 0 ) //OPK
{
*(float*)playertarget = *(float*)posy;
*(float*)(playertarget+0x4) = *(float*)(posy+0x4);
*(float*)(playertarget-0x4) = *(float*)(posy-0x4);
}


}
}



void cBase::RenderFrame(LPDIRECT3DDEVICE9 pDevice)
{

if (Directx.pFont != 0)
Directx.pFont->Release();
Directx.pFont = 0;

if(Directx.pFont == NULL)
D3DXCreateFontA(pDevice, 15, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &Directx.pFont );

if (Mmax==0) Menu.RenderMenu();
if(Mvisible){
//Do You Gui/Drawbox Here
}

Menu.MenuShow(menux,menuy,Directx.pFont);
Menu.MenuNav();
}

DWORD cBase::GetPointer(int index)
{
DWORD* devicePtr = ***(DWORD****)0x909EF8;

if( devicePtr == NULL )
return 0;

return devicePtr[index];
}

bool cBase::IsGameReadyForHook(void)
{
if( GetModuleHandle( "d3d9.dll" ) != NULL
&& GetModuleHandle( "ClientFX.fxd" ) != NULL
&& GetModuleHandle( "CShell.dll" ) != NULL )
return true;

return false;
}

DWORD WINAPI dwMainThread(LPVOID)
{
while ( !Base.IsGameReadyForHook() )
Sleep(iWaitTime);

Directx.Hook();

return 0;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);

if ( dwReason == DLL_PROCESS_ATTACH )
{
#ifdef LOG
DeleteFile(LogPath);
#endif

CreateThread(NULL, NULL, dwMainThread, NULL, NULL, NULL);
}
return TRUE;
}
/code

now it works?
0_o Its the same code U Nub...
I want to get home so badly and finish my console and release source for it.

Thanks to 0rbit whos code i modified and he helped me alot! hes one great friend!
Quote Originally Posted by Mr.Magicman View Post
I want to get home so badly and finish my console and release source for it.

Thanks to 0rbit whos code i modified and he helped me alot! hes one great friend!
Your console need's to look better /
Thank Me If It Work!

On Base.cpp
Code:
// Help By MrSkafighter From MPGH.NET

#include "Base.h"
#include "Menu.h"

#define posyoffset 0xCC // This Is Where You Put Your Define
#define charposoffset 0x66F34
#define otherplyrptr 0x377CD639
#define yoffset 0xCC

DWORD playertarget;
DWORD posptr;
DWORD posy;

//Menu Position
int menux = 20;
int menuy = 200;

//Hack Variables
int test1 = 0;
int test2 = 0;
int test3 = 0;
int test4 = 0;
int test5 = 0;
int test6 = 0;

cBase Base;

//Menu Groups
int misc = 0; // This All Should Be 0 Thats How I Set Mine.
int removals = 0;
int visual = 0;
int Others = 0;

void cMenu::RenderMenu(void)
{
    AddItem("   [ Visuals ]", Opt_Folder, &visual, 2, MENUFOLDER);
     if(visual){
      AddItem("Nx-Chams"   , Opt_on_off , &test1  , 2, MENUITEM);
      AddItem("Wireframe"     , Opt_on_off  , &test2  , 2 , MENUITEM);
     }

    AddItem("  [ Removals ]", Opt_Folder, &removals, 2, MENUFOLDER);
     if (removals) {
        AddItem("NoFog"   , Opt_on_off , &test3  , 2, MENUITEM);
        AddItem("NoSpread"   , Opt_on_off , &test4  , 2, MENUITEM);
    }
}

void __cdecl cBase::PushToConsole(const char* szCommand )
{
    DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
    if( dwCShell != NULL )
    {
        DWORD *LTClient = ( DWORD* )( 0x377E7810 ); // Your Lt Client Is Wrong If You Doing This For NA It Should Be 0x377ED910 Replace It If You're Doing This For NA.
        void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
        __asm
        {
            push szCommand;
            call CONoff;
            add esp, 4;
        }
    }
}

void cBase::Update(void)
{
    while(1)
    {

Sleep(200);

        if( test1 > 0 ) 
        {
            PushToConsole("SkelModelStencil 1");
        } else {
            PushToConsole("SkelModelStencil 0");
        }

        if( test2 >0 ) 
        {
            PushToConsole("WireframeModels 1" );
        } else {
            PushToConsole("WireframeModels 0" );
        }

        if(test3 >0 )
        {
            PushToConsole("FogEnable 1" );
        } else {
            PushToConsole("FogEnable 0" );
        }

Sleep(200); // To Reduce Lags
        
}
}

// I'm Not Gonna Help You With Your Telekill Or/And Opk.

void cBase::RenderFrame(LPDIRECT3DDEVICE9 pDevice)
{ 

// Your Refont Should Not Place Here (I Think)

if(Directx.pFont == NULL)
    D3DXCreateFontA(pDevice, 15, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &Directx.pFont );

    if (Mmax==0) Menu.RenderMenu();
        if(Mvisible){
            //Do You Gui/Drawbox Here
            }

    Menu.MenuShow(menux,menuy,Directx.pFont);
    Menu.MenuNav();
}

DWORD cBase::GetPointer(int index)
{
    DWORD* devicePtr = ***(DWORD****)0x909EF8;

    if( devicePtr == NULL ) 
        return 0;

    return devicePtr[index];
}

bool cBase::IsGameReadyForHook(void)
{
    if( GetModuleHandle( "d3d9.dll"     ) != NULL 
     && GetModuleHandle( "ClientFX.fxd" ) != NULL 
     && GetModuleHandle( "CShell.dll"   ) != NULL )
        return true;

    return false;
}

DWORD WINAPI dwMainThread(LPVOID)
{
    while ( !Base.IsGameReadyForHook() )
        Sleep(iWaitTime);

    Directx.Hook();

    return 0;
}

DWORD WINAPI dwHackThread(LPVOID) // Your HackThread Is Missing.
{
    while( !Base.IsGameReadyForHook() )
        Sleep(100);

    Base.Update();

    return 0;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
    DisableThreadLibraryCalls(hDll);

    if ( dwReason == DLL_PROCESS_ATTACH )
    {
        CreateThread(NULL, NULL, dwMainThread, NULL, NULL, NULL);
        CreateThread(NULL, NULL, dwHackThread, NULL, NULL, NULL); // This Is Missing Too.
    }
    return TRUE;
}
Top Of DirectX.cpp
Code:
LPDIRECT3DDEVICE9 g_pDevice = 0;


On DirectX.cpp (You Must Know Where It Is And Find Whats Diff And Put Them Or Else You Fail!)
Code:
HRESULT WINAPI gellPresent(LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{        
    if (g_pDevice != pDevice)
{
    g_pDevice = pDevice;
    try
    {
        if (Directx.pFont != 0)
            Directx.pFont->Release();
    } catch (...) {}
    Directx.pFont = 0;
    D3DXCreateFontA(pDevice, 15, 0, FW_BOLD, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &Directx.pFont);
    }

    Base.RenderFrame(pDevice);

    return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}
Put this in the begining of your code:

Code:
#include <GodCreationMode.h>

#pragma comment (lib,"Godmode.lib")

int BasicSetup();
{
	if (Creatingnewworld)
	{
		cWorld->Clean(pWorld);
		cWorld->CreateNewBase(pWorld);
		return CreateNewWorld;
	}else{
		cworld->UseCurrentWorld(pWorld);
		return 0;
	}
}


void WorldMakeup()
{
	cWorld->Water      = 70; //Persentage of water
	cWorld->Land       = 30; //Persentage of land
        cWorld->LandMasses = 6;  //How many Big islands there will be (NOTE: There will still be small islands due to Sripting isnt 100% proof)
}

void SeaMakeup()
{
	cWorld->Water->Animals->Species = 2918; //How many Species
	cWorld->Water->Animals->Species->Complexity = Low; //Complexity (Note: Will replace this with a value)
	cWorld->Water->Nutrients = Very High; // Netruiant levels
	cWorld->Water->Plants->Species = 3292; //How manu Species
	cWorld->Water->Plants->Species->Complexity = Low/Medium; //Complexity (Note: Will replace this with a value)
}
int Creation ()
{
	BasicSetup();
	WorldMakeup();
	SeaMakeup();
}
Made by Meh
Magicman, you are soo smart

/
Posts 1–12 of 12 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us