Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Anti bunny hop

Статус
В этой теме нельзя размещать новые ответы.

rasum

Ученик
под #DEFINE в начале мода вставляем:

PHP:
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
new antibunnyhopcount[MAX_PLAYERS];
под всеми forward:
PHP:
forward ResetAntiBunnyhopCount();
перед любым public или просто в конце мода:
PHP:
public ResetAntiBunnyhopCount()
{
        for(new i=0; i<MAX_PLAYERS; i++)
        {
                antibunnyhopcount[i] = 0;
        }
}
в OnGameModeInit:
PHP:
 SetTimer("ResetAntiBunnyhopCount", 10000, true); //10000 - 10 секунд, значит каждые 10 секунд счётчик антибаннихопа будет обнуляться и снова можно будет прыгать
в OnPlayerKeyStateChange:

PHP:
if(PRESSED(KEY_JUMP | KEY_SPRINT) && (GetPlayerState(playerid) != 2))  
{
        if(antibunnyhopcount[playerid] >= 2) // количество разрешённых прыжков в заданный таймером промежуток времени, можете изменить с 2 на своё значение
        {
                ClearAnimations(playerid); 
                SendClientMessage(playerid, 0xFFFFFFFF, "На этом сервере низя юзать баннихоп! админ за это побьёт тебя!");
        }
        antibunnyhopcount[playerid] = antibunnyhopcount[playerid] + 1;
}
если не работает - пишите, поправлю.

в павно уже очень и очень давно не кодил, это написал не тестив и даже не проверяя правильность, от балды, но вродь должно пахать.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу