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

  #901  
Старый 21.05.2016, 19:12
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Почему не работает? Хочу сделать массив массивов массивов%) (примерно так array[0][0][0]). Но чтобы количество элементов можно было увеличивать.

Код:





Код:
int lvl1 = 0;
int lvl2 = 0;
int lvl3 = 0;

void inc3(int *arr, int val)
{
    lvl3++;
    arr = (int *)realloc(arr, sizeof(int) * lvl3);
    arr[lvl3 - 1] = val;
}

void inc2(int **arr, int val)
{
    lvl2++;
    arr = (int **)realloc(arr, sizeof(int) * lvl2);
    inc3(arr[lvl2 - 1], val);
}

void inc1(int ***arr, int val)
{
    lvl1++;
    arr = (int ***)realloc(arr, sizeof(int) * lvl1);
    inc2(arr[lvl1 - 1], val);
}

void main()
{
        int ***arr = NULL;
        inc1(arr, 10);
}
 
Ответить с цитированием

  #902  
Старый 21.05.2016, 19:56
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

А не проще ли заюзать вектора?
 
Ответить с цитированием

  #903  
Старый 22.05.2016, 00:09
Vasiliy77
Новичок
Регистрация: 21.06.2015
Сообщений: 22
С нами: 5733802

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

Какие оффсеты нужны для создания диалога на 0.3.7? Юзаю код ниже, в результате диалог не отображается.

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


C++:





Код:
#define SAMP_DIALOG_SHOW 0x80320
//
#define SAMP_DIALOG_INFO_OFFSET 0x2129F8
//
showSampDialog
(
int
send
,
int
dialogID
,
int
typedialog
,
char
*
caption
,
char
*
text
,
char
*
button1
,
char
*
button2
)
{
uint32_t
samp_dll
=
(
uint32_t
)
GetModuleHandle
(
"samp.dll"
)
;
g_dwSAMP_Addr
=
(
uint32_t
)
samp_dll
;
uint32_t
func
=
g_dwSAMP_Addr
+
SAMP_DIALOG_SHOW
;
uint32_t
data
=
g_dwSAMP_Addr
+
SAMP_DIALOG_INFO_OFFSET
;
__asm mov eax
,
dword ptr
[
data
]
__asm mov ecx
,
dword ptr
[
eax
]
//mov to offset
__asm push send
//0 - No send response, 1 - Send response
__asm push button2
    __asm push button1
    __asm push text
    __asm push caption
    __asm push typedialog
    __asm push dialogID
    __asm call func
return
;
}


Думаю нужны другие адреса в #define, может знаете какие?

И 2 вопрос, как редактировать пункты в главном меню на Esc? Убрать какой-то например.
 
Ответить с цитированием

  #904  
Старый 22.05.2016, 14:14
Skadi
Познающий
Регистрация: 03.11.2014
Сообщений: 43
С нами: 6065807

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

SAMP_DIALOG_SHOW 0x6B9C0

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

  #905  
Старый 22.05.2016, 14:43
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

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

А не проще ли заюзать вектора?
Это что?
 
Ответить с цитированием

  #906  
Старый 22.05.2016, 17:07
san0
Постоянный
Регистрация: 15.12.2013
Сообщений: 412
С нами: 6530249

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

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

Это что?
std::vector
 
Ответить с цитированием

  #907  
Старый 24.05.2016, 17:06
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

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

  #908  
Старый 24.05.2016, 17:25
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

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

  #909  
Старый 24.05.2016, 22:33
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Как я понял, вместо _beginthreadex можно засунуть вызов своей функции в case: DLL_THREAD_ATTACH? На сколько это будет правильно и когда вообще вызывается функция DllMain и параметром DLL_THREAD_ATTACH?
 
Ответить с цитированием

  #910  
Старый 24.05.2016, 22:58
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

Как я понял, вместо _beginthreadex можно засунуть вызов своей функции в case: DLL_THREAD_ATTACH? На сколько это будет правильно и когда вообще вызывается функция DllMain и параметром DLL_THREAD_ATTACH?
DLL_PROCESS_ATTACH вызывается при подключение библиотеки к процессу

DLL_THREAD_ATTACH вызывается когда программа опрашивает подключенные библиотеки. Опрашивает не сама, а система, по этому вызываются даже приинжекченые библиотеки

DLL_THREAD_DETACH аналогично предыдущему, только вызывается позже. Может быть полезно для каких-либо специфичных задач, в которых надо что-то изменить на выходе из библиотеки

DLL_PROCESS_DETACH вызывается при выгрузке библиотеки из памяти процесса

Есть еще WinAPI функция, которая отключает опрос библиотеки, я ее не помню, но можно найти в говно-примерах читов, где сам чит работает в отдельном потоке
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.