Не работаетзамени !strcmp на strstr
Не работаетзамени !strcmp на strstr
Замени size_t на DWORDНе работает
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, Функа);
Да, сделал.Замени size_t на DWORD
и ты это сделал?C++:SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, Функа);
UPСпасибо за всё, но я так нифига и не понял.
Объясняю свою ситуацию. Я прочитал на различных форумах, как искать базовый адрес (ну + смещения и указатели) и начал искать базовый адрес информации игрока (SAMP), чтобы он него оттолкнуться и найти твой текущий ID (и я его нашёл). Выглядит оно примерно так (в кавычках БА): [samp.dll + 0x151434] + 0x2F1C -> указатель на ID. Теперь хочу написать на С++ программу, которая будет искать мой ID и сохранять его в какую-либо переменную (через ReadProcessMemory). Суть в том, что надо искать смещение для "samp.dll". Пожалуйста, покажите какой-либо готовый код (он же там не длинный), либо функцию, которая, зная хэндл ГТАшки, кидает мне БА сампа.длл. Буду очень благодарен =)
Вроде бы код правильный. Проверь, вызывается ли incomingRPC вовсе.не работает, сообщение 100% правильноеC++:bool CALLBACK incomingRPC(stRakNetHookParams * params) { if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage) { size_t len; DWORD color; char zq_message[256]; params->bitStream->ResetReadPointer(); params->bitStream->Read(color); params->bitStream->Read(len); params->bitStream->Read(zq_message, len); params->bitStream->ResetReadPointer(); zq_message[len] = '\0'; // strstr(zq_message, "[Информация] {FFFFFF}Поздравляю! Теперь этот бизнес ваш!") if (!strcmp(zq_message, "[Информация] {FFFFFF}Поздравляю! Теперь этот дом")) { SF->getSAMP()->getChat()->AddChatMessage(-1, "Вы купили дом за 1.3124 мс."); } }; return true; }
Да, вызывается. Перестало работать после подключения имгуиВроде бы код правильный. Проверь, вызывается ли incomingRPC вовсе.
Это матрица, которая хранит в себе числовые характеристики, она представлена в виде 2 х мерной структуры, в сампе в ней хранятся всякие позиции/углы и т.дВ сф некоторых структурах есть массив matrix что в нем, для чего он?
Можно сказать классификация, насколько я помнюВ сф некоторых структурах есть массив matrix что в нем, для чего он?
SAMPFUNCS, SF->getSAMP()->getInfo()->pPools->pObject->object[s]->iModel
ImGui::PushItemWidthЗдрасте, как уменьшить sliderint?
Посмотреть вложение 32255
C++:ImGui::SliderInt("Fov", &Cvars::fov, 90, 180);
в собейте нет. самому сделать несложно.есть ли в собейте функция чтобы узнать ид игрока по нику? или самому сделать
int getPlayerIDFromName(char *PlayerName)
{
for (int id = 0; id <= SAMP_MAX_PLAYERS; id++)
{
if (strcmp(getPlayerName(id), PlayerName) != 0)
continue;
else return id;
}
return NULL;
}
const char *getPlayerName(int iPlayerID) // samp.cpp
{
if (g_Players == NULL || iPlayerID < 0 || iPlayerID > SAMP_MAX_PLAYERS)
return NULL;
if (iPlayerID < 0 || iPlayerID > SAMP_MAX_PLAYERS)
return NULL;
if (iPlayerID == g_Players->sLocalPlayerID)
return g_Players->strLocalPlayerName.c_str();
if (g_Players->pRemotePlayer[iPlayerID] == NULL)
return NULL;
return g_Players->pRemotePlayer[iPlayerID]->strPlayerName.c_str();
}
без хуков никак. на основе пришедшего идентификатора модели сразу же создается текстура и информация о нем нигде не сохраняетсякак можно узнать ModelID котороя приходит в вот этом(верхнем) пакете, но не по средствам перехвата RPC а через структуры
мог бы не расписывать, сам знаю что парсить всех игроков надо, но все равно благодарюв собейте нет. самому сделать несложно.
Код:int getPlayerIDFromName(char *PlayerName) { for (int id = 0; id <= SAMP_MAX_PLAYERS; id++) { if (strcmp(getPlayerName(id), PlayerName) != 0) continue; else return id; } return NULL; } const char *getPlayerName(int iPlayerID) // samp.cpp { if (g_Players == NULL || iPlayerID < 0 || iPlayerID > SAMP_MAX_PLAYERS) return NULL; if (iPlayerID < 0 || iPlayerID > SAMP_MAX_PLAYERS) return NULL; if (iPlayerID == g_Players->sLocalPlayerID) return g_Players->strLocalPlayerName.c_str(); if (g_Players->pRemotePlayer[iPlayerID] == NULL) return NULL; return g_Players->pRemotePlayer[iPlayerID]->strPlayerName.c_str(); }
Собейт не установлен, "этот дом" потому что пробовал полностью - тоже не работает.При чём тут гуй к хукам ракнета?
Собейт установлен?
Почему тут просто "этот дом"? strcmp не ищет подстроки если чо я же писал тебе.
Скопируй полностью строку из chatlog.txt