PDA

Просмотр полной версии : [Вопрос] Убрать баг GTA



DmX
16.12.2016, 16:28
Есть баг скольжение
https://www.youtube.com/watch?v=mCvBYBiloDk

Как от него можно избавиться ? Видел на одном сервере GalaxY его пофиксили. Я понимаю что по кнопкам его убрали, но может кто сделал уже до меня? И поделится своим кодом )

qwezert
16.12.2016, 16:54
Разберись как работает этот баг - и тогда поймешь что нужно проверять и делать что бы баг убрать.

vovandolg
16.12.2016, 22:42
Я знал как он работает, но я для интересу открыл видос глянуть что там, и вижу что чел который снял это описал его работу, что не понятного по тому как он работает?
Прицеливание + ствол в руке + приседания кнопка, можно же как то сбросить анимацию или убрать ствол из рук тогда и скользить не будет...

DmX
16.12.2016, 23:55
#include <a_samp>
// Antislide by O.K.Style™
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(GetPVarInt(playerid, "Slide") == 1 && newkeys & KEY_SPRINT && newkeys & KEY_HANDBRAKE)
ApplyAnimation(playerid, "PED", "getup_front", 4.0, 0, 0, 1, 0, 0);
return 1;
}
public OnPlayerUpdate(playerid)
{
new Keys, ud, lr;
GetPlayerKeys(playerid, Keys, ud, lr);
if(ud < 0) SetPVarInt(playerid, "Slide", 1);
else SetPVarInt(playerid, "Slide", 0);
return 1;
}

Нашел в просторах интернета

PawnoNoob
18.12.2016, 13:35
#include <a_samp>
// Antislide by O.K.Style™
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(GetPVarInt(playerid, "Slide") == 1 && newkeys & KEY_SPRINT && newkeys & KEY_HANDBRAKE)
ApplyAnimation(playerid, "PED", "getup_front", 4.0, 0, 0, 1, 0, 0);
return 1;
}
public OnPlayerUpdate(playerid)
{
new Keys, ud, lr;
GetPlayerKeys(playerid, Keys, ud, lr);
if(ud < 0) SetPVarInt(playerid, "Slide", 1);
else SetPVarInt(playerid, "Slide", 0);
return 1;
}

Нашел в просторах интернета

Работает через раз, если честно. Легко обойти эту "защиту" :blush2:

vovandolg
22.12.2016, 04:17
Работает через раз, если честно. Легко обойти эту "защиту" :blush2:

Потому что в том коде OnPlayerKeyStateChange легко запутать множественными зажатиями,
нужно этим макросом проверять нажатия и будет норм:


#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))



Я нашёл причину почему он работает криво, код писал ярый фанат форума

// Antislide by O.K.Style™