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

  #3851  
Старый 24.07.2019, 17:24
777qwerty777
Познающий
Регистрация: 01.05.2017
Сообщений: 62
С нами: 4754881

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

Как в sf api ускорить анимацию?
 
Ответить с цитированием

  #3852  
Старый 25.07.2019, 00:51
atizoff
Познавший АНТИЧАТ
Регистрация: 02.08.2018
Сообщений: 1,295
С нами: 4095395

Репутация: 183


По умолчанию

здрсте всем привет всем! у меня тут встал вопросик, как сделать окно подтверждения на имгуи?

пример: нажимаю на буттон "здарова" и выходит имгуи окошечко и там текст "вы уверены?" и 2 кнопки "да" и "нет"
 
Ответить с цитированием

  #3853  
Старый 25.07.2019, 00:52
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

Цитата:
Сообщение от social enemy  

здрсте всем привет всем! у меня тут встал вопросик, как сделать окно подтверждения на имгуи?
пример: нажимаю на буттон "здарова" и выходит имгуи окошечко и там текст "вы уверены?" и 2 кнопки "да" и "нет"
C++:





Код:
if
(
ImGui
::
Button
(
"Modal"
)
)
ImGui
::
OpenPopup
(
"Modal window"
)
;
if
(
ImGui
::
BeginPopupModal
(
"Modal window"
)
)
{
ImGui
::
Text
(
"Hello dsjfhds fhjs hfj dshfj hds"
)
;
if
(
ImGui
::
Button
(
"Close"
)
)
ImGui
::
CloseCurrentPopup
(
)
;
ImGui
::
EndPopup
(
)
;
}
 
Ответить с цитированием

  #3854  
Старый 25.07.2019, 21:18
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

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

Подскажите, за что отвечает функция samp.dll+0x30B30 (0.3.7r1)?
 
Ответить с цитированием

  #3855  
Старый 25.07.2019, 22:44
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

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

Подскажите, за что отвечает функция samp.dll+0x30B30 (0.3.7r1)?
Хз у него такой же вопрос

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

Народ подскажите что за адрес и для чего он нужен
GetModuleHandle("samp.dll") + 0x30B30
 
Ответить с цитированием

  #3856  
Старый 25.07.2019, 22:52
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

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

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

Хз у него такой же вопрос
Я видел Но, всё-таки, 3 года прошло.

===

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

Подскажите, за что отвечает функция samp.dll+0x30B30 (0.3.7r1)?
У меня с ней проблема. Судя по сигнатуре (могу ошибаться) - это
Код:
bool __thiscall RakClient::RPC(void *this, int* uniqueID, BitStream *bitStream, PacketPriority priority, PacketReliability reliability, char orderingChannel, bool shiftTimestamp );
, IDA дает такой листинг псевдокода:

C++:





Код:
char
__thiscall
sub_10030B30
(
char
*
this
,
int
a2
,
int
a3
,
int
a4
,
int
a5
,
int
a6
,
int
a7
)
{
int
v7
;
// eax
char
result
;
// al
v7
=
*
(
_DWORD
*
)
(
this
-
0xAAA
)
;
if
(
v7
)
result
=
sub_10036C30
(
a2
,
a3
,
a4
,
a5
,
a6
,
*
(
_DWORD
*
)
(
v7
+
1
)
,
*
(
_WORD
*
)
(
v7
+
5
)
,
0
,
a7
,
dword_100EC770
,
dword_100EC774
,
0
)
;
else
result
=
0
;
return
result
;
}


Тоже самое в asm:





Код:
.text:10030B30 sub_10030B30    proc near               ; DATA XREF: .rdata:100D534C↓o
.text:10030B30
.text:10030B30 arg_0           = dword ptr  4
.text:10030B30 arg_4           = dword ptr  8
.text:10030B30 arg_8           = dword ptr  0Ch
.text:10030B30 arg_C           = dword ptr  10h
.text:10030B30 arg_10          = dword ptr  14h
.text:10030B30 arg_14          = dword ptr  18h
.text:10030B30
.text:10030B30                 mov     eax, [ecx-0AAAh]
.text:10030B36                 test    eax, eax
.text:10030B38                 push    esi
.text:10030B39                 jnz     short loc_10030B41
.text:10030B3B                 xor     al, al
.text:10030B3D                 pop     esi
.text:10030B3E                 retn    18h
.text:10030B41 ; ---------------------------------------------------------------------------
.text:10030B41
.text:10030B41 loc_10030B41:                           ; CODE XREF: sub_10030B30+9↑j
.text:10030B41                 mov     edx, dword_100EC774
.text:10030B47                 push    0
.text:10030B49                 push    edx
.text:10030B4A                 mov     edx, dword_100EC770
.text:10030B50                 push    edx
.text:10030B51                 mov     edx, [esp+10h+arg_14]
.text:10030B55                 push    edx
.text:10030B56                 push    0
.text:10030B58                 sub     esp, 8
.text:10030B5B                 inc     eax
.text:10030B5C                 mov     esi, [eax]                         ; Ошибка доступа
.text:10030B5E                 mov     ax, [eax+4]
.text:10030B62                 mov     edx, esp
.text:10030B64                 mov     [edx], esi
.text:10030B66                 mov     [edx+4], ax
.text:10030B6A                 mov     edx, [esp+20h+arg_10]
.text:10030B6E                 mov     eax, [esp+20h+arg_C]
.text:10030B72                 push    edx
.text:10030B73                 mov     edx, [esp+24h+arg_8]
.text:10030B77                 push    eax
.text:10030B78                 mov     eax, [esp+28h+arg_4]
.text:10030B7C                 push    edx
.text:10030B7D                 mov     edx, [esp+2Ch+arg_0]
.text:10030B81                 push    eax
.text:10030B82                 push    edx
.text:10030B83                 add     ecx, 0FFFFF222h
.text:10030B89                 call    sub_10036C30
.text:10030B8E                 pop     esi
.text:10030B8F                 retn    18h
.text:10030B8F sub_10030B30    endp


При попытке использовать ее, передав в качестве this
Код:
[ [ dwSAMP + SAMP_INFO_OFFSET ] + SAMP_RAKCLIENT_INTERFACE ]
игру крашит. В 6 строчке переменной v7 присваевается значение по адресу
Код:
this - 0xAAA
(в каких вообще случаях бывает отрицательный сдвиг от this?), и в 14 строке получаю ошибку доступа. Может, функция не та?
 
Ответить с цитированием

  #3857  
Старый 25.07.2019, 23:35
barspinoff
Участник форума
Регистрация: 14.06.2015
Сообщений: 126
С нами: 5744580

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

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

Я видел Но, всё-таки, 3 года прошло.

===

У меня с ней проблема. Судя по сигнатуре (могу ошибаться) - это
Код:
bool __thiscall RakClient::RPC(void *this, int* uniqueID, BitStream *bitStream, PacketPriority priority, PacketReliability reliability, char orderingChannel, bool shiftTimestamp );
, IDA дает такой листинг псевдокода:

C++:





Код:
char
__thiscall
sub_10030B30
(
char
*
this
,
int
a2
,
int
a3
,
int
a4
,
int
a5
,
int
a6
,
int
a7
)
{
int
v7
;
// eax
char
result
;
// al
v7
=
*
(
_DWORD
*
)
(
this
-
0xAAA
)
;
if
(
v7
)
result
=
sub_10036C30
(
a2
,
a3
,
a4
,
a5
,
a6
,
*
(
_DWORD
*
)
(
v7
+
1
)
,
*
(
_WORD
*
)
(
v7
+
5
)
,
0
,
a7
,
dword_100EC770
,
dword_100EC774
,
0
)
;
else
result
=
0
;
return
result
;
}


Тоже самое в asm:





Код:
.text:10030B30 sub_10030B30    proc near               ; DATA XREF: .rdata:100D534C↓o
.text:10030B30
.text:10030B30 arg_0           = dword ptr  4
.text:10030B30 arg_4           = dword ptr  8
.text:10030B30 arg_8           = dword ptr  0Ch
.text:10030B30 arg_C           = dword ptr  10h
.text:10030B30 arg_10          = dword ptr  14h
.text:10030B30 arg_14          = dword ptr  18h
.text:10030B30
.text:10030B30                 mov     eax, [ecx-0AAAh]
.text:10030B36                 test    eax, eax
.text:10030B38                 push    esi
.text:10030B39                 jnz     short loc_10030B41
.text:10030B3B                 xor     al, al
.text:10030B3D                 pop     esi
.text:10030B3E                 retn    18h
.text:10030B41 ; ---------------------------------------------------------------------------
.text:10030B41
.text:10030B41 loc_10030B41:                           ; CODE XREF: sub_10030B30+9↑j
.text:10030B41                 mov     edx, dword_100EC774
.text:10030B47                 push    0
.text:10030B49                 push    edx
.text:10030B4A                 mov     edx, dword_100EC770
.text:10030B50                 push    edx
.text:10030B51                 mov     edx, [esp+10h+arg_14]
.text:10030B55                 push    edx
.text:10030B56                 push    0
.text:10030B58                 sub     esp, 8
.text:10030B5B                 inc     eax
.text:10030B5C                 mov     esi, [eax]                         ; Ошибка доступа
.text:10030B5E                 mov     ax, [eax+4]
.text:10030B62                 mov     edx, esp
.text:10030B64                 mov     [edx], esi
.text:10030B66                 mov     [edx+4], ax
.text:10030B6A                 mov     edx, [esp+20h+arg_10]
.text:10030B6E                 mov     eax, [esp+20h+arg_C]
.text:10030B72                 push    edx
.text:10030B73                 mov     edx, [esp+24h+arg_8]
.text:10030B77                 push    eax
.text:10030B78                 mov     eax, [esp+28h+arg_4]
.text:10030B7C                 push    edx
.text:10030B7D                 mov     edx, [esp+2Ch+arg_0]
.text:10030B81                 push    eax
.text:10030B82                 push    edx
.text:10030B83                 add     ecx, 0FFFFF222h
.text:10030B89                 call    sub_10036C30
.text:10030B8E                 pop     esi
.text:10030B8F                 retn    18h
.text:10030B8F sub_10030B30    endp


При попытке использовать ее, передав в качестве this
Код:
[ [ dwSAMP + SAMP_INFO_OFFSET ] + SAMP_RAKCLIENT_INTERFACE ]
игру крашит. В 6 строчке переменной v7 присваевается значение по адресу
Код:
this - 0xAAA
(в каких вообще случаях бывает отрицательный сдвиг от this?), и в 14 строке получаю ошибку доступа. Может, функция не та?
Это RPC, принимает 6 параметров (7 для thiscall). Чтобы функция работала, нужно поместить указатель на RakClientInterface в регистр ecx, или передать в виде параметра функции типа thiscall
 
Ответить с цитированием

  #3858  
Старый 26.07.2019, 09:56
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

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

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

Чтобы функция работала, нужно поместить указатель на RakClientInterface в регистр ecx, или передать в виде параметра функции типа thiscall
Я же описал, что проблема не в передаче параметров, а в самом адресе. Ошибка происходит на инструкции
Код:
mov esi, [eax]
при попстке доступа к неаллоцированной памяти.

Ставил брейк, смотрел регистры когда игра сама пользовалась этой функцией, в ecx был было значение, которое можно найти по адресу
Код:
[ [ dwSAMP + SAMP_INFO_OFFSET ] + SAMP_RAKCLIENT_INTERFACE ] + XXX
, где XXX - всегда небольшое смещение меняющееся при перезапуске игры. Странно это...

UPD: Разобрался. У меня стоит плагин, который подменяет значение указателя pRakClientInterface в структуре stSAMP на своё.
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

Как в собейте проверить то, что игрок заспавнен?
 
Ответить с цитированием

  #3860  
Старый 26.07.2019, 20:38
Неадекватная сова
Постоянный
Регистрация: 02.06.2018
Сообщений: 342
С нами: 4183567

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

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

Как в собейте проверить то, что игрок заспавнен?
В структуре stLocalPlayer проверять iIsActive

C++:





Код:
if
(
iIsActive
!=
1
)
{
//Заспавнен
}
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

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

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

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

Сумма USDT:

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

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

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

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

×

Мои сделки

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

Сделка


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