Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: [MZ] Скрипт системы выносливости

[MZ] Скрипт системы выносливости 7 мес. 2 нед. назад #130027

  • Alexandr_7
  • Alexandr_7 аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1196
  • Спасибо получено: 543
  • Проект месяца 2 местоПроект месяца 3 местоПроект месяца 1 местоВетеранУчительПроект года 3 место
Здравствуйте. Вот написал для своей игры скрипт на выносливость с уставанием игрока.
◆Если:Скрипт:$gamePlayer.isMoving()
  ◆Если:Скрипт:$gamePlayer.isDashing()
    ◆Общее событие:Get Player MP
    ◆Изменить MP:{ch_names.Ashley}, - 7
    ◆Если:[Sys] Player MP > 0
      ◆Общее событие:Get Player MP
      ◆Скрипт:var ProgBarMP = $AL7GlobalData.GetData(0).MP;
      :      :var dur = 15;
      :      :$gameScreen.movePicture(4,0,ProgBarMP.x,ProgBarMP.y,$gameVariables.value(12),100,255,0,dur);
      ◆Команда плагина:VisuMZ_1_MessageCore, Picture: Refresh Text
      ◆Ждать:15 кадры(ов)
      ◆
    :Иначе
      ◆Общее событие:Get Player MP
      ◆Скрипт:var ProgBarMP = $AL7GlobalData.GetData(0).MP;
      :      :var dur = 15;
      :      :$gameScreen.movePicture(4,0,ProgBarMP.x,ProgBarMP.y,$gameVariables.value(12),100,255,0,dur);
      ◆Команда плагина:VisuMZ_1_MessageCore, Picture: Refresh Text
      ◆Команда плагина:YEP_DashToggle_MZ, Запретить / Разраешить быстрый бег
      :               :Запретить Быстрый бег = true
      ◆Если:[Sys] VR Zoom > [Sys] Min VR Zoom
        ◆Ждать:1 кадр
        ◆Переменная:#0001 [Sys] VR Zoom -= 4
        ◆
      :Иначе
        ◆Переменная:#0001 [Sys] VR Zoom = [Sys] Min VR Zoom
        ◆Завершить выполнение
        ◆
      :Конец
      ◆
    :Конец
    ◆
  :Иначе
    ◆Завершить выполнение
    ◆
  :Конец
  ◆
:Иначе
  ◆Если:Скрипт:$gamePlayer.isMoving()
    ◆Завершить выполнение
    ◆
  :Иначе
    ◆Общее событие:Get Player MP
    ◆Изменить MP:{ch_names.Ashley}, + 5
    ◆Если:[Sys] Player MP < [Sys] Player MMP
      ◆Общее событие:Get Player MP
      ◆Скрипт:var ProgBarMP = $AL7GlobalData.GetData(0).MP;
      :      :var dur = 15;
      :      :$gameScreen.movePicture(4,0,ProgBarMP.x,ProgBarMP.y,$gameVariables.value(12),100,255,0,dur);
      ◆Команда плагина:VisuMZ_1_MessageCore, Picture: Refresh Text
      ◆Ждать:15 кадры(ов)
      ◆
    :Иначе
      ◆Команда плагина:YEP_DashToggle_MZ, Запретить / Разраешить быстрый бег
      :               :Запретить Быстрый бег = false
      ◆Общее событие:Get Player MP
      ◆Скрипт:var ProgBarMP = $AL7GlobalData.GetData(0).MP;
      :      :var dur = 15;
      :      :$gameScreen.movePicture(4,0,ProgBarMP.x,ProgBarMP.y,$gameVariables.value(12),100,255,0,dur);
      ◆Команда плагина:VisuMZ_1_MessageCore, Picture: Refresh Text
      ◆Если:[Sys] VR Zoom < [Sys] Max VR Zoom
        ◆Переменная:#0001 [Sys] VR Zoom += 4
        ◆Ждать:1 кадр
        ◆
      :Иначе
        ◆Переменная:#0001 [Sys] VR Zoom = [Sys] Max VR Zoom
        ◆Завершить выполнение
        ◆
      :Конец
      ◆
    :Конец
    ◆
  :Конец
  ◆
:Конец
Плагин на отключения и включения быстрого бега янфлайский. В целом всё работает но шкала выносливости начинает заполняться как только закончилась. Тоесть такое чувство что скрипт $gamePlayer.isMoving() возращает истину именно при быстром беге. А мне необходим скрипт проверки двигается ли персонаж или стоит.

Похоже просто необновились скрипты в сейве. Но в любом случае работает не так как хотелось бы. Нужно иначе построить скрипт. Сначала необходимо уменьшать мп до 0 потом уменьшать видимость а если стоит то увеличивать мп и как только мп востановиться то увеличивать видимость до максимума.
Мой вк: vk.com/borisov_alexandr_5
Мой ютуб канал: www.youtube.com/@alexandr_5836
Мой бусти: boosty.to/alexandr-7
Последнее редактирование: 7 мес. 2 нед. назад от Alexandr_7.
Администратор запретил публиковать записи гостям.

[MZ] Скрипт системы выносливости 7 мес. 2 нед. назад #130031

  • Alexandr_7
  • Alexandr_7 аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1196
  • Спасибо получено: 543
  • Проект месяца 2 местоПроект месяца 3 местоПроект месяца 1 местоВетеранУчительПроект года 3 место
◆Если:Скрипт:$gamePlayer.isMoving()
  ◆Если:Скрипт:$gamePlayer.isDashing()
    ◆Общее событие:Get Player MP
    ◆Изменить MP:{ch_names.Ashley}, - 7
    ◆Если:[Sys] Player MP > 0
      ◆Общее событие:Get Player MP
      ◆Скрипт:var ProgBarMP = $AL7GlobalData.GetData(0).MP;
      :      :var dur = 15;
      :      :$gameScreen.movePicture(4,0,ProgBarMP.x,ProgBarMP.y,$gameVariables.value(12),100,255,0,dur);
      ◆Команда плагина:VisuMZ_1_MessageCore, Picture: Refresh Text
      ◆Ждать:15 кадры(ов)
      ◆
    :Иначе
      ◆Общее событие:Get Player MP
      ◆Скрипт:var ProgBarMP = $AL7GlobalData.GetData(0).MP;
      :      :var dur = 15;
      :      :$gameScreen.movePicture(4,0,ProgBarMP.x,ProgBarMP.y,$gameVariables.value(12),100,255,0,dur);
      ◆Команда плагина:VisuMZ_1_MessageCore, Picture: Refresh Text
      ◆Команда плагина:YEP_DashToggle_MZ, Запретить / Разраешить быстрый бег
      :               :Запретить Быстрый бег = true
      ◆Цикл
        ◆Если:[Sys] VR Zoom > [Sys] Min VR Zoom
          ◆Переменная:#0001 [Sys] VR Zoom -= 4
          ◆Ждать:1 кадр
          ◆
        :Иначе
          ◆Переменная:#0001 [Sys] VR Zoom = [Sys] Min VR Zoom
          ◆Прервать цикл
          ◆Завершить выполнение
          ◆
        :Конец
        ◆
      :Повторить цикл
      ◆
    :Конец
    ◆
  :Иначе
    ◆Завершить выполнение
    ◆
  :Конец
  ◆
:Иначе
  ◆Общее событие:Get Player MP
  ◆Изменить MP:{ch_names.Ashley}, + 5
  ◆Если:[Sys] Player MP < [Sys] Player MMP
    ◆Общее событие:Get Player MP
    ◆Скрипт:var ProgBarMP = $AL7GlobalData.GetData(0).MP;
    :      :var dur = 15;
    :      :$gameScreen.movePicture(4,0,ProgBarMP.x,ProgBarMP.y,$gameVariables.value(12),100,255,0,dur);
    ◆Команда плагина:VisuMZ_1_MessageCore, Picture: Refresh Text
    ◆Ждать:15 кадры(ов)
    ◆
  :Иначе
    ◆Команда плагина:YEP_DashToggle_MZ, Запретить / Разраешить быстрый бег
    :               :Запретить Быстрый бег = false
    ◆Общее событие:Get Player MP
    ◆Скрипт:var ProgBarMP = $AL7GlobalData.GetData(0).MP;
    :      :var dur = 15;
    :      :$gameScreen.movePicture(4,0,ProgBarMP.x,ProgBarMP.y,$gameVariables.value(12),100,255,0,dur);
    ◆Команда плагина:VisuMZ_1_MessageCore, Picture: Refresh Text
    ◆Цикл
      ◆Если:[Sys] VR Zoom < [Sys] Max VR Zoom
        ◆Переменная:#0001 [Sys] VR Zoom += 4
        ◆Ждать:1 кадр
        ◆
      :Иначе
        ◆Переменная:#0001 [Sys] VR Zoom = [Sys] Max VR Zoom
        ◆Прервать цикл
        ◆Завершить выполнение
        ◆
      :Конец
      ◆
    :Повторить цикл
    ◆
  :Конец
  ◆
:Конец
Я не понимаю. Восстановления выносливости начинается сразу как закончилась хотя не должна во время ходьбы игрока. Может пожалуйста ктонибудь помочь что не так.
Мой вк: vk.com/borisov_alexandr_5
Мой ютуб канал: www.youtube.com/@alexandr_5836
Мой бусти: boosty.to/alexandr-7
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.296 секунд