Register for your free account! | Forgot your password?

Go Back   elitepvpers > World of Warcraft > WoW Bots
You last visited: Today at 00:25

  • Please register to post and access all features, it's quick, easy and FREE!

 

my source code c++ auto dps bot wow 7.2.5

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2009
Posts: 16
Received Thanks: 2
my source code c++ auto dps bot wow 7.2.5

hi,

i stop world of warcraft and i'm looking for "Private Rust/ESP"

i give you all of my "casual" code for world of warcraft (x64)
it's c++, i compiled with "CodeBlock".

(link in CodeBlock)
-static-libgcc
-static-libstdc++


you need file named "conf" same folder .exe
Code:
/* EXEMPLE CONF FILE
================================
General
================================
Structure       = x64
GameBuild_value = 24415
GameBuild       = 1699667
================================
Player
================================
LocalPlayer     = 185F668
offsetGUID      = 58
offsetX         = 0
offsetY         = 0
offsetZ         = 0
offsetHp        = 2A10
offsetMana      = 2A18
offsetSHARD     = 2A1C
offsetHpMax     = 8140
offsetManaMax   = 8148

offsetCastId    = 1C6C
offsetCastInst  = 1C48
offsetChannelId = 1CA0

IsLooting       = 197AB68
IsTexting       = 165EE74
TargetGuid      = 1960CA0
================================
Entity List
================================
EntityList      = 16F4600
FirstEntity     = 18
NextEntity      = 70

EntityType      = 20
Descriptors     = 08
GlobalID        = 08

AuraCount1      = 26C0
AuraCount2      = 1DC0
AuraOwnerGUID   = 50
AuraSpellId     = 60
AuraTimeLeft    = 70
AuraSize        = 90

================================
Custom
================================
SpellColldowns  = 16E1088
SpellCharge     = 16E10B8
WowTime         = 163d98c
*/
Code:
#include <iostream>
#include <windows.h>
#include <string>
#include <fstream>
#include <sstream>
#include <tlhelp32.h>
#include "LocalPlayer.h"
#include <list>
#include <utility>      // std::pair

#define KeyMono 0x31//0x31 //2
#define KeyMulti 0x32
#define KeyBurstMono 0x33

#define DebugPattern 0
bool kikoo = false;
bool bool_checkbox_DebugCharge = false;
bool bool_checkbox_DebugAura = false;
bool bool_checkbox_DebugSpell = false;
bool bool_checkbox_DebugLocalPlayer = false;
bool bool_checkbox_DebugPecheur = false;

bool new_idd = false;
int new_idd_cpt = -1;
int new_id[500];


bool Play_SummonGangregarde = true;

#define BTcheckbox_Auto             999
HWND HWND_checkbox_Auto;
bool bool_checkbox_Auto  = false;

#define BTcheckbox_OnOff            1000
HWND HWND_checkbox_OnOff;
bool bool_checkbox_OnOff = false;

#define BTcheckbox_Warlock          1001
HWND HWND_checkbox_Warlock;
bool bool_checkbox_Warlock = false;

#define BTcheckbox_War              1002
HWND HWND_checkbox_War;
bool bool_checkbox_War = false;

#define BTcheckbox_Hunter           1003
HWND HWND_checkbox_Hunter;
bool bool_checkbox_Hunter = false;

#define BTcheckbox_Priest           1004
HWND HWND_checkbox_Priest;
bool bool_checkbox_Priest = false;

#define BTcheckbox_Shaman           1005
HWND HWND_checkbox_Shaman;
bool bool_checkbox_Shaman = false;

#define BTcheckbox_Drood            1006
HWND HWND_checkbox_Drood;
bool bool_checkbox_Drood = false;

#define BTcheckbox_Paladin          1007
HWND HWND_checkbox_Paladin;
bool bool_checkbox_Paladin = false;

#define BTcheckbox_Rogue            1008
HWND HWND_checkbox_Rogue;
bool bool_checkbox_Rogue = false;
int Jewel = GetTickCount()+2000;

#define BTcheckbox_DK               1009
HWND HWND_checkbox_DK;
bool bool_checkbox_DK = false;

#define BTcheckbox_Mage             1010
HWND HWND_checkbox_Mage;
bool bool_checkbox_Mage = false;

#define BTcheckbox_Moine            1011
HWND HWND_checkbox_Moine;
bool bool_checkbox_Moine = false;

#define BTcheckbox_DH               1012
HWND HWND_checkbox_DH;
bool bool_checkbox_DH = false;

#define BTcheckbox_SPE1             1013
HWND HWND_checkbox_SPE1;
bool bool_checkbox_SPE1 = false;

#define BTcheckbox_SPE2             1014
HWND HWND_checkbox_SPE2;
bool bool_checkbox_SPE2 = false;

#define BTcheckbox_SPE3             1015
HWND HWND_checkbox_SPE3;
bool bool_checkbox_SPE3 = false;

using namespace std;

int TimeLimit = GetTickCount()+2000;;

struct Info
{
    int CastId;
    int Hp;
    int HpMax;
    int HpPourcent;
    int Mana;
    int Energie;
    int Rage;
    int ManaMax;
    int ManaPourcent;
    int Shard;
    int CombotPoint;
    int X;
    int Y;
    int Z;
};
Info Player;
Info Target;

enum
{
    VK_T = 84,
    VK_G = 71,
    VK_1 = 0x31,
    VK_2 = 0x32,
    VK_3 = 0x33,
    VK_4 = 0x34,
    VK_5 = 0x35,
    VK_6 = 0x36,
    VK_7 = 0x37,
    VK_8 = 56,
    VK_9 = 57,
    VK_10 = 48,
    VK_11 = 219,
    VK_12 = 187

};
Code:
void spec(char* spe, INT32 enable)
{
    if(enable == 1)
    {
        if(strcmp(spe,"SPE1"))
        {
            EnableWindow(HWND_checkbox_SPE1, true);
            ShowWindow (HWND_checkbox_SPE1, SW_SHOW);
        }
        if(strcmp(spe,"SPE2"))
        {
            EnableWindow(HWND_checkbox_SPE2, true);
            ShowWindow (HWND_checkbox_SPE2, SW_SHOW);
        }
        if(strcmp(spe,"SPE3"))
        {
            EnableWindow(HWND_checkbox_SPE3, true);
            ShowWindow (HWND_checkbox_SPE3, SW_SHOW);
        }
    }
    if(enable == 0)
    {
        if(strcmp(spe,"SPE1"))
        {
            EnableWindow(HWND_checkbox_SPE1, false);
            ShowWindow (HWND_checkbox_SPE1, SW_HIDE);
        }
        if(strcmp(spe,"SPE2"))
        {
            EnableWindow(HWND_checkbox_SPE2, false);
            ShowWindow (HWND_checkbox_SPE2, SW_HIDE);
        }
        if(strcmp(spe,"SPE3"))
        {
            EnableWindow(HWND_checkbox_SPE3, false);
            ShowWindow (HWND_checkbox_SPE3, SW_HIDE);
        }
    }
}
void checkbox(char* classe, INT32 enable)
{

    if(enable == 1)
    {
        SetWindowText(HWND_checkbox_SPE1,"SPE 1");
        SetWindowText(HWND_checkbox_SPE2,"SPE 2");
        SetWindowText(HWND_checkbox_SPE3,"SPE 3");
        SendMessage(HWND_checkbox_SPE1, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
        SendMessage(HWND_checkbox_SPE2, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
        SendMessage(HWND_checkbox_SPE3, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
        bool_checkbox_SPE1 = false;
        bool_checkbox_SPE2 = false;
        bool_checkbox_SPE3 = false;
        spec((char*)"all", 0);
        if(strcmp(classe,"Warlock"))
        {
            EnableWindow(HWND_checkbox_Warlock, true);
            ShowWindow (HWND_checkbox_Warlock, SW_SHOW);
        }
        if(strcmp(classe,"War"))
        {
            EnableWindow(HWND_checkbox_War, true);
            ShowWindow (HWND_checkbox_War, SW_SHOW);
        }
        if(strcmp(classe,"Hunter"))
        {
            EnableWindow(HWND_checkbox_Hunter, true);
            ShowWindow (HWND_checkbox_Hunter, SW_SHOW);
        }
        if(strcmp(classe,"Priest"))
        {
            EnableWindow(HWND_checkbox_Priest, true);
            ShowWindow (HWND_checkbox_Priest, SW_SHOW);
        }
        if(strcmp(classe,"Shaman"))
        {
            EnableWindow(HWND_checkbox_Shaman, true);
            ShowWindow (HWND_checkbox_Shaman, SW_SHOW);
        }
        if(strcmp(classe,"Drood"))
        {
            EnableWindow(HWND_checkbox_Drood, true);
            ShowWindow (HWND_checkbox_Drood, SW_SHOW);
        }
        if(strcmp(classe,"Paladin"))
        {
            EnableWindow(HWND_checkbox_Paladin, true);
            ShowWindow (HWND_checkbox_Paladin, SW_SHOW);
        }
        if(strcmp(classe,"Rogue"))
        {
            EnableWindow(HWND_checkbox_Rogue, true);
            ShowWindow (HWND_checkbox_Rogue, SW_SHOW);
        }
        if(strcmp(classe,"DK"))
        {
            EnableWindow(HWND_checkbox_DK, true);
            ShowWindow (HWND_checkbox_DK, SW_SHOW);
        }
        if(strcmp(classe,"Mage"))
        {
            EnableWindow(HWND_checkbox_Mage, true);
            ShowWindow (HWND_checkbox_Mage, SW_SHOW);
        }
        if(strcmp(classe,"Moine"))
        {
            EnableWindow(HWND_checkbox_Moine, true);
            ShowWindow (HWND_checkbox_Moine, SW_SHOW);
        }
        if(strcmp(classe,"DH"))
        {
            EnableWindow(HWND_checkbox_DH, true);
            ShowWindow (HWND_checkbox_DH, SW_SHOW);
        }
    }
    else if(enable == 0)
    {

        SendMessage(HWND_checkbox_SPE1, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
        SendMessage(HWND_checkbox_SPE2, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
        SendMessage(HWND_checkbox_SPE3, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
        bool_checkbox_SPE1 = false;
        bool_checkbox_SPE2 = false;
        bool_checkbox_SPE3 = false;
        spec((char*)"all", 1);
        if(strcmp(classe,"Warlock"))
        {
            EnableWindow(HWND_checkbox_Warlock, false);
            ShowWindow (HWND_checkbox_Warlock, SW_HIDE);
        }
        if(strcmp(classe,"War"))
        {
            EnableWindow(HWND_checkbox_War, false);
            ShowWindow (HWND_checkbox_War, SW_HIDE);
        }
        if(strcmp(classe,"Hunter"))
        {
            EnableWindow(HWND_checkbox_Hunter, false);
            ShowWindow (HWND_checkbox_Hunter, SW_HIDE);
        }
        if(strcmp(classe,"Priest"))
        {
            EnableWindow(HWND_checkbox_Priest, false);
            ShowWindow (HWND_checkbox_Priest, SW_HIDE);
        }
        if(strcmp(classe,"Shaman"))
        {
            EnableWindow(HWND_checkbox_Shaman, false);
            ShowWindow (HWND_checkbox_Shaman, SW_HIDE);
        }
        if(strcmp(classe,"Drood"))
        {
            EnableWindow(HWND_checkbox_Drood, false);
            ShowWindow (HWND_checkbox_Drood, SW_HIDE);
        }
        if(strcmp(classe,"Paladin"))
        {
            EnableWindow(HWND_checkbox_Paladin, false);
            ShowWindow (HWND_checkbox_Paladin, SW_HIDE);
        }
        if(strcmp(classe,"Rogue"))
        {
            EnableWindow(HWND_checkbox_Rogue, false);
            ShowWindow (HWND_checkbox_Rogue, SW_HIDE);
        }
        if(strcmp(classe,"DK"))
        {
            EnableWindow(HWND_checkbox_DK, false);
            ShowWindow (HWND_checkbox_DK, SW_HIDE);
        }
        if(strcmp(classe,"Mage"))
        {
            EnableWindow(HWND_checkbox_Mage, false);
            ShowWindow (HWND_checkbox_Mage, SW_HIDE);
        }
        if(strcmp(classe,"Moine"))
        {
            EnableWindow(HWND_checkbox_Moine, false);
            ShowWindow (HWND_checkbox_Moine, SW_HIDE);
        }
        if(strcmp(classe,"DH"))
        {
            EnableWindow(HWND_checkbox_DH, false);
            ShowWindow (HWND_checkbox_DH, SW_HIDE);
        }

    }

}

HWND hwnd2;
INT32 border,marginTop,marginTop_first;
LRESULT CALLBACK WinProcUI(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{

    switch(Msg)
    {
        case WM_CREATE:
        {

        }
        break;
        case WM_PAINT :
        {

        }
        break;
        case WM_DESTROY:
        {
            PostQuitMessage(0);
            exit(0);
            break;
        }
        case WM_COMMAND :
        {
            switch(LOWORD(wParam))
            {
                case BTcheckbox_Auto:
				{
                    if ( SendMessage( HWND_checkbox_Auto , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                    {
                        bool_checkbox_Auto = true;
                        printf("bool_checkbox_Auto = true;\n");
                    }
                    else
                    {
                        bool_checkbox_Auto = false;
                        printf("bool_checkbox_Auto = false;\n");
                    }
                    break;
				}
                case BTcheckbox_OnOff:
				{
                    if ( SendMessage( HWND_checkbox_OnOff , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                    {
                        bool_checkbox_OnOff = true;
                        printf("bool_checkbox_OnOff = true;\n");
                        RECT pos;
                        GetWindowRect(hwnd, &pos);
                        MoveWindow(hwnd,pos.left,pos.top,240+border,marginTop+border+13/*+50*/,true);
                        Sleep(250);
                        if(pos.right < 400 && pos.right > 0)
                        {
                            checkbox((char*)"all", 1);
                            spec((char*)"all", 1);
                            spec((char*)"all", 0);
                        }
                        TimeLimit = GetTickCount()+2000;
                    }
                    else
                    {
                        bool_checkbox_OnOff = false;
                        printf("bool_checkbox_OnOff = false;\n");
                    }
                    break;
				}
                case BTcheckbox_Warlock:
                    {
                        if ( SendMessage( HWND_checkbox_Warlock , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Warlock = true;
                            printf("bool_checkbox_Warlock = true;\n");
                            checkbox((char*)"Warlock", 0);
                            SetWindowText(HWND_checkbox_SPE1,"Demono");
                            SetWindowText(HWND_checkbox_SPE2,"");
                            SetWindowText(HWND_checkbox_SPE3,"");
                        }
                        else
                        {
                            bool_checkbox_Warlock = false;
                            printf("bool_checkbox_Warlock = false;\n");
                            checkbox((char*)"Warlock", 1);
                        }
                        break;
                    }
                case BTcheckbox_War:
                    {
                        if ( SendMessage( HWND_checkbox_War , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_War = true;
                            printf("bool_checkbox_War = true;\n");
                            checkbox((char*)"War", 0);
                        }
                        else
                        {
                            bool_checkbox_War = false;
                            printf("bool_checkbox_War = false;\n");
                            checkbox((char*)"War", 1);
                        }
                        break;
                    }
                case BTcheckbox_Hunter:
                    {
                        if ( SendMessage( HWND_checkbox_Hunter , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Hunter = true;
                            printf("bool_checkbox_Hunter = true;\n");
                            checkbox((char*)"Hunter", 0);
                        }
                        else
                        {
                            bool_checkbox_Hunter = false;
                            printf("bool_checkbox_Hunter = false;\n");
                            checkbox((char*)"Hunter", 1);
                        }
                        break;
                    }
                case BTcheckbox_Priest:
                    {
                        if ( SendMessage( HWND_checkbox_Priest , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Priest = true;
                            printf("bool_checkbox_Priest = true;\n");
                            checkbox((char*)"Priest", 0);
                        }
                        else
                        {
                            bool_checkbox_Priest = false;
                            printf("bool_checkbox_Priest = false;\n");
                            checkbox((char*)"Priest", 1);
                        }
                        break;
                    }
                case BTcheckbox_Shaman:
                    {
                        if ( SendMessage( HWND_checkbox_Shaman , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Shaman = true;
                            printf("bool_checkbox_Shaman = true;\n");
                            checkbox((char*)"Shaman", 0);
                        }
                        else
                        {
                            bool_checkbox_Shaman = false;
                            printf("bool_checkbox_Shaman = false;\n");
                            checkbox((char*)"Shaman", 1);
                        }
                        break;
                    }
                case BTcheckbox_Drood:
                    {
                        if ( SendMessage( HWND_checkbox_Drood , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Drood = true;
                            printf("bool_checkbox_Drood = true;\n");
                            checkbox((char*)"Drood", 0);
                            SetWindowText(HWND_checkbox_SPE1,"Gardien");
                            SetWindowText(HWND_checkbox_SPE2,"");
                            SetWindowText(HWND_checkbox_SPE3,"");

                        }
                        else
                        {
                            bool_checkbox_Drood = false;
                            printf("bool_checkbox_Drood = false;\n");
                            checkbox((char*)"Drood", 1);
                        }
                        break;
                    }
                case BTcheckbox_Paladin:
                    {
                        if ( SendMessage( HWND_checkbox_Paladin , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Paladin = true;
                            printf("bool_checkbox_Paladin = true;\n");
                            checkbox((char*)"Paladin", 0);
                            SetWindowText(HWND_checkbox_SPE1,"Protectio");
                            SetWindowText(HWND_checkbox_SPE2,"");
                            SetWindowText(HWND_checkbox_SPE3,"");
                        }
                        else
                        {
                            bool_checkbox_Paladin = false;
                            printf("bool_checkbox_Paladin = false;\n");
                            checkbox((char*)"Paladin", 1);
                        }
                        break;
                    }
                case BTcheckbox_Rogue:
                    {
                        if ( SendMessage( HWND_checkbox_Rogue , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Rogue = true;
                            printf("bool_checkbox_Rogue = true;\n");
                            checkbox((char*)"Rogue", 0);
                            SetWindowText(HWND_checkbox_SPE1,"Outlow");
                        }
                        else
                        {
                            bool_checkbox_Rogue = false;
                            printf("bool_checkbox_Rogue = false;\n");
                            checkbox((char*)"Rogue", 1);
                        }
                        break;
                    }
                case BTcheckbox_DK:
                    {
                        if ( SendMessage( HWND_checkbox_DK , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_DK = true;
                            printf("bool_checkbox_DK = true;\n");
                            checkbox((char*)"DK", 0);
                        }
                        else
                        {
                            bool_checkbox_DK = false;
                            printf("bool_checkbox_DK = false;\n");
                            checkbox((char*)"DK", 1);
                        }
                        break;
                    }
                case BTcheckbox_Mage:
                    {
                        if ( SendMessage( HWND_checkbox_Mage , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Mage = true;
                            printf("bool_checkbox_Mage = true;\n");
                            checkbox((char*)"Mage", 0);
                        }
                        else
                        {
                            bool_checkbox_Mage = false;
                            printf("bool_checkbox_Mage = false;\n");
                            checkbox((char*)"Mage", 1);
                        }
                        break;
                    }
                case BTcheckbox_Moine:
                    {
                        if ( SendMessage( HWND_checkbox_Moine , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_Moine = true;
                            printf("bool_checkbox_Moine = true;\n");
                            checkbox((char*)"Moine", 0);

                        }
                        else
                        {
                            bool_checkbox_Moine = false;
                            printf("bool_checkbox_Moine = false;\n");
                            checkbox((char*)"Moine", 1);
                        }
                        break;
                    }
                case BTcheckbox_DH:
                    {
                        if ( SendMessage( HWND_checkbox_DH , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_DH = true;
                            printf("bool_checkbox_DH = true;\n");
                            checkbox((char*)"DH", 0);
                        }
                        else
                        {
                            bool_checkbox_DH = false;
                            printf("bool_checkbox_DH = false;\n");
                            checkbox((char*)"DH", 1);
                        }
                        break;
                    }
                    case BTcheckbox_SPE1:
                    {
                        if ( SendMessage( HWND_checkbox_SPE1 , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_SPE1 = true;
                            printf("bool_checkbox_SPE1 = true;\n");
                            spec((char*)"SPE1", 0);
                            TimeLimit = GetTickCount()+2000;
                        }
                        else
                        {
                            bool_checkbox_SPE1 = false;
                            printf("bool_checkbox_SPE1 = false;\n");
                            spec((char*)"SPE1", 1);
                        }
                        break;
                    }
                    case BTcheckbox_SPE2:
                    {
                        if ( SendMessage( HWND_checkbox_SPE2 , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_SPE2 = true;
                            printf("bool_checkbox_SPE2 = true;\n");
                            spec((char*)"SPE2", 0);
                            TimeLimit = GetTickCount()+2000;
                        }
                        else
                        {
                            bool_checkbox_SPE2 = false;
                            printf("bool_checkbox_SPE2 = false;\n");
                            spec((char*)"SPE2", 1);
                        }
                        break;
                    }
                    case BTcheckbox_SPE3:
                    {
                        if ( SendMessage( HWND_checkbox_SPE3 , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                        {
                            bool_checkbox_SPE3 = true;
                            printf("bool_checkbox_SPE3 = true;\n");
                            spec((char*)"SPE3", 0);
                            TimeLimit = GetTickCount()+2000;
                        }
                        else
                        {
                            bool_checkbox_SPE3 = false;
                            printf("bool_checkbox_SPE3 = false;\n");
                            spec((char*)"SPE3", 1);
                        }
                        break;
                    }
                    default: break;
            }
        }
    }
    return DefWindowProc(hwnd, Msg, wParam, lParam);
}
Code:
BOOL InitializeWindowUI(HWND hwnd, HINSTANCE hInst, INT32 CmdShow)
{
    hwnd2 = hwnd;
    WNDCLASS WNDCLASS_wcUI;
    WNDCLASS_wcUI.lpfnWndProc = WinProcUI;
    WNDCLASS_wcUI.lpszClassName = TEXT(" ");
    if (!RegisterClass(&WNDCLASS_wcUI)){MessageBox(hwnd, "Register class failed!", "Yay UI!", MB_OK);}
    hwnd = CreateWindow(TEXT(" "),0,WS_VISIBLE,0,0,100+border,240+border,0,0,0,0);
    RECT pos;

//NIVEAU 1


    HWND_checkbox_Auto = CreateWindowEx(0, "Button","Auto",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,70,0,250,13,hwnd,(HMENU)BTcheckbox_Auto,hInst,NULL);
    HWND_checkbox_OnOff = CreateWindowEx(0, "Button","On/Off",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,0,0,70,13,hwnd,(HMENU)BTcheckbox_OnOff,hInst,NULL);

    GetWindowRect(HWND_checkbox_OnOff, &pos);
    border = pos.left;
    marginTop = pos.top;
    marginTop_first = pos.top;
    //printf("border %d\n",border);
    //printf("marginTop %d\n\n",marginTop);

//NIVEAU 2
    HWND_checkbox_Warlock = CreateWindowEx(0, "Button","Warlock",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX    ,0                  ,pos.bottom-marginTop   ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Warlock,hInst,NULL);
    GetWindowRect(HWND_checkbox_Warlock, &pos);
    EnableWindow(HWND_checkbox_Warlock, false);
    SendMessage(HWND_checkbox_Warlock, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Warlock, SW_HIDE);


    HWND_checkbox_War = CreateWindowEx(0, "Button","War",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX            ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_War,hInst,NULL);
    GetWindowRect(HWND_checkbox_War, &pos);
    EnableWindow(HWND_checkbox_War, false);
    SendMessage(HWND_checkbox_War, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_War, SW_HIDE);

    HWND_checkbox_Hunter = CreateWindowEx(0, "Button","Hunter",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX      ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Hunter,hInst,NULL);
    GetWindowRect(HWND_checkbox_Hunter, &pos);
    EnableWindow(HWND_checkbox_Hunter, false);
    SendMessage(HWND_checkbox_Hunter, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Hunter, SW_HIDE);
//NIVEAU 3
    HWND_checkbox_Priest = CreateWindowEx(0, "Button","Priest",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX      ,0                  ,pos.bottom-marginTop   ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Priest,hInst,NULL);
    GetWindowRect(HWND_checkbox_Priest, &pos);
    EnableWindow(HWND_checkbox_Priest, false);
    SendMessage(HWND_checkbox_Priest, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Priest, SW_HIDE);

    HWND_checkbox_Shaman = CreateWindowEx(0, "Button","Shaman",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX      ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Shaman,hInst,NULL);
    GetWindowRect(HWND_checkbox_Shaman, &pos);
    EnableWindow(HWND_checkbox_Shaman, false);
    SendMessage(HWND_checkbox_Shaman, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Shaman, SW_HIDE);

    HWND_checkbox_Drood = CreateWindowEx(0, "Button","Drood",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX        ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Drood,hInst,NULL);
    GetWindowRect(HWND_checkbox_Drood, &pos);
    EnableWindow(HWND_checkbox_Drood, false);
    SendMessage(HWND_checkbox_Drood, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Drood, SW_HIDE);

//NIVEAU 4
    HWND_checkbox_Paladin = CreateWindowEx(0, "Button","Paladin",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX    ,0                  ,pos.bottom-marginTop   ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Paladin,hInst,NULL);
    GetWindowRect(HWND_checkbox_Paladin, &pos);
    EnableWindow(HWND_checkbox_Paladin, false);
    SendMessage(HWND_checkbox_Paladin, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Paladin, SW_HIDE);

    HWND_checkbox_Rogue = CreateWindowEx(0, "Button","Rogue",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX        ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Rogue,hInst,NULL);
    GetWindowRect(HWND_checkbox_Rogue, &pos);
    EnableWindow(HWND_checkbox_Rogue, false);
    SendMessage(HWND_checkbox_Rogue, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Rogue, SW_HIDE);

    HWND_checkbox_DK = CreateWindowEx(0, "Button","DK",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX              ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_DK,hInst,NULL);
    GetWindowRect(HWND_checkbox_DK, &pos);
    EnableWindow(HWND_checkbox_DK, false);
    SendMessage(HWND_checkbox_DK, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_DK, SW_HIDE);

//NIVEAU 5
    HWND_checkbox_Mage = CreateWindowEx(0, "Button","Mage",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX          ,0                  ,pos.bottom-marginTop   ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Mage,hInst,NULL);
    GetWindowRect(HWND_checkbox_Mage, &pos);
    EnableWindow(HWND_checkbox_Mage, false);
    SendMessage(HWND_checkbox_Mage, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Mage, SW_HIDE);

    HWND_checkbox_Moine = CreateWindowEx(0, "Button","Moine",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX        ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_Moine,hInst,NULL);
    GetWindowRect(HWND_checkbox_Moine, &pos);
    EnableWindow(HWND_checkbox_Moine, false);
    SendMessage(HWND_checkbox_Moine, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_Moine, SW_HIDE);

    HWND_checkbox_DH = CreateWindowEx(0, "Button","DH",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX              ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_DH,hInst,NULL);
    GetWindowRect(HWND_checkbox_DH, &pos);
    EnableWindow(HWND_checkbox_DH, false);
    SendMessage(HWND_checkbox_DH, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_DH, SW_HIDE);

//NIVEAU 6
    HWND_checkbox_SPE1 = CreateWindowEx(0, "Button","SPE 1",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX          ,0                  ,pos.bottom-marginTop   ,80 ,13 ,hwnd,(HMENU)BTcheckbox_SPE1,hInst,NULL);
    GetWindowRect(HWND_checkbox_SPE1, &pos);
    EnableWindow(HWND_checkbox_SPE1, false);
    SendMessage(HWND_checkbox_SPE1, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_SPE1, SW_HIDE);

    HWND_checkbox_SPE2 = CreateWindowEx(0, "Button","SPE 2",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX        ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_SPE2,hInst,NULL);
    GetWindowRect(HWND_checkbox_SPE2, &pos);
    EnableWindow(HWND_checkbox_SPE2, false);
    SendMessage(HWND_checkbox_SPE2, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_SPE2, SW_HIDE);

    HWND_checkbox_SPE3 = CreateWindowEx(0, "Button","SPE 3",WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX              ,pos.right-border   ,pos.top-marginTop      ,80 ,13 ,hwnd,(HMENU)BTcheckbox_SPE3,hInst,NULL);
    GetWindowRect(HWND_checkbox_SPE3, &pos);
    EnableWindow(HWND_checkbox_SPE3, false);
    SendMessage(HWND_checkbox_SPE3, BM_SETCHECK, BST_UNCHECKED, (LPARAM)nullptr);
    ShowWindow (HWND_checkbox_SPE3, SW_HIDE);
    marginTop = pos.top;

//Move & Update
    MoveWindow(hwnd,pos.left,pos.top,100+border,marginTop_first+border+13,true);
    Sleep(250);
    checkbox((char*)"all", 0);
    spec((char*)"all", 0);
    return true;
}

DWORD WINAPI UI(LPVOID arg)
{
    MSG MsgUI;
    InitializeWindowUI(NULL, 0, true);
    while(GetMessage(&MsgUI, NULL, 0, 0) > 0)
    {
        TranslateMessage(&MsgUI);
        DispatchMessage(&MsgUI);
    }
    return true;
}

// enable the privilege necessary to patch the process
void EnableDebugPriv()
{
  HANDLE hToken;
  LUID sedebugnameValue;
  TOKEN_PRIVILEGES tkp;
  if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
    puts("Failed to Enable Debug Options!");
  if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue))
  {
    CloseHandle(hToken);
    puts("Failed to Enable Debug Options!");
    system("PAUSE");
  }
  tkp.PrivilegeCount = 1;
  tkp.Privileges[0].Luid = sedebugnameValue;
  tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
  if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof tkp, NULL, NULL))
    CloseHandle( hToken );
}

uint64_t GetDLL(char* DllName, uint64_t tPid){
   HANDLE snapMod;
   MODULEENTRY32 me32;
   if (tPid == 0) return 0;
   snapMod = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, tPid);
   me32.dwSize = sizeof(MODULEENTRY32);
   if (Module32First(snapMod, &me32)){
      do{
         if (strcmp(DllName,me32.szModule) == 0){
            CloseHandle(snapMod);
            return (uint64_t) me32.modBaseAddr;
         }
      }while(Module32Next(snapMod,&me32));
   }
   CloseHandle(snapMod);
   return 0;
}

INT32 PID = 0;
INT32 GetPidByName(char *szProcName){
    PROCESSENTRY32 pe = {sizeof(PROCESSENTRY32)};
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if(hSnap != INVALID_HANDLE_VALUE)
    {
        if(Process32First(hSnap, &pe))
        {
            do
            {
                if(strcmpi(pe.szExeFile, szProcName) == 0)
                {
                    PID = pe.th32ProcessID;
                    return PID;
                    break;
                }
            }
            while(Process32Next(hSnap, &pe));
        }
        CloseHandle(hSnap);
    }
    PID = 0;
    return PID;
}
bool KeyMonoIsEnable = false;
bool KeyMultiIsEnable = false;
bool KeyBurstMonoIsEnable = false;
bool NeedFast = false;
bool haveTarget = false;


DWORD CHECK_PID(LPVOID arg)
{
    while(PID)
    {

        GetPidByName((char*)"Wow-64.exe");
        Sleep(1000);
        if(bool_checkbox_OnOff)
        {
            Sleep(100);
            if(GetTickCount() > TimeLimit){bool_checkbox_OnOff = false;}
        }
        else
        {
            Sleep(1000);
            if ( SendMessage( HWND_checkbox_OnOff , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
            {
                if ( SendMessage( HWND_checkbox_SPE1 , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                {
                    bool_checkbox_OnOff = true;
                }
                else if ( SendMessage( HWND_checkbox_SPE2 , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                {
                    bool_checkbox_OnOff = true;
                }
                else if ( SendMessage( HWND_checkbox_SPE3 , BM_GETCHECK, (WPARAM) NULL, (LPARAM) NULL ) == BST_CHECKED )
                {
                    bool_checkbox_OnOff = true;
                }
            }
            Sleep(1000);
        }
    }
    return 0;
}
bool KeySender = false;
void cast(int key)
{
    if(KeySender == false)
    {
        //printf("%x %d\n",key,Player.Shard);
        keybd_event(key,key, 0,0);
        Sleep(50);
        keybd_event(key,key, KEYEVENTF_KEYUP,0);
        Sleep(50);
    }
    KeySender = true;
}
void castHorsGCD(int key)
{
    keybd_event(key,key, 0,0);
    Sleep(10);
    keybd_event(key,key, KEYEVENTF_KEYUP,0);
    Sleep(10);
}
Code:
DWORD WINAPI SCAN_SPELL(LPVOID arg);
DWORD WINAPI SCAN_CHARGE(LPVOID arg);
DWORD WINAPI SCAN_PLAYER(LPVOID arg);
DWORD WINAPI SCAN_WoWTime(LPVOID arg);
DWORD WINAPI SCAN_ENTITY(LPVOID arg);
DWORD WINAPI Dps(LPVOID arg);

//OFFSET & MEMORY INFORMATIONS
uint64_t WoW64;
INT32 GameBuild;
string GameBuild_value;
HANDLE h_Read_Process;
INT32 LocalPlayer;
INT32 offsetGUID;
INT32 offsetX;
INT32 offsetY;
INT32 offsetZ;
INT32 offsetHp;
INT32 offsetMana;
INT32 offsetSHARD;
INT32 offsetManaMax;
INT32 offsetCastId;
INT32 offsetCastInst;
INT32 offsetChannelId;
INT32 offsetHpMax;
INT32 IsLooting;
INT32 IsTexting;
INT32 TargetGuid;
INT32 EntityList;
INT32 FirstEntity;
INT32 NextEntity;
INT32 EntityType;
INT32 Descriptors;
INT32 GlobalID;
INT32 AuraCount1;
INT32 AuraCount2;
INT32 AuraOwnerGUID;
INT32 AuraSpellId;
INT32 AuraTimeLeft;
INT32 AuraSize;
INT32 SpellColldowns;
INT32 SpellCharge;
INT32 WowTime;

#define DEBUG_UI 0
uint64_t FindPattern(uint64_t start,uint64_t range,INT32 offset,INT32 p[],INT32 sizeP);

INT32 main()
{
    //check jeu lancé ?
    GetPidByName((char*)"Wow-64.exe");
    if(DEBUG_UI){PID = 1;}
    if(PID == 0){printf("...NoGame...\n");Sleep(3000);exit(0);}
    //check conf
    string line,GameBuild_value,temp;
    ifstream myfile ("conf");
    if (myfile.is_open() && !DEBUG_UI)
    {
        int l = 0;
/* EXEMPLE CONF FILE
================================
General
================================
Structure       = x64
GameBuild_value = 24415
GameBuild       = 1699667
================================
Player
================================
LocalPlayer     = 185F668
offsetGUID      = 58
offsetX         = 0
offsetY         = 0
offsetZ         = 0
offsetHp        = 2A10
offsetMana      = 2A18
offsetSHARD     = 2A1C
offsetHpMax     = 8140
offsetManaMax   = 8148

offsetCastId    = 1C6C
offsetCastInst  = 1C48
offsetChannelId = 1CA0

IsLooting       = 197AB68
IsTexting       = 165EE74
TargetGuid      = 1960CA0
================================
Entity List
================================
EntityList      = 16F4600
FirstEntity     = 18
NextEntity      = 70

EntityType      = 20
Descriptors     = 08
GlobalID        = 08

AuraCount1      = 26C0
AuraCount2      = 1DC0
AuraOwnerGUID   = 50
AuraSpellId     = 60
AuraTimeLeft    = 70
AuraSize        = 90

================================
Custom
================================
SpellColldowns  = 16E1088
SpellCharge     = 16E10B8
WowTime         = 163d98c
*/

//General CONFIG
        getline (myfile,line);l++;cout << line << endl;
        if(line != "================================"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}
        getline (myfile,line);l++;cout << line << endl;
        if(line != "General"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}
        getline (myfile,line);l++;cout << line << endl;
        if(line != "================================"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}
    //line 4 --- Structure#x64
        getline (myfile,line);l++;cout << line << endl;

    //verif - Structure
        temp = line.substr(0, line.find("       = "));
        if(temp != "Structure"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}

    //vérif - x64
        line = line.substr(line.find("       = ")+9, line.length());
        if(line != "x64"){printf("Line%d error(#param2)(",l);cout<<line<<")";myfile.close();Sleep(3000);exit(0);}

    //line 5 --- GameBuild_value#23877
        getline (myfile,GameBuild_value);l++;cout << GameBuild_value << endl;
    //verif - GameBuild_value
        temp = GameBuild_value.substr(0, GameBuild_value.find(" = "));
        if(temp != "GameBuild_value"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
    //verif - 23877
        GameBuild_value = GameBuild_value.substr(GameBuild_value.find(" = ")+3, GameBuild_value.length());
        if(GameBuild_value == ""){printf("Line%d error(#param2)\n",l);myfile.close();Sleep(3000);exit(0);}

    //line 6 GameBuild#165C7D7
        getline (myfile,line);l++;cout << line << endl;
    //verif - GameBuild
        temp = line.substr(0, line.find("       = "));
        if(temp != "GameBuild"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
    //verif - 165C7D7
        line = line.substr(line.find("       = ")+9, line.length());
        if(line == ""){printf("Line%d error(#param2)\n",l);myfile.close();Sleep(3000);exit(0);}
        istringstream(line) >> hex >> GameBuild;
        if(GameBuild == 0){printf("Line%d error(#param2)\n",l);myfile.close();Sleep(3000);exit(0);}
//Player CONFIG
        getline (myfile,line);l++;cout << line << endl;
        if(line != "================================"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}
        getline (myfile,line);l++;cout << line << endl;
        if(line != "Player"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}
        getline (myfile,line);l++;cout << line << endl;
        if(line != "================================"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}

    //verif - LocalPlayer
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("     = "));
        if(temp != "LocalPlayer"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("     = ")+7, line.length());
        istringstream(line) >> hex >> LocalPlayer;
    //verif - offsetGUID
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("      = "));
        if(temp != "offsetGUID"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("      = ")+8, line.length());
        istringstream(line) >> hex >> offsetGUID;
    //verif - offsetX
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("         = "));
        if(temp != "offsetX"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("         = ")+11, line.length());
        istringstream(line) >> hex >> offsetX;
    //verif - offsetY
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("         = "));
        if(temp != "offsetY"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("         = ")+11, line.length());
        istringstream(line) >> hex >> offsetY;
    //verif - offsetZ
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("         = "));
        if(temp != "offsetZ"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("         = ")+11, line.length());
        istringstream(line) >> hex >> offsetZ;
    //verif - offsetHp
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("        = "));
        if(temp != "offsetHp"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("        = ")+10, line.length());
        istringstream(line) >> hex >> offsetHp;
    //verif - offsetMana
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("      = "));
        if(temp != "offsetMana"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("      = ")+8, line.length());
        istringstream(line) >> hex >> offsetMana;
    //verif - offsetSHARD
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("     = "));
        if(temp != "offsetSHARD"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("     = ")+7, line.length());
        istringstream(line) >> hex >> offsetSHARD;
    //verif - offsetHpMax
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("     = "));
        if(temp != "offsetHpMax"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("     = ")+7, line.length());
        istringstream(line) >> hex >> offsetHpMax;
    //verif - offsetManaMax
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("   = "));
        if(temp != "offsetManaMax"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("   = ")+5, line.length());
        istringstream(line) >> hex >> offsetManaMax;
    //ligne vide
        getline (myfile,line);l++;cout << line << endl;
    //verif - offsetCastId
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("    = "));
        if(temp != "offsetCastId"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("    = ")+6, line.length());
        istringstream(line) >> hex >> offsetCastId;
    //verif - offsetCastInst
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("  = "));
        if(temp != "offsetCastInst"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("  = ")+4, line.length());
        istringstream(line) >> hex >> offsetCastInst;
    //verif - offsetChannelId
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find(" = "));
        if(temp != "offsetChannelId"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find(" = ")+3, line.length());
        istringstream(line) >> hex >> offsetChannelId;
        offsetChannelId = 0x1CA0;
    //ligne vide
        getline (myfile,line);l++;cout << line << endl;
    //verif - IsLooting
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("       = "));
        if(temp != "IsLooting"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("       = ")+9, line.length());
        istringstream(line) >> hex >> IsLooting;
    //verif - IsTexting
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("       = "));
        if(temp != "IsTexting"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("       = ")+9, line.length());
        istringstream(line) >> hex >> IsTexting;
    //verif - TargetGuid
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("      = "));
        if(temp != "TargetGuid"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("      = ")+8, line.length());
        istringstream(line) >> hex >> TargetGuid;

//Entity List CONFIG
        getline (myfile,line);l++;cout << line << endl;
        if(line != "================================"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}
        getline (myfile,line);l++;cout << line << endl;
        if(line != "Entity List"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}
        getline (myfile,line);l++;cout << line << endl;
        if(line != "================================"){printf("Line%d error\n",l);myfile.close();Sleep(3000);exit(0);}
    //verif - EntityList
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("      = "));
        if(temp != "EntityList"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("      = ")+8, line.length());
        istringstream(line) >> hex >> EntityList;
    //verif - FirstEntity
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("     = "));
        if(temp != "FirstEntity"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("     = ")+7, line.length());
        istringstream(line) >> hex >> FirstEntity;
    //verif - NextEntity
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("      = "));
        if(temp != "NextEntity"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("      = ")+8, line.length());
        istringstream(line) >> hex >> NextEntity;
    //Vide
        getline (myfile,line);l++;cout << line << endl;
    //verif - EntityType
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("      = "));
        if(temp != "EntityType"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("      = ")+8, line.length());
        istringstream(line) >> hex >> EntityType;
    //verif - Descriptors
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("     = "));
        if(temp != "Descriptors"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("     = ")+7, line.length());
        istringstream(line) >> hex >> Descriptors;
    //verif - GlobalID
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("        = "));
        if(temp != "GlobalID"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("        = ")+10, line.length());
        istringstream(line) >> hex >> GlobalID;
    //verif - LINE VIDE
        getline (myfile,line);l++;cout << line << endl;
    //verif - AuraCount1
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("      = "));
        if(temp != "AuraCount1"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("      = ")+8, line.length());
        istringstream(line) >> hex >> AuraCount1;
    //verif - GlobalID
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("      = "));
        if(temp != "AuraCount2"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("      = ")+8, line.length());
        istringstream(line) >> hex >> AuraCount2;
    //verif - AuraOwnerGUID
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("   = "));
        if(temp != "AuraOwnerGUID"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("   = ")+5, line.length());
        istringstream(line) >> hex >> AuraOwnerGUID;
    //verif - AuraSpellId
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("     = "));
        if(temp != "AuraSpellId"){printf("Line%d error3(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("     = ")+7, line.length());
        istringstream(line) >> hex >> AuraSpellId;
    //verif - AuraTimeLeft
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("    = "));
        if(temp != "AuraTimeLeft"){printf("Line%d error2(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("    = ")+6, line.length());
        istringstream(line) >> hex >> AuraTimeLeft;
    //verif - AuraSize
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("        = "));
        if(temp != "AuraSize"){printf("Line%d error1(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("        = ")+10, line.length());
        istringstream(line) >> hex >> AuraSize;
//Custom CONFIG
        getline (myfile,line);l++;cout << line << endl;
        getline (myfile,line);l++;cout << line << endl;
        if(line != "================================"){printf("Line%d error7\n",l);myfile.close();Sleep(3000);exit(0);}
        getline (myfile,line);l++;cout << line << endl;
        if(line != "Custom"){printf("Line%d error8\n",l);myfile.close();Sleep(3000);exit(0);}
        getline (myfile,line);l++;cout << line << endl;
        if(line != "================================"){printf("Line%d error9\n",l);myfile.close();Sleep(3000);exit(0);}
    //verif - SpellColldowns
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("  = "));
        if(temp != "SpellColldowns"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("  = ")+4, line.length());
        istringstream(line) >> hex >> SpellColldowns;
    //verif - SpellCharge
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("     = "));
        if(temp != "SpellCharge"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("     = ")+7, line.length());
        istringstream(line) >> hex >> SpellCharge;
    //verif - WowTime
        getline (myfile,line);l++;cout << line << endl;
        temp = line.substr(0, line.find("         = "));
        if(temp != "WowTime"){printf("Line%d error(#param1)\n",l);myfile.close();Sleep(3000);exit(0);}
        line = line.substr(line.find("         = ")+11, line.length());
        istringstream(line) >> hex >> WowTime;
        //printf("0x%x\n",WowTime);

        myfile.close();
        printf("\n\n");
        //verif memoire GameBuild
        //EnableDebugPriv();
        WoW64 = GetDLL((char*)"Wow-64.exe",PID);
        printf("Wow64 = 0x%I64x\n",WoW64);
        printf("Wow-64.exe PID %d\n",PID);
        //h_Read_Process = OpenProcess(PROCESS_ALL_ACCESS, 0, PID);
        h_Read_Process = OpenProcess(PROCESS_VM_READ, 0, PID);
//COMPARE VERSION JEUX
        char tmp[GameBuild_value.size()];
        ReadProcessMemory(h_Read_Process,(LPCVOID)(WoW64+GameBuild), &tmp, sizeof(tmp), NULL);

        bool cmp = true;
        for(uint8_t i = 0; i<GameBuild_value.size();i++)
        {
            if(GameBuild_value[i] != tmp[i]){cmp = false;break;}
        }
        if(cmp == false && !DEBUG_UI)
        {
            for(uint8_t i = 0; i<GameBuild_value.size();i++){printf("%C",GameBuild_value[i]);}printf("\n");
            for(uint8_t i = 0; i<GameBuild_value.size();i++){printf("%C",tmp[i]);}printf("\n");
            printf("error versioning\n");system("pause");exit(1);
        }
        else
        {
            for(uint8_t i = 0; i<GameBuild_value.size();i++){printf("%C",GameBuild_value[i]);}printf("\n");
            for(uint8_t i = 0; i<GameBuild_value.size();i++){printf("%C",tmp[i]);}printf("\n");
        }

    }
    else
    {
        if(!DEBUG_UI)
        {
            printf("missing conf\n");
            Sleep(5000);
            exit(0);
        }
    }

    uint64_t Pattern_LocalPlayer = FindPattern(WoW64,0x3000000,0x00,pattern_LocalPlayer,sizeof(pattern_LocalPlayer)/sizeof(*pattern_LocalPlayer));

    HANDLE HANDLE_UI = NULL;
    HANDLE_UI = CreateThread(NULL, 0,UI, NULL,0,NULL);
    if(HANDLE_UI == NULL){exit(0);}
    HANDLE HANDLE_SCAN_SPELL = NULL;
    HANDLE HANDLE_SCAN_PLAYER = NULL;
    HANDLE HANDLE_WoWTime = NULL;
    HANDLE HANDLE_SCAN_CHARGE = NULL;
    HANDLE HANDLE_SCAN_ENTITY = NULL;
    HANDLE HANDLE_Dps = NULL;
    DWORD CHECK_KeyPress(LPVOID arg);
    if(!DEBUG_UI){CreateThread(NULL, 0,CHECK_PID, NULL,0,NULL);}
    if(!DEBUG_UI){CreateThread(NULL, 0,CHECK_KeyPress, NULL,0,NULL);}
    while(PID)
    {
        while(bool_checkbox_OnOff == false && PID)
        {
            if(HANDLE_SCAN_PLAYER != NULL)
            {
                HANDLE_SCAN_PLAYER = NULL;
            }
            if(HANDLE_WoWTime != NULL)
            {
                HANDLE_WoWTime = NULL;
            }
            if(HANDLE_SCAN_SPELL != NULL)
            {
                HANDLE_SCAN_SPELL = NULL;
            }
            if(HANDLE_SCAN_CHARGE != NULL)
            {
                HANDLE_SCAN_CHARGE = NULL;
            }
            if(HANDLE_SCAN_ENTITY != NULL)
            {
                HANDLE_SCAN_ENTITY = NULL;
            }
            if(HANDLE_Dps != NULL)
            {
                HANDLE_Dps = NULL;
            }
            Sleep(50);
        }
        while(bool_checkbox_OnOff == true && PID)
        {
            if(HANDLE_SCAN_PLAYER == NULL && !DEBUG_UI)
            {
                HANDLE_SCAN_PLAYER = CreateThread(NULL, 0,SCAN_PLAYER, NULL,0,NULL);
            }
            if(HANDLE_WoWTime == NULL && !DEBUG_UI)
            {
                HANDLE_WoWTime = CreateThread(NULL, 0,SCAN_WoWTime, NULL,0,NULL);
            }
            if(HANDLE_SCAN_SPELL == NULL && !DEBUG_UI)
            {
                HANDLE_SCAN_SPELL = CreateThread(NULL, 0,SCAN_SPELL, NULL,0,NULL);
            }
            if(HANDLE_SCAN_CHARGE == NULL && !DEBUG_UI)
            {
                HANDLE_SCAN_CHARGE = CreateThread(NULL, 0,SCAN_CHARGE, NULL,0,NULL);
            }
            if(HANDLE_SCAN_ENTITY == NULL && !DEBUG_UI)
            {
                HANDLE_SCAN_ENTITY = CreateThread(NULL, 0,SCAN_ENTITY, NULL,0,NULL);
            }
            if(HANDLE_Dps == NULL && !DEBUG_UI)
            {
                HANDLE_Dps = CreateThread(NULL, 0,Dps, NULL,0,NULL);
            }
            Sleep(50);
        }
    }
    Sleep(500);
    return 0;
}
Code:
BYTE MY_TargetGuid[16];
BYTE MY_Guid[16];
INT32 MY_Hp;
INT32 MY_Shard;
INT32 MY_Mana;
INT32 MY_ManaMax;
INT32 CastId;
INT32 CastInst;
INT32 ChannelId;
INT32 MY_HpMax;
INT32 MY_ManaPourcent;
INT32 MY_HpPourcent;
INT32 Time;


struct Spell {
    INT32 SpellID;
    INT32 key;
    INT32 TimeLeft;
    INT32 LastView;
 };
//WARKLOCK
    Spell ShadowBolt = {686,VK_F1,0,-1};
    Spell DemonBolt = {157695,VK_F1,0,-1};
    Spell Traqueffrois = {104316,VK_F11,0,-1};
    Spell PetGangrorage = {119914,VK_F3,0,-1};
    Spell Thalkiel = {211714,VK_F4,0,-1};
    Spell SummonGangregarde = {111898,VK_F8,0,-1};
    Spell GardeFuneste = {18540,VK_F12,0,-1};
    Spell Infernal = {1122,VK_F12,0,-1};
    Spell HandOfGuldan = {105174,VK_F6,0,-1};
    Spell BuffPet = {193396,VK_F7,0,-1};
    Spell Connexion = {1454,VK_F10,0,-1};
    Spell Aoe = {193440,VK_F2,0,-1};
    Spell RacialOrc = {33702,VK_F9,0,-1};
//ROGUE
    Spell CoupDeSabre = {193315,VK_F1,0,-1};
    Spell CoupDePistolet = {185763,VK_F2,0,-1};
    Spell LaMortVenuDenHaut = {152150,VK_F3,0,-1};
    Spell Percee = {2098,VK_F4,0,-1};
    Spell JetDosselets = {193316,VK_F5,0,-1};
    Spell DelugeDeLames = {13877,VK_F7,0,-1};
    Spell PousseeDadrenaline = {13750,VK_F8,0,-1};
    Spell MaledictionDesLamesDeffroi = {202665,VK_F9,0,-1};
    Spell Debiter = {5171,VK_F5,0,-1};
    Spell DesignePourMourir = {137619,VK_F3,0,-1};
    Spell BarrageDeCanons = {185767,VK_F6,0,-1};
    Spell RogueSelfHeal30Pourcent = {185311,VK_F11,0,-1};
    Spell EntreLesDeuxYeux = {199804,VK_F6,0,-1};
    Spell Suriner = {1776,VK_F10,0,-1};
    Spell Trinket1 = {225141,VK_G,0,-1};
    Spell Trinket2 = {230011,VK_F12,0,-1};
    Spell Vanish = {1856,VK_G,0,-1};
    Spell SerieMeutriere = {51690,VK_F7,0,-1};
//DROOD
    Spell Balayage = {213771,VK_F1,0,-1};
    Spell Rosser = {77758,VK_F2,0,-1};
    Spell Mutilation = {33917,VK_F3,0,-1};
    Spell Mutiler = {6807,VK_F4,0,-1};
    Spell MonoStun = {5211,VK_F5,0,-1};
    Spell RuptMono = {106839,VK_F6,0,-1};
    Spell RegenerationFrenetique = {22842,VK_F7,0,-1};
    Spell InstinctsDeSurvie = {61336,VK_F8,0,-1};
    Spell Ecorse = {22812,VK_F9,0,-1};
    Spell Ferpoil = {192081,VK_F10,0,-1};
    Spell RageDuDormeur = {200851,VK_F11,0,-1};
    Spell EclatLunaire = {8921,VK_F12,0,-1};




struct Buff{
    int SpellID;
    bool IsEnable;
    int TimeLeft;
    int LastView;};
//WARKLOCK
    Buff AppelDemoniaque = {205146,false,0,-1};
//ROGUE
    Buff FreeCoupDePistolet = {195627,false,0,-1};
    Buff TronBlon = {202848,false,0,-1};//FREE x2 + bonus dégats BUFFID > 202848 (timeleft 0)
    Buff BonusHatePonction = {193358,false,0,-1};
    Buff BonusEnergieRegen = {199600,false,0,-1};
    Buff BonusCombotPlusUn = {193356,false,0,-1};
    Buff BonusCoupDeSabre = {199603,false,0,-1};
    Buff BonusCollDown = {193359,false,0,-1};
    Buff BonusKrit = {193357,false,0,-1};
    Buff BonusHate = {193538,false,0,-1};//2%
    Buff BonusDebiter = {5171,false,0,-1};//2%
    Buff Bonus100PourcentKrit = {235027,false,0,-1};//2%
    Buff BonusAdrenaline = {13750,false,0,-1};//2%
    Buff BonusMaledictionDesLamesDeffroi = {202665,false,0,-1};//2%
    Buff FuFu = {158188,false,0,-1};//2%
    Buff BonusDegatsCoupDePistolet = {209423,false,0,-1};//2%
    Buff LegBrassard = {209420,false,0,-1};
//DROOD
    Buff Free_EclatLunaire = {213708,false,0,-1};
    Buff Free_Mutilation = {93622,false,0,-1};
    Buff Buff_Ecorse = {22812,false,0,-1};
    Buff Buff_RageDuDormeur = {200851,false,0,-1};
    Buff Buff_InstinctsDeSurvie = {50322,false,0,-1};
    Buff Buff_Ferpoil = {192081,false,0,-1};
    Buff Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique = {213680,false,0,-1};
    Buff BuffRegenerationFrenetique = {22842,false,0,-1};


    //Buff CoupDeSabre = {193315,VK_F1,0,-1};
struct Charge{int ChargeID;int MaxCharge;int key;int CurrentCharge;bool IsEnable;int LastView;};
//PALADIN
    Charge MainDuProtecteur{1667,1,VK_T,0,false,-1};
    Charge LumiereDuProtecteur{1668,1,VK_T,0,false,-1};
    Charge Charge_InstinctsDeSurvie{1469,2,VK_F8,0,false,-1};
    Charge Charge_RegenerationFrenetique{1568,2,VK_F7,0,false,-1};



empathe is offline  
Old   #2
 
elite*gold: 0
Join Date: Nov 2009
Posts: 16
Received Thanks: 2
Code:
INT32 GlobalGCD;
DWORD WINAPI Dps(LPVOID arg)
{
    Sleep(50);printf("START Dps\n");
    while(bool_checkbox_OnOff && PID)
    {KeySender = false;//WANTED

    //printf("BonusDebiter.IsEnable = %d\n",BonusDebiter.IsEnable);

        if(bool_checkbox_Drood && bool_checkbox_SPE1)
        {
            if(KeyMonoIsEnable)
            {
                /*
                    Spell Balayage = {213771,VK_F1,0,-1};
                    Spell Rosser = {77758,VK_F2,0,-1};
                    Spell Mutilation = {33917,VK_F3,0,-1};
                    Spell Mutiler = {6807,VK_F4,0,-1};
                    Spell MonoStun = {5211,VK_F5,0,-1};
                    Spell RuptMono = {106839,VK_F6,0,-1};
                    Spell RegenerationFrenetique = {22842,VK_F7,0,-1};
                    Spell InstinctsDeSurvie = {61336,VK_F8,0,-1};
                    Spell Ecorse = {22812,VK_F9,0,-1};
                    Spell Ferpoil = {192081,VK_F10,0,-1};
                    Spell RageDuDormeur = {200851,VK_F11,0,-1};
                */
                /*
                    Buff Free_EclatLunaire = {213708,false,0,-1};
                    Buff Free_Mutilation = {93622,false,0,-1};
                    Buff Buff_Ecorse = {22812,false,0,-1};
                    Buff Buff_RageDuDormeur = {200851,false,0,-1};
                    Buff Buff_InstinctsDeSurvie = {50322,false,0,-1};
                    Buff Buff_Ferpoil = {192081,false,0,-1};
                    Buff Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique = {213680,false,0,-1};
                */
                /*
                    Charge Charge_InstinctsDeSurvie{1469,2,VK_F8,0,false,-1};
                    Charge Charge_RegenerationFrenetique{1568,2,VK_F7,0,false,-1};
                */
               if((!Mutiler.TimeLeft || Mutiler.TimeLeft < 100) && Player.Rage >= 80 ){castHorsGCD(Mutiler.key);}
               if((!Ferpoil.TimeLeft || Ferpoil.TimeLeft < 100) && Player.Rage >= 90 ){castHorsGCD(Ferpoil.key);}

               if(Player.HpPourcent < 95)
               {
                   if((!Ferpoil.TimeLeft || Ferpoil.TimeLeft < 100) && Player.Rage >= 45 && !Buff_Ferpoil.IsEnable){castHorsGCD(Ferpoil.key);}
               }

               if(Player.HpPourcent < 90)
               {
                   if((!RegenerationFrenetique.TimeLeft || RegenerationFrenetique.TimeLeft < 100) && !BuffRegenerationFrenetique.IsEnable && Charge_RegenerationFrenetique.IsEnable && Player.Rage >= 10){castHorsGCD(RegenerationFrenetique.key);}
               }

               if(Player.HpPourcent < 80)
               {
                   if((!Ecorse.TimeLeft || Ecorse.TimeLeft < 100) && !Buff_Ecorse.IsEnable){castHorsGCD(Ecorse.key);}
               }

               if(Player.HpPourcent < 70)
               {
                   if((!InstinctsDeSurvie.TimeLeft || InstinctsDeSurvie.TimeLeft < 100) && !Buff_InstinctsDeSurvie.IsEnable && Charge_InstinctsDeSurvie.IsEnable){castHorsGCD(InstinctsDeSurvie.key);}
               }
               if(Player.HpPourcent < 65)
               {
                   if((!RageDuDormeur.TimeLeft || RageDuDormeur.TimeLeft < 100)){castHorsGCD(RageDuDormeur.key);}
               }

               if(Free_EclatLunaire.IsEnable && !EclatLunaire.TimeLeft){cast(EclatLunaire.key);}
               if((!Rosser.TimeLeft || Rosser.TimeLeft < 100)){cast(Rosser.key);}
               if((!Mutilation.TimeLeft || Mutilation.TimeLeft < 100)){cast(Mutilation.key);}
               if((!Balayage.TimeLeft || Balayage.TimeLeft < 100)){cast(Balayage.key);}



            }
        }
        //printf("%d\n",TronBlon.TimeLeft);

        if(bool_checkbox_Rogue && bool_checkbox_SPE1)
        {
            if(KeyMonoIsEnable)
            {
                /*
                    Buff FreeCoupDePistolet = {195627,false,0,-1};
                    Buff BonusHatePonction = {193358,false,0,-1};
                    Buff BonusEnergieRegen = {199600,false,0,-1};
                    Buff BonusCombotPlusUn = {193356,false,0,-1};
                    Buff BonusCoupDeSabre = {199603,false,0,-1};
                    Buff BonusCollDown = {0,false,0,-1};
                    Buff BonusKrit = {193357,false,0,-1};
                    Buff BonusHate = {193538,false,0,-1};//2%
                */
                bool Play_Debiter = true;
                int min_buff = 2;
                int NOMBRE_DE_BUFF = 0;
                bool combot_bonus = false;
                if(BonusEnergieRegen.IsEnable){NOMBRE_DE_BUFF++;}
                if(BonusHatePonction.IsEnable){NOMBRE_DE_BUFF++;}
                if(BonusCombotPlusUn.IsEnable){NOMBRE_DE_BUFF++;}
                if(BonusCoupDeSabre.IsEnable){NOMBRE_DE_BUFF++;}
                if(BonusKrit.IsEnable){NOMBRE_DE_BUFF++;}
                if(BonusCollDown.IsEnable){NOMBRE_DE_BUFF = min_buff + 1;}

                //joue sans les dés
                if(Play_Debiter){NOMBRE_DE_BUFF = min_buff + 1;}



                bool artefact = true;
                bool use_vanish = false;

                //if(BonusEnergieRegen.IsEnable && BonusCombotPlusUn.IsEnable && BonusKrit.IsEnable){combot_bonus = true;}
                //if(BonusHatePonction.IsEnable && BonusCombotPlusUn.IsEnable && BonusKrit.IsEnable){combot_bonus = true;}

                if(combot_bonus)
                {
                    NOMBRE_DE_BUFF = min_buff + 1;
                }

                if(!PousseeDadrenaline.TimeLeft && !BonusAdrenaline.IsEnable){if(Player.Energie <= 50){castHorsGCD(PousseeDadrenaline.key);}}

                //SANS LES DES

                if(Play_Debiter && BonusMaledictionDesLamesDeffroi.IsEnable && artefact)
                {
                    if(Vanish.TimeLeft > 20000)
                    {
                        if( artefact ){castHorsGCD(MaledictionDesLamesDeffroi.key);}
                    }
                }
//printf("BonusCollDown.IsEnable=%d NOMBRE_DE_BUFF=%d min_buff=%d\n",BonusCollDown.IsEnable,NOMBRE_DE_BUFF,min_buff);
                if(BonusMaledictionDesLamesDeffroi.IsEnable && artefact)
                {
                    if(!Bonus100PourcentKrit.IsEnable){if(!Vanish.TimeLeft){castHorsGCD(Vanish.key);}}
                }
                else
                {
                    if(!MaledictionDesLamesDeffroi.TimeLeft)
                    {
                        //boost dps dispo ?
                        if(!Vanish.TimeLeft || Bonus100PourcentKrit.TimeLeft >= 5000)
                        {
                            if(!PousseeDadrenaline.TimeLeft || (BonusAdrenaline.IsEnable && BonusAdrenaline.TimeLeft >= 7000))
                            {
                                if(!Bonus100PourcentKrit.IsEnable && use_vanish){if(!Vanish.TimeLeft && use_vanish){castHorsGCD(Vanish.key);}}
                                if(!MaledictionDesLamesDeffroi.TimeLeft && artefact){castHorsGCD(MaledictionDesLamesDeffroi.key);}
                            }
                        }
                    }
                }

                if(BonusAdrenaline.IsEnable)
                {
                    if(!Bonus100PourcentKrit.IsEnable && BonusAdrenaline.TimeLeft >= 4000){if(!Vanish.TimeLeft && use_vanish){castHorsGCD(Vanish.key);}}
                }

                if(Player.HpPourcent < 40 && !RogueSelfHeal30Pourcent.TimeLeft){cast(RogueSelfHeal30Pourcent.key);}

                if(!Trinket1.TimeLeft)//anti spam macro
                {
                    //castHorsGCD(Trinket1.key);
                    if(Jewel < GetTickCount())
                    {
                        //castHorsGCD(Trinket1.key);
                        Jewel = GetTickCount()+1000;
                    }
                }



                /*
                if(!Trinket2.TimeLeft)//anti spam macro
                {
                    if(Jewel < GetTickCount())
                    {
                        castHorsGCD(Trinket2.key);
                        Jewel = GetTickCount()+1000;
                    }
                }
*/
                bool BarrageDeCanons_ = false;

                switch(Player.CombotPoint)
                {
                    case 0:
                        if(!Play_Debiter && !DesignePourMourir.TimeLeft){cast(DesignePourMourir.key);}
                        if(FreeCoupDePistolet.IsEnable && !CoupDePistolet.TimeLeft){if((Play_Debiter||BonusCollDown.IsEnable|| NOMBRE_DE_BUFF >= min_buff) && LegBrassard.IsEnable){if(TronBlon.IsEnable){if(BonusDegatsCoupDePistolet.IsEnable){cast(CoupDePistolet.key);}if(TronBlon.TimeLeft < 2000 || EntreLesDeuxYeux.TimeLeft > 3000){cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}
                        if(!CoupDeSabre.TimeLeft){if(Player.Energie < 50 && !SerieMeutriere.TimeLeft && !BonusAdrenaline.IsEnable){cast(CoupDeSabre.key);}else{cast(CoupDeSabre.key);}}
                        break;
                    case 1:
                        if(!Play_Debiter && !DesignePourMourir.TimeLeft){cast(DesignePourMourir.key);}
                        if(FreeCoupDePistolet.IsEnable && !CoupDePistolet.TimeLeft){if((Play_Debiter||BonusCollDown.IsEnable|| NOMBRE_DE_BUFF >= min_buff) && LegBrassard.IsEnable){if(TronBlon.IsEnable){if(BonusDegatsCoupDePistolet.IsEnable){cast(CoupDePistolet.key);}if(TronBlon.TimeLeft < 2000 || EntreLesDeuxYeux.TimeLeft > 3000){cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}
                        if(!CoupDeSabre.TimeLeft){if(Player.Energie < 50 && !SerieMeutriere.TimeLeft && !BonusAdrenaline.IsEnable){cast(CoupDeSabre.key);}else{cast(CoupDeSabre.key);}}
                        break;
                    case 2:
                        if(FreeCoupDePistolet.IsEnable && !CoupDePistolet.TimeLeft){if((Play_Debiter||BonusCollDown.IsEnable|| NOMBRE_DE_BUFF >= min_buff) && LegBrassard.IsEnable){if(TronBlon.IsEnable){if(BonusDegatsCoupDePistolet.IsEnable){cast(CoupDePistolet.key);}if(TronBlon.TimeLeft < 2000 || EntreLesDeuxYeux.TimeLeft > 3000){cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}
                        if(!CoupDeSabre.TimeLeft){if(Player.Energie < 50 && !SerieMeutriere.TimeLeft && !BonusAdrenaline.IsEnable){cast(CoupDeSabre.key);}else{cast(CoupDeSabre.key);}}
                        break;
                    case 3:
                        if(FreeCoupDePistolet.IsEnable && !CoupDePistolet.TimeLeft){if((Play_Debiter||BonusCollDown.IsEnable|| NOMBRE_DE_BUFF >= min_buff) && LegBrassard.IsEnable){if(TronBlon.IsEnable){if(BonusDegatsCoupDePistolet.IsEnable){cast(CoupDePistolet.key);}if(TronBlon.TimeLeft < 2000 || EntreLesDeuxYeux.TimeLeft > 3000){cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}
                        if(!CoupDeSabre.TimeLeft){if(Player.Energie < 50 && !SerieMeutriere.TimeLeft && !BonusAdrenaline.IsEnable){cast(CoupDeSabre.key);}else{cast(CoupDeSabre.key);}}
                        break;
                    case 4:
                        if(BonusCombotPlusUn.IsEnable)
                        {
                            if(!CoupDeSabre.TimeLeft){if(Player.Energie < 50 && !SerieMeutriere.TimeLeft && !BonusAdrenaline.IsEnable){cast(CoupDeSabre.key);}else{cast(CoupDeSabre.key);}}
                        }
                        else
                        {
                            if(FreeCoupDePistolet.IsEnable && !CoupDePistolet.TimeLeft){if((Play_Debiter||BonusCollDown.IsEnable|| NOMBRE_DE_BUFF >= min_buff) && LegBrassard.IsEnable){if(TronBlon.IsEnable){if(BonusDegatsCoupDePistolet.IsEnable){cast(CoupDePistolet.key);}if(TronBlon.TimeLeft < 2000 || EntreLesDeuxYeux.TimeLeft > 3000){cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}else{cast(CoupDePistolet.key);}}
                            if(!CoupDeSabre.TimeLeft){if(Player.Energie < 50 && !SerieMeutriere.TimeLeft && !BonusAdrenaline.IsEnable){cast(CoupDeSabre.key);}else{cast(CoupDeSabre.key);}}
                        }
                        break;
                    case 5:
                        if(BonusCombotPlusUn.IsEnable)
                        {
                            if(Play_Debiter || BonusCollDown.IsEnable || NOMBRE_DE_BUFF >= min_buff){
                                if(Play_Debiter){if(!BonusDebiter.IsEnable || BonusDebiter.TimeLeft < 2000){cast(Debiter.key);}}
                                if(!EntreLesDeuxYeux.TimeLeft){cast(EntreLesDeuxYeux.key);}
                                if(!Percee.TimeLeft){cast(Percee.key);}
                            }else{if(!JetDosselets.TimeLeft){cast(JetDosselets.key);}}
                        }
                        else
                        {
                            if((FreeCoupDePistolet.IsEnable && !CoupDePistolet.TimeLeft))
                            {
                                if(Play_Debiter || BonusCollDown.IsEnable || NOMBRE_DE_BUFF >= min_buff){
                                    if(Play_Debiter){if(!BonusDebiter.IsEnable || BonusDebiter.TimeLeft < 2000){cast(Debiter.key);}}
                                    if(!EntreLesDeuxYeux.TimeLeft){cast(EntreLesDeuxYeux.key);}
                                    if(!Percee.TimeLeft){cast(Percee.key);}
                                }else{if(!JetDosselets.TimeLeft){cast(JetDosselets.key);}}
                            }
                            else
                            {
                                if(!CoupDeSabre.TimeLeft){if(Player.Energie < 50 && !SerieMeutriere.TimeLeft && !BonusAdrenaline.IsEnable){cast(CoupDeSabre.key);}else{cast(CoupDeSabre.key);}}
                            }
                        }
                        break;
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                            if(Play_Debiter || BonusCollDown.IsEnable || NOMBRE_DE_BUFF >= min_buff){
                                if(Play_Debiter){if(!BonusDebiter.IsEnable || BonusDebiter.TimeLeft < 2000){cast(Debiter.key);}}
                                if(!EntreLesDeuxYeux.TimeLeft){cast(EntreLesDeuxYeux.key);}
                                if(!Percee.TimeLeft){cast(Percee.key);}
                            }else{if(!JetDosselets.TimeLeft){cast(JetDosselets.key);}}
                        break;
                }
                if(kikoo == true && !SerieMeutriere.TimeLeft && Player.Energie < 50 && !BonusAdrenaline.IsEnable){castHorsGCD(CoupDeSabre.key);}
            }
        }
        if(bool_checkbox_Paladin && bool_checkbox_SPE1)//protection
        {
            if(Player.HpPourcent < 30 && MainDuProtecteur.IsEnable)
            {
                cast(MainDuProtecteur.key);Sleep(100);
            }
        }
        if(bool_checkbox_Drood && bool_checkbox_SPE1)//gardien (tank !)
        {

        }
        int bonus_Shard = 0;
        if(bool_checkbox_Warlock && bool_checkbox_SPE1)//demonology
        {
            if(KeyMonoIsEnable || KeyBurstMonoIsEnable)
            {
                if(Player.CastId == 0)//ne cast pas
                {
                    if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                    if(!RacialOrc.TimeLeft){castHorsGCD(RacialOrc.key);}
                    if(!PetGangrorage.TimeLeft){castHorsGCD(PetGangrorage.key);}
                    switch(Player.Shard)
                    {
                        case 0:
                            if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                        break;
                        case 1:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                        break;
                        case 2:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                        break;
                        case 3:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!HandOfGuldan.TimeLeft && Traqueffrois.TimeLeft <= GlobalGCD){cast(HandOfGuldan.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                        break;
                        case 4:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                        break;
                        case 5:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                        break;
                    }
                }
                else//entrain de cast
                {
                    if(!RacialOrc.TimeLeft){castHorsGCD(RacialOrc.key);}
                    if(!PetGangrorage.TimeLeft){castHorsGCD(PetGangrorage.key);}
                    if(Player.CastId == ShadowBolt.SpellID || Player.CastId == DemonBolt.SpellID || Player.CastId == Aoe.SpellID)
                    {
                        if(Player.CastId == ShadowBolt.SpellID || Player.CastId == DemonBolt.SpellID){bonus_Shard = 1;}else{bonus_Shard = 0;}
                        switch(Player.Shard+bonus_Shard)
                        {
                            case 0:
                            case 1:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 2:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 3:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft && Traqueffrois.TimeLeft <= GlobalGCD){cast(HandOfGuldan.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 4:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 5:
                            case 6:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;

                        }
                    }
                    //Mono & BURST
                    else if(Player.CastId == HandOfGuldan.SpellID)
                    {

                        switch(Player.Shard)
                        {
                            case -4:
                            case -3:
                            case -2:
                            case -1:
                            case 0:
                            case 1:
                            case 2:
                            case 3:
                            case 4:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                            case 5:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                        }
                    }
                    else if(Player.CastId == Traqueffrois.SpellID)
                    {
                        if(AppelDemoniaque.IsEnable)
                        {
                            bonus_Shard = 2;
                            switch(Player.Shard+bonus_Shard)//avec Epole LEG + BUFF
                            {
                                case 0:
                                case 1:
                                case 2:
                                    if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                    //if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                                case 3:
                                    if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                                case 4:
                                    if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                                case 5:
                                case 6:
                                case 7:
                                    if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                            }
                        }
                        else
                        {
                            switch(Player.Shard)//avec Epole LEG
                            {
                                case 0:
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                                case 1:
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                                case 2:
                                    //if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                                case 3:
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                                case 4:
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                                case 5:
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                    if(!Aoe.TimeLeft){cast(Aoe.key);}
                                break;
                            }
                        }
                    }
                    else if(Player.CastId == BuffPet.SpellID)
                    {
                        switch(Player.Shard)
                        {
                            case 0:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 1:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 2:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 3:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 4:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 5:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                        }
                    }
                    else if(Player.CastId == Thalkiel.SpellID)
                    {
                        switch(Player.Shard)
                        {
                            case 0:
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 1:
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 2:
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 3:
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft && Traqueffrois.TimeLeft <= GlobalGCD){cast(HandOfGuldan.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 4:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                            case 5:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                                if(!Aoe.TimeLeft){cast(Aoe.key);}
                            break;
                        }
                    }
                }
            }
            else if(KeyMultiIsEnable)
            {
                if(Player.CastId == 0)//ne cast pas
                {
                    if(!Connexion.TimeLeft && Player.ManaPourcent < 30){cast(Connexion.key);}
                    switch(Player.Shard)
                    {
                        case 0:
                            if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                        break;
                        case 1:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                        break;
                        case 2:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                        break;
                        case 3:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                        break;
                        case 4:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                        break;
                        case 5:
                            if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            if(!Aoe.TimeLeft){cast(Aoe.key);}
                            if(!ShadowBolt.TimeLeft){cast(ShadowBolt.key);}
                        break;
                    }
                }
                else//entrain de cast
                {
                    if(Player.CastId == Aoe.SpellID)
                    {
                        switch(Player.Shard)
                        {
                            case 0:
                            case 1:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            break;
                            case 2:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            break;
                            case 3:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            break;
                            case 4:
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            break;
                            case 5:
                            case 6:
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            break;
                        }
                    }
                    else if(Player.CastId == ShadowBolt.SpellID || Player.CastId == DemonBolt.SpellID)
                    {
                        bonus_Shard = 1;
                        switch(Player.Shard+bonus_Shard)
                        {
                        case 0:
                            case 1:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            break;
                            case 2:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            break;
                            case 3:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                            break;
                            case 4:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            break;
                            case 5:
                            case 6:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            break;

                        }
                    }
                    else if(Player.CastId == HandOfGuldan.SpellID)
                    {
                        bonus_Shard = 4;
                        switch(Player.Shard-bonus_Shard)
                        {
                            case -4:
                            case -3:
                            case -2:
                            case -1:
                            case 0:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                            break;
                            case 1:
                            case 2:
                            case 3:
                            case 4:
                            case 5:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                            break;
                        }
                    }
                    else if(Player.CastId == Traqueffrois.SpellID)
                    {
                        if(AppelDemoniaque.IsEnable)
                        {
                            bonus_Shard = 2;
                            switch(Player.Shard+bonus_Shard)//avec Epole LEG + BUFF
                            {
                                case 0:
                                case 1:
                                case 2:
                                    if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                                case 3:
                                    if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                                case 4:
                                    if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                break;
                                case 5:
                                case 6:
                                case 7:
                                    if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                            }
                        }
                        else
                        {
                            switch(Player.Shard)//avec Epole LEG
                            {
                                case 0:
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                                case 1:
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                                case 2:
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                                case 3:
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                                case 4:
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                                case 5:
                                    if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                                    if(!BuffPet.TimeLeft){cast(BuffPet.key);}
                                break;
                            }
                        }
                    }
                    else if(Player.CastId == BuffPet.SpellID)
                    {
                        switch(Player.Shard)
                        {
                            case 0:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 15){cast(Connexion.key);}
                            break;
                            case 1:
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 15){cast(Connexion.key);}
                            break;
                            case 2:

                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 15){cast(Connexion.key);}
                            break;
                            case 3:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 15){cast(Connexion.key);}
                            break;
                            case 4:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            break;
                            case 5:
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!Thalkiel.TimeLeft){cast(Thalkiel.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            break;
                        }
                    }
                    else if(Player.CastId == Thalkiel.SpellID)
                    {
                        switch(Player.Shard)
                        {
                            case 0:
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 15){cast(Connexion.key);}
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            break;
                            case 1:
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 15){cast(Connexion.key);}
                                if(AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            break;
                            case 2:
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 15){cast(Connexion.key);}
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            break;
                            case 3:
                                if(!Connexion.TimeLeft && Player.ManaPourcent < 15){cast(Connexion.key);}
                                if(!Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                            break;
                            case 4:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            break;
                            case 5:
                                if(KeyBurstMonoIsEnable){if(!GardeFuneste.TimeLeft){cast(GardeFuneste.key);}if(!SummonGangregarde.TimeLeft && Play_SummonGangregarde){cast(SummonGangregarde.key);}}
                                if(!AppelDemoniaque.IsEnable && !Traqueffrois.TimeLeft){cast(Traqueffrois.key);}
                                if(!HandOfGuldan.TimeLeft){cast(HandOfGuldan.key);}
                            break;
                        }
                    }
                }
            }
            //Warlock No Key Press ? need regen mana ?
            /*
            if(!(
                 (GetAsyncKeyState( KeyMulti ) & 0x8000 || GetAsyncKeyState( KeyMono ) & 0x8000) || GetAsyncKeyState( KeyBurstMono ) & 0x8000)
                )
            {
                if(!Connexion.TimeLeft && Player.ManaPourcent < 90 && Player.HpPourcent > 70){cast(Connexion.key);}
            }
                */

                if(!Connexion.TimeLeft && Player.ManaPourcent < 80 && Player.HpPourcent > 20 && Player.CastId != Aoe.SpellID){cast(Connexion.key);}
        }
        for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
    }
    Sleep(70);printf("CLOSE Dps\n");
}
Code:
DWORD WINAPI SCAN_SPELL(LPVOID arg)
{
    /*
    =============
    08: Next Entry
    10: Spell ID
    14: Item ID
    18: Spell Start Time
    1C: Spell Duration
    20: Group ID
    24: Group Start Time
    28: Group Duration
    2C: Is Active
    30: GCD Start Time
    38: GCD Duration
    */
    Sleep(60);printf("START SCAN_SPELL\n");

    while(bool_checkbox_OnOff && PID)
    {
        INT32 tmp;
        INT32 Spell_StartTime1;
        INT32 Spell_StartTime2;
        INT32 Spell_StartTime3;
        INT32 Spell_CD1,Spell_CD2;

        while(bool_checkbox_OnOff && PID)
        {
            //Warlock
            if(bool_checkbox_DebugSpell)
            {
                Sleep(250);
                system("cls");
                printf("------ INFO ------\n");
                if(bool_checkbox_Paladin)
                {
                    if(bool_checkbox_SPE1)//protection
                    {

                    }
                }
                if(bool_checkbox_Rogue)
                {
                    if(bool_checkbox_SPE1)
                    {

                    }
                }
                if(bool_checkbox_Drood)
                {
                    if(bool_checkbox_SPE1)
                    {

                    }
                }
                if(bool_checkbox_Warlock)
                {
                    if(bool_checkbox_SPE1)//DEMONOLOGY
                    {
                        printf("ShadowBolt - SpellID(%d) TimeLeft(%dms) LINKED\n",ShadowBolt.SpellID,ShadowBolt.TimeLeft);
                        printf("DemonBolt - SpellID(%d) TimeLeft(%dms) LINKED\n\n",DemonBolt.SpellID,DemonBolt.TimeLeft);

                        printf("Traqueffrois - SpellID(%d) TimeLeft(%dms)\n",Traqueffrois.SpellID,Traqueffrois.TimeLeft);
                        printf("PetGangrorage - SpellID(%d) TimeLeft(%dms)\n",PetGangrorage.SpellID,PetGangrorage.TimeLeft);
                        printf("Thalkiel - SpellID(%d) TimeLeft(%dms)\n",Thalkiel.SpellID,Thalkiel.TimeLeft);
                        printf("SummonGangregarde - SpellID(%d) TimeLeft(%dms)\n\n",SummonGangregarde.SpellID,SummonGangregarde.TimeLeft);

                        printf("GardeFuneste - SpellID(%d) TimeLeft(%dms) LINKED\n",GardeFuneste.SpellID,GardeFuneste.TimeLeft);
                        printf("Infernal - SpellID(%d) TimeLeft(%dms) LINKED\n",Infernal.SpellID,Infernal.TimeLeft);

                        printf("HandOfGuldan - SpellID(%d) TimeLeft(%dms)\n",HandOfGuldan.SpellID,HandOfGuldan.TimeLeft);
                        printf("BuffPet - SpellID(%d) TimeLeft(%dms)\n",BuffPet.SpellID,BuffPet.TimeLeft);
                        printf("Connexion - SpellID(%d) TimeLeft(%dms)\n",Connexion.SpellID,Connexion.TimeLeft);
                    }
                }
                printf("------------------\n");
            }

            uint64_t Base = WoW64 + SpellColldowns;// - 0x20;
            ReadProcessMemory(h_Read_Process,(LPCVOID)(Base), &Base , sizeof(Base), NULL);
            INT32 Spell_ID = 1;
            bool tg = false;
            while(bool_checkbox_OnOff && PID && Spell_ID)
            {
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Base + 0x10), &Spell_ID, sizeof(Spell_ID), NULL);if(!Spell_ID){break;}
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Base + 0x1C), &Spell_StartTime1, sizeof(Spell_StartTime1), NULL);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Base + 0x20), &Spell_CD1, sizeof(Spell_CD1), NULL);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Base + 0x28), &Spell_StartTime2, sizeof(Spell_StartTime2), NULL);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Base + 0x2C), &Spell_CD2, sizeof(Spell_CD2), NULL);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Base + 0x34), &Spell_StartTime3, sizeof(Spell_StartTime3), NULL);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Base + 0x3C), &tmp, sizeof(tmp), NULL);
                if(tmp!=0){GlobalGCD = tmp;}
                if(Spell_CD1==0){Spell_CD1 = Spell_CD2;}
                int timeout = Spell_CD1-(Time-Spell_StartTime1);if(timeout < 0){timeout = 0;}

                //Check Spell que si il y à un COOLDOWN
                //printf("%d\n",DemonBolt.SpellID);
                if(Time-Spell_StartTime1 <= (Spell_CD1+GlobalGCD/2) && Spell_CD1 > 0)
                {
                    if(bool_checkbox_DebugSpell){if(bool_checkbox_DebugSpell){printf("Spell_ID(%d) timeout(%d) Spell_CD1(%d) GlobalGCD(%d)\n",Spell_ID,Spell_CD1-(Time-Spell_StartTime1),Spell_CD1,GlobalGCD);}}
                    if(bool_checkbox_Rogue)
                    {
                        if(bool_checkbox_SPE1)
                        {
                                if(Spell_ID == CoupDeSabre.SpellID)
                                {CoupDeSabre.TimeLeft = timeout;CoupDeSabre.LastView = Time;}

                           else if(Spell_ID == CoupDePistolet.SpellID)
                                {CoupDePistolet.TimeLeft = timeout;CoupDePistolet.LastView = Time;}

                           else if(Spell_ID == LaMortVenuDenHaut.SpellID)
                                {LaMortVenuDenHaut.TimeLeft = timeout;LaMortVenuDenHaut.LastView = Time;}

                           else if(Spell_ID == Percee.SpellID)
                                {Percee.TimeLeft = timeout;Percee.LastView = Time;}

                           else if(Spell_ID == JetDosselets.SpellID)
                                {JetDosselets.TimeLeft = timeout;JetDosselets.LastView = Time;}

                           else if(Spell_ID == DelugeDeLames.SpellID)
                                {DelugeDeLames.TimeLeft = timeout;DelugeDeLames.LastView = Time;}

                           else if(Spell_ID == PousseeDadrenaline.SpellID)
                                {PousseeDadrenaline.TimeLeft = timeout;PousseeDadrenaline.LastView = Time;}

                           else if(Spell_ID == MaledictionDesLamesDeffroi.SpellID)
                                {MaledictionDesLamesDeffroi.TimeLeft = timeout;MaledictionDesLamesDeffroi.LastView = Time;}

                           else if(Spell_ID == Debiter.SpellID)
                                {Debiter.TimeLeft = timeout;Debiter.LastView = Time;}

                           else if(Spell_ID == BarrageDeCanons.SpellID)
                                {BarrageDeCanons.TimeLeft = timeout;BarrageDeCanons.LastView = Time;}

                           else if(Spell_ID == RogueSelfHeal30Pourcent.SpellID)
                                {RogueSelfHeal30Pourcent.TimeLeft = timeout;RogueSelfHeal30Pourcent.LastView = Time;}

                           else if(Spell_ID == EntreLesDeuxYeux.SpellID)
                                {EntreLesDeuxYeux.TimeLeft = timeout;EntreLesDeuxYeux.LastView = Time;}

                           else if(Spell_ID == Suriner.SpellID)
                                {Suriner.TimeLeft = timeout;Suriner.LastView = Time;}

                           else if(Spell_ID == Trinket1.SpellID)
                                {Trinket1.TimeLeft = timeout;Trinket1.LastView = Time;}

                           else if(Spell_ID == Vanish.SpellID)
                                {Vanish.TimeLeft = timeout;Vanish.LastView = Time;}

                           else if(Spell_ID == SerieMeutriere.SpellID)
                                {SerieMeutriere.TimeLeft = timeout;SerieMeutriere.LastView = Time;}

                           else if(Spell_ID == Trinket2.SpellID)
                                {Trinket2.TimeLeft = timeout;Trinket2.LastView = Time;}

                           else if(Spell_ID == DesignePourMourir.SpellID)
                                {DesignePourMourir.TimeLeft = timeout;DesignePourMourir.LastView = Time;}

                        }
                    }
                    if(bool_checkbox_Drood)
                    {
                        if(bool_checkbox_SPE1)
                        {
                                    if(Spell_ID == Balayage.SpellID)
                            {Balayage.TimeLeft = timeout;Balayage.LastView = Time;}

                            else    if(Spell_ID == Rosser.SpellID)
                            {Rosser.TimeLeft = timeout;Rosser.LastView = Time;}

                            else    if(Spell_ID == Mutilation.SpellID)
                            {Mutilation.TimeLeft = timeout;Mutilation.LastView = Time;}

                            else    if(Spell_ID == Mutiler.SpellID)
                            {Mutiler.TimeLeft = timeout;Mutiler.LastView = Time;}

                            else    if(Spell_ID == MonoStun.SpellID)
                            {MonoStun.TimeLeft = timeout;MonoStun.LastView = Time;}

                            else    if(Spell_ID == RuptMono.SpellID)
                            {RuptMono.TimeLeft = timeout;RuptMono.LastView = Time;}

                            else    if(Spell_ID == RegenerationFrenetique.SpellID)
                            {RegenerationFrenetique.TimeLeft = timeout;RegenerationFrenetique.LastView = Time;}

                            else    if(Spell_ID == InstinctsDeSurvie.SpellID)
                            {InstinctsDeSurvie.TimeLeft = timeout;InstinctsDeSurvie.LastView = Time;}

                            else    if(Spell_ID == Ecorse.SpellID)
                            {Ecorse.TimeLeft = timeout;Ecorse.LastView = Time;}

                            else    if(Spell_ID == RageDuDormeur.SpellID)
                            {RageDuDormeur.TimeLeft = timeout;RageDuDormeur.LastView = Time;}

                            else    if(Spell_ID == EclatLunaire.SpellID)
                            {EclatLunaire.TimeLeft = timeout;EclatLunaire.LastView = Time;}

                            else    if(Spell_ID == Ferpoil.SpellID)
                            {Ferpoil.TimeLeft = timeout;Ferpoil.LastView = Time;}

                        }
                    }
                    if(bool_checkbox_Warlock)
                    {
                        if(bool_checkbox_SPE1)//Demonology
                        {
                                 if(Spell_ID == ShadowBolt.SpellID || Spell_ID == DemonBolt.SpellID)
                                    {ShadowBolt.TimeLeft = timeout;DemonBolt.TimeLeft = timeout;DemonBolt.LastView = Time;ShadowBolt.LastView = Time;}//LINKED

                            else if(Spell_ID == Aoe.SpellID)
                                    {Aoe.TimeLeft = timeout;Aoe.TimeLeft = timeout;}//LINKED

                            else if(Spell_ID == Traqueffrois.SpellID)
                                    {Traqueffrois.TimeLeft = timeout;Traqueffrois.LastView = Time;}

                            else if(Spell_ID == PetGangrorage.SpellID)
                                    {PetGangrorage.TimeLeft = timeout;PetGangrorage.LastView = Time;}

                            else if(Spell_ID == Thalkiel.SpellID)
                                    {Thalkiel.TimeLeft = timeout;Thalkiel.LastView = Time;}

                            else if(Spell_ID == SummonGangregarde.SpellID)
                                    {SummonGangregarde.TimeLeft = timeout;SummonGangregarde.LastView = Time;}

                            else if(Spell_ID == GardeFuneste.SpellID || Spell_ID == Infernal.SpellID)
                                    {GardeFuneste.TimeLeft = timeout;Infernal.TimeLeft = timeout;GardeFuneste.LastView = Time;Infernal.LastView = Time;}//LINKED

                            else if(Spell_ID == HandOfGuldan.SpellID)
                                    {HandOfGuldan.TimeLeft = timeout;HandOfGuldan.LastView = Time;}

                            else if(Spell_ID == BuffPet.SpellID)
                                    {BuffPet.TimeLeft = timeout;BuffPet.LastView = Time;}

                            else if(Spell_ID == Connexion.SpellID)
                                    {Connexion.TimeLeft = timeout;Connexion.LastView = Time;}
                        }
                    }
                    //RATIAL ORC
                    if(Spell_ID == RacialOrc.SpellID)
                        {RacialOrc.TimeLeft = timeout;RacialOrc.LastView = Time;}
                }
                else
                {
                   if(bool_checkbox_DebugSpell){printf("USELESS Spell_ID(%d) timeout(%d) Spell_CD1(%d) GlobalGCD(%d)\n",Spell_ID,Spell_CD1-(Time-Spell_StartTime1),Spell_CD1,GlobalGCD);}
                }
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Base + 0x00), &Base, sizeof(Base), NULL);
                for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
            }
            //NETTOY LES TIMERS DES SPELL (EN CAS DE PB MEMOIRE)
            if(bool_checkbox_Rogue)
            {
                if(bool_checkbox_SPE1)
                {

                            if(CoupDeSabre.LastView != 0 && CoupDeSabre.LastView <= Time-100)
                                {CoupDeSabre.LastView = 0;CoupDeSabre.TimeLeft = 0;}

                            if(CoupDePistolet.LastView != 0 && CoupDePistolet.LastView <= Time-100)
                                {CoupDePistolet.LastView = 0;CoupDePistolet.TimeLeft = 0;}

                            if(LaMortVenuDenHaut.LastView != 0 && LaMortVenuDenHaut.LastView <= Time-100)
                                {LaMortVenuDenHaut.LastView = 0;LaMortVenuDenHaut.TimeLeft = 0;}

                            if(Percee.LastView != 0 && Percee.LastView <= Time-100)
                                {Percee.LastView = 0;Percee.TimeLeft = 0;}

                            if(JetDosselets.LastView != 0 && JetDosselets.LastView <= Time-100)
                                {JetDosselets.LastView = 0;JetDosselets.TimeLeft = 0;}

                            if(DelugeDeLames.LastView != 0 && DelugeDeLames.LastView <= Time-100)
                                {DelugeDeLames.LastView = 0;DelugeDeLames.TimeLeft = 0;}

                            if(PousseeDadrenaline.LastView != 0 && PousseeDadrenaline.LastView <= Time-100)
                                {PousseeDadrenaline.LastView = 0;PousseeDadrenaline.TimeLeft = 0;}

                            if(MaledictionDesLamesDeffroi.LastView != 0 && MaledictionDesLamesDeffroi.LastView <= Time-100)
                                {MaledictionDesLamesDeffroi.LastView = 0;MaledictionDesLamesDeffroi.TimeLeft = 0;}

                            if(Debiter.LastView != 0 && Debiter.LastView <= Time-100)
                                {Debiter.LastView = 0;Debiter.TimeLeft = 0;}

                            if(BarrageDeCanons.LastView != 0 && BarrageDeCanons.LastView <= Time-100)
                                {BarrageDeCanons.LastView = 0;BarrageDeCanons.TimeLeft = 0;}

                            if(RogueSelfHeal30Pourcent.LastView != 0 && RogueSelfHeal30Pourcent.LastView <= Time-100)
                                {RogueSelfHeal30Pourcent.LastView = 0;RogueSelfHeal30Pourcent.TimeLeft = 0;}

                            if(EntreLesDeuxYeux.LastView != 0 && EntreLesDeuxYeux.LastView <= Time-100)
                                {EntreLesDeuxYeux.LastView = 0;EntreLesDeuxYeux.TimeLeft = 0;}

                            if(Suriner.LastView != 0 && Suriner.LastView <= Time-100)
                                {Suriner.LastView = 0;Suriner.TimeLeft = 0;}

                            if(Trinket1.LastView != 0 && Trinket1.LastView <= Time-100)
                                {Trinket1.LastView = 0;Trinket1.TimeLeft = 0;}

                            if(Vanish.LastView != 0 && Vanish.LastView <= Time-100)
                                {Vanish.LastView = 0;Vanish.TimeLeft = 0;}

                            if(SerieMeutriere.LastView != 0 && SerieMeutriere.LastView <= Time-100)
                                {SerieMeutriere.LastView = 0;SerieMeutriere.TimeLeft = 0;}

                            if(Trinket2.LastView != 0 && Trinket2.LastView <= Time-100)
                                {Trinket2.LastView = 0;Trinket2.TimeLeft = 0;}

                            if(DesignePourMourir.LastView != 0 && DesignePourMourir.LastView <= Time-100)
                                {DesignePourMourir.LastView = 0;DesignePourMourir.TimeLeft = 0;}


                }
            }
            if(bool_checkbox_Drood)
            {
                if(bool_checkbox_SPE1)//Demonology
                {
                    if(Balayage.LastView != 0 && Balayage.LastView <= Time-100)
                    {Balayage.LastView = 0;Balayage.TimeLeft = 0;}

                    else if(Rosser.LastView != 0 && Rosser.LastView <= Time-100)
                    {Rosser.LastView = 0;Rosser.TimeLeft = 0;}

                    else if(Mutilation.LastView != 0 && Mutilation.LastView <= Time-100)
                    {Mutilation.LastView = 0;Mutilation.TimeLeft = 0;}

                    else if(Mutiler.LastView != 0 && Mutiler.LastView <= Time-100)
                    {Mutiler.LastView = 0;Mutiler.TimeLeft = 0;}

                    else if(MonoStun.LastView != 0 && MonoStun.LastView <= Time-100)
                    {MonoStun.LastView = 0;MonoStun.TimeLeft = 0;}

                    else if(RuptMono.LastView != 0 && RuptMono.LastView <= Time-100)
                    {RuptMono.LastView = 0;RuptMono.TimeLeft = 0;}

                    else if(RegenerationFrenetique.LastView != 0 && RegenerationFrenetique.LastView <= Time-100)
                    {RegenerationFrenetique.LastView = 0;RegenerationFrenetique.TimeLeft = 0;}

                    else if(InstinctsDeSurvie.LastView != 0 && InstinctsDeSurvie.LastView <= Time-100)
                    {InstinctsDeSurvie.LastView = 0;InstinctsDeSurvie.TimeLeft = 0;}

                    else if(Ecorse.LastView != 0 && Ecorse.LastView <= Time-100)
                    {Ecorse.LastView = 0;Ecorse.TimeLeft = 0;}

                    else if(Ferpoil.LastView != 0 && Ferpoil.LastView <= Time-100)
                    {Ferpoil.LastView = 0;Ferpoil.TimeLeft = 0;}

                    else if(RageDuDormeur.LastView != 0 && RageDuDormeur.LastView <= Time-100)
                    {RageDuDormeur.LastView = 0;RageDuDormeur.TimeLeft = 0;}

                    else if(EclatLunaire.LastView != 0 && EclatLunaire.LastView <= Time-100)
                    {EclatLunaire.LastView = 0;EclatLunaire.TimeLeft = 0;}
                }
            }
            if(bool_checkbox_Warlock)
            {
                if(bool_checkbox_SPE1)//Demonology
                {
                    if(ShadowBolt.LastView != 0 && ShadowBolt.LastView <= Time-100|| DemonBolt.LastView != 0 && DemonBolt.LastView <= Time-100)
                        {DemonBolt.LastView = 0;DemonBolt.TimeLeft = 0;ShadowBolt.LastView = 0;ShadowBolt.TimeLeft = 0;}//LINKED

                    if(Aoe.LastView != 0 && Aoe.LastView <= Time-100)
                        {Aoe.LastView = 0;Aoe.TimeLeft = 0;}//LINKED

                    if(Traqueffrois.LastView != 0 && Traqueffrois.LastView <= Time-100)
                        {Traqueffrois.TimeLeft = 0;Traqueffrois.LastView = 0;}

                    if(PetGangrorage.LastView != 0 && PetGangrorage.LastView <= Time-100)
                        {PetGangrorage.TimeLeft = 0;PetGangrorage.LastView = 0;}

                    if(Thalkiel.LastView != 0 && Thalkiel.LastView <= Time-100)
                        {Thalkiel.TimeLeft = 0;Thalkiel.LastView = 0;}

                    if(SummonGangregarde.LastView != 0 && SummonGangregarde.LastView <= Time-100)
                        {SummonGangregarde.TimeLeft = 0;SummonGangregarde.LastView = 0;}

                    if(HandOfGuldan.LastView != 0 && HandOfGuldan.LastView <= Time-100)
                        {HandOfGuldan.TimeLeft = 0;HandOfGuldan.LastView = 0;}

                    if(BuffPet.LastView != 0 && BuffPet.LastView <= Time-100)
                        {BuffPet.TimeLeft = 0;BuffPet.LastView = 0;}

                    if(Connexion.LastView != 0 && Connexion.LastView <= Time-100)
                        {Connexion.TimeLeft = 0;Connexion.LastView = 0;}

                    if(Infernal.LastView != 0 && Infernal.LastView <= Time-100|| GardeFuneste.LastView != 0 && GardeFuneste.LastView <= Time-100)
                        {GardeFuneste.LastView = 0;GardeFuneste.TimeLeft = 0;Infernal.LastView = 0;Infernal.TimeLeft = 0;}
                }
            }
            //RACIAL ORC
            if(RacialOrc.LastView != 0 && RacialOrc.LastView <= Time-100)
                {RacialOrc.TimeLeft = 0;RacialOrc.LastView = 0;}
            for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
        }
            for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
    }
    Sleep(20);printf("CLOSE SCAN_SPELL\n");
    return true;
}
Code:
DWORD WINAPI SCAN_WoWTime(LPVOID arg)
{
    Sleep(10);printf("START SCAN_WoWTime\n");
    while(bool_checkbox_OnOff && PID)
    {
        ReadProcessMemory(h_Read_Process,(LPCVOID)(WoW64+WowTime), &Time, sizeof(Time), NULL);
            for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
    }
    Sleep(30);printf("CLOSE SCAN_WoWTime\n");
}
Code:
DWORD WINAPI SCAN_PLAYER(LPVOID arg)
{
    Sleep(20);printf("START SCAN_PLAYER\n");
    while(1) //bool_checkbox_OnOff && PID)
    {
            //system("cls");
            //printf("%d %d %d %d\n",AppelDemoniaque.IsEnable, AppelDemoniaque.SpellID,AppelDemoniaque.TimeLeft,AppelDemoniaque.LastView);
            uint64_t Adress_LocalPlayer;
            ReadProcessMemory(h_Read_Process,(LPCVOID)(WoW64+TargetGuid), &MY_TargetGuid, sizeof(MY_TargetGuid), NULL);Sleep(1);
            ReadProcessMemory(h_Read_Process,(LPCVOID)(WoW64+LocalPlayer), &Adress_LocalPlayer, sizeof(Adress_LocalPlayer), NULL);Sleep(1);
            ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetGUID), &MY_Guid, sizeof(MY_Guid), NULL);Sleep(1);
            //ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetX), &Player.X, sizeof(Player.X), NULL);Sleep(1);
            //ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetY), &Player.Y, sizeof(Player.Y), NULL);Sleep(1);
            //ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetZ), &Player.Z, sizeof(Player.Z), NULL);Sleep(1);
            ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetHp), &Player.Hp, sizeof(Player.Hp), NULL);Sleep(1);
            ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetHpMax), &Player.HpMax, sizeof(Player.HpMax), NULL);Sleep(1);
            ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetCastId), &CastId, sizeof(CastId), NULL);Sleep(1);
            ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetCastInst), &CastInst, sizeof(CastInst), NULL);Sleep(1);

            if(CastId != 0){Player.CastId = CastId;}
            if(CastId == 0){ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetChannelId), &Player.CastId, sizeof(Player.CastId), NULL);Sleep(1);}
            Player.HpPourcent = (int)((float)Player.Hp/(float)Player.HpMax*100);

            //check if player HaveTarget
            bool tmp2 = false;
            for(uint8_t i=0;i<16;i++){if(MY_TargetGuid[i]!=0x00){tmp2=true;break;}}
            haveTarget = tmp2;

            if(bool_checkbox_DebugLocalPlayer)
            {

                system("cls");
                printf("------- LocalPlayer Offset ------\n");
                printf("WoW64 ");printf("0x%I64x\n",WoW64);
                printf("LocalPlayer ");printf("0x%I64x\n",LocalPlayer);
                printf("Adress_LocalPlayer ");printf("0x%I64x\n",Adress_LocalPlayer);
                printf("TargetGuid ");printf("0x%I64x\n",TargetGuid);
                printf("offsetGUID ");printf("0x%I64x\n",offsetGUID);
                printf("offsetCastId ");printf("0x%I64x\n",offsetCastId);
                printf("offsetCastInst ");printf("0x%I64x\n",offsetCastInst);
                printf("offsetChannelId ");printf("0x%I64x\n",offsetChannelId);

                printf("------- LocalPlayer Info   ------\n");
                printf("MY_Guid ");for(uint8_t i=0;i<16;i++){printf("%02x",MY_Guid[i]);}printf("\n");
                printf("MY_TargetGuid ");for(uint8_t i=0;i<16;i++){printf("%02x",MY_TargetGuid[i]);}printf("\n");
                printf("MY_Hp ");printf("%d\n",MY_Hp);
                printf("MY_HpMax ");printf("%d\n",MY_HpMax);
                printf("CastId ");printf("%d LINKED\n",CastId);
                printf("ChannelId ");printf("%d LINKED\n",ChannelId);
                printf("CastInst ");printf("%d\n",CastInst);

            }

            if(bool_checkbox_Rogue)
            {
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetMana), &Player.Energie, sizeof(Player.Energie), NULL);Sleep(1);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetSHARD), &Player.CombotPoint, sizeof(Player.CombotPoint), NULL);Sleep(1);
                if(bool_checkbox_DebugLocalPlayer)
                {
                    printf("Player.Energie ");printf("%d\n",Player.Energie);
                    printf("Player.CombotPoint ");printf("%d\n",Player.CombotPoint);
                }
            }
            if(bool_checkbox_Drood)
            {
                INT32 buff_rage = 0;
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetSHARD), &buff_rage, sizeof(Player.Rage), NULL);Sleep(1);
                Player.Rage = buff_rage/10;
                if(bool_checkbox_DebugLocalPlayer)
                {
                    printf("Player.Rage ");printf("%d\n",Player.Rage);
                }
            }
            if(bool_checkbox_Warlock)
            {
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetMana), &Player.Mana, sizeof(Player.Mana), NULL);Sleep(1);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetSHARD), &Player.Shard, sizeof(Player.Shard), NULL);Sleep(1);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Adress_LocalPlayer+offsetManaMax), &Player.ManaMax, sizeof(Player.ManaMax), NULL);Sleep(1);
                Player.ManaPourcent = (int)((float)Player.Mana/(float)Player.ManaMax*100);
                if(bool_checkbox_DebugLocalPlayer)
                {
                    printf("Player.Mana ");printf("%d\n",Player.Mana);
                    printf("Player.ManaMax ");printf("%d\n",Player.ManaMax);
                    printf("Player.ManaPourcent ");printf("%d\n",Player.ManaPourcent);
                    printf("Player.Shard ");printf("%d\n",Player.Shard);
                    printf("offsetMana ");printf("0x%I64x\n",offsetMana);
                    printf("offsetSHARD ");printf("0x%I64x\n",offsetSHARD);
                    printf("offsetManaMax ");printf("0x%I64x\n",offsetManaMax);
                }

                /*for(uint8_t i=0;i<16;i++){
                        printf("%02x",MY_Guid[i]);
                }printf("\n");*/
                //system("pause");
                //printf(" %d %d %d %d\n",MY_Mana,Player.Shard,MY_ManaMax,MY_ManaPourcent);
                //printf("%d\n",MY_HpPourcent);
            }
            if(bool_checkbox_DebugLocalPlayer && bool_checkbox_OnOff && PID){Sleep(100);}
            for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
            /*
                if(
                    (MY_Guid[0] == 0 && MY_Guid[1] == 0 && MY_Guid[2] == 0)
                    ||
                    (MY_TargetGuid[0] == 0 && MY_TargetGuid[1] == 0 && MY_TargetGuid[2] == 0)
                    || (MY_Hp < 100000)
                    || (MY_HpMax < 100000)
                   )
                {
                    LocalPlayer = LocalPlayer +4;
                    printf("LocalPlayer ");printf("0x%I64x\n",LocalPlayer);
                }
                else
                {
                        if(bool_checkbox_DebugLocalPlayer)
                        {
                            system("cls");
                            printf("------- LocalPlayer Offset ------\n");
                            printf("WoW64 ");printf("0x%I64x\n",WoW64);
                            printf("LocalPlayer ");printf("0x%I64x\n",LocalPlayer);
                            printf("Adress_LocalPlayer ");printf("0x%I64x\n",Adress_LocalPlayer);
                            printf("TargetGuid ");printf("0x%I64x\n",TargetGuid);
                            printf("offsetGUID ");printf("0x%I64x\n",offsetGUID);
                            printf("offsetCastId ");printf("0x%I64x\n",offsetCastId);
                            printf("offsetCastInst ");printf("0x%I64x\n",offsetCastInst);
                            printf("offsetChannelId ");printf("0x%I64x\n",offsetChannelId);

                            printf("------- LocalPlayer Info   ------\n");
                            printf("MY_Guid ");for(uint8_t i=0;i<16;i++){printf("%02x",MY_Guid[i]);}printf("\n");
                            printf("MY_TargetGuid ");for(uint8_t i=0;i<16;i++){printf("%02x",MY_TargetGuid[i]);}printf("\n");
                            printf("MY_Hp ");printf("%d\n",MY_Hp);
                            printf("MY_HpMax ");printf("%d\n",MY_HpMax);
                            printf("CastId ");printf("%d LINKED\n",CastId);
                            printf("ChannelId ");printf("%d LINKED\n",ChannelId);
                            printf("CastInst ");printf("%d\n",CastInst);
                        }
                }
*/

    }
    //Sleep(40);printf("CLOSE SCAN_PLAYER\n");
    return true;
}
Code:
DWORD WINAPI SCAN_CHARGE(LPVOID arg)
{
    Sleep(30);printf("START SCAN_CHARGE\n");
    int EntryID = 0;
    BYTE Charges = 0;
    while(bool_checkbox_OnOff && PID)
    {
        uint64_t Base = WoW64 + SpellCharge;
        uint64_t tmp;
        while(bool_checkbox_OnOff && PID)
        {
            if(bool_checkbox_DebugCharge)
            {
                system("cls");
                if(bool_checkbox_Paladin)
                {
                    if(bool_checkbox_SPE1)
                    {
                        printf("MainDuProtecteur.ChargeID  (%d)\n",MainDuProtecteur.ChargeID);
                        printf("MainDuProtecteur.MaxCharge  (%d)\n",MainDuProtecteur.MaxCharge);
                        printf("MainDuProtecteur.CurrentCharge  (%d)\n",MainDuProtecteur.CurrentCharge);
                        printf("MainDuProtecteur.IsEnable  (%d)\n\n",MainDuProtecteur.IsEnable);

                        printf("LumiereDuProtecteur.ChargeID  (%d)\n",LumiereDuProtecteur.ChargeID);
                        printf("LumiereDuProtecteur.MaxCharge  (%d)\n",LumiereDuProtecteur.MaxCharge);
                        printf("LumiereDuProtecteur.CurrentCharge  (%d)\n",LumiereDuProtecteur.CurrentCharge);
                        printf("LumiereDuProtecteur.IsEnable  (%d)\n\n",LumiereDuProtecteur.IsEnable);
                    }
                }
            }


            ReadProcessMemory(h_Read_Process,(LPCVOID)(Base), &tmp, sizeof(tmp), NULL);
            for(int i = 0;i<50;i++)
            {
                EntryID = 0;
                Charges = 0;
                ReadProcessMemory(h_Read_Process,(LPCVOID)(tmp + 0x10), &EntryID, sizeof(EntryID), NULL);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(tmp + 0x14), &Charges, sizeof(Charges), NULL);
                if(EntryID == 0){break;}
                //PALADIN
                if(bool_checkbox_Paladin)
                {
                    if(bool_checkbox_SPE1)//protection
                    {
                        if(EntryID == MainDuProtecteur.ChargeID || EntryID == LumiereDuProtecteur.ChargeID)
                        {
                            MainDuProtecteur.LastView = Time;
                            LumiereDuProtecteur.LastView = Time;
                            MainDuProtecteur.CurrentCharge = MainDuProtecteur.MaxCharge - Charges;
                            LumiereDuProtecteur.CurrentCharge = MainDuProtecteur.MaxCharge - Charges;
                            if(MainDuProtecteur.CurrentCharge <= 0){MainDuProtecteur.IsEnable = false;}else{MainDuProtecteur.IsEnable = true;}
                            if(LumiereDuProtecteur.CurrentCharge <= 0){LumiereDuProtecteur.IsEnable = false;}else{LumiereDuProtecteur.IsEnable = true;}
                        }
                    }
                }
                //DROOD
                if(bool_checkbox_Drood)
                {
                    if(bool_checkbox_SPE1)//tank
                    {
                        if(EntryID == Charge_InstinctsDeSurvie.ChargeID)
                        {
                            Charge_InstinctsDeSurvie.LastView = Time;
                            Charge_InstinctsDeSurvie.CurrentCharge = Charge_InstinctsDeSurvie.MaxCharge - Charges;
                            if(Charge_InstinctsDeSurvie.CurrentCharge <= 0){Charge_InstinctsDeSurvie.IsEnable = false;}else{Charge_InstinctsDeSurvie.IsEnable = true;}
                        }
                        else if(EntryID == Charge_RegenerationFrenetique.ChargeID)
                        {
                            Charge_RegenerationFrenetique.LastView = Time;
                            Charge_RegenerationFrenetique.CurrentCharge = Charge_RegenerationFrenetique.MaxCharge - Charges;
                            if(Charge_RegenerationFrenetique.CurrentCharge <= 0){Charge_RegenerationFrenetique.IsEnable = false;}else{Charge_RegenerationFrenetique.IsEnable = true;}
                        }
                    }
                }
                    if(bool_checkbox_DebugCharge){printf("%d,%d\n",EntryID,Charges);}

                ReadProcessMemory(h_Read_Process,(LPCVOID)(tmp + 0x08), &tmp, sizeof(tmp), NULL);
            for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
            }
            //NETTOYAGE
            if(bool_checkbox_Paladin)
            {
                if(bool_checkbox_SPE1)//protection
                {
                    if((MainDuProtecteur.LastView != 0 && MainDuProtecteur.LastView <= Time-100) || (LumiereDuProtecteur.LastView != 0 && LumiereDuProtecteur.LastView <= Time-100))
                    {
                        MainDuProtecteur.LastView = 0;
                        LumiereDuProtecteur.LastView = 0;
                        MainDuProtecteur.CurrentCharge = MainDuProtecteur.MaxCharge - Charges;
                        LumiereDuProtecteur.CurrentCharge = MainDuProtecteur.MaxCharge - Charges;
                        if(MainDuProtecteur.CurrentCharge <= 0){MainDuProtecteur.IsEnable = false;}else{MainDuProtecteur.IsEnable = true;}
                        if(LumiereDuProtecteur.CurrentCharge <= 0){LumiereDuProtecteur.IsEnable = false;}else{LumiereDuProtecteur.IsEnable = true;}
                    }
                }
            }
                            //DROOD
            if(bool_checkbox_Drood)
            {
                if(bool_checkbox_SPE1)//tank
                {
                    if(Charge_InstinctsDeSurvie.LastView != 0 && Charge_InstinctsDeSurvie.LastView <= Time-100)
                    {
                        Charge_InstinctsDeSurvie.LastView = 0;
                        Charge_InstinctsDeSurvie.CurrentCharge = Charge_InstinctsDeSurvie.MaxCharge - Charges;
                        if(Charge_InstinctsDeSurvie.CurrentCharge <= 0){Charge_InstinctsDeSurvie.IsEnable = false;}else{Charge_InstinctsDeSurvie.IsEnable = true;}
                    }
                    else if(Charge_RegenerationFrenetique.LastView != 0 && Charge_RegenerationFrenetique.LastView <= Time-100)
                    {
                        Charge_RegenerationFrenetique.LastView = 0;
                        Charge_RegenerationFrenetique.CurrentCharge = Charge_RegenerationFrenetique.MaxCharge - Charges;
                        if(Charge_RegenerationFrenetique.CurrentCharge <= 0){Charge_RegenerationFrenetique.IsEnable = false;}else{Charge_RegenerationFrenetique.IsEnable = true;}
                    }
                }
            }
            for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
        }
        for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
    }
    Sleep(50);printf("CLOSE SCAN_CHARGE\n");
    return true;
}


empathe is offline  
Old   #3
 
elite*gold: 0
Join Date: Nov 2009
Posts: 16
Received Thanks: 2
Code:
DWORD WINAPI SCAN_ENTITY(LPVOID arg)
{
    enum
    {
        Undefine = -1,
        Object = 0,
        Item = 1,
        Container = 2,
        Unit = 3,
        Player = 4,
        GameObject = 5,
        DynamicObject = 6,
        Corpse = 7,
        AiGroup = 8,
        AreaTrigger = 9
    };
    /*
    //AuraCount1 = 0x25B8,
    AuraCount1 = 0x26C0,
    AuraCount2 = 0x1DC0,
    AuraTable1 = 0x1DC0,
    //AuraTable2 = 0x2650,
    AuraTable2 = 0x1DC8,

    AuraSize = 0x90,
    AuraTableOffset = 0x00,
    OwnerGUID = 0x50,
    AuraSpellId = 0x60,
    AuraFlags = 0x68,
    AuraStack = 0x69,
    AuraLevel = 0x6A,
    TimeLeft = 0x70,

    //For GCD Modifications:
    CurrentHaste = 0xAA18,
    */
    INT32 AuraCount1 = 0x26C0;//0x1DC0;
    INT32 AuraCount2 = 0x1DC0;//-0x18;//0x26C0;

    Sleep(40);printf("START SCAN_ENTITY\n");
    while(bool_checkbox_OnOff && PID)
    {
        uint64_t BaseAdress;
        uint64_t Adress_Entity;
        ReadProcessMemory(h_Read_Process,(LPCVOID)(WoW64+EntityList), &BaseAdress, sizeof(BaseAdress), NULL);
        ReadProcessMemory(h_Read_Process,(LPCVOID)(BaseAdress+FirstEntity), &BaseAdress, sizeof(BaseAdress), NULL);
        short Entity_EntityType = 1;
        uint64_t Entity_Descriptors;
        uint64_t AuraBase;
        BYTE Entity_GlobalID[16];
        BYTE UnitCreator[16];
        BYTE SpellOwner[16];


        INT32 AuraOwnerGUID = 0x50;
        INT32 AuraSpellID = 0x60;
        INT32 AuraTimeLeft = 0x70;
        INT32 TimeLeft;
        INT32 AuraSize = 0x90;
        INT32 SpellID;
        int TotalNumberAura = 0;
        INT32 CountSize2 = 0;
        uint64_t entryBuff;
        //check buff
        INT32 w8 = 0;
        if(bool_checkbox_DebugAura){Sleep(100);system("cls");}

        //pecheur !
        INT32 ObjectCreator = 0x30;
        BYTE ObjectCreatorGUID[16];

        while(bool_checkbox_OnOff && PID)
        {
            if(bool_checkbox_Warlock || bool_checkbox_Rogue || bool_checkbox_Drood)
            {
                bool tmp = true;
                ReadProcessMemory(h_Read_Process,(LPCVOID)(BaseAdress+EntityType), &Entity_EntityType, sizeof(Entity_EntityType), NULL);
                if(Entity_EntityType>=10||Entity_EntityType<=-2||BaseAdress==0){break;}

                ReadProcessMemory(h_Read_Process,(LPCVOID)(BaseAdress+Descriptors), &Entity_Descriptors, sizeof(Entity_Descriptors), NULL);
                ReadProcessMemory(h_Read_Process,(LPCVOID)(Entity_Descriptors+GlobalID), &Entity_GlobalID, sizeof(Entity_GlobalID), NULL);
                switch(Entity_EntityType)
                {
                    default:
                    case Undefine:
                    case Object:
                    case Item:
                    case Container:
                        break;
                    case Unit:
                        //scan uniquement target
                        for(uint8_t i=0;i<16;i++){if(MY_TargetGuid[i]!=Entity_GlobalID[i]){tmp=false;break;}}
                        if(tmp)
                        {
                            //UnitCreator
                            ReadProcessMemory(h_Read_Process,(LPCVOID)(Entity_Descriptors+0x80), &UnitCreator, sizeof(UnitCreator), NULL);
                            //printf("BaseAdress %I64x\n",BaseAdress);
                            //printf("Entity_Descriptors %I64x\n",Entity_Descriptors);
                            //printf("UnitCreator=");
                            //for(uint8_t i=0;i<16;i++){printf("%02x",UnitCreator[i]);}printf("\n");
                            //printf("0x%I64x %d %d\n",Entity_Descriptors+0x26C0,AuraCount1,AuraCount2);
                        }
                        ReadProcessMemory(h_Read_Process,(LPCVOID)(Entity_Descriptors+ObjectCreator), &ObjectCreatorGUID, sizeof(ObjectCreatorGUID), NULL);
                        if(bool_checkbox_DebugPecheur)
                        {
                            bool tmp = true;
                            for(uint8_t i=0;i<16;i++){if(MY_TargetGuid[i]!=Entity_GlobalID[i]){tmp=false;break;}}
                            if(tmp)
                            {
                                printf("BOUCHON !\n");
                            }
                        }
                        break;
                    case Player:
                        //scan uniquement nous
                        for(uint8_t i=0;i<16;i++){if(MY_Guid[i]!=Entity_GlobalID[i]){tmp=false;break;}}
                        if(tmp)
                        {
                            TimeLimit = GetTickCount()+2000;
                        }
                        break;
                    case GameObject:
                        break;
                    case DynamicObject:
                        break;
                    case Corpse:
                        break;
                    case AiGroup:
                        break;
                    case AreaTrigger:
                        break;
                }
                tmp = true;
                /*
                    public struct Aura
    {
        [FieldOffset(0x50)] public WowGuid CasterGuid;
        [FieldOffset(0x60)] public int SpellId;
        [FieldOffset(0x68)] public AuraFlags Flags;      //
        [FieldOffset(0x69)] public byte StackCount;   .
        [FieldOffset(0x70)] public int TimeLeft;
    }
    */

                switch(Entity_EntityType)
                {
                    case Player:
                    case Unit:
                        //check aura //myGuid

                        for(uint8_t i=0;i<16;i++){if(MY_Guid[i]!=Entity_GlobalID[i]){tmp=false;break;}}
                        if(tmp)
                        {

                            //system("cls");
                            ReadProcessMemory(h_Read_Process,(LPCVOID)(BaseAdress+AuraCount1), &TotalNumberAura, sizeof(TotalNumberAura), NULL);
                            //printf("FIRST TotalNumberAura =(%d)\n\n",TotalNumberAura);
                            if(TotalNumberAura <= 0 || TotalNumberAura > 16)
                            {
                               ReadProcessMemory(h_Read_Process,(LPCVOID)(BaseAdress+AuraCount2), &TotalNumberAura, sizeof(TotalNumberAura), NULL);
                               //printf("SECOND TotalNumberAura =(%d)\n\n",TotalNumberAura);
                               ReadProcessMemory(h_Read_Process,(LPCVOID)(BaseAdress+AuraCount2+0x8), &AuraBase, sizeof(AuraBase), NULL);
                               //printf("SECOND AuraBase =(0x%I64x)\n\n",AuraBase);
                            }
                            else
                            {
                                AuraBase = BaseAdress+AuraCount2;
                            }

                            for(int p=0;p<TotalNumberAura;p++)
                            {

                                entryBuff = AuraBase + AuraSize * p;
                                ReadProcessMemory(h_Read_Process,(LPCVOID)(entryBuff+AuraOwnerGUID), &SpellOwner, sizeof(SpellOwner), NULL);
                                tmp = true;
                                for(uint8_t i=0;i<16;i++){if(MY_Guid[i]!=Entity_GlobalID[i]){tmp=false;break;}}
                                if(tmp)//MON GUID
                                {
                                    ReadProcessMemory(h_Read_Process,(LPCVOID)(entryBuff+AuraSpellID), &SpellID, sizeof(SpellID), NULL);
                                    ReadProcessMemory(h_Read_Process,(LPCVOID)(entryBuff+AuraTimeLeft), &TimeLeft, sizeof(TimeLeft), NULL);
                                    if(bool_checkbox_Drood)
                                    {
                                        //TANK DROOD
                                        if(bool_checkbox_SPE1)
                                        {
                                            if(SpellID == Free_EclatLunaire.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Free_EclatLunaire.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Free_EclatLunaire.IsEnable = false;
                                                }
                                                Free_EclatLunaire.TimeLeft = TimeLeft-Time;Free_EclatLunaire.LastView=Time;
                                            }
                                            else if(SpellID == Free_Mutilation.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Free_Mutilation.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Free_Mutilation.IsEnable = false;
                                                }
                                                Free_Mutilation.TimeLeft = TimeLeft-Time;Free_Mutilation.LastView=Time;
                                            }
                                            else if(SpellID == Buff_Ecorse.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Buff_Ecorse.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Buff_Ecorse.IsEnable = false;
                                                }
                                                Buff_Ecorse.TimeLeft = TimeLeft-Time;Buff_Ecorse.LastView=Time;
                                            }
                                            else if(SpellID == Buff_RageDuDormeur.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Buff_RageDuDormeur.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Buff_RageDuDormeur.IsEnable = false;
                                                }
                                                Buff_RageDuDormeur.TimeLeft = TimeLeft-Time;Buff_RageDuDormeur.LastView=Time;
                                            }
                                            else if(SpellID == Buff_InstinctsDeSurvie.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Buff_InstinctsDeSurvie.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Buff_InstinctsDeSurvie.IsEnable = false;
                                                }
                                                Buff_InstinctsDeSurvie.TimeLeft = TimeLeft-Time;Buff_InstinctsDeSurvie.LastView=Time;
                                            }
                                            else if(SpellID == Buff_Ferpoil.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Buff_Ferpoil.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Buff_Ferpoil.IsEnable = false;
                                                }
                                                Buff_Ferpoil.TimeLeft = TimeLeft-Time;Buff_Ferpoil.LastView=Time;
                                            }
                                            else if(SpellID == Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.IsEnable = false;
                                                }
                                                Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.TimeLeft = TimeLeft-Time;Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.LastView=Time;
                                            }
                                            else if(SpellID == BuffRegenerationFrenetique.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BuffRegenerationFrenetique.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BuffRegenerationFrenetique.IsEnable = false;
                                                }
                                                BuffRegenerationFrenetique.TimeLeft = TimeLeft-Time;BuffRegenerationFrenetique.LastView=Time;
                                            }
                                        }
                                    }
                                    else if(bool_checkbox_Warlock)
                                    {
                                        //Demonology
                                        if(bool_checkbox_SPE1)
                                        {
                                            if(SpellID == AppelDemoniaque.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    AppelDemoniaque.IsEnable = true;
                                                }
                                                else
                                                {
                                                    AppelDemoniaque.IsEnable = false;
                                                }
                                                AppelDemoniaque.TimeLeft = TimeLeft-Time;AppelDemoniaque.LastView=Time;
                                            }
                                        }
                                    }
                                    else if(bool_checkbox_Rogue)
                                    {
                                        if(bool_checkbox_SPE1)
                                        {
                                            if(SpellID == FreeCoupDePistolet.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    FreeCoupDePistolet.IsEnable = true;
                                                }
                                                else
                                                {
                                                    FreeCoupDePistolet.IsEnable = false;
                                                }
                                                FreeCoupDePistolet.TimeLeft = TimeLeft-Time;FreeCoupDePistolet.LastView=Time;
                                            }
                                            if(SpellID == TronBlon.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    TronBlon.IsEnable = true;
                                                }
                                                else
                                                {
                                                    TronBlon.IsEnable = false;
                                                }
                                                TronBlon.TimeLeft = TimeLeft-Time;TronBlon.LastView=Time;
                                            }

                                            else if(SpellID == BonusHatePonction.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusHatePonction.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusHatePonction.IsEnable = false;
                                                }
                                                BonusHatePonction.TimeLeft = TimeLeft-Time;BonusHatePonction.LastView=Time;
                                            }
                                            else if(SpellID == BonusDebiter.SpellID)
                                            {
                                                //printf("%d %d\n",TimeLeft,TimeLeft-Time);
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusDebiter.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusDebiter.IsEnable = false;
                                                }
                                                BonusDebiter.TimeLeft = TimeLeft-Time;BonusDebiter.LastView=Time;
                                            }
                                            else if(SpellID == BonusMaledictionDesLamesDeffroi.SpellID)
                                            {
                                                //printf("BonusMaledictionDesLamesDeffroi.SpellID\n");
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusMaledictionDesLamesDeffroi.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusMaledictionDesLamesDeffroi.IsEnable = false;
                                                }
                                                BonusMaledictionDesLamesDeffroi.TimeLeft = TimeLeft-Time;BonusMaledictionDesLamesDeffroi.LastView=Time;
                                            }
                                            else if(SpellID == BonusAdrenaline.SpellID)
                                            {
                                                //printf("BonusAdrenaline.SpellID\n");
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusAdrenaline.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusAdrenaline.IsEnable = false;
                                                }
                                                BonusAdrenaline.TimeLeft = TimeLeft-Time;BonusAdrenaline.LastView=Time;
                                            }
                                            else if(SpellID == Bonus100PourcentKrit.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Bonus100PourcentKrit.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Bonus100PourcentKrit.IsEnable = false;
                                                }
                                                if(TimeLeft-Time < 0 && Bonus100PourcentKrit.IsEnable)
                                                {
                                                    Bonus100PourcentKrit.TimeLeft = 6000;
                                                }
                                                else
                                                {
                                                    Bonus100PourcentKrit.TimeLeft = TimeLeft-Time;
                                                }
                                                Bonus100PourcentKrit.LastView=Time;
                                            }
                                            else if(SpellID == FuFu.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    FuFu.IsEnable = true;
                                                }
                                                else
                                                {
                                                    FuFu.IsEnable = false;
                                                }
                                                if(TimeLeft-Time < 0 && FuFu.IsEnable)
                                                {
                                                    FuFu.TimeLeft = 6000;
                                                }
                                                else
                                                {
                                                    FuFu.TimeLeft = TimeLeft-Time;
                                                }
                                                FuFu.LastView=Time;
                                            }

                                            else if(SpellID == BonusEnergieRegen.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusEnergieRegen.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusEnergieRegen.IsEnable = false;
                                                }
                                                BonusEnergieRegen.TimeLeft = TimeLeft-Time;BonusEnergieRegen.LastView=Time;
                                            }

                                            else if(SpellID == BonusCombotPlusUn.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusCombotPlusUn.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusCombotPlusUn.IsEnable = false;
                                                }
                                                BonusCombotPlusUn.TimeLeft = TimeLeft-Time;BonusCombotPlusUn.LastView=Time;
                                            }

                                            else if(SpellID == BonusCoupDeSabre.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusCoupDeSabre.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusCoupDeSabre.IsEnable = false;
                                                }
                                                BonusCoupDeSabre.TimeLeft = TimeLeft-Time;BonusCoupDeSabre.LastView=Time;
                                            }

                                            else if(SpellID == BonusCollDown.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusCollDown.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusCollDown.IsEnable = false;
                                                }
                                                BonusCollDown.TimeLeft = TimeLeft-Time;BonusCollDown.LastView=Time;
                                            }

                                            else if(SpellID == BonusKrit.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusKrit.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusKrit.IsEnable = false;
                                                }
                                                BonusKrit.TimeLeft = TimeLeft-Time;BonusKrit.LastView=Time;
                                            }
                                            else if(SpellID == BonusDegatsCoupDePistolet.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusDegatsCoupDePistolet.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusDegatsCoupDePistolet.IsEnable = false;
                                                }
                                                BonusDegatsCoupDePistolet.TimeLeft = TimeLeft-Time;BonusDegatsCoupDePistolet.LastView=Time;
                                            }
                                            else if(SpellID == LegBrassard.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    LegBrassard.IsEnable = true;
                                                }
                                                else
                                                {
                                                    LegBrassard.IsEnable = false;
                                                }
                                                LegBrassard.TimeLeft = TimeLeft-Time;LegBrassard.LastView=Time;
                                            }

                                            else if(SpellID == BonusHate.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusHate.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusHate.IsEnable = false;
                                                }
                                                BonusHate.TimeLeft = TimeLeft-Time;BonusHate.LastView=Time;
                                            }
                                            else if(SpellID == BonusAdrenaline.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusAdrenaline.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusAdrenaline.IsEnable = false;
                                                }
                                                BonusAdrenaline.TimeLeft = TimeLeft-Time;BonusAdrenaline.LastView=Time;
                                            }
                                            else if(SpellID == BonusMaledictionDesLamesDeffroi.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusMaledictionDesLamesDeffroi.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusMaledictionDesLamesDeffroi.IsEnable = false;
                                                }
                                                BonusMaledictionDesLamesDeffroi.TimeLeft = TimeLeft-Time;BonusMaledictionDesLamesDeffroi.LastView=Time;
                                            }
                                            else if(SpellID == BonusDebiter.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    BonusDebiter.IsEnable = true;
                                                }
                                                else
                                                {
                                                    BonusDebiter.IsEnable = false;
                                                }
                                                BonusDebiter.TimeLeft = TimeLeft-Time;BonusDebiter.LastView=Time;
                                            }
                                            else if(SpellID == Bonus100PourcentKrit.SpellID)
                                            {
                                                if(TimeLeft == 0 || (TimeLeft > 0 && TimeLeft-Time >= 0))
                                                {
                                                    Bonus100PourcentKrit.IsEnable = true;
                                                }
                                                else
                                                {
                                                    Bonus100PourcentKrit.IsEnable = false;
                                                }
                                                if(TimeLeft-Time < 0 && Bonus100PourcentKrit.IsEnable)
                                                {
                                                    Bonus100PourcentKrit.TimeLeft = 6000;
                                                }
                                                else
                                                {
                                                    Bonus100PourcentKrit.TimeLeft = TimeLeft-Time;
                                                }
                                                Bonus100PourcentKrit.LastView=Time;
                                            }
                                        }
                                    }
                                            if(bool_checkbox_DebugAura)
                                            {
                                                bool tg = true;
                                                if(new_idd == false)
                                                {
                                                    new_id[new_idd_cpt++] = SpellID;
                                                    tg = true;
                                                }
                                                else
                                                {
                                                    tg = false;
                                                    for(int d = 0;d<500;d++)
                                                    {
                                                        if(SpellID == new_id[d])
                                                        {
                                                            tg = true;break;
                                                        }
                                                    }
                                                }
                                                if(tg == false)
                                                {
                                                    printf("SpellID(%d) (%d)\n",SpellID,TimeLeft);
                                                }
                                                /*
                                                if(SpellID == 202848){Beep(1000,100);}
                                                if(TimeLeft != 0 && SpellID != 0)
                                                {

                                                    printf("SpellID(%d) (%d)\n",SpellID,TimeLeft);
                                                }*/
                                            }
                                }
                            }

                            //NETTOI LES BUFFS
                            if(bool_checkbox_Warlock)
                            {
                                //Demonology
                                if(bool_checkbox_SPE1)
                                {
                                    if(AppelDemoniaque.LastView < Time-100 && AppelDemoniaque.LastView != 0){AppelDemoniaque.IsEnable = false;AppelDemoniaque.TimeLeft = 0;AppelDemoniaque.LastView = 0;}
                                }
                            }
                            else if(bool_checkbox_Rogue)
                            {
                                //OUTLOW
                                if(bool_checkbox_SPE1)
                                {
                                    if(BonusHate.LastView < Time-100 && BonusHate.LastView != 0){BonusHate.IsEnable = false;BonusHate.TimeLeft = 0;BonusHate.LastView = 0;}
                                    if(BonusDebiter.LastView < Time-100 && BonusDebiter.LastView != 0){BonusDebiter.IsEnable = false;BonusDebiter.TimeLeft = 0;BonusDebiter.LastView = 0;}
                                    if(BonusAdrenaline.LastView < Time-100 && BonusAdrenaline.LastView != 0){BonusAdrenaline.IsEnable = false;BonusAdrenaline.TimeLeft = 0;BonusAdrenaline.LastView = 0;}
                                    if(BonusMaledictionDesLamesDeffroi.LastView < Time-250 && BonusMaledictionDesLamesDeffroi.LastView != 0){BonusMaledictionDesLamesDeffroi.IsEnable = false;BonusMaledictionDesLamesDeffroi.TimeLeft = 0;BonusMaledictionDesLamesDeffroi.LastView = 0;}
                                    if(Bonus100PourcentKrit.LastView < Time-100 && Bonus100PourcentKrit.LastView != 0){Bonus100PourcentKrit.IsEnable = false;Bonus100PourcentKrit.TimeLeft = 0;Bonus100PourcentKrit.LastView = 0;}
                                    if(FuFu.LastView < Time-100 && FuFu.LastView != 0){FuFu.IsEnable = false;FuFu.TimeLeft = 0;FuFu.LastView = 0;}
                                    if(BonusCoupDeSabre.LastView < Time-100 && BonusCoupDeSabre.LastView != 0){BonusCoupDeSabre.IsEnable = false;BonusCoupDeSabre.TimeLeft = 0;BonusCoupDeSabre.LastView = 0;}
                                    if(BonusCollDown.LastView < Time-100 && BonusCollDown.LastView != 0){BonusCollDown.IsEnable = false;BonusCollDown.TimeLeft = 0;BonusCollDown.LastView = 0;}
                                    if(BonusKrit.LastView < Time-100 && BonusKrit.LastView != 0){BonusKrit.IsEnable = false;BonusKrit.TimeLeft = 0;BonusKrit.LastView = 0;}
                                    if(BonusDegatsCoupDePistolet.LastView < Time-100 && BonusDegatsCoupDePistolet.LastView != 0){BonusDegatsCoupDePistolet.IsEnable = false;BonusDegatsCoupDePistolet.TimeLeft = 0;BonusDegatsCoupDePistolet.LastView = 0;}
                                    if(LegBrassard.LastView < Time-100 && LegBrassard.LastView != 0){LegBrassard.IsEnable = false;LegBrassard.TimeLeft = 0;LegBrassard.LastView = 0;}
                                    if(BonusCombotPlusUn.LastView < Time-100 && BonusCombotPlusUn.LastView != 0){BonusCombotPlusUn.IsEnable = false;BonusCombotPlusUn.TimeLeft = 0;BonusCombotPlusUn.LastView = 0;}
                                    if(BonusEnergieRegen.LastView < Time-100 && BonusEnergieRegen.LastView != 0){BonusEnergieRegen.IsEnable = false;BonusEnergieRegen.TimeLeft = 0;BonusEnergieRegen.LastView = 0;}
                                    if(BonusHatePonction.LastView < Time-100 && BonusHatePonction.LastView != 0){BonusHatePonction.IsEnable = false;BonusHatePonction.TimeLeft = 0;BonusHatePonction.LastView = 0;}
                                    if(FreeCoupDePistolet.LastView < Time-100 && FreeCoupDePistolet.LastView != 0){FreeCoupDePistolet.IsEnable = false;FreeCoupDePistolet.TimeLeft = 0;FreeCoupDePistolet.LastView = 0;}
                                    if(TronBlon.LastView < Time-100 && TronBlon.LastView != 0){TronBlon.IsEnable = false;TronBlon.TimeLeft = 0;TronBlon.LastView = 0;}
                                }
                            }
                            else if(bool_checkbox_Drood)
                            {
                                //DROOD
                                if(bool_checkbox_SPE1)
                                {
                                    if(Free_EclatLunaire.LastView < Time-100 && Free_EclatLunaire.LastView != 0){Free_EclatLunaire.IsEnable = false;Free_EclatLunaire.TimeLeft = 0;Free_EclatLunaire.LastView = 0;}
                                    if(Free_Mutilation.LastView < Time-100 && Free_Mutilation.LastView != 0){Free_Mutilation.IsEnable = false;Free_Mutilation.TimeLeft = 0;Free_Mutilation.LastView = 0;}
                                    if(Buff_Ecorse.LastView < Time-100 && Buff_Ecorse.LastView != 0){Buff_Ecorse.IsEnable = false;Buff_Ecorse.TimeLeft = 0;Buff_Ecorse.LastView = 0;}
                                    if(Buff_RageDuDormeur.LastView < Time-100 && Buff_RageDuDormeur.LastView != 0){Buff_RageDuDormeur.IsEnable = false;Buff_RageDuDormeur.TimeLeft = 0;Buff_RageDuDormeur.LastView = 0;}
                                    if(Buff_InstinctsDeSurvie.LastView < Time-100 && Buff_InstinctsDeSurvie.LastView != 0){Buff_InstinctsDeSurvie.IsEnable = false;Buff_InstinctsDeSurvie.TimeLeft = 0;Buff_InstinctsDeSurvie.LastView = 0;}
                                    if(Buff_Ferpoil.LastView < Time-100 && Buff_Ferpoil.LastView != 0){Buff_Ferpoil.IsEnable = false;Buff_Ferpoil.TimeLeft = 0;Buff_Ferpoil.LastView = 0;}
                                    if(Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.LastView < Time-100 && Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.LastView != 0){Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.IsEnable = false;Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.TimeLeft = 0;Buff_Bonus_Ferpoil_Ou_RegenerationFrenetique.LastView = 0;}
                                    if(BuffRegenerationFrenetique.LastView < Time-100 && BuffRegenerationFrenetique.LastView != 0){BuffRegenerationFrenetique.IsEnable = false;BuffRegenerationFrenetique.TimeLeft = 0;BuffRegenerationFrenetique.LastView = 0;}
                                }
                            }
                        }
                    break;
                    default:break;
                }
                ReadProcessMemory(h_Read_Process,(LPCVOID)(BaseAdress+NextEntity), &BaseAdress, sizeof(BaseAdress), NULL);
            }
            //no lag
            if(bool_checkbox_OnOff && PID && w8 > 20){Sleep(1);w8=0;}w8++;
        }
        if(new_idd == false)
        {
            new_idd = true;
        }
        //no lag
        for(int t = 0; t < 25 && PID && NeedFast;t++){Sleep(1);}if(bool_checkbox_OnOff && PID){if(NeedFast){Sleep(1);}else{Sleep(1);}}
    }
    Sleep(60);printf("CLOSE SCAN_ENTITY\n");
    return true;
}
Code:
uint64_t FindPattern(uint64_t start,uint64_t range,INT32 offset,INT32 p[],INT32 sizeP)
{
    if(DebugPattern)
    {

        for(INT32 i = 0;i<sizeP;i++)
        {
            if(i == 0){printf("Search...\n{0x%x",p[i]);}
            else{printf(",0x%x",p[i]);}
        }
        //EnableDebugPriv();
        HANDLE phandle;
        //phandle = OpenProcess(PROCESS_ALL_ACCESS, 0, PID);
        phandle = OpenProcess(PROCESS_VM_READ, 0, PID);
        uint64_t ended = start+range;
        while(start < ended)
        {
            bool found = true;
            for(uint8_t i = 0;i<sizeP;i++)
            {
                byte valeur_test = 0;
                ReadProcessMemory(phandle,(LPCVOID)(start+i), &valeur_test, sizeof(valeur_test), NULL);
                if(valeur_test != p[i] && p[i] != 0x00){found=false;break;}
            }
            if(found == true)
            {
                printf("\n---WoW64 0x%I64x--- ---FOUND 0x%I64x---",WoW64,(start+offset)-WoW64);
                system("pause");
                //printf("\n---FOUND 0x%I64x---",start+offset);
            }
            start++;
        }
        printf("\nended");
        return 0;

    }
    return 0;
}
Code:
void castHorsGCD(int key);
DWORD CHECK_KeyPress(LPVOID arg)
{
/*
#define KeyMono 0x31
#define KeyMulti 0x32
#define KeyBurstMono 0x33
*/
    while(1)
    {
        if(bool_checkbox_Auto)
        {
            if(haveTarget)
            {
                if(bool_checkbox_Rogue)
                {
                    //start kick
                    castHorsGCD(VK_3);
                    castHorsGCD(VK_2);
                    Sleep(250);
                    if(FuFu.IsEnable)
                    {
                        KeyMonoIsEnable = false;NeedFast=true;
                    }
                    else
                    {
                        KeyMonoIsEnable = true;NeedFast=false;
                    }
                }
                else if(bool_checkbox_Drood)
                {

                   castHorsGCD(VK_1);
                   castHorsGCD(VK_2);
                   castHorsGCD(VK_3);
                   castHorsGCD(VK_4);
                   castHorsGCD(VK_5);
                   castHorsGCD(VK_6);
                   castHorsGCD(VK_7);
                   castHorsGCD(VK_8);
                   castHorsGCD(VK_9);
                   castHorsGCD(VK_10);
                   castHorsGCD(VK_11);
                   castHorsGCD(VK_12);
                   KeyMonoIsEnable = true;NeedFast=false;
                   Sleep(250);
                }
                else
                {
                   castHorsGCD(VK_1);
                   KeyMonoIsEnable = true;NeedFast=false;
                   Sleep(250);
                }
            }
            else
            {

                if(bool_checkbox_Rogue)
                {
                    castHorsGCD(VK_2);
                    Sleep(250);
                }
                else
                {
                    castHorsGCD(VK_1);
                    Sleep(250);
                }
                KeyMonoIsEnable = false;NeedFast=true;
            }
            Sleep(10);
        }
        else
        {
            if(GetAsyncKeyState( KeyMono ) & 0x8000){KeyMonoIsEnable = true;NeedFast=false;}else{KeyMonoIsEnable = false;NeedFast=true;}
            Sleep(10);
            if(GetAsyncKeyState( KeyMulti ) & 0x8000){KeyMultiIsEnable = true;NeedFast=false;}else{KeyMultiIsEnable = false;NeedFast=true;}
            Sleep(10);
            if(GetAsyncKeyState( KeyBurstMono ) & 0x8000){KeyBurstMonoIsEnable = true;NeedFast=false;}else{KeyBurstMonoIsEnable = false;NeedFast=true;}
            Sleep(10);
        }
        Sleep(10);
    }
}

just create main.cpp (and copy all in ^^')
if you have problem to compil i can help u.
empathe is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
[wts] DH equip 153k dps / 73k dps unbuffed
There's an english version below. :) Da ich aufhöre mit dem DH und dem Barbaren zu spielen verkaufe ich mein Equip. Zumindest die Sachen, die noch...
23 Replies - Diablo 3 Trading
Selling Account - Level 60 DH (115k DPS) Level 60 Wizard(30k DPS)
US Normal Server Level 60 DH - 115k DPS Level 60 Wizard - 33k DPS Blacksmiting Maxed Jewelcrafting Maxed -------------------------------
3 Replies - Diablo 3 Trading
[B] 130K DPS DH / 60k DPS Wich Doktor
http://www.elitepvpers.com/forum/diablo-3-trading/1938262-b-130k-dps-dh-60k-dps-wich-doktor.html#post17156446 skype vorhanden
0 Replies - Diablo 3 Trading
[B] 130K DPS DH / 60k DPS Wich Doktor
Hi ich habe einen 130k dps dh (mit allem möglichen legedanrys) und einem mf equip von 230% sowie auf einem anderen accout einen wich doktor mit 60k...
11 Replies - Diablo 3 Trading
Verkaufe gegen Gebot 2 Bögen 921 DPS & 990 DPS !!!!
Hi, gegen Gebot ( € oder Gold) stehen folgende Bögen: Bogen 1: 921 dps 260 Geschicklichkeit, 58 Vitalität Directupload.net - plialvjm.jpg ...
3 Replies - Diablo 3 Trading



All times are GMT +1. The time now is 00:25.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.