- 90
- 50
Всем привет, снова.
У меня есть код, взятый из примеров работы с plugin-sdk, который спавнит пешехода. Я его немного переделал, но проблема конкретно не в этом.
Вот код:
Так вот, я хочу постоянно обновлять позицию педа, чтоб она была равна текущей позиции игрока. Педа он спавнит, все ок, но вот при попытке создать бесконечный цикл, в котором будет постоянно обновляться его координаты, игра тупо крашится и ничего не работает.
Внятной документации по plugin-sdk я не нашел, приходиться изучать все самому методом тыка, но сейчас, нужна помощь знающих людей, ибо я уже не знаю что делать.
У меня есть код, взятый из примеров работы с plugin-sdk, который спавнит пешехода. Я его немного переделал, но проблема конкретно не в этом.
Вот код:
C++:
float* coordinates = (*(DWORD*)0xB6F5F0) ? (float*)(*(DWORD*)(*(DWORD*)0xB6F5F0 + 0x14) + 0x30) : NULL;
void spawncPed()//(float* car_data)
{
static int keyPressTime = 0;
Events::gameProcessEvent += []{//&car_data] {
if (FindPlayerPed() && KeyPressed(VK_F9) && CTimer::m_snTimeInMilliseconds - keyPressTime > 500) {
#ifdef GTASA
keyPressTime = CTimer::m_snTimeInMilliseconds;
int modelID = pedModelIds[rand() % 250];
CStreaming::RequestModel(modelID, 0);
CStreaming::LoadAllRequestedModels(false);
CPed *ped = new CCivilianPed(CPopulation::IsFemale(modelID) ? PED_TYPE_CIVFEMALE : PED_TYPE_CIVMALE, modelID);
if (ped) {
ped->SetPosn(coordinates[0], coordinates[1], coordinates[2]);
ped->SetOrientation(0.0f, 0.0f, 0.0f);
CWorld::Add(ped);
/*ped->PositionAnyPedOutOfCollision();
ped->m_pIntelligence->m_TaskMgr.SetTask(new CTaskComplexWanderStandard(4, rand() % 8, true), 4, false);*/
}
while(true) // Вот тут проблема
{
//ped->SetOrientation(0.0f, 0.0f, 0.0f);
ped->SetPosn(coordinates[0], coordinates[1], coordinates[2]);
ped->UpdatePosition();
Sleep(1000);
}
#else
CHud::SetHelpMessage(L"Not done yet!", true, false);
#endif
}
};
}
Так вот, я хочу постоянно обновлять позицию педа, чтоб она была равна текущей позиции игрока. Педа он спавнит, все ок, но вот при попытке создать бесконечный цикл, в котором будет постоянно обновляться его координаты, игра тупо крашится и ничего не работает.
Внятной документации по plugin-sdk я не нашел, приходиться изучать все самому методом тыка, но сейчас, нужна помощь знающих людей, ибо я уже не знаю что делать.