Перейти к контенту

[SoC] Ковыряемся в файлах


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

Кто разбирается в game_relations.ltx, подскажите пожалуйста, для чего используется секция communities_sympathy? Я вижу в движке, что на этот коэффициент умножается изменение репутация. Я не могу понять, для чего это кому-то может понадобиться? Для чего нужно, что бы репутация у группировки изменилась на меньшую величину, чем, скажем, friend_kill_goodwill? Ведь с таким же результатом можно просто в communities_sympathy поставить коэффициент 1, а friend_kill_goodwill уменьшить.

Ссылка на комментарий

Как заменить базовую модель Меченого (новичок) на любую другую?

New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор

Русификатор для игры Vendetta: Curse of Raven's Cry

Ссылка на комментарий

Как в LA происходит создание НПС, который идентичен ГГ? Ну в катсценах спавнится непись в том же шмоте и с тем же оружием, что и у ГГ. Куда хоть копать нужно, не подскажите?

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

Ранее был известен под ником BoBaH_671.

Ссылка на комментарий

@BoBaH_671, в движке LA по аналогии с ЗП в скрипты экспортирован метод смены визуала для НПС. В спавн-секции НПС указывается параметр set_visual с путём к модели. Если его значение равно "actor_visual", то устанавливается текущий визуал актора.

  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

Сделал свой звуковой файл для НПС с комментариями с помощью СДК, как и полагается. Да, он отыгрывается нормально, я проверял на Волке, заменив его файл wolf_thanks_1.ogg на свой с таким же названием. Но когда я добавляю свою секцию в script_sound.ltx и прописываю её же название Волку, то игра крашится с логом:

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: d:\stalker\10006\gamedata\scripts\_g.script:1121: bad argument #2 to 'format' (string expected, got no value)

Как выглядит моя секция:

[esc_vovan_say_thanks_seq]
stalker = 0,scenario\escape\wolf_thanks_1
Волку в логику прописываю, конечно же, без _seq. Но игра все равно крашится, в чем проблема? Я изменил только название секции esc_wolf_say_thanks_seq на esc_vovan_say_thanks_seq. 
Добавлено Dennis_Chikin,

_g.script:1121: bad argument #2 to 'format' (string expected, got no value) - а там по строчке не видно, что именно в этом ее назначение и состоит ?

А выше есть строчка, которая должна выводить в лог: что же это до такой степени нам не понравилось, что не нашлось ни каких идей лучше, чем обвалить игру.

Ранее был известен под ником BoBaH_671.

Ссылка на комментарий

1. Чего-то до меня никак не доходит, как подправить эту логику рестриктора, чтобы она срабатывала каждый раз при попадении гг в него:

 

 

[logic]
active = sr_idle@check_actor_outfit

[sr_idle@check_actor_outfit]
on_actor_inside = %=lab_x7_biohazard_check_actor_outfit% {-lab_x7_actor_have_bioprotection_outfit} sr_timer@biohazard_without_bioprotection_outfit, %=lab_x7_biohazard_check_actor_outfit% {+lab_x7_actor_have_bioprotection_outfit} sr_timer@biohazard_with_bioprotection_outfit

[sr_timer@biohazard_without_bioprotection_outfit]
type = dec
start_value = 156000
on_value = 9000 | {-lab_x7_actor_biohazard_death_breath_snd} %=play_snd(actor\breath_1) +lab_x7_actor_biohazard_death_breath_snd% | 0 | nil %=aes_kill_actor%
on_actor_outside = | nil
string = lab_x7_biohazard_attention

[sr_timer@biohazard_with_bioprotection_outfit]
type = dec
start_value = 241000
on_value = 9000 | {-lab_x7_actor_biohazard_death_breath_snd} %=play_snd(actor\breath_1) +lab_x7_actor_biohazard_death_breath_snd% | 0 | nil %=aes_kill_actor%
on_actor_outside = | nil
string = lab_x7_biohazard_attention

 

 

 

2. Похоже, что мобы на моих локациях, попадая в зону действия ограничивающих in рестрикторов, остаются "запертыми" на их границах или в них самих, как это исправить?

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

@Silver Raven, в кондлистах on_actor_outside переключай логику обратно на секцию sr_idle@check_actor_outfit.

Ссылка на комментарий

Мужики, кто знает как узнать причину смерти сталкера? То есть кто или что его убило. Со сталкерами разобрался. А вот с монстрами косяк.

 

    if killer_comm ~= nil then
         if killer_comm == "monster" then
             local m_clsid = get_clsid(who)
             who_kill = monster_classes[m_clsid]

 

через killer_comm = who:character_community(), хрен.

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

Изменено пользователем kmsk
Ссылка на комментарий

Меня память не подводит? in рестрикторы - запускают в себя нпс и\или мобов, но не выпускают. out рестрикторы - запрещают входить в себя. (кроме, понятное дело, тех у кого выставлены разрешения) 

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

@Silver Raven, наоборот.

Оут - не выпускают. Ин - не пускают...

Ну собственно вроде и аналогия просматривается с названием.

Ссылка на комментарий

Тогда, как объяснить, что у меня мобы попадая (чего не должно происходить) в in рестриктор не могут из него выбраться?

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

Ну либо ты неправильно понимаешь, как настроены у тебя рестры, либо это неправильно понимают неписи...Нужно разбираться по трезвому))).

Но то, что рестры должны работать именно так - как я сказал, это без балды...Что подтверждается и настройками для логики.

out_restr=<restricor_name> (NPC не будет покидать указанный рестриктор)
in_restr = <restricor_name> (NPC не будет входить в указанный рестриктор)
  • Нравится 1
Ссылка на комментарий

В секциях мобов я не стал прописывать данные о рестрикторах, т.к. они относятся ко всем, персам, что есть на локации (гулагов там нет, все под логикой запрета юза смарт террейнов и для новых персов данные о рестрикторах наследоваться не будут). Такие же рестрикторы ПЫС ставили под вышками снайперов, чтобы те не спускались на землю и к ним никто не поднимался. У них параметры out_restr и in_restr оставлены пустыми. 


З.Ы. В вики, в статье описывающая настройку гулагов:

in_rest, out_rest - рестрикторы, которые устанавливаются персонажу на данное задание. Из in_rest НПС запрещено выходить , в out_rest - запрещено входить.

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

 

 

В вики

Ну да - Вики - это руководство к действию.

А в СДК рестры пысовские на костры к примеру смотрел?


 

 

(гулагов там нет, все под логикой запрета юза смарт террейнов и для новых персов данные о рестрикторах наследоваться не будут

Вот именно в таких условиях отлично работают обычные рестры, проставленные в СДК как дефаулт НОНЕ...с дополнениями в логике неписей, указанными выше.

Ссылка на комментарий

Выручайте, специалисты! Мне очень нравится изучать смартеррейны и гулаги, и я решил провести один эксперимент с заполонением гулага заспавненными NPC при помощи обычного повелителя зоны.

Для эксперимента я взял локацию кордон, а именно блокпост военных, что неподалёку от деревни новичков. Гулаг был полностью по умолчанию заполнен военными, в количестве 16 человек (считая 6 человек из второго гулага в казарме, которые являлись спецназом, которые сидели и рассказывали байки.). Я уничтожил всех военных на блокпосту, и при помощи повелителя зоны заспавнил 10 военных (esc_soldier_respawn_1). Всего 5 из 10 военных направились выполнять работу в гулаге, остальные же пошли расхаживать по зоне прогулочным шагом. В отчаянии я залез в файл gulag_escape, и начал править приоритеты. Поставив на каждой работе гулага максимальный приоритет, я проделал те же действия и был рад - 9 из 10 военных заняли работы в гулаге. Последний военный не занял работу, так как та была "эксклюзивной" работой командира, так как имела условие, чтобы занять ту работу, военный должен был иметь профиль esc_blokpost_commander, а так как это были обычные солдаты, а не командиры в беретах, они заняли те работы, условие которых позволяло им их занять ( На первых 9-ти работах условие простое: NPC  должен быть военным, а на последней работе условие - профиль командира ). Вроде бы всё разрешилось небольшой правкой приоритетов, но совсем нет! Остался второй гулаг, а именно казарма, где сидели 6 спецназовцев, которых я вынес. Заспавнив ещё 6 военных, они послали меня куда подальше и пошли гулять по зоне. Меня это очень сильно возмутило, и я пошёл опять в родной gulag_escape. Оказалось, что на гулаге казармы стояло условие: военные должны иметь профиль спецназа на кордоне esc_soldier_spetcnaz. Убрав условие, и выставив стандартное, я заспавнил NPC вновь, но ничего не произошло! Они опять же разошлись по локации, и ни один не остановился в гулаге. Полез я опять в файлы, и изменил сидящих в казарме вообще. Теперь это не спецназ, а обычные вояки. Ну вроде бы всё, и условия нету, и теперь обычные военные, вместо спецназа. Но опять же нет, наотрез отказываются занимать гулаг казармы. Суть вопроса такова: как мне сделать, чтобы NPC заняли гулаг казармы. Быть может, та казарма это "одноразовый" гулаг, который при убийстве его жителей-NPC исчезает, и не может быть заполнен вновь? Так сказать, "сюжетный" гулаг.

Изменено пользователем Vitalik Izotop
Ссылка на комментарий
Вот именно в таких условиях отлично работают обычные рестры, проставленные в СДК как дефаулт НОНЕ...с дополнениями в логике неписей, указанными выше.

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

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

Форумчане, подскажите, как зарегистрировать новый скрипт dialogs_escape.script в котором примерно такое содержание?

function give_vodka_quest()


task_manager.get_task_manager():give_task("quest_vodka_give")
end
function is_has_vodka_borode()
if db.actor:object("vodka") then
return true
end
return false
end
function transfer_vodka_to_boroda(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "vodka")
end

 

Изменено пользователем WizziGun
Добавлено  HellRatz,

Перенесено.

- Пролетарии всех стран, соединяйтесь!

 

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   2 пользователя

×
×
  • Создать...