мистер вселенная
Известный
- 26
- 4
кто то знает как отключить кастомные структуры моделей в сампе? нужно для анлимита на IDE обьекты (выше 20к)
Патчил добавление моделей на текстдравы? Вот например у транспорта проверка на модельДобавил кастомную машину в игру с помощью FLA, пропатчил клиент и сервер, все окей, синхронизация имеется.
Но вот незадача, пытаюсь вывести TextDrawSetPreviewModel с новой машиной и пустота...
Как с этим бороться ?
Это надо правильно патчить, чтобы нормальные текстдравы не крашилиПатчил добавление моделей на текстдравы? Вот например у транспорта проверка на модель Посмотреть вложение 262310Посмотреть вложение 262309
Нет, не патчил. Подскажите адрес памяти для r3?Патчил добавление моделей на текстдравы? Вот например у транспорта проверка на модель Посмотреть вложение 262310Посмотреть вложение 262309
Нет, не патчил. Подскажите адрес памяти для r3?
В целом с тяжестью нахожу какие-то куски, реверся samp.dll через IDA PRO, возможно есть какие-то более внятные источники, где можно посмотреть код сампа.
В идеале конечно узнать, откуда Ваш скрин взят)
![]()
GitHub - Northn/SAMP_IDBs
Contribute to Northn/SAMP_IDBs development by creating an account on GitHub.github.com
Удалось всё таки пропатчить, патчил не то место. Но вопрос остаётся актуальным, у меня часть в псевдокоде нормально выглядит, а часть подобным образом. Может я как-то не так открываю idb? Хотелось бы, чтобы было как у ARMOR![]()
У меня это выглядит подобным образом(не так подробно, как у парня сверху). Я пропатчил адрес, заменив числа 263u на те, что мне нужны, но эффекта по прежнему 0. Что делаю не так?
Потому что в большинстве случаев я использую свою базу для 0.3.DL которую делал сам на основе баз от #Northn и допиливал нужные части сам. Тебе нужно:Удалось всё таки пропатчить, патчил не то место. Но вопрос остаётся актуальным, у меня часть в псевдокоде нормально выглядит, а часть подобным образом. Может я как-то не так открываю idb? Хотелось бы, чтобы было как у ARMOR
Подскажешь адрес для R3 или хотя бы как в реверсе этот участок выглядит? Я постараюсь найти аналогичным образом, как и с твоим скрином вышеCModelInfo::ms_aModelsInfoPtrs
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<uint32_t>(dwSAMPModule + 0x26E8DC);
uint32_t dwPools = pGTA->read<uint32_t>(dwSampInfo + 0x3DE);
uint32_t dwObjects = pGTA->read<uint32_t>(dwPools + 0x14);
stObjectPool m_Object = pGTA->read<stObjectPool>(dwObjects);
for (int i = 0; i < SAMP_MAX_OBJECTS; ++i) {
if (!m_Object.m_bNotEmpty[i]) continue;
uint32_t dwObj = (uint32_t)m_Object.m_pObject[i];
stObject obj = pGTA->read<stObject>(dwObj);
int iModel = obj.m_nModel;
}
используй sampapiЗдарова, хочу сделать рендер руды (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<uint32_t>(dwSAMPModule + 0x26E8DC); uint32_t dwPools = pGTA->read<uint32_t>(dwSampInfo + 0x3DE); uint32_t dwObjects = pGTA->read<uint32_t>(dwPools + 0x14); stObjectPool m_Object = pGTA->read<stObjectPool>(dwObjects); for (int i = 0; i < SAMP_MAX_OBJECTS; ++i) { if (!m_Object.m_bNotEmpty[i]) continue; uint32_t dwObj = (uint32_t)m_Object.m_pObject[i]; stObject obj = pGTA->read<stObject>(dwObj); int iModel = obj.m_nModel; }
Спасибо, я решил использовать поиск объектов из гта, а не сампа, так что вопрос отпалиспользуй sampapi
Project->Properties->General->C++ Language Standard->Preview - Features from the Latest C++ Working Draft (/std:c++latest)I'm trying to build one source of the reader. I installed the plugin sdk, compiled everything as needed. When building, my brain is pounding with Sefetyhooks, namely - (Unable to open the include file: expected: No such file or directory) , they answered in one of the topics that you need to change the C++ standard when compiling the plugin sdk, although it was already the latest by default, what could be the problem?
(I also use the 19th year visual build when compiling, because there are 100+ errors on 22, and I also don’t know why - Directx SDK is installed)