 |
|

28.07.2022, 04:44
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от ARMOR
Как в SF я могу запихнуть значение std::string в память которая требует int?
Пробывал переобразовывать через std::stoi, и прочую ***ню - но не помогало. Вводил агрументом 0xFFFFFFFF и полоска хп просто пропадала вместо того чтобы менять цвет
C++:
Код:
void
__stdcall
text
(
std
::
string param
)
{
*
reinterpret_cast
(
0xBAB22C
)
=
param
;
}
;
ну std::stoi и надо
upd: в ce почекал там и так проподает, дело не в std::stoi
|
|
|

28.07.2022, 04:59
|
|
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами:
3831395
Репутация:
183
|
|
Сообщение от F0RQU1N
ну std::stoi и надо
upd: в ce почекал там и так проподает, дело не в std::stoi
Ну смотри. Если просто ввести
C++:
Код:
void
__stdcall
cmd_show_info_player
(
std
::
string param
)
{
*
reinterpret_cast
(
0xBAB22C
)
=
0xFFFFFFFF
;
}
;
То полоска меняет цвет. А если изменять через аргумент функции - посылает на*** и пропадает
|
|
|

28.07.2022, 05:00
|
|
Участник форума
Регистрация: 21.07.2020
Сообщений: 280
С нами:
3059886
Репутация:
68
|
|
Сообщение от ARMOR
Как в SF я могу запихнуть значение std::string в память которая требует int?
Пробывал переобразовывать через std::stoi, и прочую ***ню - но не помогало. Вводил агрументом 0xFFFFFFFF и полоска хп просто пропадала вместо того чтобы менять цвет
C++:
Код:
void
__stdcall
text
(
std
::
string param
)
{
*
reinterpret_cast
(
0xBAB22C
)
=
param
;
}
;
на сколько я помню,для того что бы поменять цвет полоски хп нужно использовать memcpy
|
|
|

28.07.2022, 05:02
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от ARMOR
Ну смотри. Если просто ввести
C++:
Код:
void
__stdcall
cmd_show_info_player
(
std
::
string param
)
{
*
reinterpret_cast
(
0xBAB22C
)
=
0xFFFFFFFF
;
}
;
То полоска меняет цвет. А если изменять через аргумент функции - посылает на*** и пропадает
std::stoi(str,0, 16) попробуй так
|
|
|

28.07.2022, 05:07
|
|
Участник форума
Регистрация: 21.07.2020
Сообщений: 280
С нами:
3059886
Репутация:
68
|
|
Сообщение от ARMOR
Ну смотри. Если просто ввести
C++:
Код:
void
__stdcall
cmd_show_info_player
(
std
::
string param
)
{
*
reinterpret_cast
(
0xBAB22C
)
=
0xFFFFFFFF
;
}
;
То полоска меняет цвет. А если изменять через аргумент функции - посылает на*** и пропадает
держи
C++:
Код:
std
::
uint32_t
color
=
0xFFFFFFFF
;
memcpy
(
(
LPVOID
)
0xBAB22C
,
&
color
,
4U
)
;
|
|
|

28.07.2022, 05:07
|
|
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами:
3831395
Репутация:
183
|
|
Сообщение от F0RQU1N
std::stoi(str,0, 16) попробуй так
Крашит игру.
|
|
|

28.07.2022, 05:21
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от MeG@LaDo[N] ^_^
держи
C++:
Код:
std
::
uint32_t
color
=
0xFFFFFFFF
;
memcpy
(
(
LPVOID
)
0xBAB22C
,
&
color
,
4U
)
;
ему же из строки надо...
|
|
|

28.07.2022, 05:46
|
|
Участник форума
Регистрация: 21.07.2020
Сообщений: 280
С нами:
3059886
Репутация:
68
|
|
Сообщение от ARMOR
Как в SF я могу запихнуть значение std::string в память которая требует int?
Пробывал переобразовывать через std::stoi, и прочую ***ню - но не помогало. Вводил агрументом 0xFFFFFFFF и полоска хп просто пропадала вместо того чтобы менять цвет
C++:
Код:
void
__stdcall
text
(
std
::
string param
)
{
*
reinterpret_cast
(
0xBAB22C
)
=
param
;
}
;
Держи,пришлось чутка подрочится но работает,по крайне мере белый цвет ставит
если будет агрится на std::stringstream,тогда подключи
#include
|
|
|

28.07.2022, 05:54
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от MeG@LaDo[N] ^_^
Держи,пришлось чутка подрочится но работает,по крайне мере белый цвет ставит
тож хотел через стрингстримы сделать, но подумал это говнокод будет)
|
|
|

28.07.2022, 10:42
|
|
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами:
3174020
Репутация:
213
|
|
Сообщение от ARMOR
Крашит игру.
C++:
Код:
void
__stdcall
cmd_show_info_player
(
std
::
string param
)
{
*
reinterpret_cast
(
0xBAB22C
)
=
std
::
stoul
(
params
,
0
,
16
)
;
}
Сообщение от MeG@LaDo[N] ^_^
Держи,пришлось чутка подрочится но работает,по крайне мере белый цвет ставит
если будет агрится на std::stringstream,тогда подключи
#include
ахрененно ты создал std::string, чтобы в итоге преобразовать его с помощью c_str. это пример как делать не надо.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|