 |
|

14.07.2018, 22:33
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
|
|
|

14.07.2018, 23:07
|
|
Новичок
Регистрация: 14.07.2018
Сообщений: 13
С нами:
4122738
Репутация:
0
|
|
Сообщение от memir
Читать надо именно по указателю. Берёшь значение, которое хранится в 0xBA18FC, и к нему прибавляешь 0x48.
И вообще, проще обращатся к полям через сишные структуры
C:
Код:
struct
stVehicle
{
unsigned
char
_bPad
[
0x44
]
;
float
fSpeed
[
3
]
;
// AKA CVector
}
;
/// -------------
stVehicle
*
pSelfVehicle
=
(
*
(
(
stVehicle
*
*
)
0xBA18FC
)
)
Вроде сделал все по феншую, но значения такие:
Если ехать вперёд - то значение может увеличиваться, если развернуться - значение будет уходить в -, если влево - 0.00 с чем-то, если вправо - то -0.00 с чем-то. В чем может быть подвох?
|
|
|

15.07.2018, 04:35
|
|
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами:
4472205
Репутация:
163
|
|
ну эт, как его... чтоб получить какой то фидбэк, надо показать как ты делаешь
|
|
|

15.07.2018, 08:48
|
|
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами:
5351007
Репутация:
0
|
|
Сообщение от Some_Clever_Name
Вроде сделал все по феншую, но значения такие:
Если ехать вперёд - то значение может увеличиваться, если развернуться - значение будет уходить в -, если влево - 0.00 с чем-то, если вправо - то -0.00 с чем-то. В чем может быть подвох?
это вектор в 3д пространстве к твоей будущей позиции, а не совсем просто скорость как ты думаешь
|
|
|

15.07.2018, 15:23
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
Сообщение от MasterLight
C++:
Код:
#define SAMP_INFO_OFFSET 0x21A0F8
struct
stSAMP
{
void
*
pUnk0
;
struct
stServerInfo
*
pServerInfo
;
uint8_t
byteSpace
[
24
]
;
char
szIP
[
257
]
;
char
szHostname
[
259
]
;
bool
bNametagStatus
;
// changes by /nametagstatus
uint32_t
ulPort
;
uint32_t
ulMapIcons
[
100
]
;
int
iLanMode
;
int
iGameState
;
uint32_t
ulConnectTick
;
struct
stServerPresets
*
pSettings
;
void
*
pRakClientInterface
;
struct
stSAMPPools
*
pPools
;
}
;
stSAMP
*
g_SAMP
=
nullptr
;
struct
stServerInfo
{
uint32_t
uiIP
;
uint16_t
usPort
;
}
;
template
T
GetSAMPPtrInfo
(
uint32_t
offset
)
{
if
(
g_dwSAMP_Addr
==
NULL
)
return
NULL
;
return
*
(
T
*
)
(
g_dwSAMP_Addr
+
offset
)
;
}
struct
stSAMP
*
stGetSampInfo
(
void
)
{
return
GetSAMPPtrInfo
(
SAMP_INFO_OFFSET
)
;
}
extern
struct
stSAMP
*
g_SAMP
;
При попытке вывести куда нибудь g_SAMP->szIP, g_SAMP->szHostname, g_SAMP->ulPort игру фризит.
Покажи как инициализацию проводишь
|
|
|

15.07.2018, 17:26
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
Сообщение от MasterLight
Инициализацию чего?
g_SAMP
|
|
|

15.07.2018, 18:35
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
Сообщение от MasterLight
Походу я её не провожу, где это найти?
C++:
Код:
g_dwSAMP_Addr
=
(
DWORD
)
GetModuleHandleA
(
"samp.dll"
)
g_SAMP
=
stGetSampInfo
(
)
;
Примерно так, подробнее смотри в собейте
|
|
|

16.07.2018, 16:49
|
|
Познающий
Регистрация: 26.11.2017
Сообщений: 45
С нами:
4453790
Репутация:
8
|
|
Как запустить .exe файл через консоль что-ли?
Скрытое содержимое доступно для зарегистрированных пользователей!
|
|
|

16.07.2018, 17:01
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
ShellExecute
|
|
|

16.07.2018, 22:52
|
|
Познающий
Регистрация: 22.07.2015
Сообщений: 58
С нами:
5689694
Репутация:
68
|
|
Пытаюсь разобраться, как работать с boost::regex и в процессе захотелось написать более удобную обертку под свои нужды. Но есть одно но, никак не могу понять почему объект boost::smatch невалидно передается по ссылке.
Вот сам код:
Сообщение от Спойлер
C++:
[CODE]
#include "main.h"
bool
easyRegex
(
std
::
string sString
,
boost
::
regex rRegex
,
boost
::
smatch
&
sResults
,
int
iArg
,
char
*
szRegexName
)
{
if
(
boost
::
regex_search
(
sString
,
sResults
,
rRegex
)
)
{
if
(
sResults
.
size
(
)
А вот результат его выполнения:
Сообщение от Спойлер
C++:
Код:
[
easyRegex
]
Pointer
:
03901658
[
easyRegex
]
Size
:
5
[
easyRegex
]
[
1
]
24
[
easyRegex
]
[
2
]
string
[
easyRegex
]
[
3
]
3452
[
easyRegex
]
[
4
]
43556
aad
[
main
]
Pointer
:
03901658
[
main
]
Size
:
5
И далее идет краш "Expression: string iterators incompatible".
Хотелось бы разобраться, что же все-таки не так
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|