View Poll Results: UseFull?

Voters
46. This poll is closed
  • Yes UseFull[i ll give credits]

    29 63.04%
  • Not UseFull

    17 36.96%
Page 1 of 4 123 ... LastLast
Results 1 to 15 of 52
  1. #1
    Dead(H)ell's Avatar
    Join Date
    Jan 2012
    Gender
    male
    Location
    Earth
    Posts
    471
    Reputation
    37
    Thanks
    715
    My Mood
    Flirty

    How To Make A Simple D3D Menu [ Detailed Tutorial ]

    Hey My MPGH Friends I ll Release My 4th Tutorial In This Week And Its About One Of Your Favourits The D3D Menu!

    Okay The First Thing I will say is that its for learning i mean i ll teach you how to make a full base detailed for a d3d menu ofcourse not including the HOOK

    Now Follow The Steps:

    1.Download files in attachment
    2.Make a new project
    3.Name the header Files and the cpp files like those in attachment
    4.copy and paste what in them to ur code but be accurate in this
    5.[Info]this base i gave u is without the menu.cpp and the menu.h [ cuz thats what i ll teach u today how to make them]

    Now How To Add what u want to ur menu first we need to make them recogonize the menu : [deadhellmenu.h]
    Code:
    #include "stdafx.h"
    #include "deadhellfont.h"
    To Recogonize:
    Code:
    #pragma once
    
    #define ITEM_ARRAY 64 // Maximum of 64 Items change to reduce Static address size
    
    // ============ SOME CALCULATION MACROS FOR LONG CALCULATIONS ================
    // ============                THE PREFIX IS MC                  ================
    #define MC_MAXX                    (X+WIDTH)                                                // X of Menu + Width
    #define MC_FCTR(x,y)            ((x+y)/2)                                                // Calculate Center Point Between two items
    #define MC_ITEMY(index)            (Y+(index*I_SPC)+T_SPC+(T_SPC/2))                        // Calculate Y of Item using Index or calculate Menu Maximum Y
    #define MC_MSY                    (Y+T_SPC+(T_SPC/2))                                        // Y Start For Menu Items
    The Menu Class:
    Code:
    class cMenu{
    
    public:
    Item Index Structure:
    Code:
    struct sitem{
                char title[50];        // Name Of Item to Display
                char state[50];        // States of Item
                int     type;            // Type of Item ie. Cat , Items
                int  max;            // Number of States
                int  no;            // number inside the Array
                int     *val;            // Variable Being Controlled
        } items[ITEM_ARRAY];
    Item Color Enumeration:[Normal Colors]
    Code:
    enum COLORS{  // Normal Colors
            WHITE    =    D3DCOLOR_ARGB(255,255,255,255),
            RED        =    D3DCOLOR_ARGB(255,220,20,60),
            GREEN    =    D3DCOLOR_ARGB(255,0,255,0),
            BLUE    =    D3DCOLOR_ARGB(255,0,0,255),
            BLACK    =    D3DCOLOR_ARGB(255,0,0,0),
            PURPLE    =    D3DCOLOR_ARGB(255,125,0,255),
            GREY    =    D3DCOLOR_ARGB(255,128,128,128),
            YELLOW  =    D3DCOLOR_ARGB(255,255,255,0),
            ORANGE    =    D3DCOLOR_ARGB(255,255,125,0)
        };

    Item Color Enumeration:[Item Colors]

    Code:
    enum I_COLORS{  // Item Colors
            C_OFF     =    D3DCOLOR_ARGB(255,255,255,255),
            C_ON     =  D3DCOLOR_ARGB(255,220,20,60),
            C_CAT     =    D3DCOLOR_ARGB(255,220,20,60),
            C_CUR     =    D3DCOLOR_ARGB(255,220,20,60),
            C_TITLE     =    D3DCOLOR_ARGB(255,255,255,255),
            C_STRING =    D3DCOLOR_ARGB(255,220,20,60),
        };
    BackGround Color Enumeration:
    Code:
    enum BK_COLORS{ // BackGround Colors
            C_BOX    = D3DCOLOR_ARGB(255,0,0,0),
            C_BORDER = D3DCOLOR_ARGB(255,220,20,60)
        };
    Menu Types Enumeration:
    Code:
    enum I_TYPES{
            T_TEXT = 0,
            T_ITEM = 1,
            T_CAT  = 2
        };
    Class Global Variables:
    Code:
        CD3DFont *font;
        int  X,Y;            // TOP LEFT OF MENU
        POINT mofs;            // Offset From Mouse Last Point
        POINT mpos;            // Mouse Coordinates
        int  M_DRAG;        // is Menu Being Dragged
        int  WIDTH;            // Width of Menu
        int  I_OFS,S_OFS;    // Item Title Column Start
        int  I_SPC,I_TSPC;  // Title Spacing and Item Spacing
        int  T_SPC,F_SPC;    // Title Spacing from Menu Items and Footer Spacing
        int  NO;            // Number of Menu Items
        int  I_CUR;            // Current Menu Item
        bool SHOW;            // Is menu shown
        bool INIT;            // Has Menu Been Setup
        // ANIMATION GLOBALS 
        int  ABOR;            // Board Animation Offset
        int  BTEX,BDIR;        // Blinking Text Highlight
    Class Global Functions:
    Code:
        void    DrawBox( int x, int y, int w, int h, D3DCOLOR Color,LPDIRECT3DDEVICE9 pDevice);
        void    DrawBorder( int x, int y, int w, int h, D3DCOLOR Color,LPDIRECT3DDEVICE9 pDevice);
        void    DrawMouse(int x, int y,LPDIRECT3DDEVICE9 pDevice);
        char*    oprintf (const char *fmt, ...);
        void    PostReset(LPDIRECT3DDEVICE9 pDevice);
        void    PreReset(void);
        char*    FPS(int en = 1);
        char*    TIME(void);
        char*    DATE(void);
        void    ShowMenu(LPDIRECT3DDEVICE9 pDevice);
        void    ShowBox(LPDIRECT3DDEVICE9 pDevice);
    private:
    Class Private Functions[so u can add groups,items,texts,custom borders and so on..all attatched under one main ]
    Code:
        void    acat(char *title, char *states, int *var);
        void    aitem(char *title, char *states,int *var, int show, int when);
        void    atext(char *title, char *states,int show, int when);
        void    atext(char *title, char *states);
        void    additem(char *title, char *states,int type, int *var, int show, int when);
        void    getfield(char *str,char *dst,int no);
        int        nofields(char *str);
        void    Init(void);
        int        Load(char* szSection, char* szKey, int iDefaultValue,LPCSTR file);
        void    Save(char* szSection, char* szKey, int iValue,LPCSTR file);
    
    //-----------------------------------------------------------------------------
    
    
    };
    extern cMenu Menu;
    
    // Item Manager Struct
    struct copt{
    //Global Variables
    int text; // Text Items
            struct sinfo{
                    int main;
            }info;
            struct splayer{
                    int main;
                    int superj;
                    int speed;
                    int stamina;
                    int recoil;
                    int spread;
                    int trigger;
                    int    nfd;
            }player;
            struct sserver{
                    int main;
                    int spawn;
                    int prem;
                    int slots;
            }server;
            struct susercp{
                    int main;
                    int pfind;
                    int pinfo;
                    int pkey;
            }usercp;
    
            struct sasm{
                    int main;
                    int antik;
                    int invis;
                    int restrict;
                    int mview;
                    int nodelay;
                    int prone;
                    int uoxy;
                    int bone;
                    int shotty;
                    int opk;
                    int svp;
                    int    uammo;
                    int stw;
                    int wtw;
            }asmm;
            struct sd3d{
                    int main3;
                    int main;
                    int noreload;
                    int norecoil;
                    int nochangedelay;
                    int noweaponweight;
                    int nofalldamage;
                    int nonadedamage;
                    int main2;
                    int seeghosts;
                    int fastdefuse;
                    int fastplant;
                    int crouchspeed;
                    int speedknife;
                    int nogatlinggunspeedpenalty;
                    int nogatlinggundelay;
            }d3d;
                struct schams{
                    int main;
                    int chams;
                    int    chamsf;
                    int    chamsb;
                    int type;
            }chams;
            struct sesp{
                    int main;
                    int oespn;
                    int oesph;
                    int espn;
                    int esph;
                    int espi;
                    int eonly;
                    int espd;
    
            }esp;
            struct soptions{
                    int main;
                    int move;
                    int reset;
                    int save;
                    int load;
            }options;
    };
    extern copt opt;


    Done! Now To Make The Menu It Self:[deadhellmenu.cpp]
    Code:
    #include "stdafx.h"
    #include "deadhellMenu.h"
    #include "deadhellSound.h"
    #include "deadhellBase.h"
    #include "Sounds.h"
    #include "pragma.h"
    We Need To use the PostReset() method to Create Fonts and other Resources for Menu:
    Code:
    void cMenu::PostReset(LPDIRECT3DDEVICE9 pDevice)
    {
        font = new CD3DFont("Impac", 6, D3DFONT_BOLD);
        font->InitDeviceObjects(pDevice);
        font->RestoreDeviceObjects();
        
    }
    We Need To use the PreReset() method to Release Fonts / objects for menu:
    Code:
    void cMenu::PreReset(void)
    {
        font->InvalidateDeviceObjects();
        font->DeleteDeviceObjects();
        delete font;
        font = NULL;
    }
    We Need To use the init() method toLoad Menu Defaults / Prepare Menu For Usage:
    Code:
    void cMenu::Init()
    {
        if (opt.options.reset)INIT=false;
        if(!INIT){
            opt.options.move=0;        // BUG FIX FOR RESET DISABLE MOVE BEFORE SETTING COORDINATES
            X=Y=100;                // TOP LEFT START
            WIDTH=200;                // MENU WIDTH
            I_OFS=4;                // OFSET FOR ITEM
            S_OFS=WIDTH-2;            // OFSET FOR STATE
            T_SPC=20;                // Space from Title and Start of Items
            F_SPC=20;                // Footer Spacing Hook Menu
            I_SPC=17;                // Item Spacing
            I_CUR=0;                // Set current Item
            ABOR=0;                    // ANIMATION MOVE
            BDIR=0;                    // ANIMATION HIGHLIGHT
            SHOW=true;                // false=hide  true=show
            INIT=true;                // STOP INITATION
        }
    }
    Then We need to add an FPS Counter:
    Code:
    char* cMenu::FPS(int en)
    {
        static int     FPScounter = 0;
        static float FPSfLastTickCount = 0.0f;
        static float FPSfCurrentTickCount;
        static char  cfps[6] = "";
    
        if(!en)
        {
            FPSfCurrentTickCount = clock() * 0.001f;
            FPScounter++;
    
            if((FPSfCurrentTickCount - FPSfLastTickCount) > 1.0f)
            {
                FPSfLastTickCount = FPSfCurrentTickCount;
                sprintf(cfps," %d",FPScounter);
                FPScounter = 0;
            }
        }
    
        return cfps;
    
    }
    Now We need to add Time it is in USA Format:
    Code:
    char* cMenu::DATE(void)
    {
        static char cdate[20] = "" ;
        struct tm * current_tm;
        time_t current_time;
        time (&current_time);
        current_tm = localtime (&current_time);
        sprintf( cdate, "%d-%02d-%d",current_tm->tm_mon+1,current_tm->tm_mday,current_tm->tm_year-100+2000);
        return cdate;
    }
    Now We need to add Date it is in USA Format:
    Code:
    char* cMenu::DATE(void)
    {
        static char cdate[20] = "" ;
        struct tm * current_tm;
        time_t current_time;
        time (&current_time);
        current_tm = localtime (&current_time);
        sprintf( cdate, "%d-%02d-%d",current_tm->tm_mon+1,current_tm->tm_mday,current_tm->tm_year-100+2000);
        return cdate;
    }
    oprintf()[equivilant to sprintf but for output into of dest]
    Code:
    char* cMenu::oprintf (const char *fmt, ...)
    {
        static char buffer[225] = "";
        va_list va_alist;
        va_start (va_alist, fmt);
        _vsnprintf (buffer,sizeof(buffer), fmt, va_alist);
        va_end (va_alist);
        return buffer;
    }
    Save() [saves ur setting in menu]
    Code:
    void cMenu::Save(char* szSection, char* szKey, int iValue,LPCSTR file)
    {
        char szValue[255];
        sprintf(szValue, "%d", iValue);
        WritePrivateProfileString(szSection,  szKey, szValue, file); 
    }
    Load()[Loads Menu Item States From Previously Saved File]
    Code:
    int cMenu::Load(char* szSection, char* szKey, int iDefaultValue,LPCSTR file)
    {
        int iResult = GetPrivateProfileInt(szSection,  szKey, iDefaultValue, file); 
        return iResult;
    }
    Now Lets the BaseFunction for aitem,acat,and atext
    Code:
    //additem
    void cMenu::additem(char *title, char *states,int type, int *var, int show, int when)
    {
        if(show==when)
        {
            strcpy(items[NO].title,title);
            getfield(states,items[NO].state,*var+1);
            items[NO].type=type;
            items[NO].max=nofields(states);
            items[NO].val=var;
    
            NO++;
        }
        if(type!=T_TEXT)
        {
            if (opt.options.load)
                *var = Load("Items", title, *var,Base.GetFile("mset.ini"));
            if (opt.options.save)
                Save("Items", title, *var,Base.GetFile("mset.ini"));
            if (opt.options.reset)
                *var=0;
        }
    }
    //acat
    void cMenu::acat(char *title, char *states,int *var)
    {
        additem(title,states,T_CAT,var,0,0);
    }
    //aitem
    void cMenu::aitem(char *title, char *states,int *var,int show,int when)
    {
        additem(title,states,T_ITEM,var,show,when);
    }
    //atext
    void cMenu::atext(char *title, char *states,int show,int when)
    {
        additem(title,states,T_TEXT,&opt.text,show,when);
    }
    
    void cMenu::atext(char *title, char *states)
    {
        additem(title,states,T_TEXT,&opt.text,1,1);
    }
    //no fields
    int cMenu::nofields(char *str)
    {
        char *ptr;
        int  no;
        for(no=1; (ptr=strchr(str,(char)'|'))!=NULL; no++)str=ptr+1;
        
        return no;
    }
    //get field
    void cMenu::getfield(char *str,char *dst,int no)
    {
        char *ptr;
        int  i;
        for(i=1; (ptr=strchr(str,(char)'|'))!=NULL ; i++) 
        {
            if(i==no) break;
            str=ptr+1;
        }
        if(ptr)
        {
            i=(int)(ptr-str);
            strncpy(dst,str,i);
            dst[i]=0;
        }
        else
            strcpy(dst,str);
    }
    //draw box
    void cMenu::DrawBox( int x, int y, int w, int h, D3DCOLOR Color,LPDIRECT3DDEVICE9 pDevice)
    {
    struct Vertex 
    {
        float x,y,z,ht;
        DWORD Color;
    }V[4] = {
                {x,y+h, 0.0f, 0.0f, Color},
                {x,y, 0.0f, 0.0f, Color},
                {x+w,y+h, 0.0f, 0.0f, Color},
                {x+w,y, 0.0f, 0.0f, Color}
            };
    pDevice->SetTexture(0, NULL);
    pDevice->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1); 
    pDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,true);
    pDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
    pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,V,sizeof(Vertex));
    return;
    }
    //draw border
    void cMenu::DrawBorder( int x, int y, int w, int h, D3DCOLOR Color,LPDIRECT3DDEVICE9 pDevice)
    {
        DrawBox(x,  y, 1,  h,Color,pDevice);
        DrawBox(x,y+h, w,  1,Color,pDevice);
        DrawBox(x,  y, w,  1,Color,pDevice);
        DrawBox(x+w,y, 1,h+1,Color,pDevice);
        return;
    }
    Check Hot Keys:
    Code:
    void cMenu::ShowMenu(LPDIRECT3DDEVICE9 pDevice)
    {
    
        //-----------------------------------------------------------------------------
        // Desc: Check Hotkeys
        //-----------------------------------------------------------------------------
        int    lm        =    GetAsyncKeyState(VK_LBUTTON)&1;
        int    rm        =    GetAsyncKeyState(VK_RBUTTON)&1;
        int    left    =    GetAsyncKeyState(VK_LEFT )&1;
        int    right    =    GetAsyncKeyState(VK_RIGHT)&1;
        int    up        =    GetAsyncKeyState(VK_UP   )&1;
        int    down    =    GetAsyncKeyState(VK_DOWN )&1;
        //-----------------------------------------------------------------------------
        // Desc: Prepare/Reset Menu
        //-----------------------------------------------------------------------------
    
        Init();
    
        //-----------------------------------------------------------------------------
        // Desc: Show The Menu
        //-----------------------------------------------------------------------------
        if(GetAsyncKeyState(VK_INSERT)&1) SHOW=(!SHOW);
        if(SHOW){
    
            //-----------------------------------------------------------------------------
            // Desc: Get Mouse Coordinates and translate
            //-----------------------------------------------------------------------------
    
            GetCursorPos(&mpos);// Update Mouse Coordinates
            ScreenToClient(GetForegroundWindow(),&mpos); // Translate to Current Window
    
            //-----------------------------------------------------------------------------
            // Desc: Move Menu
            //-----------------------------------------------------------------------------
    
            //if(mpos.x>X && mpos.x<X+WIDTH && mpos.y>Y && mpos.y<Y+T_SPC && GetAsyncKeyState(VK_LBUTTON)&1 && !opt.options.move)  // If Header Clicked on
            //{
            //    M_DRAG=1;
            //}
            //else
            //{
            //    mofs.x=mpos.x - X;
            //    mofs.y=mpos.y - Y;
            //}
    
            //if(M_DRAG)
            //{
            //    if(GetAsyncKeyState(VK_LBUTTON)&1)M_DRAG=0;
            //    X = mpos.x - mofs.x;
            //    Y = mpos.y - mofs.y;
            //}
    
            if(opt.options.move && GetAsyncKeyState(VK_LCONTROL))    // If Options for Left Control is Set
            {
                X =(((X<=mpos.x+4) && (X>=mpos.x)) || ((X>=mpos.x-4) && (X<=mpos.x)))?(X=mpos.x):(X+=((mpos.x-X)/4));
                Y =(((Y<=mpos.y+4) && (Y>=mpos.y)) || ((Y>=mpos.y-4) && (Y<=mpos.y)))?(Y=mpos.y):(Y+=((mpos.y-Y)/4));
            }
    Menu Items:
    Code:
            NO=0;
            acat("FPS",FPS(0),&opt.d3d.main3);
            acat("Normal Functions","[OPEN]|[CLOSE]",&opt.d3d.main);
                aitem("No Reload","OFF|ON",&opt.d3d.noreload,opt.d3d.main,1);
                aitem("No Recoil","OFF|ON",&opt.d3d.norecoil,opt.d3d.main,1);
                aitem("No Change Delay","OFF|ON",&opt.d3d.nochangedelay,opt.d3d.main,1);
                aitem("No Weapon Weight","OFF|ON",&opt.d3d.noweaponweight,opt.d3d.main,1);
                aitem("No Fall Damage","OFF|ON",&opt.d3d.nofalldamage,opt.d3d.main,1);
                aitem("No Nade Damage","OFF|ON",&opt.d3d.nonadedamage,opt.d3d.main,1);
                acat("Super Functions","[OPEN]|[CLOSE]",&opt.d3d.main2);
                aitem("See Ghosts","OFF|ON",&opt.d3d.seeghosts,opt.d3d.main2,1);
                aitem("Fast Defuse","OFF|ON",&opt.d3d.fastdefuse,opt.d3d.main2,1);
                aitem("Fast Plant","OFF|ON",&opt.d3d.fastplant,opt.d3d.main2,1);
                aitem("Crouch Speed","OFF|ON",&opt.d3d.crouchspeed,opt.d3d.main2,1);
                aitem("Speed Knife","OFF|ON",&opt.d3d.speedknife,opt.d3d.main2,1);
                aitem("No Gatling Gun Speed Penalty","OFF|ON",&opt.d3d.nogatlinggunspeedpenalty,opt.d3d.main2,1);
                aitem("No Gatling Gun Delay","OFF|ON",&opt.d3d.nogatlinggundelay,opt.d3d.main2,1);
    
    
            acat("Menu Options","[OPEN]|[CLOSE]",&opt.options.main);
                aitem("Move Menu","NO|L-CTRL",&opt.options.move,opt.options.main,1);
                aitem("Save Menu","Off|Saving",&opt.options.save,opt.options.main,1);
                aitem("Load Menu","Off|Loading",&opt.options.load,opt.options.main,1);
                aitem("Reset Menu","Off|Resetting",&opt.options.reset,opt.options.main,1);
    
            acat("Information ","[OPEN]|[CLOSE]",&opt.info.main);
                atext("By:","Master Coders",opt.info.main,1);    
                atext("Version","Master Coders V4",opt.info.main,1);
                /*atext("FPS",FPS(0),opt.info.main,1);*/
                atext("Time",TIME(),opt.info.main,1);
                atext("Date",DATE(),opt.info.main,1);
        
    
            opt.options.save=0;
            opt.options.load=0;
    
            DrawBox(X,MC_MSY,WIDTH,(NO*I_SPC),C_BOX,pDevice);// Render Menu Backround for items
            DrawBorder(X,MC_MSY,WIDTH,(NO*I_SPC),C_BORDER,pDevice);// set-up border
    Menu Loop
    Code:
            for(int no=0; no<NO; no++)
            {    
                D3DCOLOR text;
    
                text=(*(items[no].val)>0)?C_ON:C_OFF;    // Is ON OR OFF
    
                if(items[no].type==T_CAT)
                    text=C_CAT;    // Category
    
                if(I_CUR==no)
                {
    
                
                    if(BDIR==0)
                        (BTEX<0xFF/4)?BTEX+=1:BDIR=1;
                    if(BDIR==1)
                            (BTEX>0x00)?BTEX-=1:BDIR=0;
    
                    if(ABOR>I_SPC*I_CUR)
                        ABOR=I_SPC*I_CUR;
                    else if (ABOR<(-I_SPC*I_CUR))
                        ABOR=(-I_SPC*I_CUR);
    
                    if(ABOR<0)
                        ABOR++;
                    else if(ABOR>0)
                        ABOR--;
    
                    text=0xFF000000+(0x10000*(BTEX*4))+(0x100*(BTEX*4))+0x1*(BTEX*4);
    
                    DrawBorder(X,MC_ITEMY(no)-ABOR,WIDTH,I_SPC,C_CUR,pDevice);
                }
    
                if(mpos.x>X && mpos.x<MC_MAXX && mpos.y>MC_ITEMY(no) && mpos.y<MC_ITEMY(no)+I_SPC)
                {
                    text=0xFF000000+(0x10000*(BTEX*4))+(0x100*(BTEX*4))+0x1*(BTEX*4);
                    DrawBorder(X,MC_ITEMY(no),WIDTH,I_SPC,C_CUR,pDevice);
                }
    
                font->DrawText(X+I_OFS,MC_ITEMY(no)+2,text,items[no].title,DT_SHADOW);
                font->DrawText(X+S_OFS,MC_ITEMY(no)+2,text,items[no].state,DT_RIGHT|DT_SHADOW);
                
            }
    Footer:
    Code:
            DrawBox(X,MC_ITEMY(NO)+(F_SPC/2),WIDTH,(F_SPC),C_BOX,pDevice);// Draw Footer Filled
            DrawBorder(X,MC_ITEMY(NO)+(F_SPC/2),WIDTH,(F_SPC),C_BORDER,pDevice);// Footer Border
            
            font->DrawText(MC_FCTR(X,MC_MAXX),MC_ITEMY(NO)+(F_SPC/2)+2,GREEN,"Master Coders V4",DT_CENTER|DT_SHADOW);
    KeyBoard Navi:
    Code:
            if(left && (*items[I_CUR].val)>0)
            {
                (*items[I_CUR].val)-=1;
    
                    Sound.wav.playsoundmem((LPCSTR)SWITCH);
            }
    
            if(right && (*items[I_CUR].val)<(items[I_CUR].max-1))
            {
                (*items[I_CUR].val)+=1;
                Sound.wav.playsoundmem((LPCSTR)SWITCH);
            }
    
            if(up)
            {
                do {
                    I_CUR=(I_CUR==0)?(NO-1):(I_CUR-1);
                    if(ABOR>(-(I_SPC)))ABOR-=I_SPC;
                } while (items[I_CUR].type==T_TEXT);
                Sound.wav.playsoundmem((LPCSTR)MOVE);
                
            }
    
            if(down || items[I_CUR].type==T_TEXT)
            {
                do
                {
                    I_CUR=(I_CUR+1)%NO;
                    if(ABOR<(I_SPC))ABOR+=I_SPC;
                } while (items[I_CUR].type==T_TEXT);
                Sound.wav.playsoundmem((LPCSTR)MOVE);
            }
            //-----------------------------------------------------------------------------
            // Desc: Menu Saftey / Sanity Checks and ReEncryption
            //-----------------------------------------------------------------------------
            if(I_CUR>NO)I_CUR=NO-1; // Prevent Selection From Hiding be hind hidden item
            
            //-----------------------------------------------------------------------------
        }
    }
    VS:
    D3D Menu.rar - Jotti's malware scan
    https://www.virustotal.com/file/e923...is/1332877057/

    IT HAS 2 BE LIKE DAT:


    Uploaded with ImageShack.us
    Done and GL
    @Scata
    @Royku
    @Jigsaw
    @Hero
    @Qmo for sharing this base
    @Dead(H)ell [me] for modifying & explaining it in details
    plz a sticky
    <b>Downloadable Files</b> Downloadable Files
    Last edited by Dead(H)ell; 03-27-2012 at 04:57 PM.

  2. The Following 370 Users Say Thank You to Dead(H)ell For This Useful Post:

    *Creyplays* (12-18-2013),*Rambo* (11-17-2012),-*Koki-* (08-01-2012),-GEORGE2- (03-28-2013),-iFaDy..* (03-27-2012),-MAJ (08-03-2012),.DLL (11-04-2012),13lany (09-07-2018),159753cado25 (08-25-2016),1lyaSweepy (03-17-2013),3amomanshe (10-21-2020),3D (09-06-2012),6ixth (01-19-2013),a1323142 (05-10-2013),abc4d1548 (07-15-2018),Aegoosby (09-14-2016),Ahmed Madkour (01-25-2015),ahmedloay (08-28-2014),ahmed_hacker (08-31-2012),aimanxi (12-19-2014),akonline123 (12-04-2013),alfathony (05-09-2018),alimhmd103 (06-23-2013),alitarek206 (07-05-2018),Alviqbal (07-12-2013),amor1999 (05-03-2016),amptteixeira1 (04-09-2014),amro thabet (06-02-2012),andersom20120 (11-15-2014),andri-hidayat- (01-30-2014),andy323 (02-05-2014),angahkechik11 (01-22-2015),anhtraitan (01-14-2019),Anihilat0r (01-11-2015),antierror (02-09-2020),arhter.11 (10-20-2020),ariesz pratama (04-27-2015),asdsadsSds (06-25-2018),asep452 (11-25-2013),AshGamesHAcker (09-26-2017),aslan4747 (03-10-2017),asszaza008 (02-27-2015),autoforceIV (12-11-2013),aydahan81 (08-03-2012),azotamee123 (12-25-2014),b63436v346v346 (01-02-2014),Badmeen (12-02-2015),baladas (08-12-2013),barca0019 (11-09-2013),BDKPlayer (07-17-2014),blackribbon (05-06-2012),BlackSource (01-14-2013),blackstardc (08-03-2012),Bleid0506 (09-24-2012),bloodmaker17 (01-19-2013),bogdanalex (09-10-2012),BoyEasTern (12-11-2012),boyironheart (10-02-2012),brennick (06-19-2016),btripoloni (12-26-2015),bxanditox (07-26-2014),by_MuCé (01-03-2013),cankann12345 (04-16-2016),CaptainHacking (12-01-2014),carlocanen (03-28-2013),cbass (07-02-2015),CF_Hacker. (08-17-2012),chancell (11-06-2018),chriztianu1 (11-25-2018),cieloem0 (12-27-2014),cmc5414 (05-20-2012),CollFox (01-11-2013),CorporalDunn1337 (08-23-2012),CorrM (08-22-2013),CrazyFrost (09-26-2012),crazygog (01-22-2016),cryptor099 (04-19-2016),cuabara (08-28-2012),cwl1955 (01-19-2013),cyberjkt48 (12-16-2013),DAGER-05 (11-09-2014),dan123456789i (07-22-2017),danielsx (05-05-2017),danizaooo (11-24-2012),dark1fears (09-17-2012),DarkCoder2014 (06-28-2014),Darkvalenz (05-01-2014),darkzuko (02-09-2013),darlwis (04-23-2012),daryl187 (10-01-2012),David95654 (06-28-2017),defals (11-15-2022),denniskate (09-07-2012),Deovantay (05-04-2013),dergamer32 (02-02-2016),DGadiielTeam (10-06-2015),dhiika (03-11-2015),disgrace69 (02-11-2019),djzhot (06-25-2017),dmx66_96 (05-08-2012),dnfk (07-08-2012),Dnilei7 (04-26-2014),DogukanC (04-22-2016),Donator1337 (04-15-2016),Dong'Rickz (03-15-2015),dowaito132 (02-05-2023),dragongun1001 (05-01-2016),dumaimdi2993 (03-09-2017),duncan000 (04-27-2014),DwiYantoHacker (04-04-2015),EmreBrox (07-05-2015),erdh4m (05-11-2013),ErikNoxx (01-07-2013),erwin1808 (03-20-2013),evilgaia (05-06-2012),expkartal (07-21-2012),fandy1 (01-24-2014),fdiversity (06-22-2013),fghjfghj (04-24-2015),FlappaDoodles (07-12-2012),FlyingSixtySix (09-01-2017),forzxm (04-12-2014),FreakyHacking (06-28-2016),FroogoHaxor (06-12-2017),FUFYN (04-20-2013),g.blunk (09-26-2012),gaerGAERHGaerherh (11-01-2017),garcia1982 (03-16-2013),genji596 (01-06-2015),ghosten21 (04-29-2021),GHZ-Coder (03-14-2013),gimmijin (07-08-2015),GiTaRiST (12-31-2014),Glenox (08-23-2012),Glitz (04-29-2018),golle12 (09-26-2015),Grab (08-30-2012),gravitycrusher7 (10-10-2017),Greenmats55 (12-18-2014),gustavo5066 (04-28-2012),hamster2010 (09-14-2012),hanamychy (04-08-2012),hanyali2012 (09-06-2012),Hawkeye111 (01-30-2015),hghacker97 (06-14-2014),hieukoko96 (09-14-2022),HOMEAK (01-01-2015),houxinff (01-29-2018),HUNK69 (05-06-2016),husunboooy (09-23-2012),Hyziske99 (01-12-2013),ibeddbei (12-12-2012),ibrahemelglad (04-16-2018),ic3w0lf22 (02-17-2017),ichal (02-27-2023),iJoaq (07-15-2012),imannipinn11 (05-18-2013),Iqie (04-17-2014),irvanfajriansyah (09-07-2015),ixay (10-21-2012),IXSO** (07-25-2015),janniekkuenen (06-27-2015),jayjay153 (06-04-2018),jaypejpg13 (08-13-2021),JeffreyLeng (08-31-2016),jericsond (02-06-2015),JET2013 (07-07-2015),jetoni2014 (11-25-2012),jhonattan400 (12-05-2013),jnedo (03-28-2018),johnthuc0310 (05-02-2019),Joker4Hack (04-28-2012),josejesu3 (01-14-2020),Juz Lucky F (11-30-2014),K4zuj4x3 (01-21-2013),KangVbError (11-23-2014),kannseyha57 (10-19-2013),Keivo (10-07-2015),KelmoX (02-18-2014),KennethTop (03-02-2016),KenZay (10-08-2012),Kernel's (09-10-2015),killer2133 (09-20-2012),kimleng (04-23-2017),kingsburygantner (12-07-2023),Kirfenia (08-23-2016),Kolyan2011 (07-09-2012),kongfupanda (01-22-2013),koulis98 (08-22-2012),Kryo4lex (11-23-2012),ktoindy (07-13-2016),Kung-Fu (12-03-2013),Kurochi69 (02-01-2018),Leacher2019 (01-24-2019),lhvip (02-13-2015),liefdz (01-16-2016),lightwar (10-02-2012),loadgamers4 (09-05-2012),Lokacija (12-24-2012),loud24 (06-07-2012),ludek (08-25-2012),madeven (11-07-2012),Maggkollin (06-21-2015),maider (04-15-2013),mamo007 (08-21-2012),MangJoaquin (02-24-2013),ManiacTM (12-28-2014),manitoba911 (08-21-2012),markernewbie (06-25-2021),master4ut (11-03-2012),masterkyr (01-25-2014),matdores157 (10-28-2015),Megaloco (11-08-2014),mendbest (10-15-2015),menginio (04-11-2014),mgxhack (09-16-2015),Michal9912 (11-03-2012),midaa (08-30-2012),midonx (01-26-2013),MiguelGz (01-24-2020),MikaUC (01-11-2015),Mikilox (01-18-2014),MJCreado (02-20-2013),mmt1994 (10-23-2013),ModderTrollCF (11-24-2018),Mohammed Kamal Alsyd (05-22-2018),monwa (07-25-2014),moody532004 (05-22-2021),Mostafa TeFa (10-23-2018),mrhung (09-27-2018),Muhammad Danish (09-28-2012),muxaone (04-04-2014),mw3rox09 (12-14-2012),mytestplayer (12-04-2016),NagatoC (02-22-2018),nellyblack (01-25-2013),Neo555 (06-13-2014),New Man (09-08-2012),Nikorasu (01-19-2017),Niomell (05-23-2018),nofakez (01-23-2019),notmehnt (10-23-2012),nova0001 (01-06-2013),Nowherealfthdion (10-18-2015),nubzie (09-24-2012),Numb3er (01-04-2014),ogamertv10 (12-08-2018),Oliverhack2013 (09-28-2014),Olivier Vandenryt (02-19-2014),OmG iTz OraNd (11-08-2015),online9 (10-20-2017),operador777 (11-14-2015),oppaidao (02-01-2014),orlan junior (11-06-2014),outsidenr1 (07-07-2016),ownerz8 (01-27-2018),paesfp (09-23-2012),PanhaYubitoHacker (05-23-2013),Patryk65400 (05-22-2013),pawerino (09-08-2016),pDevice (04-28-2012),pedroddvo (10-25-2014),penetroxd123 (04-04-2020),phanudet12 (03-12-2013),pov5 (09-08-2012),praybeyt (09-19-2012),PREEMNET (01-02-2013),proking1272 (12-16-2019),prolife200 (05-07-2015),pronesto (06-28-2012),Pronome191 (08-01-2012),prowiz (06-19-2012),q572403945 (02-11-2020),quydat94 (09-21-2012),qw1006075207 (09-09-2012),qw66020452 (06-11-2013),qwertyxzzz (03-17-2013),Qword (12-27-2014),Ra. (10-15-2012),raidixx (10-13-2014),Ramljoe (04-23-2017),RecoilYT (01-02-2018),relaxen (09-22-2012),remzkee0903 (07-30-2012),ReyHack (02-13-2015),RH_YS (07-02-2016),roso18 (12-09-2015),rReizo (09-03-2014),rrgalih (09-17-2015),rscaerzx (05-20-2012),Rullez (09-22-2012),Ryodvincenta (03-24-2016),salamunited3 (08-01-2022),sasasambol12 (03-21-2015),Scattered (10-19-2014),sedorikku1 (12-16-2018),SenHacks (08-11-2012),sergei.oancha@mail.ru (03-25-2013),serhatderking1 (05-03-2014),shadowcompanya (03-17-2013),shene (04-12-2013),SinduNet (01-10-2015),Singgih Amri (12-06-2015),skillz001 (07-26-2013),skyinter (04-26-2016),sobasoba13 (12-13-2012),SomeDudeHere (04-19-2013),SonicSky (11-16-2016),sopaver3 (03-29-2012),Speedster031 (10-30-2012),SpiderHacks (08-25-2014),Sprite (04-30-2012),strongerfibon (08-16-2012),tariq2812 (10-02-2012),tech555 (06-26-2018),temp512512 (04-28-2012),Testinglagi1020 (11-16-2020),Thaisen (04-01-2017),TheGeek2004 (12-04-2018),TheLegendR (12-31-2012),thetop2020 (04-06-2016),timiostimio (09-19-2012),Tinyman110 (12-13-2019),tkishio (07-08-2013),tobymacrocks (02-02-2013),Tran Dat (01-24-2019),Trix666 (02-20-2023),Trump1337 (03-16-2016),tuku (09-20-2012),tunayemxin25 (07-13-2013),unpackeddd (11-19-2012),usmanmirza (02-16-2014),Vahan96 (08-01-2012),VerZus1337 (05-03-2017),volter100 (09-24-2012),VOSSWATER (10-06-2017),vYehCorey (11-05-2016),wayEE (09-20-2017),WeRRoo (04-13-2017),williamcorvinus (05-01-2012),wooki (09-29-2015),www137709554 (07-28-2013),wybshen (04-29-2017),xaim98 (09-23-2012),xan267 (10-05-2014),XarutoUsoCrack (08-01-2012),xblstealth (12-04-2015),xget (03-05-2017),xiaolianger (01-17-2013),xinglong (03-30-2018),xingshujun (08-22-2012),XSeA (11-14-2017),xxxdennis00947 (08-11-2016),y7yz (11-12-2017),Yakinican (10-08-2015),ycxsignal (02-05-2013),Zerenal (12-14-2014),zezo774 (07-05-2012),ZiterZ (02-22-2013),zizomosad (07-17-2012),zmodteam (06-08-2016),zohan159 (08-31-2012),zUser (11-12-2012),ZweetLove (02-09-2014),ZzcarloszZ (04-26-2014),[mi5 (10-09-2012),[Placebo] (12-29-2018),`Techno (07-06-2013),|0_Todinho_0| (08-20-2013),||SoNNeFeS|| (09-14-2012)

  3. #2
    Swag's Avatar
    Join Date
    Jul 2011
    Gender
    male
    Location
    Netherlands
    Posts
    1,619
    Reputation
    19
    Thanks
    1,865
    My Mood
    Amused
    Very nice tut!
    In my opinion you can get contributor

  4. #3
    Austin's Avatar
    Join Date
    Mar 2010
    Gender
    male
    Location
    Great White North
    Posts
    30,484
    Reputation
    6104
    Thanks
    8,326
    My Mood
    Lurking
    approved+stickied



    https://twitter.com/#!/MPGHCF/status/184729643071442944

    Remember to follow on twitter.
    Last edited by Austin; 03-27-2012 at 03:53 PM.




    VIP Support // May 2011
    CF Minion // January 2012
    Newsforce // August 2012
    Minion+ // March 2013
    Moderator // August 2014
    Former Staff // January 2015
    General Minion // July 2015
    Publicist // December 2015





  5. The Following 2 Users Say Thank You to Austin For This Useful Post:

    Patryk65400 (05-22-2013),Pronome191 (08-01-2012)

  6. #4
    Dead(H)ell's Avatar
    Join Date
    Jan 2012
    Gender
    male
    Location
    Earth
    Posts
    471
    Reputation
    37
    Thanks
    715
    My Mood
    Flirty
    Quote Originally Posted by Scata View Post
    approved+stickied



    https://twitter.com/#!/MPGHCF/status/184729643071442944

    Remember to follow on twitter.
    Roger. & @Swag tysm brother

  7. #5
    dakr54's Avatar
    Join Date
    Mar 2012
    Gender
    male
    Posts
    396
    Reputation
    16
    Thanks
    669
    Funny you ask for credits but you don't credit yourself?

    https://www.mpgh.net/forum/31-c-c-pro...ml#post5431992

    Thread should be unstuck because I know you didn't forget to add credits

  8. The Following User Says Thank You to dakr54 For This Useful Post:

    giniyat101 (04-12-2012)

  9. #6
    Skrillex's Avatar
    Join Date
    May 2011
    Gender
    male
    Posts
    701
    Reputation
    103
    Thanks
    4,749
    My Mood
    Fine
    nice good job

  10. #7
    -iFaDy..*'s Avatar
    Join Date
    Mar 2012
    Gender
    male
    Location
    C++/Mpgh.net/CF/devenv.exe
    Posts
    201
    Reputation
    22
    Thanks
    87
    My Mood
    Cool
    Nice Tutorial Liked it - Good Job
    Need Any Help in C++/CrossFire? Just Pm me.

    My FB : Www.FaceBook.com/FaDiAtefAhlawy

    My Yahoo : Dodo_CrazyChat@yahoo.com

    My Hotmail : Dodo_CrazyChat@hotmail.com

  11. #8
    Dead(H)ell's Avatar
    Join Date
    Jan 2012
    Gender
    male
    Location
    Earth
    Posts
    471
    Reputation
    37
    Thanks
    715
    My Mood
    Flirty
    Quote Originally Posted by dakr54 View Post
    Funny you ask for credits but you don't credit yourself?

    https://www.mpgh.net/forum/31-c-c-pro...ml#post5431992

    Thread should be unstuck because I know you didn't forget to add credits
    HAHA, sorry but take a look on the comments in the thread of qmo and u willl know its not his and he leeched it + he didnt explain it he just said copy&paste but i did detailed it and modified his menu so nice notice but i cant credit a leecher and i dint credit my self cuz i am not the owner of the code i explained in details how to make a d3d menu which no 1 in this forum did explain dat be4 got it bro?

  12. #9
    Hero's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Location
    memes
    Posts
    40,114
    Reputation
    4764
    Thanks
    9,674
    Quote Originally Posted by Dead(H)ell View Post


    HAHA, sorry but take a look on the comments in the thread of qmo and u willl know its not his and he leeched it + he didnt explain it he just said copy&paste but i did detailed it and modified his menu so nice notice but i cant credit a leecher and i dint credit my self cuz i am not the owner of the code i explained in details how to make a d3d menu which no 1 in this forum did explain dat be4 got it bro?
    Well even if it isn't his, you still need to give credits. Even if you don't know who it is, at least give credits in some sort of way.
    [ • ] [ • ] [ • ] [ • ][ • ]

    Editor from 06•14•2011 • 2014
    Donator since 09•16•2011
    Minion from 10•10•2011 • 01•06•2011
    Minion+ from 01•06•2012 • 08•08•2012
    Moderator from 08•08•2012 • 10•06•2012
    Global Moderator from 10•06•2012 • 12•05•2017
    Staff Administrator from 12•05•2017 • 05•01•2019
    Trusted Member since 07•13•2019
    Global Moderator since 09•11•2020




  13. #10
    FinalHazard_'s Avatar
    Join Date
    Mar 2012
    Gender
    male
    Location
    ALT + F4
    Posts
    318
    Reputation
    62
    Thanks
    130
    My Mood
    Cynical
    Nice job bro.

  14. #11
    Ryuesi's Avatar
    Join Date
    Jun 2011
    Gender
    male
    Location
    Right here.
    Posts
    7,339
    Reputation
    413
    Thanks
    2,397
    My Mood
    Relaxed
    @Dead(H)ell , i was will post but exams /fp , btw good job bro





    Contributor Since 24-11-2011 ~ 26-12-2011
    VM / PM




  15. #12
    pakeke80's Avatar
    Join Date
    Sep 2011
    Gender
    male
    Posts
    43
    Reputation
    10
    Thanks
    23
    My Mood
    Devilish
    look at the time,..... the code is wrong,,, it gives an... error when compiling
    ^_^

  16. #13
    Dead(H)ell's Avatar
    Join Date
    Jan 2012
    Gender
    male
    Location
    Earth
    Posts
    471
    Reputation
    37
    Thanks
    715
    My Mood
    Flirty
    Quote Originally Posted by pakeke80 View Post
    look at the time,..... the code is wrong,,, it gives an... error when compiling
    ^_^
    just a copier so sad but i wont answer cuz ur a leecher when u learn the meaning of the code then come back and ask

  17. #14
    ~FALLEN~'s Avatar
    Join Date
    May 2009
    Gender
    male
    Location
    devenv.exe
    Posts
    529
    Reputation
    23
    Thanks
    328
    My Mood
    Inspired
    Quote Originally Posted by Dead(H)ell View Post


    just a copier so sad but i wont answer cuz ur a leecher when u learn the meaning of the code then come back and ask
    You're one to talk, this whole code is leeched .... lmfao Let me ask you this, What's the difference between signed char a; char a; and the difference between char a; and unsigned char a; ?

  18. #15
    Dead(H)ell's Avatar
    Join Date
    Jan 2012
    Gender
    male
    Location
    Earth
    Posts
    471
    Reputation
    37
    Thanks
    715
    My Mood
    Flirty
    Quote Originally Posted by ~FALLEN~ View Post
    You're one to talk, this whole code is leeched .... lmfao Let me ask you this, What's the difference between signed char a; char a; and the difference between char a; and unsigned char a; ?


    let me tell u this..did i say its my code?NO i said its for @Qmo and i explained it in details

  19. The Following User Says Thank You to Dead(H)ell For This Useful Post:

    ahmedmola1 (10-05-2012)

Page 1 of 4 123 ... LastLast

Similar Threads

  1. [Release] Make a SIMPLE D3D MENU
    By Qmo in forum DirectX/D3D Development
    Replies: 119
    Last Post: 10-11-2016, 07:45 AM
  2. [Release] Make a SIMPLE D3D MENU
    By Qmo in forum Piercing Blow Hack Coding/Source Code
    Replies: 45
    Last Post: 10-30-2011, 01:59 PM
  3. How to make a simple Car Signature
    By SpaWn in forum Tutorials
    Replies: 10
    Last Post: 04-23-2009, 06:26 PM
  4. How to make a simple grunge tutorial
    By SpaWn in forum Tutorials
    Replies: 2
    Last Post: 04-21-2009, 06:30 PM
  5. (TUT)how to make your own warrock menu
    By aprill27 in forum WarRock - International Hacks
    Replies: 0
    Last Post: 09-21-2007, 04:46 PM