Перейти к содержанию
Hardtmuth

Отсылаем сообщения главному герою методом разработчиков

Рекомендуемые сообщения

 

Отсылаем сообщения главному герою методом разработчиков

Автор: Scouser

Здравствуйте. Я решил создать маленький урок по выявлению сообщения ГГ. Спасибо модостроителю ColR_iT за некоторые правки. Существует несколько вариантов отослать сообщение ГГ на ПДА: схемой [sr_tip] логики объекта Space Restrictor, методом give_game_news. Однако разработчики пользовались функцией send_tip из скрипта news_manager. Так вот, эта функция спокойной отсылает сообщение на ПДА главного героя. Но стоит учитывать, что она построена на методе give_game_news класса game_object. Для меня это самый удобный способ, имхо.

1. Разберём саму функцию:

function name (actor, npc)                     
                        news_manager.send_tip(db.actor, "new_sms_text", 10000, "ecolog", 18000, 902)
end

Теперь поэтапно:

Спойлер

name - думаю, вы догадались, что это имя функции.
(actor, npc) - в качестве аргумента указываем отправителя (актёра) и нпс.
news_manager.send_tip - ссылка на функцию. Точкой мы отделяем скрипт и саму функцию.
db.actor - устанавливаем получателя, актёра.
"new_sms_text" - текст. Можно указать переменную текста, которые хранится в текущем файле, либо прописать текст прямо тут.
10000 - время задержки отправки сообщения после того, как вызвалась функция. ( В миллисекундах).
"ecolog" - имя картинки при показа сообщения с лицом персонажа(от которого подразумевая, высылается сообщение). В данном случае, картинка с лицом, а точнее заслоном костюма эколога. Можно указать следующие параметры: default, trader, dolg, freedom, ecolog, arena, stalker, krot, barman, wolf, o_soznanie, monolith, saharov, prizrak, killer.
18000 - время показа сообщения на экране.
902 - story_id отправителя. То есть устанавливается тот объект, от которого приходит сообщения. Если этот НПС мёртв или ранен, то сообщение высылаться не будет. Обязательно это учтите. Многим персонажам прописан stody_id. Они указаны в файле game_story_ids.ltx. В данном случае, это story_id Сахарова.

Вот собственно и закончен разбор функции. Её следует прописать в любой скрипт, если вы вызываете её с помощью <action>. Но в если функция вызывается при входе в рестриктор, то должны обязательно прописать функцию в xr_effects.script и указать в логике рестриктора только имя функции.

2. Добавляем озвучку во время отправки сообщения:
Достаточно просто открыть файл news_manager.script и мы увидим вначале и немного вниз множество ссылок на звуковые файлы.

В нашем случае пишем:

new_sms_text                  = xr_sound.get_safe_sound_object([[characters_voice\sound]]),

Теперь посмотрим, что тут всё это значит:

Спойлер

new_sms_text - переменная текста нашего сообщения. Указывать ИМЕННО её!
xr_sound.get_safe_sound_object - путь до функции, отыгрывающей звук.
([[character_voice\sound]]) - путь до звука. Без комментариев.


Ну вот собственно и всё. Очень простой способ, которым пользовались разработчики. Желаю удачи вам в моддинге, творите с удовольствием!

  • Мастер! 2
  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 21.07.2020 в 20:02, Hardtmuth сказал:

Отсылаем сообщения главному герою методом разработчиков

Автор: Scouser

Здравствуйте. Я решил создать маленький урок по выявлению сообщения ГГ. Спасибо модостроителю ColR_iT за некоторые правки. Существует несколько вариантов отослать сообщение ГГ на ПДА: схемой [sr_tip] логики объекта Space Restrictor, методом give_game_news. Однако разработчики пользовались функцией send_tip из скрипта news_manager. Так вот, эта функция спокойной отсылает сообщение на ПДА главного героя. Но стоит учитывать, что она построена на методе give_game_news класса game_object. Для меня это самый удобный способ, имхо.

1. Разберём саму функцию:


function name (actor, npc)                     
                        news_manager.send_tip(db.actor, "new_sms_text", 10000, "ecolog", 18000, 902)
end

Теперь поэтапно:

  Показать контент

name - думаю, вы догадались, что это имя функции.
(actor, npc) - в качестве аргумента указываем отправителя (актёра) и нпс.
news_manager.send_tip - ссылка на функцию. Точкой мы отделяем скрипт и саму функцию.
db.actor - устанавливаем получателя, актёра.
"new_sms_text" - текст. Можно указать переменную текста, которые хранится в текущем файле, либо прописать текст прямо тут.
10000 - время задержки отправки сообщения после того, как вызвалась функция. ( В миллисекундах).
"ecolog" - имя картинки при показа сообщения с лицом персонажа(от которого подразумевая, высылается сообщение). В данном случае, картинка с лицом, а точнее заслоном костюма эколога. Можно указать следующие параметры: default, trader, dolg, freedom, ecolog, arena, stalker, krot, barman, wolf, o_soznanie, monolith, saharov, prizrak, killer.
18000 - время показа сообщения на экране.
902 - story_id отправителя. То есть устанавливается тот объект, от которого приходит сообщения. Если этот НПС мёртв или ранен, то сообщение высылаться не будет. Обязательно это учтите. Многим персонажам прописан stody_id. Они указаны в файле game_story_ids.ltx. В данном случае, это story_id Сахарова.

Вот собственно и закончен разбор функции. Её следует прописать в любой скрипт, если вы вызываете её с помощью <action>. Но в если функция вызывается при входе в рестриктор, то должны обязательно прописать функцию в xr_effects.script и указать в логике рестриктора только имя функции.

2. Добавляем озвучку во время отправки сообщения:
Достаточно просто открыть файл news_manager.script и мы увидим вначале и немного вниз множество ссылок на звуковые файлы.

В нашем случае пишем:


new_sms_text                  = xr_sound.get_safe_sound_object([[characters_voice\sound]]),

Теперь посмотрим, что тут всё это значит:

  Скрыть контент

new_sms_text - переменная текста нашего сообщения. Указывать ИМЕННО её!
xr_sound.get_safe_sound_object - путь до функции, отыгрывающей звук.
([[character_voice\sound]]) - путь до звука. Без комментариев.


Ну вот собственно и всё. Очень простой способ, которым пользовались разработчики. Желаю удачи вам в моддинге, творите с удовольствием!

хочу добавить для новичков, что с помощью функкции можно выводить ваше сообщение через:квест,инфопоршень,диалог.


176072166_.png.a2e29737873a8e94c0ee4916cca82542.png

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


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

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

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

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

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

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

Войти

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

Войти

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

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