Сообщение от
AdCKuY_DpO4uLa
C++:
Код:
stOnFootData data
{
}
;
// fill struct
data
.
m_Armor
=
(
std
::
uint8_t
)
pPed
->
m_fArmour
;
data
.
m_Health
=
(
std
::
uint8_t
)
pPed
->
m_fHealth
;
// etc...
BitStream bs
;
bs
.
Write
(
ID_PLAYER_SYNC
)
;
bs
.
Write
(
(
PCHAR
)
&
data
,
sizeof
(
stOnFootData
)
)
;
pNetGame
->
SendPacket
(
&
bs
)
;
Все тоже самое, краш, может это структура sampapi отличается от твоей? Что ты используешь? stOnFootData - это откуда?
C++:
Код:
if
(
gConfig
->
data
[
"ways"
]
.
contains
(
playWayName
)
)
{
std
::
thread
(
[
playWayName
]
(
)
{
play
=
true
;
sampapi
::
v037r1
::
RefChat
(
)
->
AddMessage
(
-
1
,
std
::
string
(
"Проигрываем маршрут: "
+
playWayName
)
.
c_str
(
)
)
;
auto
start
=
std
::
chrono
::
steady_clock
::
now
(
)
;
size_t index
=
0
;
while
(
index
data
[
"ways"
]
[
playWayName
]
.
size
(
)
)
{
auto
packetTime
=
gConfig
->
data
[
"ways"
]
[
playWayName
]
[
index
]
[
"time"
]
.
get
(
)
;
auto
currentTime
=
std
::
chrono
::
duration_cast
(
std
::
chrono
::
steady_clock
::
now
(
)
-
start
)
.
count
(
)
;
if
(
currentTime
>=
packetTime
)
{
auto
recordedData
=
gConfig
->
data
[
"ways"
]
[
playWayName
]
[
index
]
;
sampapi
::
v037r1
::
Synchronization
::
OnfootData data
{
}
;
data
.
m_position
=
{
recordedData
[
"position"
]
[
0
]
.
get
(
)
,
recordedData
[
"position"
]
[
1
]
.
get
(
)
,
recordedData
[
"position"
]
[
2
]
.
get
(
)
,
}
;
RakNet
::
BitStream bs
;
bs
.
Write
(
ID_PLAYER_SYNC
)
;
bs
.
Write
(
(
PCHAR
)
&
data
,
sizeof
(
sampapi
::
v037r1
::
Synchronization
::
OnfootData
)
)
;
rakhook
::
send
(
&
bs
,
PacketPriority
::
HIGH_PRIORITY
,
PacketReliability
::
RELIABLE_ORDERED
,
(
char
)
0
)
;
++
index
;
}
}
sampapi
::
v037r1
::
RefChat
(
)
->
AddMessage
(
-
1
,
"Маршрут завершен."
)
;
play
=
false
;
}
)
.
detach
(
)
;
}
UPD, выяснил, что это происходит именно при воспроизведении, обычная отправка ошибок не вызывает 🥲🥲🥲🥲
Пойду пытаться делать очередь
UPD. ЗАБЕГАЛО
UPD, В общем, все так-то у меня было нормально, что-то с воспроизведением было не так
Видимо ему не понравилось, что я это делал внутри rakhook'а и отдельным потоком
Создал при помощи ktcore очередь и по красоте расписал все, и ура, РАБОТАЕТ!
Спасибо всем, кто пытался помочь, проблема оказалась вообще в третьем, вместо первого и второго
