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

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

 
 

Прошу не бросаться тапками если вопрос покажется глупым, в поиске по теме ответа не нашёл. Собственно сам вопрос, как в ТЧ сделать недоступным переход с Кордона на Свалку со старта игры или после первого диалога ГГ с первым встреченным НПС с последующим его (перехода) открытием после выполнения ГГ задания логически открывающего этот переход. Если возможно, скриптами или каким то другим методом не требующим использования SDK. Ткните пожалуйста носом, где про это можно почитать если таковой урок существует?

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


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

Вроде в тч такого не было, если правильно помню. Простой способ - поставить рестриктор перед переходом и при вхождении в него телепортировать игрока чуть назад с выдаваемым предупреждением.

Позаморочнее - написать свой интерфейс перехода на другую локу и тоже по рестриктору включать его, а потом тупо переносить игрока в дефолтный переход.

Это на чистом ТЧ. Насчет новых движков - хз.

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
3 минуты назад, Ferveks сказал:

Простой способ - поставить рестриктор перед переходом и при вхождении в него телепортировать игрока чуть назад с выдаваемым предупреждением.

Вполне устраивает этот способ, а есть в сети урок как это сделать? Ибо принцип работы этого метода мне понятен, а вот его реализация для меня как полет на МКС...

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


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

Полно, на том же ютубе. И всё же, крайне рекомендую использование сдк для создания space_restrictor. Туториалы тоже есть на ютубе. Если не найдешь, то набеги в личку.

  • Спасибо 1

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


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

[sr_idle@3]
on_info = {=max_protrezvel} sr_idle@talk

[sr_idle@talk]
on_info = {=actor_in_zone(mil_after_cocksuckers_talk) -clown_after_sleep_talk_1} %=play_sound(run_from_cocksuckers_talk_clown_1)%
on_signal = sound_end | sr_idle@talk2 %+clown_after_sleep_talk_1%

[sr_idle@talk2]
on_info = {=actor_in_zone(mil_after_cocksuckers_talk) +max_after_sleep_talk_1} %=play_sound(run_from_cocksuckers_talk_clown_2)%
on_signal = sound_end | sr_idle@give_task %+clown_after_sleep_talk_2%

[sr_idle@give_task]

Спойлер

[animpoint@talk_after_sleep_1]
cover_name = mil_freedom_base_max_cover
on_info = {+clown_after_sleep_talk_1 -max_after_sleep_talk_1} %=play_sound(run_from_cocksuckers_talk_max_1)%
on_signal = sound_end | %+max_after_sleep_talk_1%
on_info2 = {+talk_with_max_end_2} animpoint@talk_start_3

[animpoint@talk_after_sleep_2]
cover_name = mil_freedom_base_max_cover
on_info = {+clown_after_sleep_talk_2 -max_after_sleep_talk_2} %=play_sound(run_from_cocksuckers_talk_max_2)%
on_signal = sound_end | %+max_after_sleep_talk_2%
on_info2 = {+max_after_sleep_talk_2} animpoint

Спойлер

[run_from_cocksuckers_talk_max_1]
type = npc
npc_prefix = false
path = scenario\military\run_from_cocksuckers_talk_max_1
shuffle = seq
idle = 3,5,100

[run_from_cocksuckers_talk_max_2]
type = npc
npc_prefix = false
path = scenario\military\run_from_cocksuckers_talk_max_2
shuffle = seq
idle = 3,5,100

[run_from_cocksuckers_talk_clown_1]
type = actor
npc_prefix = false
path = scenario\military\run_from_cocksuckers_talk_clown_1
shuffle = seq
idle = 3,5,100

[run_from_cocksuckers_talk_clown_2]
type = actor
npc_prefix = false
path = scenario\military\run_from_cocksuckers_talk_clown_2
shuffle = seq
idle = 3,5,100

Да, в пути не указана папка character_voice, но с ней тоже не работает. Вспомнил, что в таких случаях помогало, но в этот раз удача не на моей стороне.

И ещё вопрос: как после туториала промотать время до определённого значения (в моём случае 2 ночи)


Дополнено 1 минуту спустя
Спойлер

function max_protrezvel(actor, npc)
    if (db.actor ~= nil) then
        if (level.get_time_hours() >= 8) and (level.get_time_hours() < 15) then
            return true
        else
            return false
        end
    else
        return false
    end
end

 

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


Ссылка на сообщение
Поделиться на другие сайты
 
5 минут назад, Skala сказал:

как после туториала промотать время до определённого значения (в моём случае 2 ночи)

%=set_game_time(02:00)%   

Изменено пользователем denis2000
  • Лайк 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
26 минут назад, Skala сказал:

function max_protrezvel(actor, npc)
    if (db.actor ~= nil) then
        if (level.get_time_hours() >= 8) and (level.get_time_hours() < 15) then
            return true
        else
            return false
        end
    else
        return false
    end
end

Зачем такая "портянка" ?

function max_protrezvel(actor, npc)
    return db.actor ~= nil and level.get_time_hours() >= 8 and level.get_time_hours() < 15
end

  • Лайк 2

Терпение... И все получится.

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


Ссылка на сообщение
Поделиться на другие сайты
 
18 часов назад, Skala сказал:

в пути не указана папка character_voice, но с ней тоже не работает

Согласно скрипту при type = actor и npc_prefix = false  character_voice\ нужно указывать

18 часов назад, Skala сказал:

как после туториала промотать время до определённого значения (в моём случае 2 ночи)

Странный вы человек. Еще неделю назад указывал решение

Спойлер

 

 

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


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

Подскажите, кто-нибудь знает. Есть ли где гайд по адаптации анимок из ТЧ на ЗП? Просто с костями какие-то беды.


Дополнено 16 минуты спустя

В общем разобрался. Может ли кто-то подсказать, как сделать так, чтобы во время анимации НПС доставал определенный предмет?

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


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Крим сказал:

Может ли кто-то подсказать, как сделать так, чтобы во время анимации НПС доставал определенный предмет?

Например в state_mgr_animation_list.script:

play_guitar	= {	prop	= { maxidle = 3,
									sumidle = 3,
									rnd = 80 },
						into	= { [0]	= {"sit_1_guitar_0_0", {a="guitar_a"}, {f=sr_camp.start_guitar}, "sit_1_guitar_0_1"}},
						out		= { [0]	= {"guitar_0_sit_1_0", {d="guitar_a"}, "guitar_0_sit_1_1"} },
						idle	= { [0]	= "guitar_0" },
						rnd		= nil },

Где a="guitar_a" соответственно прикрепить предмет, а d="guitar_a" отсоединить.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Mass Склероз, друг мой, склероз... (шутка)


Дополнено 42 минуты спустя
4 часа назад, Mass сказал:

Согласно скрипту при type = actor и npc_prefix = false  character_voice\ нужно указывать

Не заработало. Не знаю как, но заработала первая реплика гг, а нпс молчит. Я нашёл одну ошибку в логике нпс, что по инфорпоршню он не на ту секцию переходит, исправил - не помогло.

 

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


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

Такой вопрос, а как лучше(правильнее) в логике рестриктора уходить в nil

Просто писать nil? Или делать секцию [sr_idle@nil] и переходить в неё?


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Skala сказал:

нпс молчит

Для нпс озвучка как-то по-другому делается, по-моему. 

Спойлер

[esc_a1_1_reac_s_1]
type = npc
path = scenario\escape\esc_a1_1_reac_s_1
shuffle = seq
idle = 0,0,100

Если type = npc, то character_voice\ указывать не надо

  • Лайк 1

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


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

Pavel2000 просто nil пиши, зачем тебе лишние символы? Работать всё также будет

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


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

Нужна проверка на принадлежность ГГ к определенной группировке

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


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

Paradox27kms в dialogs.script ищи actor_in_

  • Мастер! 1

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

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


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

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

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

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

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

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

Войти

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

Войти

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