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

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


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

mangust,

(Подозреваю, что вряд ли есть ответ, но все-таки.)
не зря подозреваешь =)

 

1. Обзор работы движка "с высоты птичьего полета".
Не уверен, если честно, что у самих разрабов это документировано в полной мере. Без шуток.

За что отвечает движок, за что скрипты;
Полностью скриптовую модель ещё никто не описал, хотя получить представление можно почитав wiki и топики отсюда. И да, с офф. форума, разумеется.

оффлайн, онлайн;
Брехнёй на эту тему я немного развлекался в этом топике в этом сообщении. Хотя ничего принципиально нового там нет. Просто пытался обобщить.

что когда загружается (ltx, xml, script),
Файлы конфигурации при загрузке программы, скрипты - при загрузке уровня (точнее, по мере использования).

основные принципы, на которых построена игра.
Вах! Это шютка такой? =) Есть несколько переводных учебников по геймостроительству. Есть немало учебников (как англоязычных, так и переведённых) оп отдельным технологиям: графике, звуку, дизайну и т.п. Есть море разливанное книг по программированию на C++.

2. Методы отладки и тестирования. Быстрые способы загрузки игры (тестовые сборки - с одной локаций или что-то подобное; про -nointro, -noprefetch и минимальные настройки знаю); вывод сообщений в лог, в пользовательский файл, на экран; что-нибудь похожее на перехват исключений, assert. Наиболее удобный аддон, вроде повелителя зоны для ЧН, позволяющий спавнить и проверять логику объектов. Может на что-то еще надо обратить внимание?

Больной вопрос. Есть мультиплеерные сборки с отладочной инфой. Последняя mp демка соответствует первому сингловому релизу.

Тестовые сборки если и есть, то в окрытом доступе не лежат. Впрочем, в топике сообщества картоделов можно подобрать для этих целей какую-либо небольшую локацию.

Для вывода сообщений в лог вообще говоря легальных функций нет. Используют побочные эффекты от get_console():execute(<команда>).

Выводить в файл в ТЧ способа нет. В ЧН для этого экспортировали пространство имён io. Ассерты есть в Lua.

Перехват исключений... ну и аппетиты у Вас! Может пригодится моя статья "тестирование скриптов без обрушения" в топике Уроки по модостроению. Вообще, полезная тема.

в файлах на сайте gameru.net здесь есть разные скрипты, в том числе по выводу на экран разной инфы. Там много чего есть.

Monnoroch,

ты прав, я исправил.

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

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

npc:accessible(vertex)

кажется так

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Уважаемые знатоки, каким образом можно отредактировать полоски в описании оружия (убойность, скорострельность и тп) под параметры АМК мода? Просто когда установил новую анимацию перезарядки АК-74У и SIG550 (отсюда: http://www.amk-team.ru/forum/index.php?showtopic=609 ), их параметры сбросились в стандартные, а хотелось бы единства в описании.

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

Привет.

Понял, задал сложный вопрос.

Тогда помогите разобраться в каких файлах прописан квест принести флешку Шустрого, которую выдает Сидорович.

Меня интересует та часть где подходиш к волку, говориш с ним (спавнится петруха и еще два бойца). Потом идеш к Петрухе проигрывается звук "Не шелести...", говориш с Перухой, проигрывается звук "...волк приказал атаковать...", встают бойцы, все вместе атакуем АТП, при успехе НПС содятся в кемп. На этом всё.

Если чесно немогу понять как работают гулаги (знаний в програмировании не хватает).

Если вышеперечисленное сложно обьяснить дайте хотябы ссылки на файлы в которых прописан квест, потому что понимаю что не во всех рылся (воссоздать неполучилось) или пожалуйста обьясните что здесь куда ссылается:

--' Наемники, атакующие новичков.

if type == "esc_killers" then

t = { section = "logic@esc_killer_leader_raid",

idle = 0,

prior = 10, state = {4},

in_rest = "", out_rest = "",

online = true,

predicate = function(obj_info)

return obj_info.profile_name == "esc_killer_master"

end

}

С нетерпением жду ответа от уважаемых знатаков. :rolleyes:

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

По шустрому

файл гулаг_ескапе.скрипт

 

-- Шустрый

t = { section = "logic@esc_lager_shustryi", секция логики в файле миск\ гулаг_ескапе.лтх

idle = 0,

prior = 25, state = {0,1}, приоритет данной работы и в каких состояниях гулага она сушествует

online = true, обьект на этой работе постоянно в онлайне

in_rest = "", out_rest = "", используемые обьектом рестрикторы(зоны) в донном случае их нет

predicate = function(obj_info) на этой работе может находится только обьект с именем "esc_shustryi"

return obj_info.profile_name == "esc_shustryi"

end

 

миск\ гулаг_ескапе.лтх

 

;Шустрый

 

[logic@esc_lager_shustryi]

active = camper@esc_lager_prisoner использование схемы раненый (?)

combat_ignore = combat_ignore в бой не вступает

 

[camper@esc_lager_prisoner]

path_walk = prisoner_walk точки где стоит и куда смотрит

path_look = prisoner_look

combat_ignore_cond = always

def_state_campering = prisoner состояние раненый

on_info = {=esc_bandits_die} remark@esc_lager_help условие если бандиты убиты то переключение на схему remark@esc_lager_help тойсть у гг появляется возмоность с ним поговорить

on_info2 = {+tutorial_wounded_give_info} sleeper4@esc_lager 2условие инфопоршень если гг поговорил и получил флешку идет в лагерь и ложится спать sleeper4@esc_lager

meet = no_meet

danger = danger_condition@shustryi

 

[remark@esc_lager_help] если все бандиты убиты использует эту схему (просит помоши)

snd = esc_shustryi_help

anim = prisoner

meet = no_meet

target = esc_lager_prisoner_look, 0

on_actor_dist_le = 5| remark@esc_lager_prisoner если дистанция до гг = 5 схема remark@esc_lager_prisoner

combat_ignore_cond = always

danger = danger_condition@shustryi

on_signal = sound_end| remark@esc_shustryi_wait как все сказал схема remark@esc_shustryi_wait

on_info = {+tutorial_wounded_give_info} sleeper4@esc_lager

 

[remark@esc_shustryi_wait]

anim = prisoner

meet = no_meet

target = esc_lager_prisoner_look, 0

on_actor_dist_le = 5| remark@esc_lager_prisoner если дистанция до гг = 5 схема remark@esc_lager_prisoner

combat_ignore_cond = always

danger = danger_condition@shustryi

on_timer = 10000| remark@esc_lager_help если прошло времени 10000 схема remark@esc_lager_help

on_info = {+tutorial_wounded_give_info} sleeper4@esc_lager

 

 

[remark@esc_lager_prisoner]

anim = wait

anim_reset = false

target = esc_lager_prisoner_look, 0

snd = esc_shustryi_thanks

on_info = {+tutorial_wounded_give_info} sleeper4@esc_lager

on_signal = sound_end| remark@wait_player_at_lager как все сказал схема remark@wait_player_at_lager

combat_ignore_cond = always

meet = meet@no_meet

danger = danger_condition@shustryi

 

[remark@wait_player_at_lager]

anim = wait

anim_reset = false

target = actor

meet = meet@friend

danger = danger_condition@shustryi

on_info = {+tutorial_wounded_give_info} sleeper4@esc_lager

 

[sleeper4@esc_lager] схема сна в лагере

path_main = sleep4

meet = meet@friend

danger = danger_condition@shustryi

 

[danger_condition@shustryi]

ignore_distance = 0

 

 

как я это понимаю возможно и не совсем правильно

надеюсь знаюшие посмотрят исправят и дополнят :rolleyes:

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

Подскажите, как менять уровень здоровья монстров, в частности для Электрохимеры.

Я уже уменьшил ее радиус поражения. Короче, чтобы на нее уходило не больше 2-х рожков, а голова была бы более уязвимой.

 

Сообщение от администратора _And_
1. Можно уменьшить сопротивляемость огнестрельному оружию (параметр "fire_wound_immunity").

2. Править точки повреждения - по "костям"(секция "m_Chimera_damage").

Все это ищем\правим в файле химеры - m_chimera.

З.Ы. Если исходить из реализма, то патроны 5.45х39 и 7.62х39 малоэффективны при использовании на охоте (т.е. при отстреле крупных животных). Для охоты самые подходящие это охотничьи боеприпасы (12, 16, 20 калибры и винтовочный 7.62х54).

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

прошу не пинать если задал тупой вопрос :blush:

 

в скрипте se_respawn

 

меняем следующие параметры

 

local idle_spawn_preset = {

seldom = 60*60*12, - эти цифры

medium = 60*60*6, - эти цифры

often = 60*60, - эти цифры

 

и

 

idle_time:setHMSms( math.random(12, 24), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

 

(12, 24) - эти цифры

 

дык вот изменения вступят в силу когда , после начала новой игры или как , объясните подробно ...

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

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

После начала новый игры..

Но может и с новым переходом на локу... Но на счёт этого не сильно уверен.

Жизнь определение, и не каких целей у нее нету. Жизнь безсмысленна.

Смысл вкладываем мы, и цели придумамываем...

И в подписи у меня не красный. а иной цвет.

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

вот и у меня смутное чувство что только с начала новой игры ...

при переходе с локи на локу точно нет ...

 

еще вопрос из того же разряда подскажите как сделать что бы выброс всегда начинался в первые 30 минут часа ?

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

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

...

меняем следующие параметры

...

дык вот изменения вступят в силу когда , после начала новой игры или как , объясните подробно ...

После начала новый игры..

Но может и с новым переходом на локу... Но на счёт этого не сильно уверен.

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

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

Подскажите пожалуйста, что нужно сделать, чтобы при съедании/использовании ГГ предмета (именно при съедании/использовании, а не при выкидывании) приводилась в действие скриптовая функция?

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

Real Wolf, тыщу раз писалось.

device.fov < 60

 

Renson, тоже тыщу раз.надо проверить,а не пропал ли предмет.пропал - сьели.

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

AKKK1

Спасибо за ответ. Хочу добавить тебе два плюсика в репутацию но что-то не пойму как.

Все стало немного яснее, но задуманный квест как описал выше все еще неполучается.

Ничего буду пытаться. :rolleyes:

 

Уважаемые модераторы!

Если не составит труда помогите советом и разьясните пожалуйста. :rolleyes:

 

На досуге возник еще один интересный вопрос. Когда ГГ или НПС попадает в костер или аномалию "жарка" на модели возникает "эффект горения" как он срабатывает, т.е. включается функцией или "запичатан" в моделе НПС? И можно ли создать к примеру постоянно горящего НПС сталкера (нужно для мода) без урона его здоровью (т.е. с имунитетом к огню)?

И еще вопрос: Как была создана электро-химера? Совмещением модели химеры и аномалии электра в 3Д редакторах или её эффект достигается за счет постоянного включения функций удара электричеством?

Извините за столь сложные технические вопросы но все же интересно.

С нетерпением жду ответа от знатоков мира С.Т.А.Л.К.Е.Р.А!

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

Респавн запланировался с прошлыми значениями. Надо дождаться респавна и следующий уже сработает с исправленными значениями.

Ну или начать новую игру :)

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

Привет.

Прочел статью на ВИКИ о партиклах. Понял что париклы это различные спецэффекты. Задача прежняя - создать всевремя корящую модель сталкера (желательно в плаще). Но возникает вопрос: зачем редактировать партиклы если нужно просто включить спецэффект горения НПС? Ведь не идет же речь что бы НПС горел зеленым пламенем например.

Да и вообще каков механизм включения эффекта горения на модели НПС или монстра?

Отпищите пожалуйста если кто знает. :rolleyes:

 

 

Строгое предупреждение от администратора _And_
"...всевремя корящую..." "...Отпищите..." - ?! :blink::rtfm::nono:

 

Сообщение от администратора _And_

Что тебе не понятно в ответе (цитирую):

надо проигрывать партикл на позиции нужной кости модели НПС.

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

 

Добавлено через 134 мин.:

Простите.

Замечание, на будующее, учту. :rolleyes:

Только обьясните пожалуйста:

1) Как привязать партикл к нужной кости?

2) Как прописать постоянное проигрывание? А самое главное где?

Если можно приведите пожалуйста пример.

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

в скрипте респавна три строки

 

seldom = 60*60*12 - это я так понимаю спавн НПС ?

medium = 60*60*6

often = 60*60

 

а остальные за что отвечают ? или я чего то не догоняю ...

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

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

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

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

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

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

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

Войти

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

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

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...