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

  #3871  
Старый 31.07.2019, 22:49
_=Gigant=_
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами: 4901705

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

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

Подскажите, как использовать курсор с имгуи? Не могу разобраться.
C++:





Код:
bool
bShowImGui_Menu
;
static
int
mouse_imgui_menu
=
2
;
if
(
bShowImGui_Menu
)
//if menu is ON -> ImGui::Begin("##ImGuiMenu", &bShowImGui_Menu....
{
mouse_imgui_menu
=
0
;
toggleSAMPCursor
(
1
)
;
 keyhook.cpp)
if
(
ImGui_ImplWin32_WndProcHandler
(
wnd
,
umsg
,
wparam
,
lparam
)
)
return
true
;
 
Ответить с цитированием

  #3872  
Старый 31.07.2019, 23:07
CatKnight
Участник форума
Регистрация: 26.11.2015
Сообщений: 148
С нами: 5506473

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

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

Подробнее, курсор использовать в своих елементах, или просто информацию о курсоре, изменения позиции курсора, включение выключения видимости курсора?
Видимость и возможность использовать обычный системный курсор в имгуи элементах. Что-то вроде imgui.showCursor в луа.

Цитата:
Сообщение от _=Gigant=_  

C++:





Код:
bool
bShowImGui_Menu
;
static
int
mouse_imgui_menu
=
2
;
if
(
bShowImGui_Menu
)
//if menu is ON -> ImGui::Begin("##ImGuiMenu", &bShowImGui_Menu....
{
mouse_imgui_menu
=
0
;
toggleSAMPCursor
(
1
)
;
 keyhook.cpp)
if
(
ImGui_ImplWin32_WndProcHandler
(
wnd
,
umsg
,
wparam
,
lparam
)
)
return
true
;

Спасибо. Но хотелось бы реализацию с системным курсором из Windows.
 
Ответить с цитированием

  #3873  
Старый 31.07.2019, 23:10
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

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

Видимость и возможность использовать обычный системный курсор в имгуи элементах. Что-то вроде imgui.showCursor в луа.

Спасибо. Но хотелось бы реализацию с системным курсором из Windows.
Нету отдельного курсора в имгуи, есть один курсор
 
Ответить с цитированием

  #3874  
Старый 04.08.2019, 18:35
Musaigen
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами: 4272230

Репутация: 183


По умолчанию

Какая будет нагрузка на процессор, если в потоке будет Sleep(0)?
 
Ответить с цитированием

  #3875  
Старый 04.08.2019, 23:38
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

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

Какая будет нагрузка на процессор, если в потоке будет Sleep(0)?
Я хз зачем это тебе но вот, бери, замерял в цикле с Sleep(0) и без, циклы выполнялся по 10000000 раз

Цитата:
Сообщение от Спойлер  


C++:





[CODE]
#include
#include
#include
#include
int
main
(
)
{
size_t count
=
10000000
;
auto
start
=
std
::
chrono
::
system_clock
::
now
(
)
;
for
(
size_t i
=
0
;
i

elapsed_seconds
=
end
-
start
;
std
::
cout



 
Ответить с цитированием

  #3876  
Старый 05.08.2019, 01:09
#Rin
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами: 5663255

Репутация: 183


По умолчанию

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

Какая будет нагрузка на процессор, если в потоке будет Sleep(0)?
Нулевое значение аргумента в Sleep заставляет поток отказаться от оставшейся части его временного интервала в пользу любого другого потока, который готов к запуску. Если других потоков, готовых к выполнению нет, функция немедленно возвращается, и поток продолжает выполнение.*

* На некоторых версиях Windows поведение может немного отличаться.

** Подробнее, можешь еще википедию почитать.


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

Я хз зачем это тебе но вот, бери, замерял в цикле с Sleep(0) и без, циклы выполнялся по 10000000 раз
Цитата:
Сообщение от Спойлер  


C++:





[CODE]
#include
#include
#include
#include
int
main
(
)
{
size_t count
=
10000000
;
auto
start
=
std
::
chrono
::
system_clock
::
now
(
)
;
for
(
size_t i
=
0
;
i

elapsed_seconds
=
end
-
start
;
std
::
cout



Нагрузка на процессор и время исполнения кода, не одно и тоже. К тому же мы не знаем какие оптимизации произвел компилятор в твоем случае.
 
Ответить с цитированием

  #3877  
Старый 05.08.2019, 02:54
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

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

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

Я хз зачем это тебе но вот, бери, замерял в цикле с Sleep(0) и без, циклы выполнялся по 10000000 раз
Цитата:
Сообщение от Спойлер  


C++:





[CODE]
#include
#include
#include
#include
int
main
(
)
{
size_t count
=
10000000
;
auto
start
=
std
::
chrono
::
system_clock
::
now
(
)
;
for
(
size_t i
=
0
;
i

elapsed_seconds
=
end
-
start
;
std
::
cout



зачем это всё если есть отладчик?
 
Ответить с цитированием

  #3878  
Старый 05.08.2019, 14:16
CatKnight
Участник форума
Регистрация: 26.11.2015
Сообщений: 148
С нами: 5506473

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

Объясните, пожалуйста, как в wndproc заблокировать сообщение для окна, но оставить его для плагина своего? Сейчас использую хук wndprochandler, который изначально идёт в проекте sf plugin. Подходит он для этого же?
 
Ответить с цитированием

  #3879  
Старый 05.08.2019, 21:13
Adder
Новичок
Регистрация: 01.11.2013
Сообщений: 22
С нами: 6593689

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

Пытаюсь пропустить диалог с помощью кода ниже. Диалог пропускается, но перестают работать серверные команды. Сообщения в чат отправляются, но серверные команды не срабатывают ( Данную проблему заметил только на Evolve, на СРП он пропускает диалог и серверные команды работают ) Также пробовал закрывать диалог через SF->getSAMP()->getDialog()->Close(1); ( Проблема та же, диалог закрывается, команды серверные не работают)

Код:





Код:
if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowDialog) {
        WORD DialogID;
        BYTE style, caplen, button1_len, button2_len;
        char caption[255], button1[25], button2[25], info[0x1000];

        params->bitStream->ResetReadPointer();
        params->bitStream->Read(DialogID);
        params->bitStream->Read(style);
        params->bitStream->Read(caplen);
        params->bitStream->Read(caption, caplen);
        caption[caplen] = '\0';
        params->bitStream->Read(button1_len);
        params->bitStream->Read(button1, button1_len);
        button1[button1_len] = '\0';
        params->bitStream->Read(button2_len);
        params->bitStream->Read(button2, button2_len);
        button2[button2_len] = '\0';
        SF->getRakNet()->DecodeString(info, 0x1000, params->bitStream);

        if (DialogID == 0) return false;
    }
 
Ответить с цитированием

  #3880  
Старый 05.08.2019, 21:19
astap_
Постоянный
Регистрация: 05.03.2014
Сообщений: 626
С нами: 6415078

Репутация: 163


По умолчанию

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

Также пробовал закрывать диалог через SF->getSAMP()->getDialog()->Close(1);
офкос ты не закроешь диалог, который ещё не получил от сервера. закрывай после хука.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...