Перейти к содержанию
Авторизация  
XuPypg

Ограничитель скорости

Рекомендуемые сообщения

XuPypg

Всем привет!

Вот выкладываю урок по созданию ограничителя скорости

И так мы начинаем

 

В начало мода добавляем

#define MAX_SPEEDO 0.6 // Максимально допустимая скорость.
#define SLOW_FACTOR 0.9 // На сколько будет сбавляться скорость при превышении порога.
forward Timer();
new Limiter[MAX_PLAYERS];
new limtimer;
В public OnPlayerConnect добавляем

Limiter[playerid] = 0;
В public OnPlayerCommandText добавляем

if (strcmp("/limiter", cmdtext, true) == 0)
                            {
                          for(new i=0;i<MAX_PLAYERS;i++)
                         {
                          if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                         {
                         if(Limiter[playerid] == 0)
                          {
                         SendClientMessage(playerid,0xAA3333AA,"Ограничитель скорости включен.");
                         SendClientMessage(playerid,0xAA3333AA,"Что бы выключить используйте /offlimiter.");
                         limtimer = SetTimer("Timer",1000,1);
                         Limiter[playerid] = 1;
                          }
                          else
                          {
                          SendClientMessage(playerid ,COL OR_G REY, "Огр анич ител ь скорости уже включен.");
                           }
                         return 1;
                         }
                         SendClientMessage(playerid, COLOR_GRAD2, "  Вы не в машине!");
                         return 1;
                         }
                         }
                         if (strcmp("/offlimiter", cmdtext, true) == 0)
                           {
                           if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                         {
                         if(Limiter[playerid] == 1)
                          {
                         KillTimer(limtimer);
                           SendClientMessage(playerid,0xAA3333AA,"Ограничитель скорости выключен.");
                           Limiter[playerid] = 0;
                         return 1;
                         }
                         else
                         {
                         SendClientMessage(playerid,COL OR_G REY, "Огр анич ител ь скорости не включен.");
                         return 1;
                          }
                           }
                           SendClientMessage(playerid, COLOR_GRAD2, "Вы не в машине!");
                           return 1;
                           }
В public OnPlayerStateChange добавляем

if(newstate == PLAYER_STATE_ONFOOT)
                         {
Ниже добавляем

KillTimer(limtimer);
Limiter[playerid] = 0;
Создаем новый паблик в конец мода

public Timer()
{
                          new Float:x,Float:y,Float:z,veh;
                          for(new i; i<MAX_PLAYERS; i++)
                          {
                          veh=GetPlayerVehicleID(i);
                          GetVehicleVelocity(veh,x,y,z);
                          if((x > MAX_SPEEDO || x < -MAX_SPEEDO) || (y > MAX_SPEEDO || y < -MAX_SPEEDO))
                          {
                          SetVehicleVelocity(veh,x*SLOW_FACTOR,y*SLOW_FACTOR,z);
                          }
                          }
}
На этом наш урок закончен

Всем спасибо за внимание

Автор урока: KaspeR

Ставим плюсиГ

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Dragon777

спасибочки... плюсег будет))) удачи вам автор)))Изображение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.