[MPGH]Flengo (01-14-2014),Kamcorder (01-13-2014),OpKilts (01-13-2014)
When I make a base, change some, update something, people say it is "Complex" but is it really? Most of your bases are filled with "Messy" code. These bases come can barely understand, any when I come make "improvements" or recommend something the first thing most people say is "complex". I am here to show you why you people just lazy. There is nothing complex about it, I mean most of you already look at me and say you "know C++", and i believe most of you understand the syntax of c++. So tell me this, my bases, menus or improved function, are those not made in C++? Cant you simply read them and understand them? Yes i can say that I may be more experience at somethings, and program these algorithm with more in mind, but that shouldn't stop you from understanding what the algorithm is doing. I mean if you do not understand the meaning behind something but not if you do not understand it in general.
Lets do with examples, This is ghost mode someone sent to me something last year.
What I want you to do, is look at this carefully, and tell me why would this be less complex than the ghost mode I have below. Is it not the same code, but more organized? I do not understand your terms for simple and complex code.Code:void GhostMode() { if(gmode) { cPlayerMgr* pPlayerManager; pPlayerManager= *(cPlayerMgr**)ADDR_PLAYERMGR; float PlayerPitch = pPlayerManager->Pitch; float PlayerYaw = pPlayerManager->Yaw; if (clock() < ghostwait) { //Do Nothing } else { ghostwait = clock () + 0.02 * CLOCKS_PER_SEC; bool Forward = (GetAsyncKeyState('W') & 0x8000) != 0; bool Backward = (GetAsyncKeyState('S') & 0x8000) != 0; bool Left = (GetAsyncKeyState('A') & 0x8000) != 0; bool Right = (GetAsyncKeyState('D') & 0x8000) != 0; if (Forward || Backward || Left || Right) { if (Forward || Backward) { float Sign = (Forward ? 1.0f : -1.0f); Posx += Sign * 20.0f * sinf(PlayerYaw); Posy += Sign * 20.0f * sinf(-PlayerPitch); Posz += Sign * 20.0f * cosf(PlayerYaw); } if (Left) { Posx += 20.0f * sinf(PlayerYaw - (MATH_PI / 2.0f)); Posy += 0; Posz += 20.0f * cosf(PlayerYaw - (MATH_PI / 2.0f)); } if (Right) { Posx += 20.0f * sinf(PlayerYaw + (MATH_PI / 2.0f)); Posy += 0; Posz += 20.0f * cosf(PlayerYaw + (MATH_PI / 2.0f)); } } } DWORD dwClientFxEntry = (DWORD)GetModuleHandleA("Clientfx.fxd"); DWORD dwClass = *(DWORD*)( dwClientFxEntry + ADDR_CLIENTFX ); if(dwClass) { *(float*)( dwClass + 0xC8 ) = Posx; *(float*)( dwClass + 0xCC ) = Posy; *(float*)( dwClass + 0xD0 ) = Posz; } } }
Lets go with ESP, I know that most of you have esp, and seem to understand it a little. So this is your everyday esp.Code:void GhostMode(bool val){ if (!val) return; static D3DXVECTOR3 pos = GetLocalPlayerPosition(); auto pManager = GetPlayerManager(); if (!pManager) goto SettingPosition; bool Forward = (GetAsyncKeyState('I') & 0x8000) != 0; bool Backward = (GetAsyncKeyState('K') & 0x8000) != 0; if (Forward || Backward) { float Sign = (Forward ? 1.0f : -1.0f); pos.x += Sign * 10.0f * std::sinf(pManager->Yaw); pos.y += Sign * 10.0f * std::sinf(-pManager->Pitch); pos.z += Sign * 10.0f * std::cosf(pManager->Yaw); } if (GetAsyncKeyState('J') & 0x8000) { pos.x += 10.0f * std::sinf(pManager->Yaw - (M_PI_2)); pos.z += 10.0f * std::cosf(pManager->Yaw - (M_PI_2)); } else if (GetAsyncKeyState('L') & 0x8000) { pos.x += 10.0f * std::sinf(pManager->Yaw + (M_PI_2)); pos.z += 10.0f * std::cosf(pManager->Yaw + (M_PI_2)); } SettingPosition: SetLocalPlayerPosition(pos); }
Now what I want you to tell me is, How my esp is more complex.Code:void ESP(){ INT CenterX = GetSystemMetrics(0) / 2-1; INT CenterY = GetSystemMetrics(1) / 2-1; CHAR CName[50], CDistance[50]; if((*(BYTE *)ADDR_GAMESTATUS == 1) && (espNames || espLines || espDistances || espBoxes) || espWarning)) { GetPlayerByIndex3 = (lpGetPlayerByIndex3)ADDR_PLAYERBYINDEX; unsigned long ulThis = *(unsigned long *)ADDR_CLIENTINFOMGR; GetLocalPlayer3 = (lpGetLocalPlayer3)ADDR_LOCALPLAYER; for(int i = 0; i < 24; i++) { pPlayerInfo *pLocal = GetLocalPlayer3(ulThis); pPlayerInfo *pPlayer = GetPlayerByIndex3(ulThis, i, 0); if(pPlayer != 0 && pPlayer->Object != 0 && pPlayer->IsDead == 0) { D3DXVECTOR3 vPos, vFootScreen, vScreen; vPos.x = pPlayer->Object->Pos.x; vPos.y = pPlayer->Object->yBound2; vPos.z = pPlayer->Object->Pos.z; if(WorldToScreen(vPos, &vScreen)) { if(pPlayer->Team != pLocal->Team) { if(getESPTextIndex(Menu->espNames->GetText()) == 1 || getESPTextIndex(Menu->espNames->GetText()) == 3) { //sprintf(CName, "%s", pPlayer->Name); Main->D3D->DrawTextA(vScreen.x, vScreen.y, Red, TCenter, pPlayer->Name);// TCenter, pFont, pPlayer->Name); } if(getESPTextIndex(Menu->espLines->GetText()) == 1 || getESPTextIndex(Menu->espLines->GetText()) == 3) { Main->D3D->DrawLine(CenterX, CenterY, vScreen.x, vScreen.y, 1, Red); } if(getESPTextIndex(Menu->espBoxes->GetText()) == 1 || getESPTextIndex(Menu->espBoxes->GetText()) == 3) { vPos.x = pPlayer->Object->Pos.x; vPos.y = pPlayer->Object->yBound1; vPos.z = pPlayer->Object->Pos.z; if(WorldToScreen(vPos, &vFootScreen)) { INT BoxDist = INT(0.2f * (vFootScreen.y - vScreen.y)); Main->D3D->DrawBox(vScreen.x - BoxDist, vScreen.y , 1, vFootScreen.y-vScreen.y , Red); Main->D3D->DrawBox(vScreen.x - BoxDist, vFootScreen.y, BoxDist*2, 1, Red); Main->D3D->DrawBox(vScreen.x + BoxDist, vScreen.y , 1, vFootScreen.y-vScreen.y, Red); Main->D3D->DrawBox(vScreen.x - BoxDist, vScreen.y , BoxDist*2, 1, Red); } } if(Menu->espWarning->Checkbox()->IsChecked()) { if(GetDistance(pLocal->Object->Pos, pPlayer->Object->Pos) < 10.0f) Main->D3D->DrawTextA(CenterX, 100, Red, TCenter, "Enemy under 10m"); } } if(pPlayer->Team == pLocal->Team) { if(getESPTextIndex(Menu->espNames->GetText()) == 2 || getESPTextIndex(Menu->espNames->GetText()) == 3) { sprintf(CName, "%s", pPlayer->Name); Main->D3D->DrawTextA(vScreen.x, vScreen.y, Blue, TCenter, CName); } if(getESPTextIndex(Menu->espLines->GetText()) == 2 || getESPTextIndex(Menu->espLines->GetText()) == 3) { Main->D3D->DrawLine(CenterX, CenterY, vScreen.x, vScreen.y, 1, Blue); } if(getESPTextIndex(Menu->espBoxes->GetText()) == 2 || getESPTextIndex(Menu->espBoxes->GetText()) == 3) { vPos.x = pPlayer->Object->Pos.x; vPos.y = pPlayer->Object->yBound1; vPos.z = pPlayer->Object->Pos.z; if(WorldToScreen(vPos, &vFootScreen)) { INT BoxDist = INT(0.2f * (vFootScreen.y - vScreen.y)); Main->D3D->DrawBox(vScreen.x - BoxDist, vScreen.y , 1, vFootScreen.y-vScreen.y , Blue); Main->D3D->DrawBox(vScreen.x - BoxDist, vFootScreen.y, BoxDist*2, 1, Blue); Main->D3D->DrawBox(vScreen.x + BoxDist, vScreen.y , 1, vFootScreen.y-vScreen.y, Blue); Main->D3D->DrawBox(vScreen.x - BoxDist, vScreen.y , BoxDist*2, 1, Blue); } } } } } } } }
You say these things are complex... I call bullshit. You are just saying this hide your laziness and your ignorance. You live in this world where all of you pretend to be something you are not. You want to be respected by all and lie to our faces. You want something from someone and you play games with this person. What is wrong with you? Why must everything be a lie. Why cant you just ask me for what you want? Are you scared for how i might class you as a person? Why? Most of you don't even live in the same countries.Code:void esp_player_event_call(PlayerInfo_t* player, CharacterFX_t* fx, PlayerInfo_t* lplayer){ auto color = (player->iTeam == lplayer->iTeam) ? 0xFF00FF00 : 0xFFFF0000; D3DXVECTOR3 vScreen, vFootScreen; auto vPos = player->Object->RootPosition; vPos.y = player->Object->MinRootPosition.y; if (!WorldToScreen(vPos, &vScreen, pDevice)) return; if (box) { vPos.y = player->Object->MaxRootPosition.y; if (WorldToScreen(vPos, &vFootScreen, pDevice)) { auto BoxDist = 0.2f * (vFootScreen.y - vScreen.y); Graphics::DrawBorder(vScreen.x - BoxDist, vScreen.y, BoxDist * 2, vFootScreen.y - vScreen.y, 1, color); } } if (name) { Graphics::DrawFont(vScreen.x, vScreen.y - 5, color, player->sName, D3DFONT_CENTERED); } if (healthbar) { if (fx) { DrawHealthBars(vScreen.x - 13, vScreen.y - 7, (int)fx->wHealth, fx->bSpawnSheild); } } } void HackManager::ESP(bool val){ if (!val) return; auto lPlayer = GetLocalPlayer(); if (!lPlayer) return; auto gcs = GetGameClientShell(); auto count = (gcs) ? gcs->GetSFXMgr()->SFXList[SFX_CHARACTER].Num : 24; CharacterFX_t* fx = nullptr; for (int i = 0; i < count; i++) { fx = nullptr; if (gcs) { fx = (CharacterFX_t*)gcs->GetSFXMgr()->SFXList[SFX_CHARACTER].List[i]; } auto player = GetPlayerByIndex(i); if (!player || player->bIsDead != 0 || !player->Object || player->iIndex == lPlayer->iIndex) continue; esp_player_event_call(player, fx, lPlayer); } }
This is my conclusion.
If you do not understand something, say you do not understand and what you do not understand. I am preparing you'll for something, Normally I just drop things in randomly. I believe it is time you try. You cannot learn more by saying with the simple, you already got the "almost" simple, it is time you step into deeper waters otherwise, you'll never learn how to swim.
I know most of you know of Hyperion, the base but Hyperion was just one of the Titans and he had 3 children. Helios was one of them, which is gathering of everything into the hack. Helios means Sun, the center of everything.
The next is Selene this is the hack manager for Helios, kinda how Sisters keep their brothers all balanced out. You do not want the waters to be all one sided. Selene means moon.
(If you have any idea on the tidal forces, you will get where I am going with this and what is to come)
Last edited by topblast; 01-13-2014 at 04:07 AM.
I just like programming, that is all.
Current Stuff:
- GPU Programmer (Cuda)
- Client/Server (Cloud Server)
- Mobile App Development
[MPGH]Flengo (01-14-2014),Kamcorder (01-13-2014),OpKilts (01-13-2014)
I really like your attention to detail and your attitude towards coding & development
ULTIMATE GAY'S LIST
- Matypatty
- DisOwned
Error: Max Thanks Reached
TASK'S
- (Complete)Make Simple Menu For Combat Arms NA
- (Complete) Reach 50 Post's
- (In Progress)Troll Nerdy Kids
- (Complete)Get a job at KFC
You're making me break my exeedingly long no-login streak to ask this; why do you continually use C style casts? I seem to remember you saying that you would accept advice on your code, so start using C++ casts.
On a side note, I've been seeing you use the type "auto" when it isn't needed. It's used when the type isn't necessary or cared about, along with occasions when the output type isn't known. When a function returns an integer, and you use doit just confuses the reader. Maybe you have a valid reason for using it from the code I'm not seeing, but this is how I've been seeing your code.Code:auto i = myFunct();
Now that that's over, I better go crawl back into the depths of the *********.
Currently coding applications in Java and C++.
"It is change, continuing change, inevitable change, that is the dominant factor in society today. No sensible decision can be made any longer without taking into account not only the world as it is, but the world as it will be." -Isaac Asimov
Agreeing with Shadow on that one.
However, if you wish for simplicity, you can do Ghost Mode in only a couple of lines with this method:
Or you could just directly change the value of the address if you don't wish to use the class.Code:class cClientPlayer { public: __int32 iPlayerState; //0x0000 1 = Alive, 2 = Dead, 4 = Roam Map (Unable to shoot), -5 = Ghost Mode char _0x0004[36]; bool bIsShooting; //0x0028 char _0x002C[144]; };//Size=0x00BC cClientPlayer *pClientPlayer = reinterpret_cast<cClientPlayer*>(this->Addresses->dwPlayerState); //Player Status (Beast Mode) Address if(Main->Tools->IsValidPointer(pClientPlayer)) { if(iGhostMode && pClientPlayer->iPlayerState == 1) pClientPlayer->iPlayerState = -5; else if(iGhostMode == 0 && pClientPlayer->iPlayerState == -5) pClientPlayer->iPlayerState = 1; }
Last edited by arun823; 01-13-2014 at 10:07 PM.
Reversing is the only way to move forward.
topblast (01-14-2014)
I only have one answer for both of them, and i do believe it is a very powerful answer : Laziness, idk why but my fingers find auto pretty fast and i never really like typing static case and stuff like that.
We all have our downsides
I will have to try this, thanks
Last edited by topblast; 01-14-2014 at 03:57 AM.
I just like programming, that is all.
Current Stuff:
- GPU Programmer (Cuda)
- Client/Server (Cloud Server)
- Mobile App Development
List Of My Public Releases
Wallhack and NoFog - Detected (https://www.mpgh.net/forum/164-combat...ml#post1391299)
BOSCHACK CA EU v1.0 - Detected (https://www.mpgh.net/forum/172-combat...eu-v1-0-a.html)
BOSCHACK CA EU v1.1 - Detected (https://www.mpgh.net/forum/172-combat...ml#post2371767)
BOSCHACK Returned - Detected (https://www.mpgh.net/forum/172-combat...eturn-pub.html)
Make Hacks In 5min in 3 Steps
topblast (01-16-2014)