PDA

Просмотр полной версии : зависание игры


Lance_Sterling
14.10.2024, 23:11
сделал простенький код для изменения хендлинга, на с++, игра зависает после того как я разогнался, и торможу, после того как авто достигает своего обычного лимита на макс.скорость (насколько я понял) игра зависает

C++:






auto
vehicle
=
FindPlayerVehicle
(
-
1
,
false
)
;
int
m_nNumberOfGears
=
vehicle
->
m_pHandlingData
->
m_transmissionData
.
m_nNumberOfGears
;
for
(
int
i
=
1
;
i

m_pHandlingData
->
m_transmissionData
.
m_aGears
[
i
]
.
m_fMaxVelocity
+=
0.1
;
}
vehicle
->
m_pHandlingData
->
m_transmissionData
.
m_fEngineAcceleration
+=
1
;
vehicle
->
m_pHandlingData
->
m_transmissionData
.
m_fMaxGearVelocity
+=
0.1
;
vehicle
->
m_pHandlingData
->
m_fTractionMultiplier
*=
2
;






видос:

waparabka
15.10.2024, 00:00
возможно с циклом что то не так, попробуй так

C++:






auto
vehicle
=
FindPlayerVehicle
(
-
1
,
false
)
;
auto
handling
=
vehicle
->
m_pHandlingData
;
for
(
const
auto
&
gear
:
handling
->
m_transmissionData
.
m_aGears
)
gear
.
m_fMaxVelocity
+=
0.1
;
handling
->
m_transmissionData
.
m_fEngineAcceleration
+=
1
;
handling
->
m_transmissionData
.
m_fMaxGearVelocity
+=
0.1
;
handling
->
m_fTractionMultiplier
*=
2
;

Lance_Sterling
15.10.2024, 00:01
возможно с циклом что то не так, попробуй так

C++:






auto
vehicle
=
FindPlayerVehicle
(
-
1
,
false
)
;
auto
handling
=
vehicle
->
m_pHandlingData
;
for
(
const
auto
&
gear
:
handling
->
m_transmissionData
.
m_aGears
)
gear
.
m_fMaxVelocity
+=
0.1
;
handling
->
m_transmissionData
.
m_fEngineAcceleration
+=
1
;
handling
->
m_transmissionData
.
m_fMaxGearVelocity
+=
0.1
;
handling
->
m_fTractionMultiplier
*=
2
;





все нормально с ним

waparabka
15.10.2024, 00:05
все нормально с ним


не уверен

gta-reversed/source/game_sa/cTransmission.cpp at 48622e4c3feba7d3266cb23e50fd13713c09e8e9 · gta-reversed/gta-reversed (https://github.com/gta-reversed/gta-reversed-modern/blob/48622e4c3feba7d3266cb23e50fd13713c09e8e9/source/game_sa/cTransmission.cpp#L31)

Reimplementation of GTA:SA 1.0 US. Contribute to gta-reversed/gta-reversed development by creating an account on GitHub.

github.com

Lance_Sterling
15.10.2024, 01:10
не уверен

gta-reversed/source/game_sa/cTransmission.cpp at 48622e4c3feba7d3266cb23e50fd13713c09e8e9 · gta-reversed/gta-reversed (https://github.com/gta-reversed/gta-reversed-modern/blob/48622e4c3feba7d3266cb23e50fd13713c09e8e9/source/game_sa/cTransmission.cpp#L31)

Reimplementation of GTA:SA 1.0 US. Contribute to gta-reversed/gta-reversed development by creating an account on GitHub.

github.com



и что ты мне дал? типа с 0 а не с 1? 0 передача = задняя, и она идет в минусе, поэтому если ее увеличить она может стать нулем и машина назад не будет ехать

возможно ты имел ввиду что там

Lance_Sterling
20.10.2024, 21:14
Актуально

Lance_Sterling
22.10.2024, 21:32
актуально, хелп

Lance_Sterling
24.10.2024, 02:51
Ы, актуально

NullPhantom
01.12.2024, 23:40
по эмпирическому опыту скажу, что использовать циклы в хук-функциях плохая идея. то падает, лагает. надо в отдельный тред завести подобный код.

и почему не i = 1? И null-check не помешает

cpp:






void
handling_booster
(
)
{
auto
vehicle
=
FindPlayerVehicle
(
-
1
,
false
)
;
if
(
!
vehicle
)
return
;
int
m_nNumberOfGears
=
vehicle
->
m_pHandlingData
->
m_transmissionData
.
m_nNumberOfGears
;
for
(
int
i
=
1
;
i

m_pHandlingData
->
m_transmissionData
.
m_aGears
[
i
]
.
m_fMaxVelocity
+=
0.1
;
}
vehicle
->
m_pHandlingData
->
m_transmissionData
.
m_fEngineAcceleration
+=
1
;
vehicle
->
m_pHandlingData
->
m_transmissionData
.
m_fMaxGearVelocity
+=
0.1
;
vehicle
->
m_pHandlingData
->
m_fTractionMultiplier
*=
2
;
}