 |
|

20.10.2017, 17:56
|
|
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами:
5392682
Репутация:
93
|
|
Кто может помочь?
Код:
Код:
bool CALLBACK testRPC(stRakNetHookParams *params) // определение callback-функции, которая будет вызвана, если от сервера был получен новый RPC.
{
if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowTextDraw)
{
WORD ID;
char text[256];
params->bitStream->ResetReadPointer();
params->bitStream->Read(ID);
params->bitStream->SetReadOffset(0xD8);
SF->getRakNet()->DecodeString(text, 256, params->bitStream);
if (_house == true)
{
SF->getSAMP()->getChat()->AddChatMessage(-1, "ID: %d | Text: %s", ID, text);
}
}
return true; // успешно завершаем обработку RPC.
};
|
|
|

22.10.2017, 16:43
|
|
Новичок
Регистрация: 16.06.2010
Сообщений: 0
С нами:
8370833
Репутация:
0
|
|
Тот же вопрос жму букву R, но буквы Q and E не срабатывают в игре
PHP:
[CODE]
#include "stdafx.h"
#include
#include
#include
using
namespace
std
;
wchar_t AdresZagolovkaOkna
[
500
]
=
L
"GTA:SA:MP"
;
HWND
DeskriptorOkna
;
LRESULT
CALLBACK
LLKeyProc
(
int nCode
,
WPARAM
wParam
,
LPARAM
lParam
)
{
if
(
nCode
==
HC_ACTION
)
{
DWORD
vk
=
(
(
LPKBDLLHOOKSTRUCT
)
lParam
)
-
>
vkCode
;
if
(
vk
==
0x52
&&
DeskriptorOkna
)
{
SendMessage
(
DeskriptorOkna
,
WM_KEYDOWN
,
0x45
,
0
)
;
SendMessage
(
DeskriptorOkna
,
WM_KEYDOWN
,
0x51
,
0
)
;
}
}
return
CallNextHookEx
(
NULL
,
nCode
,
wParam
,
lParam
)
;
}
int
main
(
)
{
cout
|
|
|

22.10.2017, 23:56
|
|
Познающий
Регистрация: 06.01.2016
Сообщений: 55
С нами:
5447426
Репутация:
58
|
|
Сообщение от Bazzl
Кто может помочь?
Код:
Код:
bool CALLBACK testRPC(stRakNetHookParams *params) // определение callback-функции, которая будет вызвана, если от сервера был получен новый RPC.
{
if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowTextDraw)
{
WORD ID;
char text[256];
params->bitStream->ResetReadPointer();
params->bitStream->Read(ID);
params->bitStream->SetReadOffset(0xD8);
SF->getRakNet()->DecodeString(text, 256, params->bitStream);
if (_house == true)
{
SF->getSAMP()->getChat()->AddChatMessage(-1, "ID: %d | Text: %s", ID, text);
}
}
return true; // успешно завершаем обработку RPC.
};
P.S у меня на switch(params->packetId)
C++:
Код:
case
ScriptRPCEnumeration
::
RPC_ScrShowTextDraw
:
{
stTextDrawTransmit TXD
;
WORD TID
,
TLen
;
char
Text
[
1024
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
TID
)
;
params
->
bitStream
->
Read
(
(
PCHAR
)
&
TXD
,
sizeof
(
stTextDrawTransmit
)
)
;
// struct
params
->
bitStream
->
Read
(
TLen
)
;
params
->
bitStream
->
Read
(
Text
,
TLen
)
;
Text
[
TLen
]
=
'\0'
;
// переводы из ARGB to RGBA. Можешь вырезать, если не нужно
TXD
.
dwLetterColor
=
D3DCOLOR_ARGB
(
LOBYTE
(
(
TXD
.
dwLetterColor
)
>>
8
)
,
LOBYTE
(
(
TXD
.
dwLetterColor
)
>>
16
)
,
LOBYTE
(
(
TXD
.
dwLetterColor
)
>>
24
)
,
LOBYTE
(
TXD
.
dwLetterColor
)
)
;
TXD
.
dwBackgroundColor
=
D3DCOLOR_ARGB
(
LOBYTE
(
(
TXD
.
dwBackgroundColor
)
>>
8
)
,
LOBYTE
(
(
TXD
.
dwBackgroundColor
)
>>
16
)
,
LOBYTE
(
(
TXD
.
dwBackgroundColor
)
>>
24
)
,
LOBYTE
(
TXD
.
dwBackgroundColor
)
)
;
TXD
.
dwBoxColor
=
D3DCOLOR_ARGB
(
LOBYTE
(
(
TXD
.
dwBoxColor
)
>>
8
)
,
LOBYTE
(
(
TXD
.
dwBoxColor
)
>>
16
)
,
LOBYTE
(
(
TXD
.
dwBoxColor
)
>>
24
)
,
LOBYTE
(
TXD
.
dwBoxColor
)
)
;
/*
-- your code --
*/
break
;
}
|
|
|

23.10.2017, 00:06
|
|
Познающий
Регистрация: 06.01.2016
Сообщений: 55
С нами:
5447426
Репутация:
58
|
|
SF->getSAMP()->getSAMPAddr() + 0x219F88 >> Путь до папки SAMP в документах.
А как найти путь до корневой папки GTA SA с игрой?
|
|
|

23.10.2017, 11:55
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Код:
[CODE]
#include
namespace fs = std::experimental::filesystem;
fs:  ath path = fs::current_path();
std::string PathToSa = path.string();
std::cout
|
|
|

23.10.2017, 23:26
|
|
Новичок
Регистрация: 12.02.2017
Сообщений: 6
С нами:
4867432
Репутация:
0
|
|
Как сделать окно с сампом активным после того как его свернуть? Чтобы допустим диалоговые окна листались? Не откажусь от кусочка кода 
|
|
|

24.10.2017, 17:06
|
|
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами:
5392682
Репутация:
93
|
|
Как проверить ли персанаж заспавнился?
|
|
|

24.10.2017, 17:15
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Сообщение от Bazzl
Как проверить ли персанаж заспавнился?
RPC_Spawn хукай
|
|
|

24.10.2017, 18:53
|
|
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами:
5392682
Репутация:
93
|
|
Почему не срабатывает?
Код:
Код:
if (SF->getSAMP()->getDialog()->iIsActive == 1)
{
SF->getSAMP()->getChat()->AddChatMessage(-1, "{FF0011}[DIALOG]: {FFFFFF}Диалог найден!");
}
|
|
|

24.10.2017, 18:54
|
|
Постоянный
Регистрация: 15.04.2017
Сообщений: 602
С нами:
4778331
Репутация:
63
|
|
Сообщение от Bazzl
Почему не срабатывает?
Код:
Код:
if (SF->getSAMP()->getDialog()->iIsActive == 1)
{
SF->getSAMP()->getChat()->AddChatMessage(-1, "{FF0011}[DIALOG]: {FFFFFF}Диалог найден!");
}
весь код дай
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|