Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Исходник [Вопрос] оффсеты samp

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
21 Июн 2025
Сообщения
99
Реакции
5
делаю либу для сампа, чтобы школотроны могли легко писать свои софты/cкрипты простыми апишками

проблема с оффсетами именно, все прекрасно инжектится.
есть у кого готовые оффсеты(персонаж/камера/скин)? они вроде статичные(мне лень искать)

samp 0.3.7

1760810851416.png
 
делаю либу для сампа, чтобы школотроны могли легко писать свои софты/cкрипты простыми апишками

проблема с оффсетами именно, все прекрасно инжектится.
есть у кого готовые оффсеты(персонаж/камера/скин)? они вроде статичные(мне лень искать)

samp 0.3.7

Посмотреть вложение 317828
MoonLoader для идиотов или как?
 
MoonLoader для идиотов или как?

1760811267150.png

братан ты че слепой, моя либа будет написана на чистом асме, соотвественно и писать софт надо будет на асме а не на говнолуа

только вот писать его будет максимально просто, т.к под капотом все сделано за тебя, твоя задача вызвать апишку и передать ей нужные тебе значения
 

Вложения

  • 1760811264767.png
    1760811264767.png
    8 KB · Просмотры: 20
к моей либе будет приклеплена документация если че которая будет создана по этой самой же либе
О да я же буду использовать хуевую библиотеку без документации.
В ассеблере нет абсолютно ничего легкого кроме call jmp move
 
тебе правильно сказали, но в контексте самперов. сейчас уже все лучше конечно, но все же, кто будет на эту игру сейчас писать скрипты на ассемблере?
какой профит от этой либы если есть уже устоявшийся стандарт? ты переизобретаешь велосипед по моему.
голова у тебя на плечах вроде есть с такими то знаниями, но смотрит она не туда.

пользуясь случаем хочу поинтересоваться, это чудо вообще живое? с года так 22го не заходил, было бы интересно посмотреть как там сейчас дела обстоят.
 
тебе правильно сказали, но в контексте самперов. сейчас уже все лучше конечно, но все же, кто будет на эту игру сейчас писать скрипты на ассемблере?
я лично эту либу пишу для практики, чисто чтобы было

и кодить используя ее будет легче в плане разработки читов под пиксели
моя цель сделать так, чтобы любой школотрон мог под сампик писать любой вид софтов используя апи этой библиотеки, при этом используя ассемблер и при этом не вкладывая в это много усилий



я понять не могу, если ассемблер, то на нем писать не смогут? порой странно люди мыслят

я помню хватился с англо-язычными программисте в чате по айти, и у них были прям точно такие же аргументы как у того типа сверху, когда я сказал, "пишите на ассемблере":
1. Сложный синтаксис
2. Писать надо 1000 лет
3. На нем ничего крутого не напишешь
4. Там пару инструкций

Аргументы, конечно, были уничтожены. Но удалось доказать, что люди во всём мире почти одинаковые.
 
Последнее редактирование:
братан реально думает, что его целевая аудитория из школьников будут учить регистры, типы данных, load/store мнемонику и самое банальное это работа со стеком, ну ни один человек в мире не будет такой хуйней заниматся, то, что в луа пишется за 5 строчек, в асме будет растянуто на 50, как ты себе представляешь например работу с SSE от васи пупкина? или если ты хочешь замакросить все и сделать через либы, то это просто будет уродски выглядищий спагетос, а не читаемый код. Ассемблер для другого используют. Надеюсь поймешь это до того, как напишешь в стол пару десятков проектов на масме или на чем ты там пишешь.

Ты кстати очень похож на чувочков из тик тока, которые всем кричат, что они пишут на каких то "сложных" в их понимании языках программирования, но вот проблема нахуй, ассемблер не безопасный, в нем нету хендлеров для ub, ты буквально сделаешь хуйню, которую нереально дебажить :roflanEbalo:
 
C++:
Expand Collapse Copy
enum eVersion : int
    {
        UNKNOWN = 0,
        DL = 1,
        R1,
        R2,
        R3,
        R4,
        R5
    };


C++:
Expand Collapse Copy
namespace Offsets
{
    constexpr std::uintptr_t uiInfo[] = { 0, 0x2ACA24, 0x21A0F8, 0x21A100, 0x26E8DC, 0x26EA0C, 0x26EB94 };
    constexpr std::uintptr_t uiRakNet[] = { 0, 0x2C, 0x3C9, 0x18, 0x2C, 0x0, 0x0 };
    constexpr std::uintptr_t uiMisc[] = { 0, 0x2ACA3C, 0x21A10C, 0x21A114, 0x26E8F4, 0x26EA24, 0x26EBAC };
    constexpr std::uintptr_t uiChat[] = { 0, 0x2ACA10, 0x21A0E4, 0x21A0EC, 0x26E8C8, 0x26E9F8, 0x26EB80 };
    constexpr std::uintptr_t uiInput[] = { 0, 0x2ACA14, 0x21A0E8, 0x21A0F0, 0x26E8CC, 0x26E9FC, 0x26EB84 };
    constexpr std::uintptr_t uiScoreboard[] = { 0, 0x2AC9DC, 0x21A0B4, 0x21A0BC, 0x26E894, 0x26E894, 0x26EB4C };
    constexpr std::uintptr_t uiUpdateScoreboard[] = { 0, 0x8C00, 0x8A10, 0x8A20, 0x8BA0, 0x8F00, 0x8F10 };
    constexpr std::uintptr_t uiDialog[] = { 0, 0x2AC9E0, 0x21A0B8, 0x21A0C0, 0x26E898, 0x26E9C8, 0x26EB50 };

    constexpr std::uintptr_t uiAddCommand[] = { 0, 0x691B0, 0x65AD0, 0x65BA0, 0x69000, 0x69730, 0x69900 };
    constexpr std::uintptr_t uiServerIP[] = { 0, 0x30, 0x20, 0x1C, 0x30, 0x30, 0x40 };
    constexpr std::uintptr_t uiServerPort[] = { 0, 0x235, 0x225, 0x221, 0x235, 0x235, 0x248 };
    constexpr std::uintptr_t uiCursor[] = { 0, 0xA0530, 0x9BD30, 0x9BDD0, 0x9FFE0, 0xA0720, 0xA06F0 };
    constexpr std::uintptr_t uiAddMessage[] = { 0, 0x67650, 0x64010, 0x645F0, 0x67460, 0x680B0, 0x68070 };
    constexpr std::uintptr_t uiPlayerColor[] = { 0, 0x18F6C0, 0x216378, 0x216380, 0x151578, 0x1516A0, 0x151828 };
    constexpr std::uintptr_t uiPools[] = { 0, 0x3DE, 0x3CD, 0x3C5, 0x3DE, 0x3DE, 0x3DE };

    // Pools
    constexpr std::uintptr_t uiPlayerPool[] = { 0, 0x8, 0x18, 0x8, 0x8, 0x4, 0x4 };
    constexpr std::uintptr_t uiObjectPool[] = { 0, 0x14, 0x4, 0x14, 0x14, 0x14, 0x18 };
    constexpr std::uintptr_t uiPickupPool[] = { 0, 0x10, 0x20, 0x10, 0x10, 0x10, 0x10 };

    // Player pool
    constexpr std::uintptr_t uiLocalID[] = { 0, 0x0, 0x4, 0x0, 0x2F1C, 0x4, 0x4 };
    constexpr std::uintptr_t uiLocalName[] = { 0, 0x6, 0xA, 0x6, 0x2F22, 0x12, 0x12 };
    constexpr std::uintptr_t uiRemotePlayer[] = { 0, 0x26, 0x2E, 0x26, 0x4, 0x2E, 0x1F8A };
    constexpr std::uintptr_t uiIsListed[] = { 0, 0xFDE, 0xFDE, 0xFDE, 0xFB4, 0xFDE, 0x2A };
    constexpr std::uintptr_t uiLocalPing[] = { 0, 0, 0x26, 0, 0, 0, 0x30 };

    // Remote player
    constexpr std::uintptr_t uiRemoteData[] = { 0, 0x8, 0x0, 0xC, 0x0, 0x10, 0x10 };
    constexpr std::uintptr_t uiRemoteName[] = { 0, 0x14, 0xC, 0x14, 0xC, 0x18, 0x18 };
    constexpr std::uintptr_t uiRemoteHealth[] = { 0, 0x1BC, 0x1BC, 0x1BC, 0x1B0, 0x1B0, 0x1B0 };
    constexpr std::uintptr_t uiRemoteArmour[] = { 0, 0x1AC, 0x1B8, 0x1AC, 0x1AC, 0x1AC, 0x1AC };
    constexpr std::uintptr_t uiRemoteAFK[] = { 0, 0x1D1, 0x1D1, 0x1D1, 0x1D1, 0x1D1, 0x1C5 };
    constexpr std::uintptr_t uiRemoteNPC[] = { 0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x8 };
    constexpr std::uintptr_t uiRemoteSampPed[] = { 0, 0x4, 0x0, 0x1C, 0x0, 0x1DD, 0x1DD };
    constexpr std::uintptr_t uiRemoteGtaPed[] = { 0, 0x2A4, 0x2A4, 0x2A4, 0x2A4, 0x2A4, 0x2A4 };
    constexpr std::uintptr_t uiRemotePing[] = { 0, 0xC, 0x28, 0x4, 0x28, 0x28, 0xC };

    // Object pool
    constexpr std::uintptr_t uiObjectIsListed = 0x4;
    constexpr std::uintptr_t uiObjectInfo = 0xFA4;
    constexpr std::uintptr_t uiObjectEntity = 0x40;

    // Pickup pool
    constexpr std::uintptr_t uiPickupInfo = 0xF004;
}
 
я лично эту либу пишу для практики, чисто чтобы было

и кодить используя ее будет легче в плане разработки читов под пиксели
моя цель сделать так, чтобы любой школотрон мог под сампик писать любой вид софтов используя апи этой библиотеки, при этом используя ассемблер и при этом не вкладывая в это много усилий



я понять не могу, если ассемблер, то на нем писать не смогут? порой странно люди мыслят

я помню хватился с англо-язычными программисте в чате по айти, и у них были прям точно такие же аргументы как у того типа сверху, когда я сказал, "пишите на ассемблере":
1. Сложный синтаксис
2. Писать надо 1000 лет
3. На нем ничего крутого не напишешь
4. Там пару инструкций

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

Как бы в твоей голове парадоксально не звучало, но писать на нем 1000 лет и нихуя крутого ты не напишешь. Ибо чтобы повторить условный связанный список на асме тебе придется проклятья бабку соседка и мать Терезу

На асме ты будешь ебаться в очко с тирепсами чтобы вывести hello word, не говоря о том чтобы написать какой-то "микросервис", "игру". Да что угодно.

В сухом остатке бизнесу нахуй не нужен быстрый код, в противном случае все бы писалось функциональной и не было бы хуев в виде ООП. Дешевле поставить на 4 гига оперативки больше, нежели заплатить команде разработки за два часа лишней работы

Читы же в первую очередь бизнес и нужно чтобы хуятину которую ты туда понапишешь можно было дебажить и разширять тратя на это минимальное количество сил и времени
 
На асме ты будешь ебаться в очко с тирепсами чтобы вывести hello word, не говоря о том чтобы написать какой-то "микросервис", "игру". Да что угодно.
На ассемблере не нужно писать долго, это иллюзия которая спадает как только ты начинаешь кодить на нем. И вывести hello world через MessageBoxA тоже не трудно если что)
Я слышу подобные аргументы от людей, которые никогда не писали на ассемблере, честно, уже смешно.
Люди тупо не учитывают, что есть также:библиотеки, макросы. Ну это пиздец какой-то)
братан реально думает, что его целевая аудитория из школьников будут учить регистры, типы данных, load/store мнемонику и самое банальное это работа со стеком, ну ни один человек в мире не будет такой хуйней заниматся, то, что в луа пишется за 5 строчек, в асме будет растянуто на 50, как ты себе представляешь например работу с SSE от васи пупкина? или если ты хочешь замакросить все и сделать через либы, то это просто будет уродски выглядищий спагетос, а не читаемый код. Ассемблер для другого используют. Надеюсь поймешь это до того, как напишешь в стол пару десятков проектов на масме или на чем ты там пишешь.

Ты кстати очень похож на чувочков из тик тока, которые всем кричат, что они пишут на каких то "сложных" в их понимании языках программирования, но вот проблема нахуй, ассемблер не безопасный, в нем нету хендлеров для ub, ты буквально сделаешь хуйню, которую нереально дебажить :roflanEbalo:

Каждое мнение субъективно.
Точно также мыслил, год назад, сидел в дискорде хуесосил типов за то что они на чистом на асме пишут.
А потом, сам начал кодить и чет понял что это была всего лишь иллюзия

И кстати, про то, как "долго" писать на ассемблере. Я одному сишнику предложил переписать один ScreenColor с ассемблера на си, он сказал что сделает это за пару часов. Пару часов прошло, он расставлял контролы, это было 5% программы)
 
Последнее редактирование:
не рассказывайте ему про TSB Bank или Knight Capital
Там все сложное, намного сложение чем ты думаешь или хочешь думать
На ассемблере не нужно писать долго, это иллюзия которая спадает как только ты начинаешь кодить на нем. И вывести hello world через MessageBoxA тоже не трудно если что)
Я слышу подобные аргументы от людей, которые никогда не писали на ассемблере, честно, уже смешно.
Люди тупо не учитывают, что есть также:библиотеки, макросы. Ну это пиздец какой-то)


Каждое мнение субъективно.
Точно также мыслил, год назад, сидел в дискорде хуесосил типов за то что они на чистом на асме пишут.
А потом, сам начал кодить и чет понял что это была всего лишь иллюзия

И кстати, про то, как "долго" писать на ассемблере. Я одному сишнику предложил переписать один ScreenColor с ассемблера на си, он сказал что сделает это за пару часов. Пару часов прошло, он расставлял контролы, это было 5% программы)
Про последний пункт не понял нахуй он тут нужен, из него следует что человек неправильно оценил свои возможности???

Макросы это упрощения повторяющегося кода в не полная обёртку над каждый возжеланным действием.

Нету смысла спросить что сервисы быстрее и легче пишутся на джаве/го или подобных языках. Нету смысла лезть в низкий уровень, когда есть примитивы. На асм ты тоже самое будешь два века писать, если ты даже это будешь отрицать ну собственно тогда можем поспорить

Та и что значит не нужно? Если нужно

Работа с регистрами это долбёжка в анус, намного легче написать print("Hello world"). Нежели подключать библиотеку, крутить макросы и ещё с бубнами танцевать чтобы нихуя не рвануло
 
Последнее редактирование:
Назад
Сверху Снизу