Bin mir noch nicht 100% sicher ob ich weiter mit c++ Zeit verschwenden sollte ^^
//--- module : player ---//
DWORD PlayerModulePointer;
DWORD SetAttackKeyStateCall;
DWORD PickCloseItemCall;
DWORD ClickSkillSlotCall;
//--- module : net ---//
DWORD NetModulePointer;
DWORD SendChatPacketCall;
DWORD SendChatPacketCall2;
DWORD SendBattleAttackPacketErrorCall;
DWORD SendItemUsePacketCall;
DWORD SendGuildOfferCall;
DWORD GetMainActorSkillGroupCall;
DWORD LogoutGameCall;
//--- module : chr ---//
DWORD ChrModulePointer;
DWORD GetNameByVIDCall;
DWORD GetRaceCall;
DWORD MoveToDestPositionCall;
//--- module : python.dll ---//
DWORD PyRun_SimpleStringCall;
//--- Pointer ---//
DWORD MobPointer;
DWORD Playerbase;
DWORD InvPointer;
DWORD Invoffset;
DWORD xoffset;
DWORD yoffset;
DWORD mobtypoffset;
DWORD mobvidoffset;
DWORD mobidoffset;
DWORD moblifeoffset;
DWORD wallhackoffset;
void SendBattleAttackPacketError(int VID){
DWORD PullCall = 0x;
DWORD Move = *(DWORD*)NetModulePointer;
__asm{
mov ecx, Move
push VID
push 0
call SendBattleAttackPacketErrorCall
}
}
void Pullmobs1time(){
for (int i = 0; i < 150; i++)
{
BYTE mobtyp = *(BYTE*)(*(DWORD*)(*(DWORD*)MobPointer + 0x4 * i) + mobtypoffset);
if (mobtyp == 0){
int mobvid = *(int*)(*(DWORD*)(*(DWORD*)MobPointer + 0x4 * i) + mobvidoffset);
Pullmob(mobvid);
}
}
}
void PickCloseItem(){
__asm{
MOV ECX, DWORD PTR DS : [PlayerModulePointer]
CALL PickCloseItemCall
}
}
void SendChatPacket(){
DWORD SendChatPacketCall = 0x;
DWORD SendChatPacketCall2 = 0x;
char* msg = "/restart_here";
__asm{
MOV ECX, DWORD PTR DS : [NetModulePointer]
PUSH 0x0
PUSH msg
CALL RestartCall
CALL RestartCall2
}
}
void SetAttackKeyState(int modus){
DWORD Ccall = 0x4;
__asm{
MOV ECX, DWORD PTR DS : [PlayerModulePointer]
SETNC DL //Or AL, Just look into the memoryviewer
MOVZX EAX, DL
PUSH modus
CALL SetAttackKeyStateCall
}
}
void ClickSkillSlot(int slot) {
__asm{
MOV ECX, DWORD PTR DS : [PlayerModulePointer]
PUSH slot
CALL ClickSkillSlotCall
}
}
void SendItemUsePacket(DWORD Slot) {
DWORD Mmove = *(DWORD*)NetModulePointer;
DWORD Ccall = 0x;
Slot = (Slot = (Slot * 0x100)) + 0x1;
__asm {
mov ecx, Mmove
PUSH Slot
call SendItemUsePacketCall
}
}
int GetSlotById(int id){
int l_num;
for (int i = 0; i < 90; i++){ //90 = Slotscount ingame
l_num = (*(DWORD*)(*(DWORD*)InvPointer + (Invoffset + (i * 0x2E))));
if (l_num == id){
return i;
}
}
return 110;
}
float GetMyXYZ(DWORD Offset){
return (*(FLOAT*)(((*(DWORD*)((*(DWORD*)Playerbase + 0xc)) + Offset))));
}
struct Position{
float x;
float y;
float z;
};
void MoveToDestPosition(float destX, float destY){
DWORD VID = MobvidOffset;
Position* Position2 = (Position*)malloc(sizeof(Position));
Position2->X = destX;
Position2->Y = destY;
__asm{
mov ecx,[ChrModulePointer]
mov eax,[ecx,0x4]
mov eax,[eax+0x8]
add ecx,0x4
push VID
call eax
mov ecx,eax
push Position2
call MoveToDestPositionCall
} //->By Dandy
void PyRun_SimpleString(char*Code){
__asm{
mov eax,[esp+04]
push 00
push Code
call PyRun_SimpleStringCall
}
}
char*GetNameByVID(int VID){
char*name;
__asm{
mov ecx,[ChrModulePointer)
mov edx,[ecx+04]
mov eax,[esp]
mov edx,[edx+08]
add ecx,04
push eax
call edx
call GetNameByVIDCall
mov name,eax
}
return name;
}
int GetRace(){
int ID;
__asm{
mov ecx,[ChrModulePointer]
call GetRaceCall
mov [esp+08],eax
mov ID,eax
}
return ID;
}
int GetMainActorSkillGroup(){
int ID;
__asm{
mov ecx,[NetModulePointer]
call GetMainActorSkillGroupCall
mov [esp+08],eax
mov ID,eax
}
return ID;
}
void LogoutGame(){
__asm{
mov ecx,[NetModulePointer]
call LogoutGameCall
}
}