Другое С/С++ Вопрос - Ответ

AdCKuY_DpO4uLa

Известный
287
477
Мужички ребята, пытаюсь получить CPed игрока по ID, используя plugin SDK + sampAPI, но игра крашиться, помогите пожалуйста, я риально слоупчан

Пробывал 2 варианта:
C++:
CPed* pPed = SAMP::pSAMP->getPlayers()->GetCPedFromPlayerID(ID);

C++:
CPed* pPed = CPools::GetPed(pSAMP->getPlayers()->pRemotePlayer[ID]->pPlayerData->pSAMP_Actor->ulGTAEntityHandle);
C++:
CPed* pPed = sampapi::v037r1::RefNetGame()->m_pPools->m_pPlayer->m_pObject[playerID]->m_pPlayer->m_pPed->m_pGamePed;
Так же не стоит забывать про то, что требуется проверка на то, существует ли вообще пед под этим идом в зоне стрима
 

zheluk!

Новичок
7
0
C++:
CPed* pPed = sampapi::v037r1::RefNetGame()->m_pPools->m_pPlayer->m_pObject[playerID]->m_pPlayer->m_pPed->m_pGamePed;
Так же не стоит забывать про то, что требуется проверка на то, существует ли вообще пед под этим идом в зоне стрима
Если не сложно, подскажи как проверить находиться ли cped в зоне стрима
 

zheluk!

Новичок
7
0
ку, снова обращаюсь за помощью, подскажите пожалуйста как найти объект по айдишнику, и как проверить в зоне он стрима или нет)
sampapi + pluginsdk
 

Fikasor

Потрачен
4
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ку, снова обращаюсь за помощью, подскажите пожалуйста как найти объект по айдишнику, и как проверить в зоне он стрима или нет)
sampapi + pluginsdk
C++:
if (sampapi::v037r1::RefNetGame()->GetObjectPool()->Get(ObjectID) != NULL)
    // в зоне стрима
 

reussssya

Новичок
28
8
Можно ли как-то в realtime хукать функции и вообще работать с памятью? Пробовал консольным приложением менять че-то (используя SAMP-API c++), но не получалось, хотя с длл все норм. Можете, пожалуйста, обьяснить, что я делаю не так?
 
  • Эм
Реакции: Z3roKwq

Digger Man

Любитель Linux
Модератор
1,639
1,124
Можно ли как-то в realtime хукать функции и вообще работать с памятью? Пробовал консольным приложением менять че-то (используя SAMP-API c++), но не получалось, хотя с длл все норм. Можете, пожалуйста, обьяснить, что я делаю не так?
Простым консольным приложением , менять не получится, так как по факту оно не инжектится в игру, а значит и память ее менять не может, но есть другое решение, создание экстернал чита, https://www.blast.hk/threads/156284/
 

F0RQU1N and

Известный
1,310
495
Можно ли как-то в realtime хукать функции и вообще работать с памятью? Пробовал консольным приложением менять че-то (используя SAMP-API c++), но не получалось, хотя с длл все норм. Можете, пожалуйста, обьяснить, что я делаю не так?
а как то можно не в "realtime"?
вероятно ты писал в память своей проги а не игры
 

reussssya

Новичок
28
8
Простым консольным приложением , менять не получится, так как по факту оно не инжектится в игру, а значит и память ее менять не может, но есть другое решение, создание экстернал чита, https://www.blast.hk/threads/156284/
А может есть что-то в стиле c++?
 

Receiver

🥩 Передай meat, всё в скип, я в темпе
Проверенный
595
807
Можно ли как-то в realtime хукать функции и вообще работать с памятью? Пробовал консольным приложением менять че-то (используя SAMP-API c++), но не получалось, хотя с длл все норм. Можете, пожалуйста, обьяснить, что я делаю не так?
Читать и писать память достаточно легко, для этого есть ReadProcessMemory и WriteProcessMemory. С хуками сложнее, тут надо ставить брейкпоинты, либо инжектить код с установкой хуков и пробросом сообщений в твоё приложение (например через сокеты). Это будет работать достаточно медленно, так что не рекомендую ставить хуки из внешнего приложения. Напомню что External приложения не должны редактировать память процесса, чтобы не быть обнаруженными.
 
  • Нравится
  • Вау
Реакции: legendabrn и reussssya