Новогоднее мероприятие 1.0.0

   (0 отзывов)

2 изображения

 

Новогоднее мероприятие для вашего сервера добавит развлечение для каждого игрока.
История:
В городе Лос-Сантос мэрия города украла из городского бюджета средства предназначенные для украшений новогодней ёлки.
Об этом узнал председатель исполнительного комитета Виталий Наливкин и первым же рейсом из Уссурийска отправился спасать праздник города.
С собой он взял напарника и 192 ёлочных игрушек.
Заехать на старом грузовике на горку у него не получилось, поэтому он остановился возле мэрии и ему нужна помощь каждого жителя города, что бы донести игрушки до крана, который поднимет и закрепит игрушки на ёлку.
После того, как последняя игрушка будет закреплена на ёлке, председатель исполнительного комитета Виталий Наливкин объявит о десяти минутной готовности о снесении крана.
Вскоре, он и его напарник отправится к крану со скорой помощью, танком и экипажем LSPD.
Через десять минут кран начнёт взрываться, а после упадёт.

 

https://youtu.be/_WpPAANnXHA


На видео таймеры ускорены!

Цель:
Данное мероприятие написано мною и цель этого FS была научиться передвигать массивы объектов. Стоит заметить у меня получилось ( обратите внимание на трос крана ).
Так же хотел отточить навыки создания трёх мерных массивов объектов.

 


Так же переосмыслить SetPlayerCameraPos, SetPlayerCameraLookA вот в чём дело.
допустим, Вы хотите переместить камеру от точки А до точки Б и конечно же проблем не должно возникнуть.
А как на счёт того, что бы переместить по нескольким десяткам точек?
Вот тут и возникают загвоздки. Дело в том, что камера двигается с определённой скоростью и расстояние от точек может быть разной, по этому скорость полёта камеры будет изменяться.
Что я сделал?
Я взял расстояние от текущей позиции камеры до точки куда она будет лететь, разделил на скорость. у меня получилось время зависимое от расстояния, тем самым нормализует скорость камеры и она летит более плавно, но с остановками (тут уже наши полномочия как бы всё. Это уже к Калкору). Если детально будите изучать код, то вы поймете (не точно)

Предупреждаю сразу!
В скрипте возможны опечатки.

У вас баги?
Хотите что то добавить?
Хотите  воплотить мечту в реальность?
Пишите в телеграмм @vawylon

Автор: Я - PAWLO/vawylon


 Пожаловаться



Еще файлы pawlo


Обратная связь

  • Похожий контент

    • gooding
      От gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
      Основа данного мода: Cruela RP
       
       

    • gooding
      От gooding


      Скачать файл PAR RP | Доработанный мод Cruela RP | Без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
      Основа данного мода: Cruela RP
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)  
    • bogdan@gmail
      От bogdan@gmail
       
      Ищю человека который исправит ошибки готов заплатит
    • Evil_Trekinov
      От Evil_Trekinov
      Удаление "/gamemodes/arizona.amx"
      Команда:    DELE arizona.amx
      Ответ:    550 Could not delete arizona.amx: Permission denied 
      Удаление "/gamemodes/arizona.pwn"
      Команда:    DELE arizona.pwn
      Ответ:    550 Could not delete arizona.pwn: Permission denied 
      Хочу заменить на свой мод который делали я и мои помощники а тут такая ошибка я не могу удалить предыдущий мод
    • dragytop
      От dragytop
      Здравствуйте, тут система у меня есть дрифта она почему-то работает только если на лево дрифтить на право как будто даже системы нету
       
      Вот сама система:
      public OnPlayerUpdate(playerid) // ниже if (!IsPlayerInAnyVehicle(playerid)) return 1; new vehicleid = GetPlayerVehicleID(playerid); new Float:vx, Float:vy, Float:vz, Float:speed, Float:angle, Float:movementAngle, Float:driftAngle; if (GetTickCount() - lastUpdateTime[playerid] < 1000) return 1; lastUpdateTime[playerid] = GetTickCount(); GetVehicleVelocity(vehicleid, vx, vy, vz); speed = floatsqroot(vx * vx + vy * vy) * 180.0; GetVehicleZAngle(vehicleid, angle); movementAngle = atan2(vy, vx); driftAngle = floatabs(angle - movementAngle); if (driftAngle > 180.0) driftAngle = 360.0 - driftAngle; if (speed > 30.0 && driftAngle > 25.0 && driftAngle < 85.0) { new driftPoints = random(101) + 50; DriftScore[playerid] += driftPoints; new text[64]; format(text, sizeof(text), "~w~DRIFT: ~g~%d", DriftScore[playerid]); GameTextForPlayer(playerid, text, 3000, 3); KillTimer(DriftTimer[playerid]); DriftTimer[playerid] = SetTimerEx("EndDrift", 3000, false, "d", playerid); } else { if (DriftScore[playerid] > 0 && DriftTimer[playerid] == 0) { DriftTimer[playerid] = SetTimerEx("EndDrift", 3000, false, "d", playerid); } } return 1; } new DriftScore[MAX_PLAYERS]; // DRIFT SYSTEM //"дрифт очки (ИВ)" new DriftTimer[MAX_PLAYERS]; // DRIFT SYSTEM //"время дрифта" new lastUpdateTime[MAX_PLAYERS]; // DRIFT SYSTEM //"обновление дрифта" forward EndDrift(playerid); public EndDrift(playerid) { if (DriftScore[playerid] > 0) { new money = DriftScore[playerid]; PI[playerid][pCash] += money; GameTextForPlayer(playerid, "", 500, 3); new text[64]; format(text, sizeof(text), "~w~MONEY: ~g~+%d$", money); GameTextForPlayer(playerid, text, 2000, 3); DriftScore[playerid] = 0; DriftTimer[playerid] = 0; } } Буду благодарен!