pawlo

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

В теме 2 сообщения

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


 

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

 

https://youtu.be/_WpPAANnXHA


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

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

 


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

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

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

Автор: Я - PAWLO/vawylon


  • Добавил
  • Добавлено
    26.12.2020
  • Категория
  • Автор
    я/vawylon

 

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


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

Сама идея прикольная, плюсанул)

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

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

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

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

    • 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; } } Буду благодарен!