HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 17.01.2025, 22:44
marqusss_
Новичок
Регистрация: 14.01.2025
Сообщений: 3
С нами: 701515

Репутация: 1
По умолчанию

Лад а на 2 вопрос хоть ответ можно?

как с помощью sampapi узнать айди скина на игроке

как с помощью sampapi узнать айди скина на игроке(при спавне)

Ответ:

namespace samp = sampapi::v037r3; - либо ваша версия

samp::RefNetGame()->GetPlayerPool()->GetLocalPlayer()->m_spawnInfo.m_nSkin
 
Ответить с цитированием

  #2  
Старый 23.01.2025, 00:26
мистер вселенная
Новичок
Регистрация: 07.03.2017
Сообщений: 26
С нами: 4834459

Репутация: 53
По умолчанию

кто то знает как отключить кастомные структуры моделей в сампе? нужно для анлимита на IDE обьекты (выше 20к)
 
Ответить с цитированием

  #3  
Старый 23.01.2025, 03:16
#r666
Новичок
Регистрация: 10.03.2016
Сообщений: 11
С нами: 5355032

Репутация: 51
По умолчанию

Добавил кастомную машину в игру с помощью FLA, пропатчил клиент и сервер, все окей, синхронизация имеется.

Но вот незадача, пытаюсь вывести TextDrawSetPreviewModel с новой машиной и пустота...

Как с этим бороться ?
 
Ответить с цитированием

  #4  
Старый 23.01.2025, 07:30
ARMOR
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами: 3831395

Репутация: 183


По умолчанию

Цитата:
Сообщение от #Lucifer  

Добавил кастомную машину в игру с помощью FLA, пропатчил клиент и сервер, все окей, синхронизация имеется.

Но вот незадача, пытаюсь вывести TextDrawSetPreviewModel с новой машиной и пустота...
Как с этим бороться ?
Патчил добавление моделей на текстдравы? Вот например у транспорта проверка на модель






1737602989060.pngARMOR · 23 Янв 2025 в 06:30' data-fancybox="lb-post-1580883" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/262309/" style="cursor: pointer;" title="1737602989060.png">
 
Ответить с цитированием

  #5  
Старый 23.01.2025, 08:40
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

Цитата:
Сообщение от ARMOR  

Патчил добавление моделей на текстдравы? Вот например у транспорта проверка на модель
Это надо правильно патчить, чтобы нормальные текстдравы не крашили
 
Ответить с цитированием

  #6  
Старый 23.01.2025, 12:36
#r666
Новичок
Регистрация: 10.03.2016
Сообщений: 11
С нами: 5355032

Репутация: 51
По умолчанию

Цитата:
Сообщение от ARMOR  

Патчил добавление моделей на текстдравы? Вот например у транспорта проверка на модель
Нет, не патчил. Подскажите адрес памяти для r3?

В целом с тяжестью нахожу какие-то куски, реверся samp.dll через IDA PRO, возможно есть какие-то более внятные источники, где можно посмотреть код сампа.

В идеале конечно узнать, откуда Ваш скрин взят)
 
Ответить с цитированием

  #7  
Старый 23.01.2025, 18:37
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

Репутация: 213
По умолчанию

Цитата:
Сообщение от #Lucifer  

Нет, не патчил. Подскажите адрес памяти для r3?
В целом с тяжестью нахожу какие-то куски, реверся samp.dll через IDA PRO, возможно есть какие-то более внятные источники, где можно посмотреть код сампа.
В идеале конечно узнать, откуда Ваш скрин взят)
GitHub - Northn/SAMP_IDBs

Contribute to Northn/SAMP_IDBs development by creating an account on GitHub.

github.com
 
Ответить с цитированием

  #8  
Старый 23.01.2025, 21:25
#r666
Новичок
Регистрация: 10.03.2016
Сообщений: 11
С нами: 5355032

Репутация: 51
По умолчанию

Цитата:
Сообщение от AdCKuY_DpO4uLa  

GitHub - Northn/SAMP_IDBs

Contribute to Northn/SAMP_IDBs development by creating an account on GitHub.

github.com



У меня это выглядит подобным образом(не так подробно, как у парня сверху). Я пропатчил адрес, заменив числа 263u на те, что мне нужны, но эффекта по прежнему 0. Что делаю не так?

Цитата:
Сообщение от #Lucifer  



У меня это выглядит подобным образом(не так подробно, как у парня сверху). Я пропатчил адрес, заменив числа 263u на те, что мне нужны, но эффекта по прежнему 0. Что делаю не так?
Удалось всё таки пропатчить, патчил не то место. Но вопрос остаётся актуальным, у меня часть в псевдокоде нормально выглядит, а часть подобным образом. Может я как-то не так открываю idb? Хотелось бы, чтобы было как у ARMOR
 
Ответить с цитированием

  #9  
Старый 27.01.2025, 00:56
thelupa1488
Новичок
Регистрация: 16.12.2020
Сообщений: 13
С нами: 2846858

Репутация: 53
По умолчанию

Здарова, хочу сделать рендер руды (external) на амайзинге samp R3, но не могу правильно получить адрес объекта

Структуры:





Код:
enum Limits
{
    SAMP_MAX_ACTORS = 1000,
    SAMP_MAX_PLAYERS = 1004,
    SAMP_MAX_VEHICLES = 2000,
    SAMP_MAX_PICKUPS = 4096,
    SAMP_MAX_OBJECTS = 1000,
    SAMP_MAX_GANGZONES = 1024,
    SAMP_MAX_3DTEXTS = 2048,
    SAMP_MAX_TEXTDRAWS = 2048,
    SAMP_MAX_PLAYERTEXTDRAWS = 256,
    SAMP_MAX_CLIENTCMDS = 144,
    SAMP_MAX_MENUS = 128,
    SAMP_MAX_PLAYER_NAME = 24,
    SAMP_ALLOWED_PLAYER_NAME_LENGTH = 20,
    SAMP_MAX_MAPICONS = 100,
};

struct stObject {
    char pad_0[6];
    int                        m_nModel;
    char pad_1;
    bool                        m_bDontCollideWithCamera;
    float                        m_fDrawDistance;
    float field_0;
    float                    m_position[3];
    float                        m_fDistanceToCamera;
    bool                        m_bDrawLast;
    char pad_2[64];
    float                    m_rotation[3];
    char pad_3[5];
    unsigned short            m_nAttachedToVehicle;
    unsigned short            m_nAttachedToObject;
    float                    m_attachOffset[3];
    float                    m_attachRotation[3];
    char field_1;
    float                    m_targetMatrix[4][4];
    char pad_4[148];
    char                        m_bMoving;
    float                        m_fSpeed;
    char pad_5[99];
};

struct stObjectPool
{
    int            m_nLargestId;
    BOOL        m_bNotEmpty[SAMP_MAX_OBJECTS];
    stObject* m_pObject[SAMP_MAX_OBJECTS];
};


Получение объекта:





Код:
uint32_t dwSAMPModule = pGTA->get_module_address("azmp.dll");
    uint32_t dwSampInfo = pGTA->read(dwSAMPModule + 0x26E8DC);

    uint32_t dwPools = pGTA->read(dwSampInfo + 0x3DE);
    uint32_t dwObjects = pGTA->read(dwPools + 0x14);
    stObjectPool m_Object = pGTA->read(dwObjects);

    for (int i = 0; i read(dwObj);
        int iModel = obj.m_nModel;
    }
 
Ответить с цитированием

  #10  
Старый 27.01.2025, 15:55
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

Цитата:
Сообщение от thelupa1488  

Здарова, хочу сделать рендер руды (external) на амайзинге samp R3, но не могу правильно получить адрес объекта

Структуры:





Код:
enum Limits
{
    SAMP_MAX_ACTORS = 1000,
    SAMP_MAX_PLAYERS = 1004,
    SAMP_MAX_VEHICLES = 2000,
    SAMP_MAX_PICKUPS = 4096,
    SAMP_MAX_OBJECTS = 1000,
    SAMP_MAX_GANGZONES = 1024,
    SAMP_MAX_3DTEXTS = 2048,
    SAMP_MAX_TEXTDRAWS = 2048,
    SAMP_MAX_PLAYERTEXTDRAWS = 256,
    SAMP_MAX_CLIENTCMDS = 144,
    SAMP_MAX_MENUS = 128,
    SAMP_MAX_PLAYER_NAME = 24,
    SAMP_ALLOWED_PLAYER_NAME_LENGTH = 20,
    SAMP_MAX_MAPICONS = 100,
};

struct stObject {
    char pad_0[6];
    int                        m_nModel;
    char pad_1;
    bool                        m_bDontCollideWithCamera;
    float                        m_fDrawDistance;
    float field_0;
    float                    m_position[3];
    float                        m_fDistanceToCamera;
    bool                        m_bDrawLast;
    char pad_2[64];
    float                    m_rotation[3];
    char pad_3[5];
    unsigned short            m_nAttachedToVehicle;
    unsigned short            m_nAttachedToObject;
    float                    m_attachOffset[3];
    float                    m_attachRotation[3];
    char field_1;
    float                    m_targetMatrix[4][4];
    char pad_4[148];
    char                        m_bMoving;
    float                        m_fSpeed;
    char pad_5[99];
};

struct stObjectPool
{
    int            m_nLargestId;
    BOOL        m_bNotEmpty[SAMP_MAX_OBJECTS];
    stObject* m_pObject[SAMP_MAX_OBJECTS];
};


Получение объекта:





Код:
uint32_t dwSAMPModule = pGTA->get_module_address("azmp.dll");
    uint32_t dwSampInfo = pGTA->read(dwSAMPModule + 0x26E8DC);

    uint32_t dwPools = pGTA->read(dwSampInfo + 0x3DE);
    uint32_t dwObjects = pGTA->read(dwPools + 0x14);
    stObjectPool m_Object = pGTA->read(dwObjects);

    for (int i = 0; i read(dwObj);
        int iModel = obj.m_nModel;
    }

используй sampapi
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.