 |
|

23.10.2019, 18:35
|
|
Постоянный
Регистрация: 12.01.2018
Сообщений: 963
С нами:
4387250
Репутация:
133
|
|
Есть меню имгуи, где много чекбоксов, которые не умещаются в одно окно и надо листать вниз. Можно ли сделать так, чтобы чекбоксы автоматически переносились, когда доходили до границы меню или хотя-бы разделить по столбцам как-то?
|
|
|

24.10.2019, 01:05
|
|
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами:
4901705
Репутация:
98
|
|
Сообщение от checkdasound
Есть меню имгуи, где много чекбоксов, которые не умещаются в одно окно и надо листать вниз. Можно ли сделать так, чтобы чекбоксы автоматически переносились, когда доходили до границы меню или хотя-бы разделить по столбцам как-то?
int menu = 1;
BeginChild;
switch(menu)
{
case 1:
Checkbox(...) //1
break;
case 2:
Checkbox(...) //2
break;
default:
menu = 1;
break;
}
EndChild;
if imgui.button "menu 2"
if menu != 2
menu = 2;
|
|
|

26.10.2019, 22:41
|
|
Новичок
Регистрация: 09.07.2017
Сообщений: 20
С нами:
4655762
Репутация:
3
|
|
Нужно написать программу на C++, которая бы имитировала движение игрока (бег вперёд, спринт, прыжок).
Я пробовал использовать функции keybd_event(...), но никак не помогает. По факту нажатие передается, но персонаж ествественным образом не бежит.
|
|
|

27.10.2019, 00:24
|
|
Новичок
Регистрация: 08.09.2005
Сообщений: 5
С нами:
10879231
Репутация:
0
|
|
Господа, как в ++ используется - sampSendDialogResponse(lua)?
|
|
|

27.10.2019, 22:37
|
|
Познающий
Регистрация: 02.07.2017
Сообщений: 30
С нами:
4665783
Репутация:
8
|
|
Сообщение от Niji
В луа особо не шарю , но по аналогии должно быть
1) *(DWORD *)ТвойАдрес = Твое Значение;
2) memset
3) string * str = (string *)Твой Адрес;
а чё за
int AlmostMain ( int argc, char ** argv )
{
int C = 2019;
//C++;
size_t _( &C != &C );
for(;C&(_=(_?_
|
|
|

28.10.2019, 16:37
|
|
Познавший АНТИЧАТ
Регистрация: 14.06.2018
Сообщений: 1,150
С нами:
4165677
Репутация:
183
|
|
Как sleep() сделать в цикле, просто когда юзаю sleep игра зависает...
|
|
|

28.10.2019, 19:56
|
|
Участник форума
Регистрация: 11.01.2017
Сообщений: 218
С нами:
4913302
Репутация:
98
|
|
Сообщение от Damag
Как sleep() сделать в цикле, просто когда юзаю sleep игра зависает...
Новый поток создай и в нем уже используй sleep
[QUOTE="ForHax"]
а чё за
int AlmostMain ( int argc, char ** argv )
{
int C = 2019;
//C++;
size_t _( &C != &C );
for(;C&(_=(_?_
|
|
|

30.10.2019, 14:23
|
|
Новичок
Регистрация: 01.11.2013
Сообщений: 22
С нами:
6593689
Репутация:
51
|
|
Возможно ли определить примерные координаты прицеливания игрока?
|
|
|

30.10.2019, 14:25
|
|
Участник форума
Регистрация: 19.03.2014
Сообщений: 222
С нами:
6395080
Репутация:
128
|
|
|
|
|

01.11.2019, 18:05
|
|
Познавший АНТИЧАТ
Регистрация: 28.10.2017
Сообщений: 1,778
С нами:
4495573
Репутация:
183
|
|
Всем привет 👋
Есть нужда в создании плагина, который бы запускался на всех последних версиях SAMP, а значит возможность написания SF плагина сразу отпадает. Собственно, в C++ я новичок, можно сказать, но всё равно попытался всё сделать сам - ничего не получилось, по итогам тестирования было установлено, что игра офигевает от происходящего и крашится. Мои цели в данный момент достаточно простые - заставить ASI плагин выводить сообщение в чат после инициализации SAMP'a.
Пожалуйста, не нужно советовать различные ASI Framework - это не то, что мне нужно. Помогите разобраться с тем, как это работает в идеале, пожалуйста.
Сообщение от Спойлер
main.cpp:
Код:
#include "main.h"
void
MainThread
(
)
{
do
{
samp
.
dwModule
=
(
DWORD
)
GetModuleHandle
(
L
"samp.dll"
)
;
}
while
(
!
samp
.
dwModule
)
;
do
{
Sleep
(
1
)
;
}
while
(
IsSampInit
(
)
!=
TRUE
)
;
Sleep
(
2500
)
;
AddChatMessage
(
"Hello world!"
)
;
}
BOOL WINAPI
DllMain
(
HINSTANCE hModule
,
DWORD dwReason
,
LPVOID lpReserved
)
{
switch
(
dwReason
)
{
case
DLL_PROCESS_ATTACH
:
{
DisableThreadLibraryCalls
(
hModule
)
;
_beginthread
(
(
_beginthread_proc_type
)
MainThread
,
NULL
,
NULL
)
;
break
;
}
}
}
main.h:
Код:
#pragma once
#include
#include
#include
#include
#include
struct
SAMPStruct
{
DWORD dwModule
;
}
samp
;
struct
SAMPOffsets
{
DWORD registerClientCommand
=
0x65AC0
;
DWORD addChatMessage
=
0x64520
;
}
offset
;
bool
IsSampInit
(
)
{
return
(
(
bool
(
__thiscall
*
)
(
)
)
(
samp
.
dwModule
+
0x9BF70
)
)
(
)
;
}
void
RegisterChatCommand
(
const
char
*
command
,
void
*
function
)
{
(
(
void
(
__thiscall
*
)
(
DWORD str
,
const
char
*
cmd
,
void
*
func
)
)
(
samp
.
dwModule
+
offset
.
registerClientCommand
)
)
(
*
(
DWORD
*
)
(
samp
.
dwModule
+
0x21A0E8
)
,
command
,
function
)
;
}
void
AddChatMessage
(
const
char
*
message
)
{
(
(
void
(
__thiscall
*
)
(
DWORD str
,
const
char
*
text
)
)
(
samp
.
dwModule
+
offset
.
addChatMessage
)
)
(
*
(
DWORD
*
)
(
samp
.
dwModule
+
0x21A0E4
)
,
message
)
;
}
Warning!Указатели, находящиеся в моём коде неправильные. Всё, что они Вам дадут - краш игры.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|