Гайд Fix your dt for lw v3

(\ /) _ ($ __ $ ) _ (\ /)
Пользователь
Статус
Оффлайн
Регистрация
22 Окт 2021
Сообщения
361
Реакции[?]
92
Поинты[?]
24K
( Pytin.exe )
1645803162553.png
Дорогие товарищи, сегодня я вас научу как делать дт через cl_move ( скоро через sendmove, если будет достаточно реакций под этим постом )
Для того, чтобы дт работал вы должны были пофиксить свой лв по моему гайду ( Ссылка на гайд, просто нажми )
Так, продолжим.
Сделаем мы самый простенький defensive и обычный дабл тап на cl_move.
1. hooked_createmove.cpp
C++:
       if (g_ctx.globals.isshifting)
       {
            g_ctx.send_packet = g_ctx.globals.shift_ticks == 1;
            m_pcmd->m_buttons &= ~(IN_ATTACK | IN_ATTACK2);
            return;
        }
( если дт не работает, то пропишите misc::get().double_tap(m_pcmd); ( тут же ) )
2. structs.hpp
C++:
extern DWORD original_clmove;
    void __cdecl Hooked_CLMove(float flAccumulatedExtraSamples, bool bFinalTick);
( главное посмотрите, возможно это у вас будет )
3. structs.cpp
C++:
DWORD original_clmove = (DWORD)DetourFunction((byte*)util::FindSignature(crypt_str("engine.dll"), crypt_str("55 8B EC 81 EC ? ? ? ? 53 56 8A F9")), (byte*)hooks::Hooked_CLMove);
( где искать обновленные сигнатуры для clmove -
Пожалуйста, авторизуйтесь для просмотра ссылки.
(no ad )
4. hooked_runcommand ( cl_move )
1645803763644.png
C++:
typedef void(__cdecl* clMove_fn)(float, bool);
void __cdecl hooks::Hooked_CLMove(float flAccumulatedExtraSamples, bool bFinalTick) {
    if(g_ctx.globals.fakeducking)
        return (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));
    if (g_ctx.globals.startcharge && g_ctx.globals.tocharge < g_ctx.globals.tochargeamount)
    {
        g_ctx.globals.tocharge++;
        g_ctx.globals.ticks_allowed = g_ctx.globals.tocharge;
        m_globals()->m_interpolation_amount = 0.f;
        return;
    }
    (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));
        while (g_ctx.globals.shift_ticks)
        {
            g_ctx.globals.isshifting = true;
            g_ctx.globals.shift_ticks--;
            g_ctx.globals.tocharge--;
            (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));
        }
        g_ctx.globals.isshifting = false;
}
5. И финальный этап ( сам даблтап и дефенсив )
Идем в misc.cpp
Ищем наш даблпап ( doubletap )
C++:
void misc::double_tap(CUserCmd* m_pcmd)
{
    static auto lastdoubletaptime = 0;
    if (!g_cfg.ragebot.double_tap_key.key) {
        g_ctx.globals.shift_ticks = g_ctx.globals.tocharge;
        return;
    }
    g_ctx.globals.tickbase_shift = 16;
    auto weapon = g_ctx.local()->m_hActiveWeapon();
    if (!(m_pcmd->m_buttons & IN_ATTACK) && g_ctx.globals.tocharge < 16 && g_ctx.globals.fixed_tickbase - lastdoubletaptime > TIME_TO_TICKS(0.75f)) {
        g_ctx.globals.startcharge = true;
        g_ctx.globals.tochargeamount = 16;
    }
    else {
        g_ctx.globals.startcharge = false;
    }
    if (g_ctx.globals.tocharge > 16)
        g_ctx.globals.shift_ticks = g_ctx.globals.tocharge - 16;
    if (weapon && (m_pcmd->m_buttons & IN_ATTACK || (m_pcmd->m_buttons & IN_ATTACK2 && weapon->is_knife())) && g_ctx.globals.tocharge == 16) {
        lastdoubletaptime = g_ctx.globals.fixed_tickbase;
        g_ctx.globals.shift_ticks = 16;
    }
}
И теперь дефенсив, куда же без него
C++:
void exploit::double_tap_deffensive(CUserCmd* m_pcmd)
{
    if (fakelag::get().started_peeking && g_cfg.ragebot.defensive_doubletap)
    {
        if (g_ctx.globals.shift_timer < 1)
        {
            g_ctx.globals.tickbase_shift = 0;
            ++g_ctx.globals.shift_timer;
        }
        if (g_ctx.globals.shift_timer > 0)
        {
            g_ctx.globals.tickbase_shift = 16;
        }
    }
    else
    {
        g_ctx.globals.shift_timer = 0;
    }
}
Ну первоначальный дабл тап я вам предоставил, если есть ошибки писать - Kanker#7095.
ПОМОГАТЬ УЛУЧШИТЬ ДАБЛ ТАП Я НЕ БУДУ, Я ВАМ ДАЛ ТОЛЬКО ПРИМЕР И ПРАВИЛЬНО РАБОТУЮЩИЙ ДАБЛ ТАП.
Credits: Kanker, Слава Кунаев ( вк )
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
15 Апр 2021
Сообщения
224
Реакции[?]
64
Поинты[?]
0
( Pytin.exe )
Посмотреть вложение 193934
Дорогие товарищи, сегодня я вас научу как делать дт через cl_move ( скоро через sendmove, если будет достаточно реакций под этим постом )

Для того, чтобы дт работал вы должны были пофиксить свой лв по моему гайду ( Ссылка на гайд, просто нажми )
Так, продолжим.
Сделаем мы самый простенький defensive и обычный дабл тап на cl_move.
1. hooked_createmove.cpp

C++:
       if (g_ctx.globals.isshifting)

       {

            g_ctx.send_packet = g_ctx.globals.shift_ticks == 1;

            m_pcmd->m_buttons &= ~(IN_ATTACK | IN_ATTACK2);

            return;

        }
( если дт не работает, то пропишите misc::get().double_tap(m_pcmd); ( тут же ) )
2. structs.hpp

C++:
extern DWORD original_clmove;



    void __cdecl Hooked_CLMove(float flAccumulatedExtraSamples, bool bFinalTick);
( главное посмотрите, возможно это у вас будет )
3. structs.cpp

C++:
DWORD original_clmove = (DWORD)DetourFunction((byte*)util::FindSignature(crypt_str("engine.dll"), crypt_str("55 8B EC 81 EC ? ? ? ? 53 56 8A F9")), (byte*)hooks::Hooked_CLMove);
( где искать обновленные сигнатуры для clmove -
Пожалуйста, авторизуйтесь для просмотра ссылки.
(no ad )
4. hooked_runcommand ( cl_move )
Посмотреть вложение 193937
C++:
typedef void(__cdecl* clMove_fn)(float, bool);



void __cdecl hooks::Hooked_CLMove(float flAccumulatedExtraSamples, bool bFinalTick)

{







    if(g_ctx.globals.fakeducking)

        return (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));





    if (g_ctx.globals.startcharge && g_ctx.globals.tocharge < g_ctx.globals.tochargeamount)

    {

        g_ctx.globals.tocharge++;

        g_ctx.globals.ticks_allowed = g_ctx.globals.tocharge;

        m_globals()->m_interpolation_amount = 0.f;

        return;

    }



    (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));





        while (g_ctx.globals.shift_ticks)

        {

            g_ctx.globals.isshifting = true;

            g_ctx.globals.shift_ticks--;

            g_ctx.globals.tocharge--;

            (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));

        }

        g_ctx.globals.isshifting = false;



   

}
5. И финальный этап ( сам даблтап и дефенсив )
Идем в misc.cpp
Ищем наш даблпап ( doubletap )

C++:
void misc::double_tap(CUserCmd* m_pcmd)
{
    static auto lastdoubletaptime = 0;
    if (!g_cfg.ragebot.double_tap_key.key) {
        g_ctx.globals.shift_ticks = g_ctx.globals.tocharge;
        return;
    }

    g_ctx.globals.tickbase_shift = 16;

    auto weapon = g_ctx.local()->m_hActiveWeapon();

    if (!(m_pcmd->m_buttons & IN_ATTACK) && g_ctx.globals.tocharge < 16 && g_ctx.globals.fixed_tickbase - lastdoubletaptime > TIME_TO_TICKS(0.75f)) {
        g_ctx.globals.startcharge = true;
        g_ctx.globals.tochargeamount = 16;
    }
    else {
        g_ctx.globals.startcharge = false;
    }

    if (g_ctx.globals.tocharge > 16)
        g_ctx.globals.shift_ticks = g_ctx.globals.tocharge - 16;

    if (weapon && (m_pcmd->m_buttons & IN_ATTACK || (m_pcmd->m_buttons & IN_ATTACK2 && weapon->is_knife())) && g_ctx.globals.tocharge == 16) {
        lastdoubletaptime = g_ctx.globals.fixed_tickbase;
        g_ctx.globals.shift_ticks = 16;
    }
}
И теперь дефенсив, куда же без него

C++:
void exploit::double_tap_deffensive(CUserCmd* m_pcmd)
{
    if (fakelag::get().started_peeking && g_cfg.ragebot.defensive_doubletap)
    {
        if (g_ctx.globals.shift_timer < 1)
        {
            g_ctx.globals.tickbase_shift = 0;
            ++g_ctx.globals.shift_timer;
        }
        if (g_ctx.globals.shift_timer > 0)
        {
            g_ctx.globals.tickbase_shift = 16;
        }
    }
    else
    {
        g_ctx.globals.shift_timer = 0;
    }
}
Ну первоначальный дабл тап я вам предоставил, если есть ошибки писать - Kanker#7095.

ПОМОГАТЬ УЛУЧШИТЬ ДАБЛ ТАП Я НЕ БУДУ, Я ВАМ ДАЛ ТОЛЬКО ПРИМЕР И ПРАВИЛЬНО РАБОТУЮЩИЙ ДАБЛ ТАП.
Credits: Kanker, Слава Кунаев ( вк )
ебучий кринж + 100 по счету бесполезная тема про клмув для лв + 1645804630553.png позор кредитсы + спунфид для пастеров
 
Участник
Статус
Оффлайн
Регистрация
19 Апр 2020
Сообщения
1,176
Реакции[?]
314
Поинты[?]
152K
void exploit::double_tap_deffensive(CUserCmd* m_pcmd) { if (fakelag::get().started_peeking && g_cfg.ragebot.defensive_doubletap) { if (g_ctx.globals.shift_timer < 1) { g_ctx.globals.tickbase_shift = 0; ++g_ctx.globals.shift_timer; } if (g_ctx.globals.shift_timer > 0) { g_ctx.globals.tickbase_shift = 16; } } else { g_ctx.globals.shift_timer = 0; } }
Кринж который работать не будет
+ дт так себе
лучше уже сделать на сенд муве
 
(\ /) _ ($ __ $ ) _ (\ /)
Пользователь
Статус
Оффлайн
Регистрация
22 Окт 2021
Сообщения
361
Реакции[?]
92
Поинты[?]
24K
(\ /) _ ($ __ $ ) _ (\ /)
Пользователь
Статус
Оффлайн
Регистрация
22 Окт 2021
Сообщения
361
Реакции[?]
92
Поинты[?]
24K
Пользователь
Статус
Оффлайн
Регистрация
15 Апр 2021
Сообщения
224
Реакции[?]
64
Поинты[?]
0
Здравствуйте, коллега, а, что вы ожидали в открытом доступе? BMP resolver? Beatiful menu like skeet or neverlose?
нууу чел сори если ты сам понимаешь что это кал то нахуй постишь эту хуйню
жри говно за то бесплатно спс не
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Нужно

Больше



Нажатий клавиши

Enter.
Ведь это даёт + 100 к читабельности кода. Дружище, перед тем, как создавать гайд задай себе пару основных вопросов: 1 - Полезен ли этот гайд ? 2 - Нормально ли он оформлен ? Если один из пунктов не подходит, тогда стоит задуматься над его написанием...
 
(\ /) _ ($ __ $ ) _ (\ /)
Пользователь
Статус
Оффлайн
Регистрация
22 Окт 2021
Сообщения
361
Реакции[?]
92
Поинты[?]
24K
нууу чел сори если ты сам понимаешь что это кал то нахуй постишь эту хуйню
жри говно за то бесплатно спс не
Коллега, я все прекрасно понимаю, это было сделано для помощи новичкам в этом деле, это не рассчитано на людей, которые способны использовать дефолтный дт legendware v3, просто перенести речардж на cl_move. Мой ответ вам:" Я не хочу, чтобы copy+paste продавались или вообще существовали, да они будут, но их качество очень будет ужасное. "
Нужно

Больше



Нажатий клавиши

Enter.
Ведь это даёт + 100 к читабельности кода. Дружище, перед тем, как создавать гайд задай себе пару основных вопросов: 1 - Полезен ли этот гайд ? 2 - Нормально ли он оформлен ? Если один из пунктов не подходит, тогда стоит задуматься над его написанием...
Здравствуйте, коллега. Еще раз отвечу, этот гайд полезен новичкам которые действовали по моему гайду, мне постоянно пишут, что когда они пользуются моим гайдом у них не работает даблтап, я вам не друг, прошу обращаться ко мне достойно и как к человеку.
Пожалуйста, авторизуйтесь для просмотра ссылки.
( no ad ) Дополняю свой ответ:" Я понял ваше недовольство и все исправил, спасибо за критику. "
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Коллега, я все прекрасно понимаю, это было сделано для помощи новичкам в этом деле, это не рассчитано на людей, которые способны использовать дефолтный дт legendware v3, просто перенести речардж на cl_move. Мой ответ вам:" Я не хочу, чтобы copy+paste продавались или вообще существовали, да они будут, но их качество очень будет ужасное. "

Здравствуйте, коллега. Еще раз отвечу, этот гайд полезен новичкам которые действовали по моему гайду, мне постоянно пишут, что когда они пользуются моим гайдом у них не работает даблтап, я вам не друг, прошу обращаться ко мне достойно и как к человеку.
Пожалуйста, авторизуйтесь для просмотра ссылки.
( no ad ) Дополняю свой ответ:" Я понял ваше недовольство и все исправил, спасибо за критику. "
Тут дело немножко в другом. Ну вот ИМХО новички, прям как новички не должны даже пытаться заикаться про написание даблтапа и другого рейдж функционала, потому что у них нет базы знаний кроме 2-х дневного курса какого-нибудь Гоши Дударя по плюсам ( беру чисто из головы как пример ). Действуя по твоим гайдам они в тупую пастят, не понимая в основном что даже делают и потому раздел помощи новичкам на югейме это место где помогают не новичкам а в 80% случаев ебаным пастерам, которые сами пары строк не напишут. Ты, конечно, молодец то стараешься что-то дельное написать, но вот я бы добавил пару моментов. А именно начать объяснять почему, что и зачем. Для чего ты добавляешь ту или иную функцию, почему такая проблема вообще взялась и к тому же не давать прям фулл готовый код ( не во всех случаях ). Это делается для того, чтобы читатель хотя бы попытался сам что-то написать, а не просто спастил, тестанул, работает ? И хуй с ним. Неправильно немножко это
 
(\ /) _ ($ __ $ ) _ (\ /)
Пользователь
Статус
Оффлайн
Регистрация
22 Окт 2021
Сообщения
361
Реакции[?]
92
Поинты[?]
24K
Тут дело немножко в другом. Ну вот ИМХО новички, прям как новички не должны даже пытаться заикаться про написание даблтапа и другого рейдж функционала, потому что у них нет базы знаний кроме 2-х дневного курса какого-нибудь Гоши Дударя по плюсам ( беру чисто из головы как пример ). Действуя по твоим гайдам они в тупую пастят, не понимая в основном что даже делают и потому раздел помощи новичкам на югейме это место где помогают не новичкам а в 80% случаев ебаным пастерам, которые сами пары строк не напишут. Ты, конечно, молодец то стараешься что-то дельное написать, но вот я бы добавил пару моментов. А именно начать объяснять почему, что и зачем. Для чего ты добавляешь ту или иную функцию, почему такая проблема вообще взялась и к тому же не давать прям фулл готовый код ( не во всех случаях ). Это делается для того, чтобы читатель хотя бы попытался сам что-то написать, а не просто спастил, тестанул, работает ? И хуй с ним. Неправильно немножко это
Спасибо, товарищ. Я обязательно прислушаюсь к вашей просьбе, в следующий раз я буду все обьяснять как я делаю, и сделаю пожалуй мини тест в каждом своем гайде. Если человек реально все прочитал, он его запросто пройдет. Что обозначает в моем понятии мини тест, так, это, чтобы человек при прочтении всего, что я напишу ( пояснений, что да как ) он дописать код, чтобы он работал, думаю идея вполне адекватная.
 
(\ /) _ ($ __ $ ) _ (\ /)
Пользователь
Статус
Оффлайн
Регистрация
22 Окт 2021
Сообщения
361
Реакции[?]
92
Поинты[?]
24K
Здравствуйте, в вашем предложение есть ошибка и оскорбление. Путин - не бомж. Он самый богатый человек мира, кто может похвастаться такой резиденцией и территорией? Верно, никто. Я не люблю обсуждать политику, но. Зеленский сам выбрал путь в президенты, он абсолютно не умеет управлять, на его месте было правильно склониться перед Россией, чтобы обьединиться как всему русскому народу, разве мы не хотели мира? Все его хотят, но США хочет править всем миром, если вы хотите поговорить на эту тему лично со мной - Kanker#7095.
C++:
g_ctx.globals.tickbase_shift = 16;
Это вронг можно шифтить макс 14
Здравствуйте, коллега, да, вы верно подметили, но важно заметить, что лучше шифтить 13.
 
get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
437
Реакции[?]
201
Поинты[?]
48K
A0BD863E-788C-45CB-9509-15DA62029D07.jpeg
and you call others beginners? clearly you have no idea what the fuck you’re doing, please stop pretending to be someone you’re not, your knowledge about c++ is as much as any 5iq paster on this forum
 
(\ /) _ ($ __ $ ) _ (\ /)
Пользователь
Статус
Оффлайн
Регистрация
22 Окт 2021
Сообщения
361
Реакции[?]
92
Поинты[?]
24K
Посмотреть вложение 193952
and you call others beginners? clearly you have no idea what the fuck you’re doing, please stop pretending to be someone you’re not, your knowledge about c++ is as much as any 5iq paster on this forum
And hello to you, since, as you say, I am a paster, will you have proof? I just want to help newbies, I'm trying to come up with something that will not be strong for a public source, so as not to break the cheat economy. I hope you have enough intelligence to understand what the hell you said.
 
шатап книга
Забаненный
Статус
Оффлайн
Регистрация
7 Мар 2020
Сообщения
485
Реакции[?]
119
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
23 Янв 2022
Сообщения
35
Реакции[?]
1
Поинты[?]
0
( Pytin.exe )
Посмотреть вложение 193934
Дорогие товарищи, сегодня я вас научу как делать дт через cl_move ( скоро через sendmove, если будет достаточно реакций под этим постом )
Для того, чтобы дт работал вы должны были пофиксить свой лв по моему гайду ( Ссылка на гайд, просто нажми )
Так, продолжим.
Сделаем мы самый простенький defensive и обычный дабл тап на cl_move.
1. hooked_createmove.cpp
C++:
       if (g_ctx.globals.isshifting)
       {
            g_ctx.send_packet = g_ctx.globals.shift_ticks == 1;
            m_pcmd->m_buttons &= ~(IN_ATTACK | IN_ATTACK2);
            return;
        }
( если дт не работает, то пропишите misc::get().double_tap(m_pcmd); ( тут же ) )
2. structs.hpp
C++:
extern DWORD original_clmove;
    void __cdecl Hooked_CLMove(float flAccumulatedExtraSamples, bool bFinalTick);
( главное посмотрите, возможно это у вас будет )
3. structs.cpp
C++:
DWORD original_clmove = (DWORD)DetourFunction((byte*)util::FindSignature(crypt_str("engine.dll"), crypt_str("55 8B EC 81 EC ? ? ? ? 53 56 8A F9")), (byte*)hooks::Hooked_CLMove);
( где искать обновленные сигнатуры для clmove -
Пожалуйста, авторизуйтесь для просмотра ссылки.
(no ad )
4. hooked_runcommand ( cl_move )
Посмотреть вложение 193937
C++:
typedef void(__cdecl* clMove_fn)(float, bool);
void __cdecl hooks::Hooked_CLMove(float flAccumulatedExtraSamples, bool bFinalTick) {
    if(g_ctx.globals.fakeducking)
        return (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));
    if (g_ctx.globals.startcharge && g_ctx.globals.tocharge < g_ctx.globals.tochargeamount)
    {
        g_ctx.globals.tocharge++;
        g_ctx.globals.ticks_allowed = g_ctx.globals.tocharge;
        m_globals()->m_interpolation_amount = 0.f;
        return;
    }
    (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));
        while (g_ctx.globals.shift_ticks)
        {
            g_ctx.globals.isshifting = true;
            g_ctx.globals.shift_ticks--;
            g_ctx.globals.tocharge--;
            (clMove_fn(hooks::original_clmove)(flAccumulatedExtraSamples, bFinalTick));
        }
        g_ctx.globals.isshifting = false;
}
5. И финальный этап ( сам даблтап и дефенсив )
Идем в misc.cpp
Ищем наш даблпап ( doubletap )
C++:
void misc::double_tap(CUserCmd* m_pcmd)
{
    static auto lastdoubletaptime = 0;
    if (!g_cfg.ragebot.double_tap_key.key) {
        g_ctx.globals.shift_ticks = g_ctx.globals.tocharge;
        return;
    }
    g_ctx.globals.tickbase_shift = 16;
    auto weapon = g_ctx.local()->m_hActiveWeapon();
    if (!(m_pcmd->m_buttons & IN_ATTACK) && g_ctx.globals.tocharge < 16 && g_ctx.globals.fixed_tickbase - lastdoubletaptime > TIME_TO_TICKS(0.75f)) {
        g_ctx.globals.startcharge = true;
        g_ctx.globals.tochargeamount = 16;
    }
    else {
        g_ctx.globals.startcharge = false;
    }
    if (g_ctx.globals.tocharge > 16)
        g_ctx.globals.shift_ticks = g_ctx.globals.tocharge - 16;
    if (weapon && (m_pcmd->m_buttons & IN_ATTACK || (m_pcmd->m_buttons & IN_ATTACK2 && weapon->is_knife())) && g_ctx.globals.tocharge == 16) {
        lastdoubletaptime = g_ctx.globals.fixed_tickbase;
        g_ctx.globals.shift_ticks = 16;
    }
}
И теперь дефенсив, куда же без него
C++:
void exploit::double_tap_deffensive(CUserCmd* m_pcmd)
{
    if (fakelag::get().started_peeking && g_cfg.ragebot.defensive_doubletap)
    {
        if (g_ctx.globals.shift_timer < 1)
        {
            g_ctx.globals.tickbase_shift = 0;
            ++g_ctx.globals.shift_timer;
        }
        if (g_ctx.globals.shift_timer > 0)
        {
            g_ctx.globals.tickbase_shift = 16;
        }
    }
    else
    {
        g_ctx.globals.shift_timer = 0;
    }
}
Ну первоначальный дабл тап я вам предоставил, если есть ошибки писать - Kanker#7095.
ПОМОГАТЬ УЛУЧШИТЬ ДАБЛ ТАП Я НЕ БУДУ, Я ВАМ ДАЛ ТОЛЬКО ПРИМЕР И ПРАВИЛЬНО РАБОТУЮЩИЙ ДАБЛ ТАП.
Credits: Kanker, Слава Кунаев ( вк )
ждем от тебя сендмув, малой пастер требует на изичах.
проверки только дополни !
 
Сверху Снизу