Просмотр полной версии : краш игры
В чем проблема? Во время прорисовки радара крашит игру, пробовал сделать многое но результат один. В коде сейчас стандартный код gta_sa.exe но даже при этом происходит краш
https://forum.antichat.xyz/attachments/28514403/
https://forum.antichat.xyz/attachments/28514403/
fuflexxxx
01.07.2024, 21:19
В чем проблема? Во время прорисовки радара крашит игру, пробовал сделать многое но результат один. В коде сейчас стандартный код gta_sa.exe но даже при этом происходит краш
https://forum.antichat.xyz/attachments/28514652/
https://forum.antichat.xyz/attachments/28514652/
1. Перепроверь соглашение о вызове.
2. Пробовал ли отладчик подключать?
3. А что ты сделать то хочешь?
1. Перепроверь соглашение о вызове.
2. Пробовал ли отладчик подключать?
3. А что ты сделать то хочешь?
Все ок
Да
Размер карты изменить
fuflexxxx
01.07.2024, 22:33
Все ок
Да
Размер карты изменить
1. Надеюсь проверял по асм коду.
2. Что отлалчик показал?
С таким кодом в одиночной игре всё работает. Соглашение cdecl, функция ничего не возвращает.
https://forum.antichat.xyz/attachments/28514687/
rebuild_TransformRadarPointToScreenSpace:
void
CRadar
::
TransformRadarPointToScreenSpace
(
CVector2D
&
screenPt
,
const
CVector2D
&
radarPt
)
{
if
(
FrontEndMenuManager
.
m_bDrawingMap
)
{
screenPt
.
x
=
FrontEndMenuManager
.
m_fMapZoom
*
radarPt
.
x
+
FrontEndMenuManager
.
m_vMapOrigin
.
x
;
screenPt
.
y
=
FrontEndMenuManager
.
m_fMapZoom
*
radarPt
.
y
+
FrontEndMenuManager
.
m_vMapOrigin
.
y
;
}
else
{
screenPt
.
x
=
0.5
*
(
94.0
*
(
(
double
)
RsGlobal
.
maximumWidth
*
0.0015625
)
)
+
(
double
)
RsGlobal
.
maximumWidth
*
0.0015625
*
40.0
+
94.0
*
(
(
double
)
RsGlobal
.
maximumWidth
*
0.0015625
)
*
radarPt
.
x
*
0.5
;
screenPt
.
y
=
(
double
)
RsGlobal
.
maximumHeight
-
0.002232143
*
(
double
)
RsGlobal
.
maximumHeight
*
104.0
+
76.0
*
(
0.002232143
*
(
double
)
RsGlobal
.
maximumHeight
)
*
0.5
-
76.0
*
(
0.002232143
*
(
double
)
RsGlobal
.
maximumHeight
)
*
radarPt
.
y
*
0.5
;
}
}
Код ниже написан лучше, но это, если в твоём сдк есть такие inline функции.
rebuild_TransformRadarPointToScreenSpace:
void
CRadar
::
TransformRadarPointToScreenSpace
(
CVector2D
&
screenPt
,
const
CVector2D
&
radarPt
)
{
//patch::Call(screenPt, radarPt);
if
(
FrontEndMenuManager
.
m_bDrawingMap
)
{
screenPt
.
x
=
FrontEndMenuManager
.
m_fMapZoom
*
radarPt
.
x
+
FrontEndMenuManager
.
m_vMapOrigin
.
x
;
screenPt
.
y
=
FrontEndMenuManager
.
m_fMapZoom
*
radarPt
.
y
+
FrontEndMenuManager
.
m_vMapOrigin
.
y
;
}
else
{
screenPt
.
x
=
SCREEN_STRETCH_X
(
94.0f
)
/
2.0f
+
SCREEN_STRETCH_X
(
40.0f
)
+
SCREEN_STRETCH_X
(
94.0f
*
radarPt
.
x
)
/
2.0f
;
screenPt
.
y
=
SCREEN_STRETCH_FROM_BOTTOM
(
104.0f
)
+
SCREEN_STRETCH_Y
(
76.0f
)
/
2.0f
-
SCREEN_STRETCH_Y
(
76.0f
*
radarPt
.
y
)
/
2.0f
;
}
}
Если крашить всё-равно будет, то покажи место, куда хук ставишь и как хук ставишь.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot