HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #5181  
Старый 27.03.2021, 02:30
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от waffelo  

Доброй ночи братцы. Подскажите как можно увеличить ширину и высоту текста, вызванной

C++:





Код:
if
(
ImGui
::
BeginMenuBar
(
)
)
ImGui
::
TextUnformatted
(
"Load"
)
,
ImGui
::
EndMenuBar
(
)
;

Ширину никак. Советую собрать и покурить демо версию имгуи. Скачать можно его с офф. репозитория. Собрать там вообще легко.
 
Ответить с цитированием

  #5182  
Старый 27.03.2021, 02:31
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от Dark_Knight  

Ширину никак.
можно зарендерить на текстуру и потом растянуть ее
 
Ответить с цитированием

  #5183  
Старый 27.03.2021, 15:53
AdCKuY_DpO4uLa
Постоянный
Регистрация: 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
)
;
 
Ответить с цитированием

  #5184  
Старый 27.03.2021, 21:07
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от KiN4StAt  

можно зарендерить на текстуру и потом растянуть ее
Это да, но тогда надо шрифт в текстуру конвертить. В целом, так в большинстве игр используется, но был вопрос задан о шрифте чистом.
 
Ответить с цитированием

  #5185  
Старый 27.03.2021, 21:20
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от Dark_Knight  

Это да, но тогда надо шрифт в текстуру конвертить.
Неа, имгуи поддерживает рендер на текстуре
 
Ответить с цитированием

  #5186  
Старый 27.03.2021, 21:25
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от KiN4StAt  

Неа, имгуи поддерживает рендер на текстуре
Опана. С этого момента поподробней. Я про скейл шрифта общий знаю, но вот про такое хз. Удиви всех нас)
 
Ответить с цитированием

  #5187  
Старый 28.03.2021, 21:20
waffelo
Новичок
Регистрация: 03.06.2020
Сообщений: 27
С нами: 3129532

Репутация: 3
По умолчанию

Добрый вечер, подскажите каким способом можно извлекать из pe файла ресурсы, к примеру dll и дропать её в temp файлы
 
Ответить с цитированием

  #5188  
Старый 29.03.2021, 18:54
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

Репутация: 213
По умолчанию

как получить ид самп игрока через указатель на CPed? использую plugin sdk
 
Ответить с цитированием

  #5189  
Старый 29.03.2021, 19:12
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

Репутация: 213
По умолчанию

хз, мб как-то и связан, CPed же можно по иду получить

C++:





Код:
CPed
*
ped
=
CPools
::
GetPed
(
pSAMP
->
getPlayers
(
)
->
pRemotePlayer
[
playerID
]
->
pPlayerData
->
pSAMP_Actor
->
ulGTAEntityHandle
)
;
 
Ответить с цитированием

  #5190  
Старый 29.03.2021, 19:13
kin4stat
Флудер
Регистрация: 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)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.