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

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

 
 
10 часов назад, PavelStrelecky сказал:

Привет всем, можно ли перенести локацию из stalker 2 2011 года на версию движка ЗП? Возможно ли это и как сделать?

При желании все можно. ?

В принципе, редактор имеет экспорт в формат .obj принимаемый 3D редакторами такими как Мах, Мая, да и Блендер наверняка тоже, а это значит, что потом можно будет экспортировать в форматe .object в CoP_SDK.

1.png 2.png
Надо только разобраться с текстурами, а дальше все как для Сталкера.

Изменено пользователем WolfHeart
  • Мастер! 1

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


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

Привет. Подскажите пожалуйста как в КПК в разделе энциклопедии в тексте добавить картинку? (например в энциклопедии есть справочник мутантов и у каждого мутанта есть небольшой текст и картинка с изображением)

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


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

Мне нужна функция, которая наполняет определенный ящик определенным количеством еды. В оригинале есть такая функция, но подскажите, где её искать, пожалуйста.

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


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

Крим Скрипт bind_stalker.script функция spawn_achivement_items.

  • Спасибо 1

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

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


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

Господа. как на Затоне вернуть голосовое предупреждение о выбросе от Бороды? "Ищите глубокую нору..." Первый выброс в начале игры только говорит, а дальше только пиликает оповещение. Янов и Припять Гаваец и Ковальский говорят, а вот Борода не хочет. Не порядок.

Изменено пользователем bsanek628

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


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

bsanek628 Пробуйте смотреть в скрипт surge_manager.script в сторону воспроизведения фразы zat_a2_stalker_barmen_surge_phase_2.
Код из оригинала:
 

Спойлер

				if(level) then
					if(level.name()=="zaton") then
						xr_sound.set_sound_play(db.actor:id(), "zat_a2_stalker_barmen_surge_phase_2")
					elseif(level.name()=="jupiter") then
						xr_sound.set_sound_play(db.actor:id(), "jup_a6_stalker_medik_phase_2")
					elseif not has_alife_info("pri_b305_fifth_cam_end") then
						xr_sound.set_sound_play(db.actor:id(), "pri_a17_kovalsky_surge_phase_2")
					end
				end

 

 


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

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


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

Приветствую, помогите мне разобраться с несколькими вопросами)

1. Подскажите возможно ли сделать проверку на убийство нпс или мутантов с определённого оружия, например с ПМ? Если это возможно, то помогите написать скрипт этой проверки?

2. Подскажите как делать логику объекту, например хочу чтобы при наведении прицела на предмет (радиоприемник) появлялась надпись включить радио и потом выключить. Пытался сделать логику, но ничего не получилось, при наведении ничего не появляется. Буду рад если поможете.

3. Подскажите как временно очистить от нпс и мутантов определённую точку с определенным радиусом?

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


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

Приветствую, помогите мне разобраться с несколькими вопросами)

1. Подскажите возможно ли сделать проверку на убийство нпс или мутантов с определённого оружия, например с ПМ? Если это возможно, то помогите написать скрипт этой проверки?

2. Подскажите как делать логику объекту, например хочу чтобы при наведении прицела на предмет (радиоприемник) появлялась надпись включить радио и потом выключить. Пытался сделать логику, но ничего не получилось, при наведении ничего не появляется. Буду рад если поможете.

3. Подскажите как временно очистить от нпс и мутантов определённую точку с определенным радиусом?

1. Используй эту функцию:

function actor_active_weapon(actor, npc, p)
	local weapon_section = p and p[1]
	if weapon_section == nil then abort("Wrong parameters in function 'actor_active_weapon'") end
	local active_item = db.actor:active_item()
	return (active_item ~= nil) and active_item:section() == weapon_section
end

Юзай в логике хита или, собственно, death: {=actor_active_weapon(ид_оружия)} Но она проверяет, что это именно ГГ убил, остальных убийц отследить нельзя или я не знаю, как можно.
2. Работа с run_tutorial
3. Есть оригинальная функция =clear_smart_terrain(ид_смарта)
Но она чистит все живые объекты в данном смарте, можно попробовать переделать для рестриктора.
Есть такая функция:

function clear_arena(actor, npc, p)
local id, release_object, distance
local arena_zone = db.zone_by_name[p[1]] 
for id = 1, 65535 do
release_object = alife():object(id)
if release_object and arena_zone then
if arena_zone:inside(release_object.position) then
if IsStalker(release_object) and not release_object:alive() then
alife():release(release_object, true)
elseif IsMonster(release_object) and not release_object:alive() then
alife():release(release_object, true)
end
end
end
end
end

Она уже чистит трупы внутри заданного рестриктора. Можно совместить обе эти функции.

Изменено пользователем Neptun
  • Лайк 1
  • Мастер! 1

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


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

Подскажите возможно ли сделать проверку на убийство нпс или мутантов с определённого оружия, например с ПМ?

Для этого нужно использовать колбэки на смерть НПС или мутантов. В  которые движок передает того, кто нанес смертельный хит в качестве объекта (who).
Для НПС это xr_motivator.script функция motivator_binder:death_callback
Для мутантов bind_monster.script функция generic_object_binder:death_callback.

В этих функциях нужно провести соответствующие проверки и выполнить необходимые действия:
 

Спойлер

if who:id() == db.actor:id() then -- проверка того, что убийца ГГ
   local active_item = db.actor:active_item()
   if (active_item ~= nil) and (active_item:section() == "wpn_pm") then -- проверка, что в руках ГГ находится ПМ
      -- выполнение необходимых действий
   end
end

 

 

10 часов назад, Contentic сказал:

Подскажите как делать логику объекту, например хочу чтобы при наведении прицела на предмет (радиоприемник) появлялась надпись включить радио и потом выключить.

Нет ничего проще:
 

Спойлер

Приемник, который отключается ночью или вручную ГГ:
 


[logic]
active = ph_idle@radio_on

[ph_idle@radio_on]
on_info1 = {=dist_to_actor_le(25)} ph_idle@radio_stop %=play_sound(radio_music)%
on_info2 = {!is_day} ph_idle@radio_night %=stop_sound%

[ph_idle@radio_stop]
tips = st_tip_device_off
on_use = ph_idle@radio_off %=stop_sound%
on_info1 = {=dist_to_actor_ge(25)} ph_idle@radio_on %=stop_sound%
on_info2 = {!is_playing_sound()} ph_idle@radio_on
on_info3 = {!is_day} ph_idle@radio_night %=stop_sound%

[ph_idle@radio_off]
tips = st_tip_device_on
on_use = ph_idle@radio_stop %=play_sound(radio_music)%
on_info = {!is_day} ph_idle@radio_night

[ph_idle@radio_night]
tips = st_tip_device_off
on_info = {=is_day} ph_idle@radio_on

Настройки объекта:
 


Тип объекта в SDK: phisics\object
Визуал: priemnik_gorizont
Кастом дата:
[collide]
ignore_static
ignore_small_objects
ignore_animated_objects
ignore_ragdoll

 

 

Изменено пользователем denis2000
  • Мастер! 1

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

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


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

Neptun спасибо большое за информацию

denis2000 спасибо большое за информацию

Подскажите пожалуйста как называется партикл телепорта, который выглядит как телепорты на ЧАЭС 2 в Тенях Чернобыля? 

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


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

Contentic anomaly2\teleport_idle
По хорошему спавнить нужно zone_teleport.

  • Хабар 1

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

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


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

Neptun спасибо большое за информацию

denis2000 спасибо большое за информацию

Подскажите пожалуйста как называется партикл телепорта, который выглядит как телепорты на ЧАЭС 2 в Тенях Чернобыля? 

Я бы уточнил, что телепорт именно КАК в ТЧ, то путь, который будешь писать при создании партикла, такой: anomaly2\effects\teleport_idle

  • Хабар 1

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


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

Доброе утро.  Встал такой вопрос.

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

Движок и СДК поймут такой фокус?  Или это напрасная трата времени?

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


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

Сергей Шубин привет. А в чём фокус-то? Геометрия может быть абсолютно той же самой хоть у десяти локаций. Это всего лишь набор полигонов.

  • Лайк 1

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


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

А в чём фокус-то?

Предложили идею для сценария.  Сделать локацию, какой она может быть. Со множеством трупов, сгоревшей техникой.

И такую же локацию с нормальным заселением. Это пока так на уровне - наметки и прикидки.  Если бы речь шла об одноразовом случае, то было бы просто. Расставил бы в СДК, то что надо. Потом убрал.  А как спавнить то, что надо в процессе игры? Возможно, несколько раз.   

С другой стороны, разрабы мода Связь Времен два Лиманска делать не стали. У них там ГГ попадает в параллельную реальность.  Вот и возник вопрос. Даст ли СДК собрать локпак с двумя одинаковыми локами, поймет ли этот фокус движок игры. 

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


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

Сергей Шубин Разные имена локаций - это разные локации для SDK/движка и абсолютно по барабану насколько разные или одинаковые там геометрия, спавн, АИ-сетка...

  • Лайк 1

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

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


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

Сергей Шубин задай себе все те же вопросы но представь что сделал две разные локации. По сути у тебя и будут они разными, только ты как сценарист это поймешь и игра.


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

Сергей Шубин где-то в логике был такой прием от разработчиков, но с нпс и пушками - два разных объекта игрок воспринимал как 1.


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

Точнее - копии.

  • Лайк 1

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


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

Сергей Шубин к вышесказанному добавлю, что не стоит забывать о том, что на другую локацию игрока не перебросит моментально, произойдёт загрузка игры. Для каких-то коротких сценок с небольшим куском уровня лучше располагать дубликат на той локации, где эта сцена вызывается, но где-нибудь в недоступном месте. Хотя в таком случае могут проблемы с сеткой возникнуть, но она нужна только если в сценах планируется задействовать НПС.

  • Лайк 1
  • Жму руку 1

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


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

denis2000 спасибо большое вам

Neptun спасибо большое вам

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


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

Помнится, здесь это уже обсуждалось, но найти никак не могу. Существует ли возможность переключать anm-файлы не по времени их окончания, а по событиям (получение инфопоршня, например)? Вернее не так: существует ли возможность переключать их не костыльно (удалил - включил новый, что ведёт сначала к переключению на вид из глаз ГГ на долю секунды), а плавно? На горьком опыте убедился, что если сцена строится на логике, а не является комплексной анимацией, как в оригинале, то тайминг событий у НПС постоянно гуляет, в результате чего камера регулярно меняет положение не тогда, когда требуется. Занимался ли кто-нибудь этим вопросом? Хочется сделать по-уму, но осваивать ради такого 3D-анимацию кажется не очень рациональным решением.

Изменено пользователем Seraph

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


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

существует ли возможность переключать их не костыльно (удалил - включил новый, что ведёт сначала к переключению на вид из глаз ГГ на долю секунды), а плавно?

Для этого существуют сеты: cam_effector_sets.script
Можно группировать анимации, создавать условия появления, выстраивать порядок воспроизведения.

  • Мастер! 1

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


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

Как сделать функцию, чтобы у актера забрали все имеющиеся предметы в инвентаре?

Изменено пользователем Boomer

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


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

Neptun Не совсем то. Да, там камеры плавно переключаются друг за другом, но условия отвечают не за включение/выключение, а за появление конкретной камеры в принципе (как в катсцене после путепровода, где выполняется проверка, кто из напарников жив). Очень полезная штука, но отвязаться от таймингов даже с ней не вышло. Если я чего-то не заметил, буду благодарен за пример с разбором.

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


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

Добрый день/вечер/утро тем у кого оно доброе, у кого нет тому печенек... У меня возник вопрос по поводу данной функции:
 

function deneg_hren(actor, npc)
local actor = db.actor
all_money_actor = actor:money()
if actor and npc then
dialogs.relocate_money(npc, all_money_actor, "out")
end
end

Вопрос заключается в следующем, а возможно ли данную ф-ию поставить на апдейт и чревато ли последствиями?

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


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

Как сделать функцию, чтобы у актера забрали все имеющиеся предметы в инвентаре?

function relocate_actor_inventory_to_box(actor, npc, p)
	local function transfer_object_item(item)
		if item:section() ~= "wpn_binoc" and item:section() ~= "wpn_knife" and item:section() ~= "device_torch" then
			db.actor:transfer_item(item, inv_box_1)
		end
	end
	inv_box_1 = get_story_object (p[1])
	actor:inventory_for_each(transfer_object_item)
end

Функция есть и в оригинальном скрипте, но там она закомментирована.


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

Seraph а зачем, собственно, прерывать анимацию, чтобы всё равно переключить на другую анимацию? Просто любопытно. Делай анимации короткими, используй иные методы воспроизведения анимаций, которые можно прерывать в любой момент.


Дополнено 8 минуты спустя
1 час назад, Doctor_Oz сказал:

Вопрос заключается в следующем, а возможно ли данную ф-ию поставить на апдейт и чревато ли последствиями?

А в чем препятствие поставить в апдейт и посмотреть за последствиями? Хотя функция довольно странная. Если ГГ и НПС делают что? Вероятно, должна быть проверка, что они вступили в диалог, потому что результат как раз говорит, что все бабки будут отданы этому НПС, но тут ещё надо добавить проверку, что у ГГ вообще есть деньги.

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


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

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

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

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

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

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

Войти

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

Войти

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