 |
|

16.11.2017, 16:56
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
Сообщение от ALF
Смысл от твоих вопрос если ты не прикрепляешь код к ним?
C++:
Код:
pRender
->
render_String
(
150
,
700
,
Color
(
255
,
0
,
255
,
0
)
,
DT_LEFT
|
DT_SHADOW
,
"X:%.2f Y:%.2f Z:%.2f"
,
GetPosX
(
)
,
GetPosY
(
)
,
GetPosZ
(
)
)
;
C++:
Код:
float
GetPosX
(
)
{
float
PlayerPosX
;
p1
=
*
(
DWORD
*
)
0xB6F5F0
+
0x14
;
p2
=
*
(
DWORD
*
)
p1
+
0x30
;
memcpy
(
&
PlayerPosX
,
(
void
*
)
p2
,
sizeof
(
PlayerPosX
)
)
;
return
PlayerPosX
;
}
|
|
|

16.11.2017, 18:10
|
|
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами:
5441999
Репутация:
133
|
|
Сообщение от lol123
C++:
Код:
pRender
->
render_String
(
150
,
700
,
Color
(
255
,
0
,
255
,
0
)
,
DT_LEFT
|
DT_SHADOW
,
"X:%.2f Y:%.2f Z:%.2f"
,
GetPosX
(
)
,
GetPosY
(
)
,
GetPosZ
(
)
)
;
C++:
Код:
float
GetPosX
(
)
{
float
PlayerPosX
;
p1
=
*
(
DWORD
*
)
0xB6F5F0
+
0x14
;
p2
=
*
(
DWORD
*
)
p1
+
0x30
;
memcpy
(
&
PlayerPosX
,
(
void
*
)
p2
,
sizeof
(
PlayerPosX
)
)
;
return
PlayerPosX
;
}
Перед чтением проверяй указатель на валидность.
|
|
|

16.11.2017, 18:10
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от lol123
C++:
Код:
pRender
->
render_String
(
150
,
700
,
Color
(
255
,
0
,
255
,
0
)
,
DT_LEFT
|
DT_SHADOW
,
"X:%.2f Y:%.2f Z:%.2f"
,
GetPosX
(
)
,
GetPosY
(
)
,
GetPosZ
(
)
)
;
C++:
Код:
float
GetPosX
(
)
{
float
PlayerPosX
;
p1
=
*
(
DWORD
*
)
0xB6F5F0
+
0x14
;
p2
=
*
(
DWORD
*
)
p1
+
0x30
;
memcpy
(
&
PlayerPosX
,
(
void
*
)
p2
,
sizeof
(
PlayerPosX
)
)
;
return
PlayerPosX
;
}
Начни с lua. Ты не понимаешь, что делаешь
|
|
|

16.11.2017, 19:29
|
|
Флудер
Регистрация: 21.03.2013
Сообщений: 2,861
С нами:
6917588
Репутация:
183
|
|
Нарыл код от DK22Pac, плагин позволяет произвольно сменить место хранения папки GTA San Andreas User Files
Я в Ц++ не БУБУ, подскажите, как указывать путь. Полагаю это на 18 строке
C++:
Код:
#include "plugin.h"
#include
class
MyDocumentsDir
{
public
:
static
void
SetDocumentsDir
(
)
{
const
char
*
documentsDir
=
"D:\\My Documents\\Hello World - My GTA SA Documents"
;
std
::
experimental
::
filesystem
::
create_directories
(
documentsDir
)
;
strcpy
(
reinterpret_cast
(
0xC92368
)
,
documentsDir
)
;
}
MyDocumentsDir
(
)
{
// skip registry checks
plugin
::
patch
::
SetUInt
(
0x744FD1
,
0x9014C483
)
;
plugin
::
patch
::
Nop
(
0x744FD5
,
10
)
;
plugin
::
patch
::
SetUInt
(
0x745001
,
0x9018C483
)
;
plugin
::
patch
::
Nop
(
0x745005
,
10
)
;
plugin
::
patch
::
SetUInt
(
0x745018
,
0x9004C483
)
;
plugin
::
patch
::
Nop
(
0x74501C
,
16
)
;
// set documents path
plugin
::
patch
::
RedirectCall
(
0x74503E
,
SetDocumentsDir
)
;
plugin
::
patch
::
Nop
(
0x745048
,
2
)
;
}
}
myDocumentsDir
;
|
|
|

16.11.2017, 20:21
|
|
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами:
5441999
Репутация:
133
|
|
Сообщение от D3.Pheonix
Нарыл код от DK22Pac, плагин позволяет произвольно сменить место хранения папки GTA San Andreas User Files
Я в Ц++ не БУБУ, подскажите, как указывать путь. Полагаю это на 18 строке
C++:
Код:
#include "plugin.h"
#include
class
MyDocumentsDir
{
public
:
static
void
SetDocumentsDir
(
)
{
const
char
*
documentsDir
=
"D:\\My Documents\\Hello World - My GTA SA Documents"
;
std
::
experimental
::
filesystem
::
create_directories
(
documentsDir
)
;
strcpy
(
reinterpret_cast
(
0xC92368
)
,
documentsDir
)
;
}
MyDocumentsDir
(
)
{
// skip registry checks
plugin
::
patch
::
SetUInt
(
0x744FD1
,
0x9014C483
)
;
plugin
::
patch
::
Nop
(
0x744FD5
,
10
)
;
plugin
::
patch
::
SetUInt
(
0x745001
,
0x9018C483
)
;
plugin
::
patch
::
Nop
(
0x745005
,
10
)
;
plugin
::
patch
::
SetUInt
(
0x745018
,
0x9004C483
)
;
plugin
::
patch
::
Nop
(
0x74501C
,
16
)
;
// set documents path
plugin
::
patch
::
RedirectCall
(
0x74503E
,
SetDocumentsDir
)
;
plugin
::
patch
::
Nop
(
0x745048
,
2
)
;
}
}
myDocumentsDir
;
Меняй путь на шестой строке на свой.
|
|
|

18.11.2017, 21:57
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
bsClass.Write(uint32_t(SF->getSAMP()->getPlayers()->sLocalPlayerID));
|
|
|

22.11.2017, 01:44
|
|
Новичок
Регистрация: 04.09.2015
Сообщений: 16
С нами:
5626315
Репутация:
58
|
|
Подскажите, как сделать дебаг сборки собейта, чтобы выяснить причину краша игры?
Без него игра нормально работает.
|
|
|

22.11.2017, 01:45
|
|
Флудер
Регистрация: 22.11.2015
Сообщений: 2,128
С нами:
5512984
Репутация:
183
|
|
misc -> debug
|
|
|

22.11.2017, 07:02
|
|
Новичок
Регистрация: 28.10.2007
Сообщений: 3
С нами:
9756257
Репутация:
0
|
|
traceLastFunc( "tut norm" );
Log( "poka norm" );
|
|
|

22.11.2017, 12:37
|
|
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами:
6483143
Репутация:
93
|
|
Как прочесть запись в реестре (строку) если пункт с ней не именован?
Везде где учат читать строки у них есть название, так что гугл не помог
Запись приклеил к посту
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|