 |
|

05.08.2019, 21:19
|
|
Познающий
Регистрация: 22.07.2015
Сообщений: 58
С нами:
5689694
Репутация:
68
|
|
@Adder это для того, чтобы не сбивали диалоги командами и прочее, нужно просто отправлять ответ на диалог
Сообщение от Спойлер
C++:
Код:
void
SendDialogResponse
(
WORD wDialogID
,
BYTE bButtonID
,
WORD wListBoxItem
=
65535
,
char
*
szInputResp
=
""
)
{
BitStream bsSend
;
BYTE respLen
=
static_cast
(
strlen
(
szInputResp
)
)
;
bsSend
.
ResetWritePointer
(
)
;
bsSend
.
Write
(
wDialogID
)
;
bsSend
.
Write
(
bButtonID
)
;
bsSend
.
Write
(
wListBoxItem
)
;
bsSend
.
Write
(
respLen
)
;
bsSend
.
Write
(
szInputResp
,
respLen
)
;
SAMP
->
RPC
(
RPC_DialogResponse
,
&
bsSend
,
HIGH_PRIORITY
,
RELIABLE_ORDERED
,
NULL
,
false
)
;
}
SendDialogResponse
(
0
,
0
)
;
// 0 - id диалога
|
|
|

06.08.2019, 15:22
|
|
Новичок
Регистрация: 01.11.2013
Сообщений: 22
С нами:
6593689
Репутация:
51
|
|
Приветствую, при попытке декодить стринг с диалога всё время крашется игра. Если закоментить строку с компресором, не крашит
Код:
Код:
case RPC_ShowDialog:
{
if (cheat_state->_generic.cheat_panic_enabled)
break;
WORD DialogID;
BYTE style, caplen, button1_len, button2_len, button = 1;
char caption[255], button1[25], button2[25], info[256];
BitStream bsData(rpcParams->input, rpcParams->numberOfBitsOfData / 8, false);
bsData.ResetReadPointer();
bsData.Read(DialogID);
bsData.Read(style);
bsData.Read(caplen);
bsData.Read(caption, caplen);
caption[caplen] = '\0';
bsData.Read(button1_len);
bsData.Read(button1, button1_len);
button1[button1_len] = '\0';
bsData.Read(button2_len);
bsData.Read(button2, button2_len);
button2[button2_len] = '\0';
stringCompressor->DecodeString(info, 256, &bsData);
break;
}
|
|
|

06.08.2019, 15:33
|
|
Новичок
Регистрация: 01.11.2013
Сообщений: 22
С нами:
6593689
Репутация:
51
|
|
Сообщение от Cake_
info, 0x1000, &bsData
Это в аргументы DecodeString
Пробовал так, всё равно эффект тот же
|
|
|

06.08.2019, 15:52
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Adder
Пробовал так, всё равно эффект тот же
потому что вместо этого надо читать длину строки и использовать ее в декодировании
|
|
|

06.08.2019, 16:52
|
|
Познающий
Регистрация: 22.07.2015
Сообщений: 58
С нами:
5689694
Репутация:
68
|
|
@Adder, для использования stringCompressor'а его нужно инициализировать, ну и ессна читать длину строки, как сказал тим
C++:
Код:
// при первом запуске или при инициализации RakClient
StringCompressor
::
AddReference
(
)
;
StringTable
::
AddReference
(
)
;
|
|
|

07.08.2019, 11:11
|
|
Участник форума
Регистрация: 29.04.2017
Сообщений: 263
С нами:
4757761
Репутация:
213
|
|
При компиляции плагина получаю следующую строку:
Код:
1>e:\samp\sampfuncs sdk\sf plugin template\sfplugin\sfapi\SFRender.h(5): fatal error C1083: Cannot open include file: 'd3dx9.h': No such file or
Где взять d3dx9.h?
|
|
|

07.08.2019, 11:17
|
|
Участник форума
Регистрация: 04.04.2017
Сообщений: 263
С нами:
4793630
Репутация:
133
|
|
Сообщение от BASS_DEVSOFTWARE
При компиляции плагина получаю следующую строку:
Код:
1>e:\samp\sampfuncs sdk\sf plugin template\sfplugin\sfapi\SFRender.h(5): fatal error C1083: Cannot open include file: 'd3dx9.h': No such file or
Где взять d3dx9.h?
Требуется установка DirectX SDK
|
|
|

07.08.2019, 14:43
|
|
Участник форума
Регистрация: 29.04.2017
Сообщений: 263
С нами:
4757761
Репутация:
213
|
|
Решение:

|
|
|

07.08.2019, 15:31
|
|
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами:
4901705
Репутация:
98
|
|
Сообщение от BASS_DEVSOFTWARE
Решение:
problem can occur if you create c++ project before directx sdk is installed, so if u didn't, restart your computer to apply sdk changes then create new project with All Platforms, config - release, but if u are using x86 target machine the platform should be win32
|
|
|

07.08.2019, 21:35
|
|
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами:
4319022
Репутация:
113
|
|
есть ли что похожее ImGui::BeginPopupModal но без залежности к окну имгуи?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|