ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   подмена txd (https://forum.antichat.xyz/showthread.php?t=1536451)

arekaj 21.05.2025 12:54

как подменить txd в момент инициализации скрипта? с hud.txd на hud2.txd например или определённый элемент внутри hud.txd

arekaj 24.05.2025 19:42

up

tanksoftik 26.05.2025 15:44

C++:





Код:

void
__cdecl
CHudInitialise
(
)
{
int
txd
;
// esi
CSprite2d
*
v1
;
// edi
char
*
*
v2
;
// esi
int
i
;
// ebx
txd
=
CTxdStore
::
AddTxdSlot
(
"hud"
)
;
CTxdStore
::
LoadTxd
(
txd
,
"MODELS\\HUD2.TXD"
)
;
CTxdStore
::
AddRef
(
txd
)
;
CTxdStore
::
PushCurrentTxd
(
)
;
CTxdStore
::
SetCurrentTxd
(
txd
)
;
v1
=
CHud
::
Sprites
;
v2
=
(
char
*
*
)
(
0x8D128C
)
;
i
=
6
;
do
{
v1
->
SetTexture
(
*
v2
,
v2
[
1
]
)
;
v2
+=
2
;
v1
=
(
v1
+
4
)
;
--
i
;
}
while
(
i
)
;
CTxdStore
::
PopCurrentTxd
(
)
;
CHud
::
ReInitialise
(
)
;
}
class
HookCHudInitialise
{
public
:
HookCHudInitialise
(
)
{
patch
::
RedirectCall
(
0x5BD76F
,
CHudInitialise
)
;
}
;
}
CHudInitialisePlugin
;


arekaj 26.05.2025 17:09

Цитата:

Сообщение от tanksoftik

C++:





Код:

void
__cdecl
CHudInitialise
(
)
{
int
txd
;
// esi
CSprite2d
*
v1
;
// edi
char
*
*
v2
;
// esi
int
i
;
// ebx
txd
=
CTxdStore
::
AddTxdSlot
(
"hud"
)
;
CTxdStore
::
LoadTxd
(
txd
,
"MODELS\\HUD2.TXD"
)
;
CTxdStore
::
AddRef
(
txd
)
;
CTxdStore
::
PushCurrentTxd
(
)
;
CTxdStore
::
SetCurrentTxd
(
txd
)
;
v1
=
CHud
::
Sprites
;
v2
=
(
char
*
*
)
(
0x8D128C
)
;
i
=
6
;
do
{
v1
->
SetTexture
(
*
v2
,
v2
[
1
]
)
;
v2
+=
2
;
v1
=
(
v1
+
4
)
;
--
i
;
}
while
(
i
)
;
CTxdStore
::
PopCurrentTxd
(
)
;
CHud
::
ReInitialise
(
)
;
}
class
HookCHudInitialise
{
public
:
HookCHudInitialise
(
)
{
patch
::
RedirectCall
(
0x5BD76F
,
CHudInitialise
)
;
}
;
}
CHudInitialisePlugin
;



радар становится полностью чёрный после подмены

https://forum.antichat.xyz/attachments/28609926/


Время: 01:48