
09.02.2022, 15:22
|
|
Познающий
Регистрация: 02.12.2019
Сообщений: 86
С нами:
3393864
Репутация:
23
|
|
Всем привет, снова.
У меня есть код, взятый из примеров работы с 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 я не нашел, приходиться изучать все самому методом тыка, но сейчас, нужна помощь знающих людей, ибо я уже не знаю что делать.
|
|
|
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|