Доступ к готовым решениям

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

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

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

Функция Заморозка игрока в зависимости от пинга.

ENGINEER

Ученик
Доброго.
Думаю многие сталкивались с проблемой когда при спавне игрок проваливался сквозь пол, из за того что не прогрузились объекты. Можно сделать обычный фриз, но не всем игрокам с хорошим интернетом нравится ждать 2 -3 секунды когда все сразу прогружается.
Дак вот собственно:

PHP:
forward pFreez( playerid );
public pFreez( playerid )
{
    if(!IsPlayerConnected(playerid)) return 1;
    new plpin = GetPlayerPing(playerid), pinEx;
    switch ( plpin )
    {
        case 1..100: pinEx = 1000;
        case 101..200: pinEx = 2000;
        case 201..300: pinEx = 3000;
        //
        default: pinEx = 4000;
    }
    SetTimerEx( "unFrez", pinEx, false, "d", playerid );
    //printf("time: %d", pinEx);
    return TogglePlayerControllable( playerid, false );
}

forward unFrez( playerid );
public unFrez( playerid )
{
    ClearAnimations( playerid );
    return TogglePlayerControllable( playerid, true );
}
Использование:

PHP:
public OnPlayerSpawn(playerid)
{
    pFreez( playerid );
    return 1;
}
Я.

Можно сделать в одну строку. Но думаю так будет лучше.
 
Сверху Снизу