Waithack

07/10/2022 19:58 Dreak7#1
I know how to make send attack on most servers and i wanna make wait hack now. My question is what i need to do to make wait hack? :) Please contact here or discord : Smk#2879.
07/11/2022 19:21 cypher#2
This is a release section. I moved your thread to the proper section. Please specify your problem in detail to get more attention.

#moved
07/12/2022 10:50 Dreak7#3
I wanna know which packet need to make wait hack. For example to send attack to target its "Send Battle Attack Packet error" + target id. Or any other way to make attack to multiple targets :D.
07/12/2022 19:13 MrCrisp#4
Quote:
Originally Posted by Dreak7 View Post
I wanna know which packet need to make wait hack. For example to send attack to target its "Send Battle Attack Packet error" + target id. Or any other way to make attack to multiple targets :D.
You need to do this by hand. Iterate over every monster in your range and send a packet.
07/12/2022 19:22 Dreak7#5
Ye but idk how to get nerby monsters id :/
07/14/2022 11:35 Benhero#6
there a ways while hooking the python functions... (easy to get list of living entitys and calculate distance)
but there are also methods (anti cheats) that prevent you from sending the packets unless you are currently attacking (attack animation?) i think this check you can bypass via byte patching.
12/10/2024 16:09 nn22kk#7
Any update on this? you managed to find out how?
12/10/2024 21:58 MrCrisp#8
Quote:
Originally Posted by nn22kk View Post
Any update on this? you managed to find out how?
Get the pointer to the instance map and iterate over it.
12/11/2024 06:42 illlegal#9
Quote:
Originally Posted by nn22kk View Post
Any update on this? you managed to find out how?
For example like this:

Code:
typedef std::map<DWORD, DWORD*>	TCharacterInstanceMap;
DWORD CharacterManagerInstance = *reinterpret_cast<DWORD*>(Globals::iCPythonCharacterManagerInstance + 0);
TCharacterInstanceMap m_kAliveInstMap = *(TCharacterInstanceMap*)(*reinterpret_cast<DWORD*>(CharacterManagerInstance + 32) + 4);
            for (auto itor = m_kAliveInstMap.begin(); itor != m_kAliveInstMap.end(); ++itor)
            {
                DWORD* instance = itor->second;
                DWORD dVID = itor->first;

                if (instance == NULL) //||  GameFunctions::InstanceBaseIsDead(instance)instance == GameFunctions::PlayerNEW_GetMainActorPtr()
                {
                    continue;
                }
                AttackPacket(StreamInstance, 0, dVID);
                Sleep(50);
            }