 |
|

27.03.2021, 02:30
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от waffelo
Доброй ночи братцы. Подскажите как можно увеличить ширину и высоту текста, вызванной
C++:
Код:
if
(
ImGui
::
BeginMenuBar
(
)
)
ImGui
::
TextUnformatted
(
"Load"
)
,
ImGui
::
EndMenuBar
(
)
;
Ширину никак. Советую собрать и покурить демо версию имгуи. Скачать можно его с офф. репозитория. Собрать там вообще легко.
|
|
|

27.03.2021, 02:31
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от Dark_Knight
Ширину никак.
можно зарендерить на текстуру и потом растянуть ее
|
|
|

27.03.2021, 15:53
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
Как поставить хук на входящие RPC? Такой код крашит
C++:
Код:
void
HandleRPCPacketFunc
(
unsigned
char
id
,
RPCParameters
*
rpcParams
,
void
(
*
callback
)
(
RPCParameters
*
)
)
{
if
(
rpcParams
!=
nullptr
&&
rpcParams
->
numberOfBitsOfData
>=
8
)
{
switch
(
id
)
{
case
93
:
{
pSAMP
->
addMessageToChat
(
-
1
,
"chat msg"
)
;
break
;
}
}
}
callback
(
rpcParams
)
;
}
uint8_t
_declspec
(
naked
)
hook_handle_rpc_packet
(
void
)
{
static
RPCParameters
*
pRPCParams
=
nullptr
;
static
RPCNode_
*
pRPCNode
=
nullptr
;
static
DWORD dwTmp
=
0
;
__asm pushad
;
__asm mov pRPCParams
,
eax
;
__asm mov pRPCNode
,
edi
;
HandleRPCPacketFunc
(
pRPCNode
->
uniqueIdentifier
,
pRPCParams
,
pRPCNode
->
staticFunctionPointer
)
;
dwTmp
=
pSAMP
->
g_SAMPAddr
(
)
+
0x37443
;
__asm popad
;
__asm add esp
,
4
// overwritten code
__asm jmp dwTmp
;
}
Memory
::
CreateJump
(
(
BYTE
*
)
(
pSAMP
->
g_SAMPAddr
(
)
+
0xFF5701
)
,
(
DWORD
)
&
hook_handle_rpc_packet
,
6U
)
;
CreateJump:
C++:
[CODE]
void
Memory
::
CreateJump
(
BYTE
*
pAddress
,
DWORD dwJumpTo
,
DWORD dwLen
)
{
DWORD dwOldProtect
,
dwBkup
,
dwRelAddr
;
VirtualProtect
(
pAddress
,
dwLen
,
PAGE_EXECUTE_READWRITE
,
&
dwOldProtect
)
;
dwRelAddr
=
(
DWORD
)
(
dwJumpTo
-
(
DWORD
)
pAddress
)
-
5
;
*
pAddress
=
0xE9
;
*
(
(
DWORD
*
)
(
pAddress
+
0x1
)
)
=
dwRelAddr
;
for
(
DWORD x
=
0x5
;
x
Уже разобрался. Инициализация такая:
C++:
Код:
BYTE
*
bytes
=
(
BYTE
*
)
"\xFF\x57\x01"
;
Memory
::
memcmp_safe
(
(
uint8_t
*
)
pSAMP
->
g_SAMPAddr
(
)
+
0x3743D
,
bytes
,
3
)
;
Memory
::
CreateJump
(
(
BYTE
*
)
(
pSAMP
->
g_SAMPAddr
(
)
+
0x3743D
)
,
(
DWORD
)
&
hook_handle_rpc_packet
,
6U
)
;
|
|
|

27.03.2021, 21:07
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от KiN4StAt
можно зарендерить на текстуру и потом растянуть ее
Это да, но тогда надо шрифт в текстуру конвертить. В целом, так в большинстве игр используется, но был вопрос задан о шрифте чистом.
|
|
|

27.03.2021, 21:20
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от Dark_Knight
Это да, но тогда надо шрифт в текстуру конвертить.
Неа, имгуи поддерживает рендер на текстуре
|
|
|

27.03.2021, 21:25
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от KiN4StAt
Неа, имгуи поддерживает рендер на текстуре
Опана. С этого момента поподробней. Я про скейл шрифта общий знаю, но вот про такое хз. Удиви всех нас)
|
|
|

28.03.2021, 21:20
|
|
Новичок
Регистрация: 03.06.2020
Сообщений: 27
С нами:
3129532
Репутация:
3
|
|
Добрый вечер, подскажите каким способом можно извлекать из pe файла ресурсы, к примеру dll и дропать её в temp файлы
|
|
|

29.03.2021, 18:54
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
как получить ид самп игрока через указатель на CPed? использую plugin sdk
|
|
|

29.03.2021, 19:12
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
хз, мб как-то и связан, CPed же можно по иду получить
C++:
Код:
CPed
*
ped
=
CPools
::
GetPed
(
pSAMP
->
getPlayers
(
)
->
pRemotePlayer
[
playerID
]
->
pPlayerData
->
pSAMP_Actor
->
ulGTAEntityHandle
)
;
|
|
|

29.03.2021, 19:13
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от AdCKuY_DpO4uLa
хз, мб как-то и связан, CPed же можно по иду получить
C++:
Код:
CPed
*
ped
=
CPools
::
GetPed
(
pSAMP
->
getPlayers
(
)
->
pRemotePlayer
[
playerID
]
->
pPlayerData
->
pSAMP_Actor
->
ulGTAEntityHandle
)
;
потому что самп хранит эту информацию
Гта про самп вообще не знает, просто работает в обычном для себя режиме
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|