Меню

Radarrect asi не работает

Radarrect asi не работает

Модератор форума: Alowir
Форум » Обсуждения SAMP CRMP MTA » Moды для GTA San Andreas | GTA SA » [FAQ] Как поставить квадратный радар (Как сделать квадратный радар в своём худе)

[FAQ] Как поставить квадратный радар

MidORFeed Дата: Четверг, 26.06.2014, 00:43 | Сообщение # 1

Для этого нам понадобится: программа TXD_WorkShop и файлы radarrect.asi , radardisc.png

1) Первым шагом открываем наш hud.txd через TXD_WorkShop и заменяем (Import) стандартный файл radardisc.png на наш (квадратный). Сохраняем изменения (Save TXD).

2) Затем в корневую папку с игрой копируем файл radarrect.asi .

Если у вас вдруг возникли какие-то ошибки / проблемы / вопросы — спрашивайте тут или пишите в лс, отвечу и помогу всем!

Думаю, многие знали как это сделать, однако я надеюсь, что найдутся люди, которым эта тема будет полезна! Подобных тем на сайте я не встречал (использовал поиск), но если вы уже замечали такую же тему и считаете что это баян — прошу скинуть ссылочку.

Источник

4el0ve4ik / main.cpp

# include Windows.h >
# include cmath >
float flt = 0 . 000001f ;
void InjectJmp ( unsigned long _offset, void * target) <
void *pBlock = VirtualAlloc ( 0 , 0x1000 , MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
unsigned long Protection;
VirtualProtect (( void *)_offset, 5 , PAGE_EXECUTE_READWRITE, &Protection);
unsigned long offs = ( unsigned long )pBlock — (_offset + 5 );
* reinterpret_cast unsigned char *>(_offset) = 0xE9 ;
memcpy ((LPVOID)(_offset + 1 ), &offs, 4 );
VirtualProtect (( void *)_offset, 5 , Protection, 0 );
memcpy (pBlock, » \xE9 » , 1 );
offs = (DWORD)target — ((DWORD)pBlock + 5 );
memcpy (( void *)(( unsigned long )pBlock + 1 ), &offs, sizeof ( void *));
memcpy (( void *)(( unsigned long )pBlock + 5 ), » \xE9 » , 1 );
unsigned long retAddr = ((DWORD)pBlock + 5 + 5 ) — 0x58334D ;
memcpy (( void *)(( unsigned long )pBlock + 6 ), &retAddr, sizeof (retAddr));
>
struct vec < float x, y; >;
float __cdecl LimitRadarPoint (vec *point) <
if (* reinterpret_cast unsigned char *>( 0xBA67A1 )) <
return ( float ) sqrt (point-> y * point-> y + point-> x * point-> x );
>
float sr = sqrt (point-> y * point-> y + point-> x * point-> x );
float x;
if (sr > 1.0 )
<
if (point-> x > — 1.0 && point-> x 1.0 && point-> y > — 1.0 && point-> y 1.0 )
return 0 . 99f ;
float y = atan2 (point-> y , point-> x );
float angle = y * 57 . 295779513f ;
if (angle > 45.0 || angle 45.0 )
<
if (angle > 45.0 && angle 135.0 )
<
point-> x = cos (angle / 57 . 295779513f ) * 1 . 4142135623f ;
point-> y = 1.0 ;
return sr;
>
if (angle 135.0 && angle > — 135.0 )
<
point-> x = cos (angle / 57 . 295779513f ) * 1 . 4142135623f ;
point-> y = — 1.0 ;
return sr;
>
x = — 1.0 ;
>
else
<
x = 1.0 ;
>
point-> x = x;
point-> y = sin (angle / 57 . 295779513f ) * 1 . 4142135623f ;
>
return sr;
>
template typename T>
void WriteMemory ( void * addr, T value) <
DWORD oldProt = 0 ;
VirtualProtect (addr, sizeof (T), PAGE_EXECUTE_READWRITE, &oldProt);
* reinterpret_cast (addr) = value;
VirtualProtect (addr, sizeof (T), oldProt, NULL );
>
BOOL WINAPI DllMain (HINSTANCE, DWORD fdwReason, LPVOID) <
if (fdwReason == 1 ) <
// hook LimitRadarPoint
InjectJmp ( 0x5832F0 , &LimitRadarPoint);
// box radar
WriteMemory void *>( reinterpret_cast void *>( 0x58585C ), &flt);
// disable radar border
WriteMemory unsigned char >( reinterpret_cast void *>( 0x58A8D9 ), 0 );
WriteMemory unsigned char >( reinterpret_cast void *>( 0x58A789 ), 0 );
WriteMemory unsigned char >( reinterpret_cast void *>( 0x58A88F ), 0 );
WriteMemory unsigned char >( reinterpret_cast void *>( 0x58A98F ), 0 );
>
return TRUE ;
>

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

4el0ve4ik / main.cpp

# include Windows.h >
# include cmath >
float flt = 0 . 000001f ;
void InjectJmp ( unsigned long _offset, void * target) <
void *pBlock = VirtualAlloc ( 0 , 0x1000 , MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
unsigned long Protection;
VirtualProtect (( void *)_offset, 5 , PAGE_EXECUTE_READWRITE, &Protection);
unsigned long offs = ( unsigned long )pBlock — (_offset + 5 );
* reinterpret_cast unsigned char *>(_offset) = 0xE9 ;
memcpy ((LPVOID)(_offset + 1 ), &offs, 4 );
VirtualProtect (( void *)_offset, 5 , Protection, 0 );
memcpy (pBlock, » \xE9 » , 1 );
offs = (DWORD)target — ((DWORD)pBlock + 5 );
memcpy (( void *)(( unsigned long )pBlock + 1 ), &offs, sizeof ( void *));
memcpy (( void *)(( unsigned long )pBlock + 5 ), » \xE9 » , 1 );
unsigned long retAddr = ((DWORD)pBlock + 5 + 5 ) — 0x58334D ;
memcpy (( void *)(( unsigned long )pBlock + 6 ), &retAddr, sizeof (retAddr));
>
struct vec < float x, y; >;
float __cdecl LimitRadarPoint (vec *point) <
if (* reinterpret_cast unsigned char *>( 0xBA67A1 )) <
return ( float ) sqrt (point-> y * point-> y + point-> x * point-> x );
>
float sr = sqrt (point-> y * point-> y + point-> x * point-> x );
float x;
if (sr > 1.0 )
<
if (point-> x > — 1.0 && point-> x 1.0 && point-> y > — 1.0 && point-> y 1.0 )
return 0 . 99f ;
float y = atan2 (point-> y , point-> x );
float angle = y * 57 . 295779513f ;
if (angle > 45.0 || angle 45.0 )
<
if (angle > 45.0 && angle 135.0 )
<
point-> x = cos (angle / 57 . 295779513f ) * 1 . 4142135623f ;
point-> y = 1.0 ;
return sr;
>
if (angle 135.0 && angle > — 135.0 )
<
point-> x = cos (angle / 57 . 295779513f ) * 1 . 4142135623f ;
point-> y = — 1.0 ;
return sr;
>
x = — 1.0 ;
>
else
<
x = 1.0 ;
>
point-> x = x;
point-> y = sin (angle / 57 . 295779513f ) * 1 . 4142135623f ;
>
return sr;
>
template typename T>
void WriteMemory ( void * addr, T value) <
DWORD oldProt = 0 ;
VirtualProtect (addr, sizeof (T), PAGE_EXECUTE_READWRITE, &oldProt);
* reinterpret_cast (addr) = value;
VirtualProtect (addr, sizeof (T), oldProt, NULL );
>
BOOL WINAPI DllMain (HINSTANCE, DWORD fdwReason, LPVOID) <
if (fdwReason == 1 ) <
// hook LimitRadarPoint
InjectJmp ( 0x5832F0 , &LimitRadarPoint);
// box radar
WriteMemory void *>( reinterpret_cast void *>( 0x58585C ), &flt);
// disable radar border
WriteMemory unsigned char >( reinterpret_cast void *>( 0x58A8D9 ), 0 );
WriteMemory unsigned char >( reinterpret_cast void *>( 0x58A789 ), 0 );
WriteMemory unsigned char >( reinterpret_cast void *>( 0x58A88F ), 0 );
WriteMemory unsigned char >( reinterpret_cast void *>( 0x58A98F ), 0 );
>
return TRUE ;
>

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

Radarrect asi не работает

Модератор форума: Alowir
Форум » Обсуждения SAMP CRMP MTA » Moды для GTA San Andreas | GTA SA » [FAQ] Как поставить квадратный радар (Как сделать квадратный радар в своём худе)

[FAQ] Как поставить квадратный радар

MidORFeed Дата: Четверг, 26.06.2014, 00:43 | Сообщение # 1

Для этого нам понадобится: программа TXD_WorkShop и файлы radarrect.asi , radardisc.png

1) Первым шагом открываем наш hud.txd через TXD_WorkShop и заменяем (Import) стандартный файл radardisc.png на наш (квадратный). Сохраняем изменения (Save TXD).

2) Затем в корневую папку с игрой копируем файл radarrect.asi .

Если у вас вдруг возникли какие-то ошибки / проблемы / вопросы — спрашивайте тут или пишите в лс, отвечу и помогу всем!

Думаю, многие знали как это сделать, однако я надеюсь, что найдутся люди, которым эта тема будет полезна! Подобных тем на сайте я не встречал (использовал поиск), но если вы уже замечали такую же тему и считаете что это баян — прошу скинуть ссылочку.

Источник

Читайте также:  Мультиварка не нагревается дисплей работает

Настройка и ремонт техники © 2021
Внимание! Информация, опубликованная на сайте, носит исключительно ознакомительный характер и не является рекомендацией к применению.

Adblock
detector