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

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

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

как полностью выгрузить плагин с помощью pfree

Есть дочерний поток. После того как он закончил свою работу. Я хочу его выгрузить плагин. Но загрузить не могу потому что плагин еще использует gta_sa

C++:





Код:
void
ThreadEmulPressAlt
(
)
{
static
BitStream bsOnfootSync
;
static
stOnFootData ofSync
;
while
(
state
)
{
if
(
!
IsDriving
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
)
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
curTimeOut
)
)
;
memset
(
&
ofSync
,
0
,
sizeof
(
stOnFootData
)
)
;
ofSync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
1
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
0
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
g_mutex
.
lock
(
)
;
paramsCurSession
.
speeds
.
speedSend
++
;
g_mutex
.
unlock
(
)
;
}
}
}


Вызов

C++:





Код:
thd
=
new
std
::
thread
(
ThreadEmulPressAlt
)
;
 
Ответить с цитированием

  #2  
Старый 11.11.2018, 05:49
ЯedЯuM
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами: 5351007

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

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

как полностью выгрузить плагин с помощью pfree

Есть дочерний поток. После того как он закончил свою работу. Я хочу его выгрузить плагин. Но загрузить не могу потому что плагин еще использует gta_sa

C++:





Код:
void
ThreadEmulPressAlt
(
)
{
static
BitStream bsOnfootSync
;
static
stOnFootData ofSync
;
while
(
state
)
{
if
(
!
IsDriving
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
)
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
curTimeOut
)
)
;
memset
(
&
ofSync
,
0
,
sizeof
(
stOnFootData
)
)
;
ofSync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
1
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
0
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
g_mutex
.
lock
(
)
;
paramsCurSession
.
speeds
.
speedSend
++
;
g_mutex
.
unlock
(
)
;
}
}
}


Вызов

C++:





Код:
thd
=
new
std
::
thread
(
ThreadEmulPressAlt
)
;

ExitThread в потоке юзай
 
Ответить с цитированием

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

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

Цитата:
Сообщение от Rzeźnik  

ExitThread в потоке юзай
не работает

C++:





Код:
void
ThreadEmulPressAlt
(
)
{
static
BitStream bsOnfootSync
;
static
stOnFootData ofSync
;
while
(
paramsCurSession
.
state
)
{
if
(
!
IsDriving
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
)
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
paramsCurSession
.
curTimeOut
)
)
;
memset
(
&
ofSync
,
0
,
sizeof
(
stOnFootData
)
)
;
ofSync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
1
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
0
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
g_mutex
.
lock
(
)
;
paramsCurSession
.
speeds
.
speedSend
++
;
g_mutex
.
unlock
(
)
;
}
}
ExitThread
(
0
)
;
}
 
Ответить с цитированием

  #4  
Старый 12.11.2018, 17:26
Revalto
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами: 5392682

Репутация: 93


По умолчанию

Gradient function:

Код:





Код:
void RenderWindowBackground(int x, int y, int size_x, int size_y, int alpha)
    {
        D3DCOLOR first_color = D3DCOLOR_ARGB(ini.color.bgnd_first.alpha, ini.color.bgnd_first.red, ini.color.bgnd_first.green, ini.color.bgnd_first.blue);
        D3DCOLOR second_color = D3DCOLOR_ARGB(ini.color.bgnd_second.alpha, ini.color.bgnd_second.red, ini.color.bgnd_second.green, ini.color.bgnd_second.blue);
        if (alpha) {
            first_color = D3DCOLOR_ARGB(alpha, ini.color.bgnd_first.red, ini.color.bgnd_first.green, ini.color.bgnd_first.blue);
            second_color = D3DCOLOR_ARGB(alpha, ini.color.bgnd_second.red, ini.color.bgnd_second.green, ini.color.bgnd_second.blue);
        }
        pD3DHook->pRender->D3DGradient(x, y, size_x, size_y, first_color, second_color);
    }


Use:

Код:





Код:
ImGui::RenderWindowBackground(ImGui::GetWindowPos().x, ImGui::GetWindowPos().y, ImGui::GetWindowSize().x, ImGui::GetWindowSize().y);
 
Ответить с цитированием

  #5  
Старый 12.11.2018, 17:41
JakeBat
Новичок
Регистрация: 31.07.2013
Сообщений: 12
С нами: 6727803

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

Господа, вылетает иногда GTA при Shift+0 , я так понял нужно дополнительное обнуление каких-либо данных, кто-то же все-таки сталкивался с данной проблемой, Как поправить?
 
Ответить с цитированием

  #6  
Старый 12.11.2018, 18:39
ЯedЯuM
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами: 5351007

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

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

Господа, вылетает иногда GTA при Shift+0 , я так понял нужно дополнительное обнуление каких-либо данных, кто-то же все-таки сталкивался с данной проблемой, Как поправить?
Для начала дать нам свой говнокод на анализ
 
Ответить с цитированием

  #7  
Старый 12.11.2018, 18:41
JakeBat
Новичок
Регистрация: 31.07.2013
Сообщений: 12
С нами: 6727803

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

От FYP собейт для 0.3.7 на некоторых все в порядке, на некоторых нет, возможно дело обстоит с повторным удалением уже удаленных объектов? Как думаете?

Цитата:
Сообщение от Rzeźnik  

Для начала дать нам свой говнокод на анализ
 
Ответить с цитированием

  #8  
Старый 12.11.2018, 19:00
ЯedЯuM
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами: 5351007

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

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

От FYP собейт для 0.3.7 на некоторых все в порядке, на некоторых нет, возможно дело обстоит с повторным удалением уже удаленных объектов? Как думаете?
Ты туго догоняешь я не пойму? Давай свой код а там и посмотрим, я не слышал чтобы на бх заходили победители битвы экстрасенсов.
 
Ответить с цитированием

  #9  
Старый 12.11.2018, 19:14
JakeBat
Новичок
Регистрация: 31.07.2013
Сообщений: 12
С нами: 6727803

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

////

#define SAMP_FUNC_RESTARTGAME 0xA060

/////

if (KEYCOMBO_PRESSED(set.key_rejoin))

{

disconnect(0);

restartGame();

cheat_state_text("Реконнект через %d секунд...", set.rejoin_delay / 1000);

cheat_state->_generic.rejoinTick = GetTickCount();

}

/////////////////////////

void restartGame()

{

if (g_SAMP == NULL)

return;

((void(__thiscall *) (void *)) (g_dwSAMP_Addr + SAMP_FUNC_RESTARTGAME)) (g_SAMP);

}

//////////

uint32_t samp_dll = getSampAddress();

g_dwSAMP_Addr = (uint32_t) samp_dll;

uint32_t getSampAddress()

{

if (set.run_mode == RUNMODE_SINGLEPLAYER)

return 0x0;

uint32_t samp_dll;

if (set.run_mode == RUNMODE_SAMP)

{

if (set.wine_compatibility)

{

samp_dll = (uint32_t) LoadLibrary(SAMP_DLL);

}

else

{

samp_dll = (uint32_t) dll_baseptr_get(SAMP_DLL);

}

}

return samp_dll;

}

////////

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

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

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

how to convert this ?

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





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


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




ANTICHAT ™ © 2001- Antichat Kft.