Как Сделать Чит? Полный Гайд Для Любой Игры

Тема в разделе "Создания ПО", создана пользователем Жуков, 30 янв 2012.

Статус темы:
Закрыта.
  1. Жуков

    Жуков New Member

    Репутация:
    0
    Регистрация:
    21 ноя 2011
    Сообщения:
    647
    Симпатии:
    0
    Вообщем решил перевести на русский язык хорошую стать с mpgh.net. Статья действительно очень интересная и многим возможно она поможет.

    Итак, начнем.

    Начнем с самого определния. Что же такое чит? Мне очень понравилось определение с сайта 4pointblank.ru от slava-zis.




    В любой игре есть код. Код – это исполняемой участок программы, который управляет всеми процессами в игре. Есть статические данные, это могут быть всевозможные данные, текстовые строки и тд. Так же есть участки для чтения/записи – это места в программе, где хранится, обновляется, записывается всевозможная информация. Это может быть количество патронов, количество хп и тд.



    Наверняка вы уже догадались что для получения преимущества в игре нужно повлиять на один из этих параметров. Ну например, можно найти адрес в который программа записывает количество денег и подредактировать его (В онлайн играх дело обстоит сложнее, так как клиент активно взаимодействует с сервером, а одиночных играх все действие происходит в одном компьютере, соответственно всем можно управлять). Галактеко опасносте, возможно количество денег в программе будет храниться в зашифрованном виде.




    В этой статье я отвечу на самые частые вопросы новичков, например:

    1. Как сделать чит?

    2.Что такое с++?

    3.Как сделать взлом памяти?

    4.Как сделать Д3Д хак?

    5.Как сделать хук?



    Начнем с с++.



    Если ты хочешь сделать чит, то прежде всего тебе придется выучить язык программирования с++... Ты можешь смотреть видео уроки на ютубе, но намного эффективнее будет купить и прочитать учебник. Учебник по с++ ты можешь найти в любом книжном магазине или скачать в интернете. Также вы можете читать статьи по с++ на различных форумах. Лично я советую почитать вам книгу Гербера Шилдта "C++ базовый курс. Третье издание"





    Ассемблер



    Также тебе понадобится выучить ASM (Assembler).

    Немного информации с википедии:

    Язы́к ассе́мблера — язык программирования низкого уровня, мнемонические команды которого (за редким исключением) соответствуют инструкциям процессора вычислительной системы. Трансляция программы в исполняемый машинный код производится ассемблером (от англ. assembler — сборщик) — программой-транслятором, которая и дала языку ассемблера его название.







    Ассемблер намного проще с++. Он поможет тебе искать адреса, поинтеры, оффсеты и пользоваться такими программами как IDA PRO или OllyDbg





    Взлом памяти процесса

    Тут вам понадобятся такие программы как Cheat Engine, OllyDbg, Ida Pro.

    Откройте файл pointblank.i3exec или процесс pointblank.exe.

    Вот некоторые функции для игры поинтбланк:

    Код:
    GetJumpPenaltyTime - Джамп хак.
    
    getAnimDuration) - Быстрая перезарядка.
    
    GetMoveSpe - Анти отдача,скорострел,дн.
    
    GetMaxBullet - Анлим патроны.
    
    GetDamage - Дамаг.
    
    GetMaxBullet - Спидхак.
    
    GetMoveSpe - Телепорт!
    
    
    Вот часть функции телепорта. Вест я не стал выкладывать, чтобы нубы не налепили приватных читов

    Код:
    if(cItem.df==1)
    
    {
    
    DWORD Pointer = (DWORD)GetModuleHandleA("pointblank.i3exec")+0xТУТ ВАШ НАЙДЕННЫЙ АДРЕС;
    
    MEMwrite((void *)(Pointer),(void *)"\xE5\xEC\xF5\x05" , 4);
    
    }
    Когда мы найдем наш адресс нужно отбросить 10 и вместо него написать 0x.

    Вот примеры функций для игры кросфайр. Возможно какие-либо функции подойдут и для пб:

    Код:
    GhstMgr: 10a021f8
    
    CharacterHiddenAlpha: 88                   = Видеть призрака
    
    CharacterHiddenWalkAlpha: 8c                = Видеть призрака(2)
    
    CharacterHiddenRunAlpha: 90                  = //3
    
    CharacterHiddenAlpha: 88                     = //4
    
    MovementHiddenRate: 9C                = Спидхак
    
    C4PlantTime: 7C                    = Быстрое минирование
    
    C4DefuseTime: 80                        = Быстрое разминирование (1)
    
    MaxCanDefuseDistance: 84                  = Быстрое минирование или минирование в любом месте. (2)
    
    WallShotDamageRatio: 2668                   = Стрелять сквозь стены
    
    BulletPosOffset: 1930                              = Отдача
    
    ReloadAnimRatio: 269c                            = Нет перезарядки
    
    ChangeWeaponAnimRatio: 26a0               = Нет смены оружия
    
    
    
    






    Вот статья, которая мне неплохо помогла

    Для просмотра внешних ссылок необходимо зарегистрироваться либо авторизоваться











    Direct3D

    Для этого нам понадобится DirectX SDK 2010

    Для просмотра внешних ссылок необходимо зарегистрироваться либо авторизоваться

    D3D9_MODEL_LOGGER чтобы подсветить текстуры

    Для просмотра внешних ссылок необходимо зарегистрироваться либо авторизоваться



    Как сделать D3D9 MENU?

    Для просмотра внешних ссылок необходимо зарегистрироваться либо авторизоваться



    Код:
    void PrintText(char pString[], int x, int y, D3DCOLOR col, ID3DXFont *font)
    
    {
    
        RECT FontRect = { x, y, x+500, y+30 };
    
        font->DrawText( NULL, pString, -1, &FontRect, DT_LEFT | DT_WORDBREAK, col);
    
    }
    
    
    
    void FillRGB( int x, int y, int w, int h, D3DCOLOR color, IDirect3DDevice9* pDevice )
    
    {
    
        if( w < 0 )w = 1;
    
        if( h < 0 )h = 1;
    
        if( x < 0 )x = 1;
    
        if( y < 0 )y = 1;
    
    
    
        D3DRECT rec = { x, y, x + w, y + h };
    
        pDevice->Clear( 1, &rec, D3DCLEAR_TARGET, color, 0, 0 );
    
    }
    
    
    
    void DrawBorder( int x, int y, int w, int h, int px, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice )
    
    {
    
        FillRGB( x, (y + h - px), w, px,    BorderColor, pDevice );
    
        FillRGB( x, y, px, h,                BorderColor, pDevice );
    
        FillRGB( x, y, w, px,                BorderColor, pDevice );
    
        FillRGB( (x + w - px), y, px, h,    BorderColor, pDevice );
    
    }
    
    
    
    void DrawBox( int x, int y, int w, int h, D3DCOLOR BoxColor, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice )
    
    {
    
        FillRGB( x, y, w, h,        BoxColor, pDevice );
    
        DrawBorder( x, y, w, h, 1,    BorderColor, pDevice );
    
    }  
    
    
    
    bool isMouseinRegion(int x1, int y1, int x2, int y2) 
    
    {
    
            POINT cPos;
    
            GetCursorPos(&cPos);
    
            if(cPos.x > x1 && cPos.x < x2 && cPos.y > y1 && cPos.y < y2){
    
                    return true;
    
            } else {
    
                    return false;
    
            }
    
    }
    
    
    
    bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
    
    {
    
            for(;*szMask;++szMask,++pData,++bMask)
    
                    if(*szMask=='x' && *pData!=*bMask)  
    
                            return 0;
    
            return (*szMask) == NULL;
    
    }
    
    
    
    DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
    
    {
    
            for(DWORD i=0; i<dwLen; i++)
    
                    if (bCompare((BYTE*)(dwAddress+i),bMask,szMask))  
    
                            return (DWORD)(dwAddress+i);
    
            return 0;
    
    }
    
    
    
    void *DetourFunction (BYTE *src, const BYTE *dst, const int len)//edit if you want to work for the game
    
    {
    
                    BYTE *jmp = (BYTE*)malloc(len+5);
    
            DWORD dwBack;
    
    
    
            VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
    
            memcpy(jmp, src, len);  
    
            jmp += len;
    
            jmp[0] = 0xE9;
    
            *(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;
    
            src[0] = 0xE9;
    
            *(DWORD*)(src+1) = (DWORD)(dst - src) - 5;
    
            for (int i=5; i<len; i++)  src[i]=0x90;
    
            VirtualProtect(src, len, dwBack, &dwBack);
    
            return (jmp-len);
    
    }


    Код:
    //==================================================================
    
    // This file is part of Qmoainxbase D3D Private part 1
    
    // (c) copyright Qmoainx 2011
    
    // special thanks to: 
    
    //   mpgh.net
    
    //==================================================================
    
    #include "Functions.h"
    
    
    
    
    
    typedef struct{
    
            int index;
    
            char * title;
    
            int *hack;
    
            int hackmaxval;
    
            int hacktype;
    
            DWORD HCOLOR;
    
    }ITEM;
    
    
    
    class QmoMenu {
    
            public:
    
            LPDIRECT3DDEVICE9 pDevice;
    
            LPD3DXFONT pFont;
    
    
    
            int hackcount;
    
            int selector;
    
            int x,y,w,h;
    
            DWORD COLOR;
    
    
    
            ITEM HACKITEM[99];
    
            char hackrval[256];
    
    
    
            void CreateItem(int index, char * title, int *hack,int hackmaxval=1,int hacktype=0);
    
            void BuildMenu(char * menuname, int x, int y, int h, int w, DWORD TITLECOL, DWORD BACKCOLOR, DWORD BORDERCOLOR, LPDIRECT3DDEVICE9 pDevice);
    
            void RenderMenu();
    
    };
    
    
    
    typedef HRESULT ( WINAPI* oReset )( LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters );//edit if you want to work for the game
    
    typedef HRESULT (WINAPI* oEndScene)(LPDIRECT3DDEVICE9 pDevice);
    
    
    
    //Colors A,R,G,B Please use to make Chams 
    
    #define RED D3DCOLOR_ARGB(255, 255, 0, 0)
    
    #define GREEN D3DCOLOR_ARGB(255, 0, 255, 0)
    
    #define BLUE D3DCOLOR_ARGB(255, 0, 0, 255)
    
    #define WHITE D3DCOLOR_ARGB(255, 255, 255, 255)
    
    #define BLACK D3DCOLOR_ARGB(255, 0, 0, 0)
    
    #define YELLOW D3DCOLOR_ARGB(255, 255, 255, 0)
    
    #define TEAL D3DCOLOR_ARGB(255, 0, 255, 255)
    
    #define PINK D3DCOLOR_ARGB(255, 255, 240, 0)
    
    #define ORANGE D3DCOLOR_ARGB(255, 255, 132, 0)
    
    #define LIME D3DCOLOR_ARGB(255, 198, 255, 0)
    
    #define SKYBLUE D3DCOLOR_ARGB(255, 0, 180, 255)
    
    #define MAROON D3DCOLOR_ARGB(255, 142, 30, 0)
    
    #define LGRAY D3DCOLOR_ARGB(255, 174, 174, 174) 
    
    #define DGRAY D3DCOLOR_ARGB(255, 71, 65, 64) 
    
    #define BROWN D3DCOLOR_ARGB(255, 77, 46, 38)
    
    #define SHIT D3DCOLOR_ARGB(255, 74, 38, 38)




    Код:
    //==================================================================
    
    // This file is part of Qmoainxbase D3D Private part 1
    
    // (c) copyright Qmoainx 2011
    
    // special thanks to: mpgh.net 
    
    //==================================================================
    
    
    
    #include <Windows.h>
    
    #include <stdio.h>
    
    #include <d3d9.h>
    
    #include <d3dx9.h>
    
    
    
    #pragma comment(lib,"d3dx9.lib")




    Код:
    //==================================================================
    
    // This file is part of Qmoainxbase D3D Private part 1
    
    // (c) copyright Qmoainx 2011
    
    // special thanks to: mpgh.net 
    
    //==================================================================
    
    #include "QmoMenuClass.h"
    
    
    
    oReset pReset;
    
    oEndScene pEndScene;
    
    
    
    QmoMenu dMenu;
    
    
    
    LPDIRECT3DDEVICE9 g_pDevice = 0;
    
    //Offset Adjust Font Menu Hack
    
    int xFontOffSet = 15;
    
    
    
    int hackopt1;
    
    int MenuHeight = 10;
    
    
    
    int show=1;
    
    
    
    int b = 0;
    
    //==================================================================
    
    //Menu HACK
    
    int hack1 = 0;
    
    int hack2 = 0;
    
    int hack3 = 0;
    
    int hack4 = 0;
    
    int hack5 = 0;
    
    //==================================================================
    
    
    
    void QmoMenu::CreateItem(int index, char * title, int *hack, int hackmaxval,int hacktype)
    
    {
    
            hackcount++;
    
            HACKITEM[hackcount].index = index;
    
            HACKITEM[hackcount].hack = hack;
    
            HACKITEM[hackcount].hackmaxval = hackmaxval;
    
            HACKITEM[hackcount].hacktype = hacktype;
    
            // Set the high and low Menu Hack
    
            PrintText(title, xFontOffSet, index*15,HACKITEM[hackcount].HCOLOR,pFont); 
    
    }
    
    
    
    void QmoMenu::BuildMenu(char * menuname, int x, int y, int h, int w, DWORD TITLECOL, DWORD BACKCOLOR, DWORD BORDERCOLOR, LPDIRECT3DDEVICE9 pDevice)
    
    {
    
            if(GetAsyncKeyState(VK_INSERT)&1)show=(!show); //Bring up the Menu HACK (INSERT)
    
            if(!show) {
    
                    DrawBox(0,0, w, 20, BACKCOLOR, BORDERCOLOR, pDevice);
    
                    PrintText("Qmoainx D3D MENU", 5, 2, TITLECOL, pFont);
    
                    return;
    
            }
    
    
    
           // DrawBox(x,y, w, h, BACKCOLOR, BORDERCOLOR, pDevice); // Adjust the Base Menu Hack
    
            PrintText(menuname, x+10, y+2, TITLECOL, pFont);
    
            CreateItem(1,"Wallhack", &hack1);
    
            CreateItem(2,"Chams", &hack2); 
    
            CreateItem(3,"Crosshair", &hack3);
    
            CreateItem(4,"NO Smoke", &hack4);
    
            CreateItem(5,"?????", &hack5);
    
            RenderMenu();
    
    }
    
    
    
    
    
    void QmoMenu::RenderMenu() //Hotkey menu
    
    {
    
            if(GetAsyncKeyState(VK_DOWN)&1) 
    
                            selector++;
    
    
    
            if(GetAsyncKeyState(VK_UP)&1)
    
                    if(selector > 1)
    
                            selector--;
    
    
    
            if (GetAsyncKeyState(VK_RIGHT)<0){
    
                    for(int i=0;i < (hackcount+1);i++){
    
               if(selector == HACKITEM[i].index){
    
                               if(*HACKITEM[i].hack < HACKITEM[i].hackmaxval)
    
                                            *HACKITEM[i].hack += 1;
    
    
    
                                            }
    
                            }
    
            }
    
    
    
            if (GetAsyncKeyState(VK_LEFT)<0){
    
                    for(int i=0;i < (hackcount+1);i++){
    
               if(selector == HACKITEM[i].index){
    
                               *HACKITEM[i].hack = 0;
    
                               Sleep(200);
    
                                    }
    
                            }
    
            }
    
            
    
            for(int i=0;i < (hackcount+1);i++){
    
                    if(selector == HACKITEM[i].index)
    
                            HACKITEM[i].HCOLOR = GREEN;
    
                    else
    
                            HACKITEM[i].HCOLOR = RED;
    
            }
    
    
    
            for(int i=1; i<(hackcount+1); i++){
    
                    if(HACKITEM[i].hacktype == 0){
    
                    if(*HACKITEM[i].hack == 1) 
    
    
    
                    // Set the high and low Hotkey Menu
    
                    PrintText("On", xFontOffSet+100, HACKITEM[i].index*15,WHITE,pFont);
    
             else 
    
                    PrintText("Off", xFontOffSet+100, HACKITEM[i].index*15,RED,pFont);
    
            
    
                    }
    
            }
    
    
    
            if(selector < 1)
    
                    selector = 1;
    
    
    
            if(selector > hackcount)
    
                    selector = 1;
    
    
    
            hackcount = 0;
    
    }
    
    
    
    void TestThread() //Raising texk if ON / OFF
    
    {
    
            if( hack1 == 1)
    
                    PrintText("Wallhack [ON] text will change color", 30, 200, GREEN, dMenu.pFont);
    
            else
    
                    PrintText("Wallhack [ON] text will change color", 30, 200, RED, dMenu.pFont);
    
    } //Customize it
    
    
    
    void ReFont(LPDIRECT3DDEVICE9 pDevice) //For replacement fonts
    
    {
    
        if (g_pDevice != pDevice)
    
        {
    
            g_pDevice = pDevice;
    
            try
    
            {
    
                if (dMenu.pFont != 0)
    
                    dMenu.pFont->Release();
    
            } catch (...) {}
    
            dMenu.pFont = 0;
    
            D3DXCreateFontA(pDevice, 14, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &dMenu.pFont ); 
    
        }
    
    }
    
    
    
    HRESULT WINAPI Reset(IDirect3DDevice9* pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters )
    
    {
    
            dMenu.pFont->OnLostDevice();
    
    
    
            HRESULT hRet = pReset(pDevice, pPresentationParameters);
    
    
    
            dMenu.pFont->OnResetDevice();
    
    
    
            return hRet;
    
    }
    
    
    
    // Menu TITLE
    
    HRESULT WINAPI EndScene(LPDIRECT3DDEVICE9 pDevice)
    
    {
    
            ReFont(pDevice);
    
            dMenu.BuildMenu("mpgh.net 2011",0,0,190,200,RED,BLACK,GREEN,pDevice);
    
            TestThread();
    
            return pEndScene(pDevice);
    
    }
    
    
    
    int D3Dinit(void)//edit if you want to work for the game
    
    {
    
            DWORD           hD3D, adr, *vtbl;
    
            hD3D=0;
    
            do {
    
                    hD3D = (DWORD)GetModuleHandle("d3d9.dll");
    
                    Sleep(10);
    
            } while(!hD3D); 
    
            adr = FindPattern(hD3D, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
    
            if (adr) {
    
                    memcpy(&vtbl,(void *)(adr+2),4);
    
                    pReset    = (oReset)    DetourFunction((PBYTE)vtbl[16]   , (PBYTE)Reset   ,5);
    
                    pEndScene = (oEndScene) DetourFunction((PBYTE)vtbl[42], (PBYTE)EndScene,5);
    
            }
    
            return 0;
    
    }
    
    
    
    BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )//edit if you want to work for the game
    
    {
    
            DisableThreadLibraryCalls(hDll);
    
    
    
            if ( dwReason == DLL_PROCESS_ATTACH ) {
    
    
    
                    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3Dinit, NULL, NULL, NULL);
    
            }
    
            if( dwReason == DLL_PROCESS_DETACH)     {
    
                    dMenu.pFont->Release();
    
            }
    
            return TRUE;
    
    }






    Спасибо за внимание! Надеюсь всем понравилась моя статья

    Вот статья, которая послужила исходным материалом

    Для просмотра внешних ссылок необходимо зарегистрироваться либо авторизоваться
     
  2. Жуков

    Жуков New Member

    Репутация:
    0
    Регистрация:
    21 ноя 2011
    Сообщения:
    647
    Симпатии:
    0
    На нижнуюю часть статьи, где размещен код можете не обращать внимания. Главное- сверху
     
  3. nik-star

    nik-star New Member

    Репутация:
    0
    Регистрация:
    24 фев 2011
    Сообщения:
    351
    Симпатии:
    0
    Хорошая статья)

    Спасибо тебе за это) [​IMG]
     
  4. Enigm@

    [email protected] New Member

    Репутация:
    0
    Регистрация:
    4 окт 2011
    Сообщения:
    289
    Симпатии:
    0
    ".... - Джамп хак.

    .... - Быстрая перезарядка.

    .... - Анти отдача,скорострел,дн.

    .... - Анлим патроны.

    .... - Дамаг.

    .... - Спидхак.

    ..... - Телепорт!"

    Удали код с поиском!
     
  5. AdHardBass

    AdHardBass Active Member

    Репутация:
    0
    Регистрация:
    24 окт 2011
    Сообщения:
    1.157
    Симпатии:
    0
    Пусть будет))

    Всёровну нубы домаю ошибуться без гайда!
     
  6. Жуков

    Жуков New Member

    Репутация:
    0
    Регистрация:
    21 ноя 2011
    Сообщения:
    647
    Симпатии:
    0
    уже нельзя
     
  7. Жуков

    Жуков New Member

    Репутация:
    0
    Регистрация:
    21 ноя 2011
    Сообщения:
    647
    Симпатии:
    0
    вот именно
     
  8. Zheka0708

    Zheka0708 New Member

    Репутация:
    0
    Регистрация:
    24 ноя 2011
    Сообщения:
    263
    Симпатии:
    0
    Помогите сделать хоть самый плюшевый валлхак
     
  9. LoreToo

    LoreToo New Member

    Репутация:
    0
    Регистрация:
    3 янв 2012
    Сообщения:
    5
    Симпатии:
    0
    Для этого нам понадобится DirectX SDK 2010

    тык

    D3D9_MODEL_LOGGER чтобы подсветить текстуры

    скачать



    тык и скачать улыбнуло)))))))))) [​IMG] лови + [​IMG]
     
  10. [ХУЛИ-GUN]

    [ХУЛИ-GUN] New Member

    Репутация:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    725
    Симпатии:
    0
    Отличная статья!
     
  11. [ХУЛИ-GUN]

    [ХУЛИ-GUN] New Member

    Репутация:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    725
    Симпатии:
    0
    Отличная статья!
     
  12. †RuBiLNiK†

    †RuBiLNiK† New Member

    Репутация:
    0
    Регистрация:
    20 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    Чёткая тема,я и без этого обходился но новичкам очень даже поможет.
     
  13. †RuBiLNiK†

    †RuBiLNiK† New Member

    Репутация:
    0
    Регистрация:
    20 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    Чёткая тема,я и без этого обходился но новичкам очень даже поможет.
     
  14. Спецназовец

    Спецназовец New Member

    Репутация:
    0
    Регистрация:
    3 окт 2011
    Сообщения:
    1.126
    Симпатии:
    0
    Это лишние [​IMG]
     
  15. ZzRo]{eTzZ

    ZzRo]{eTzZ New Member

    Репутация:
    0
    Регистрация:
    2 окт 2011
    Сообщения:
    207
    Симпатии:
    0
    Тема хороша! Щас бегло прошёл глазами, но потом прочитаю.
     
  16. valdis1105

    valdis1105 New Member

    Репутация:
    0
    Регистрация:
    18 дек 2011
    Сообщения:
    10
    Симпатии:
    0
    Хочу заняться созданием читов!

    Как найти АДРЕСС!?
     
  17. Pb-MaSTeR

    Pb-MaSTeR Member

    Репутация:
    0
    Регистрация:
    10 авг 2011
    Сообщения:
    421
    Симпатии:
    0
    очень и очень помогло спс те..



    вопрос есть :

    для кроссфайра был:

    стрелять сквозь стены - это аим даа или неа???
     
  18. Жуков

    Жуков New Member

    Репутация:
    0
    Регистрация:
    21 ноя 2011
    Сообщения:
    647
    Симпатии:
    0
    а подумать?
     
  19. MS_CHESTER

    MS_CHESTER Member

    Репутация:
    0
    Регистрация:
    6 ноя 2010
    Сообщения:
    698
    Симпатии:
    0
    Для начинающих норм!! А точто названия функций серавно ненайдут!!)) Только щас будут спрашивать как что пребовлять!))



    Подсказка!

    Ненадо нечего прибовлять просто смотрите после названия функции код и найдете!!
     
  20. doping34

    doping34 New Member

    Репутация:
    0
    Регистрация:
    17 янв 2012
    Сообщения:
    51
    Симпатии:
    0
    спасиб братюн шас будем пытатса))
     
Статус темы:
Закрыта.

Поделиться этой страницей