Форум

  • Страница 1 из 1
  • 1
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Автоматическая починка машины
Автоматическая починка машины
Этот урок посвящён автоматической починке.

Создаём таймер в public OnGameModeInit()
Код
SetTimer("AutoRepair", 1000, true);

,где 1000 - время в миллисекундах (1000 = 1 секунда).

В любое место:
Код
forward AutoRepair();
public AutoRepair()
{
  for(new playerid=0; playerid<MAX_PLAYERS; playerid++)
  {
      if (IsPlayerInAnyVehicle(playerid))
      {
    new Float:CarHP;
    GetVehicleHealth(GetPlayerVehicleID(playerid), CarHP);
             if (CarHP < 999)
             {
     RepairVehicle(GetPlayerVehicleID(playerid));
    }
   }
  }
  return 1;
}

,где:
if (IsPlayerInAnyVehicle(playerid)) - если игрок в машине.
GetVehicleHealth(GetPlayerVehicleID(playerid), CarHP); - записываем количество здоровья машины в переменную CarHP.
if (CarHP < 999) - если здоровья меньше чем 999 (Справка: полное >= 1000).
RepairVehicle(GetPlayerVehicleID(playerid)); - чиним машину.

Что у нас получилось?
Таймер, каждую секунду запускает public AutoRepair(), в котором идёт проверка на количество здоровья машины. Если уменьшилось, то происходит автоматическая починка.
03.04.2013 в 09:46
Отличный урок, но можно чуть оптимизировать код:

Код
forward AutoRepair();    
public AutoRepair()    
{    
     for(new playerid=0; playerid<MAX_PLAYERS; playerid++)    
     {    
         if (!IsPlayerInAnyVehicle(playerid)) return 1;    
         new Float:CarHP;    
         GetVehicleHealth(GetPlayerVehicleID(playerid), CarHP);    
         if (CarHP < 999) return RepairVehicle(GetPlayerVehicleID(playerid));     
     }    
     return 1;    
}
03.04.2013 в 19:59
Цитата (ZioHik)
оптимизировать код

Я полностью согласен, но исходя из личного опыта, новичкам сложно читать оптимизированный код (Сам таковым являлся). По моему мнению, более понятен код, для тех кто недавно в pawno, когда всё "разложено по полочкам". А оптимизация на второй план, т. к. цель уроков, это понять принцип кодинга.
03.04.2013 в 20:40
fenix05, согласен с вами, ваш код отлично подходит для новичков.
03.04.2013 в 23:04
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Автоматическая починка машины
  • Страница 1 из 1
  • 1
Поиск: