Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 34

Тема: [ scr ][ all ][ Анти Превышение заданной скорости ]

  1. #1
    [GM] Skill Training Mode Аватар для Gameyer
    Регистрация
    13.04.2010
    Адрес
    Россия
    Возраст
    28
    Сообщений
    2,296
    Репутация: 236

    Звание: - весьма и весьма положительная личность

    Сообщение [ scr ][ all ][ Анти Превышение заданной скорости ]

    Что мы делаем?
    Мы рассмотрим урок по созданию "анти превышения скорости" для вашего сервера.
    Этот вопрос часто подымался у людей, занимавшихся DM или RP модами.
    В чем это заключается?
    Это заключается в том, что когда игрок водит транспортное средство и превысит скорость, то его остановит с выдачей предупреждения, после несскольких предупреждений игрока выкинет из машины. Колличество предупреждений будет показано на экране.
    Как это сделать?
    Я покажу вам самый простой вариант, ну чтобы он был не совсем прост мы добавим варнинги (предупреждения).
    Преступим.
    PHP код:
    #define MAX_SPEED 100// Максимально допустимая скорсть (ещё можно создать переменной для изменения в процессе игры) 
    PHP код:
    new Warnings[MAX_PLAYERS];//Глобальная переменная, отвечающая за предупреждения 
    Если у вас есть повторяющейся таймер на 1 секунду, то следующий код надо вставить туда, если нет то в паблик OnGameModeInit()
    PHP код:
    SetTimer("UpdatePlayersSpeed",1000,true);//Создадим таймер на 1 секунду, работающий с повторением 
    Тут я тоже придумал 2 варианта.
    Содержание паблика:
    1 Вариант.
    PHP код:
    forward UpdatePlayersSpeed();
    public 
    UpdatePlayersSpeed()
    {
        new 
    Float:X,Float:Y,Float:Z,str[128];
        for(new 
    iGetMaxPlayers(); i++)
        {
            if(!
    IsPlayerConnected(i)) continue;
            if(
    IsPlayerInAnyVehicle(i) && GetVehicleSpeed(i) > MAX_SPEED)
            {
                if(
    Warnings[i] > 3)
                {
                    
    RemovePlayerFromVehicle(i);
                    
    Warnings[i] = 0;
                    
    SendClientMessage(i,0xF60000AA,"Вы набрали больше {FFFFFF}трех {F60000}предупреждений! Будеть добры покинуть машину!");
                }
                else
                {
                    
    Warnings[i]++;
                    
    format(str,sizeof(str),"Превышение скорости зафиксировано ({FFFFFF}%.1f km/h{F60000}). Ваша скорость сброшана!",GetVehicleSpeed(i));
                    
    SendClientMessage(i,0xF60000AA,str);
                    
    format(str,sizeof(str),"~r~Warning ~w~%d",Warnings[i]);
                    
    GameTextForPlayer(i,str,1500,1);
                    
    GetPlayerPos(i,X,Y,Z);
                    
    SetVehiclePos(GetPlayerVehicleID(i),X,Y,Z);
                }
            }
        }
        return 
    1;

    2 Вариант.
    PHP код:
    forward UpdatePlayersSpeed();
    public 
    UpdatePlayersSpeed()
    {
        new 
    Float:X,Float:Y,Float:Z,str[128];
        for(new 
    iGetMaxPlayers(); i++)
        {
            if(!
    IsPlayerConnected(i)) continue;
            if(
    IsPlayerInAnyVehicle(i) && GetVehicleSpeed(i) > MAX_SPEED)
            {
                if(
    Warnings[i] > 3)
                {
                    
    RemovePlayerFromVehicle(i);
                    
    Warnings[i] = 0;
                    
    SendClientMessage(i,0xF60000AA,"Вы набрали больше {FFFFFF}трех {F60000}предупреждений! Будеть добры покинуть машину!");
                }
                else
                {
                    
    Warnings[i]++;
                    
    format(str,sizeof(str),"Превышение скорости зафиксировано ({FFFFFF}%.1f km/h{F60000}). Ваша скорость сброшана!",GetVehicleSpeed(i));
                    
    SendClientMessage(i,0xF60000AA,str);
                    
    format(str,sizeof(str),"~r~Warning ~w~%d",Warnings[i]);
                    
    GameTextForPlayer(i,str,1500,1);
                    
    GetVehicleVelocity(GetPlayerVehicleID(i),X,Y,Z);
                    
    SetVehicleVelocity(GetPlayerVehicleID(i),X*0.1,Y*0.1,Z);//Снижаем скорость плавнее чем в 1 варианте.
                
    }
            }
        }
        return 
    1;

    Я придумал довольно простой способ, но он хорошо работает на деле, при привышении скорости.
    Думаю содержимао паблика всем будет понятно. Все функции очень известны и очень просты в применении.
    Тут есть нестандартная функция, получения скорости машины.
    PHP код:
    forward Float:GetVehicleSpeed(playerid);
    stock Float:GetVehicleSpeed(playerid)
    {
        new 
    Float:Pos[3];
        
    GetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0],Pos[1],Pos[2]);
        return 
    floatsqroot(Pos[0] * Pos[0] + Pos[1] * Pos[1] + Pos[2] * Pos[2]) * 140.0;

    Итак, вот и готова простая система анти превышения скорости, если будут какие-либо вопросы задавайте, я дам ответ.
    Людям должно пригодится, тем более такой вопрос был поднят ранее.

    Спасибо за внимание. =)
    Автор урока: Gameyer

    P.S. Все вопросы по теме писать в тему!
    Skill Training Mode v3.1 Download
    Download

    Skill Training Mode Offical Web Site
    www.samp-stm.ru

    Skill Training Mode Offical Forum
    www.samp-stm.do.am

  2. #2
    Активный пользователь Аватар для VARFIN
    Регистрация
    27.06.2010
    Адрес
    Гай
    Возраст
    35
    Сообщений
    1,190
    Репутация: 74

    Звание: скоро придёт к известности

    Re: [SCR][All][Анти Превышение заданной скорасти]

    Норм
    P.S
    [SCR][All][Анти Превышение заданной скорости]
    а не
    [SCR][All][Анти Превышение заданной скорасти]
    [SIGPIC][/SIGPIC]

    ███████████████████████████
    ███████████████████████████
    ███████████████████████████
    ███████████████████████████
    ███████████████████████████
    ███████████████████████████

    Не может управлять другими тот, кто не в состоянии справиться с самим собой.
    © Жан де Лабрюйер

  3. #3
    Активный пользователь
    Регистрация
    30.04.2011
    Сообщений
    802
    Репутация: 87

    Звание: скоро придёт к известности

    Re: [SCR][All][Анти Превышение заданной скорости]

    Отлично, буду писать мод поставлю только чуть изменю

  4. #4
    [GM] Skill Training Mode Аватар для Gameyer
    Регистрация
    13.04.2010
    Адрес
    Россия
    Возраст
    28
    Сообщений
    2,296
    Репутация: 236

    Звание: - весьма и весьма положительная личность

    Re: [SCR][All][Анти Превышение заданной скорасти]

    Цитата Сообщение от VARFIN Посмотреть сообщение
    Норм
    P.S
    [SCR][All][Анти Превышение заданной скорости]
    а не
    [SCR][All][Анти Превышение заданной скорасти]
    Подправил
    Skill Training Mode v3.1 Download
    Download

    Skill Training Mode Offical Web Site
    www.samp-stm.ru

    Skill Training Mode Offical Forum
    www.samp-stm.do.am

  5. #5
    OFFLine Аватар для Mr.Brooks
    Регистрация
    17.02.2011
    Адрес
    Казахстан, г.Алматы
    Возраст
    29
    Сообщений
    2,532
    Репутация: 130

    Звание: скоро придёт к известности

    Re: [SCR][All][Анти Превышение заданной скорости]

    о классно похож на античит JB , только я за место выкидывания бан поставил xD лови +
    черт что то не могу дать +


    Ушёл из Pawn , всем удачи!

  6. #6
    Пользователь Аватар для diGriz
    Регистрация
    12.05.2011
    Адрес
    Украина
    Сообщений
    44
    Репутация: 9

    Звание: пока не определено

    Re: [SCR][All][Анти Превышение заданной скорости]

    Более эффективно отслеживать ускорение

  7. #7
    [GM] Skill Training Mode Аватар для Gameyer
    Регистрация
    13.04.2010
    Адрес
    Россия
    Возраст
    28
    Сообщений
    2,296
    Репутация: 236

    Звание: - весьма и весьма положительная личность

    Re: [SCR][All][Анти Превышение заданной скорости]

    Я прислушаюсь, спасибо
    Skill Training Mode v3.1 Download
    Download

    Skill Training Mode Offical Web Site
    www.samp-stm.ru

    Skill Training Mode Offical Forum
    www.samp-stm.do.am

  8. #8
    Everybody sometimes love Аватар для Folk
    Регистрация
    28.05.2010
    Адрес
    Омск
    Сообщений
    1,328
    Репутация: 144

    Звание: скоро придёт к известности

    Re: [SCR][All][Анти Превышение заданной скорости]

    Gameyer, подружился с Готовыми решениями?
    ...

  9. #9
    [GM] Skill Training Mode Аватар для Gameyer
    Регистрация
    13.04.2010
    Адрес
    Россия
    Возраст
    28
    Сообщений
    2,296
    Репутация: 236

    Звание: - весьма и весьма положительная личность

    Re: [SCR][All][Анти Превышение заданной скорости]

    ахаха есть такое дело) есть ещё пару идей что сделать
    Skill Training Mode v3.1 Download
    Download

    Skill Training Mode Offical Web Site
    www.samp-stm.ru

    Skill Training Mode Offical Forum
    www.samp-stm.do.am

  10. #10
    [GM] Skill Training Mode Аватар для Gameyer
    Регистрация
    13.04.2010
    Адрес
    Россия
    Возраст
    28
    Сообщений
    2,296
    Репутация: 236

    Звание: - весьма и весьма положительная личность

    Re: [SCR][All][Анти Превышение заданной скорости]

    Поднимаю темку, кто не видел.
    Skill Training Mode v3.1 Download
    Download

    Skill Training Mode Offical Web Site
    www.samp-stm.ru

    Skill Training Mode Offical Forum
    www.samp-stm.do.am

Страница 1 из 4 123 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •