[Урок] Как Запретить Ездить На Крыше Транспорта - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Phoenixxx_Czar, Getbackthere, [CM]OlegEhtler  
[Урок] Как Запретить Ездить На Крыше Транспорта
[CM]Jaxson Дата: Среда, 15.08.2012, 09:21 | Сообщение # 1
٩(̾●̮̮̃̾•̃̾)۶
Сообщений: 801
Статус: Offline
Ко всем Forward добавим:
Code
forward NoRoof(playerid);
forward anim2(playerid);

В public OnPlayerUpdate(playerid) добавим:
Code
NoRoof(playerid);

Далее создадим функцию NoRoof, естественно вне пабликов(можно в конец мода):
Code
public NoRoof(playerid)
{
      new carid = GetPlayerSurfingVehicleID(playerid); // получаем ID авто на котором игрок
      if(carid != INVALID_VEHICLE_ID ) // если ID правильный(тоесть игрок на авто)
      {
          new Float:speed = GetVehicleSpeed(carid); // получаем скорость авто
          new cm=GetVehicleModel(carid); // получаем модель авто
          switch(cm)
          {
              case 430,446,452,453,454,472,473,484,493,595:{return 1;} // если это лодка, скидывать ненадо
              default:{}
          }
          if(speed > 30) // Если скорость больше 30км
          {
              new Float:slx, Float:sly, Float:slz;
              GetPlayerPos(playerid, slx, sly, slz);
              SetPlayerPos(playerid, slx, sly, slz+2.5); // Немного подкинем игрока чтобы он не остался на авто
              ApplyAnimation(playerid, "ped", "BIKE_fallR", 4.0, 0, 1, 0, 0, 0,0); // Применим анимацию падения
              new Float:hp;
              GetPlayerHealth(playerid, hp);
              SetPlayerHealth(playerid, hp-15); // Отнимем 15HP
              SetTimerEx("anim2", 1100, 0, "d", playerid); // Поставим на таймер анимацию чтобы игрок нормально встал
          }
      }
      return 1;
}

Дальше надо показать вторую анимку, создать её так же надо через паблик, так как функция SetTimerEx этого требует:
Code
public anim2(playerid)
{
          ApplyAnimation(playerid, "ped", "getup", 4.0, 0, 1, 0, 0, 0,0);
          return 1;
}

И в конце мода вставим функцию получения скорости авто:
Code
stock GetVehicleSpeed(vehicleid)
{
      new Float:Px,Float:Py,Float:Pz;
      GetVehicleVelocity(vehicleid,Px,Py,Pz);
      return floatround(floatsqroot(Px*Px+Py*Py+Pz*Pz) * 100.0);
}

Кто протестировал отпешите.
Работает 100%



[ Skype ] [ Профиль ] [ Mods Pack ] [ VK ] [ Геймеры ]
Помогаю новичкам, по всем вопросом комне в Skype/VK. VK ВЗЛОМАН, НЕ РАБОТАЙТЕ СОМНОЙ. МНЕ ВСЁ ВЗЛОМАЛИ СКАЙП И ВК. СКАЙП ВОССТОНОВИЛ.


Сообщение отредактировал [CM]Jaxson - Среда, 15.08.2012, 09:21
maxu555 Дата: Суббота, 25.08.2012, 11:04 | Сообщение # 2
Любитель
Сообщений: 42
Статус: Offline
Спасибо работает!
Эльдар Дата: Воскресенье, 26.08.2012, 00:02 | Сообщение # 3
Советник
Сообщений: 672
Статус: Offline
Урок хороший,только вместо анимации я бы ставил ClearAnimation

Продам инвайт в DOTA 2 - skype:e.l119

  • Страница 1 из 1
  • 1
Поиск: