Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Общие вопросы и ответы
denis2000Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Помощь тем кто хочет знать больше о игре и модах

Если у вас появились вопросы по модостроению в игре S.T.A.L.K.E.R. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7

Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
[cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл:
1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R])
2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx"
3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо)
Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#"
Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]
[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти?
Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда.
Для того чтоб найти LOG необходимо зайти вот сюда:

В Win хр лог находится:

C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs

Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.

В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs

Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка:
...
$app_data_root$ = true | false| $fs_root$| users\
(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx)
...
$logs$ = true| false| $app_data_root$| logs\
(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи)
...
[/cut][cut=Получение более подробной информации о вылете (ХОВАН)]
Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...)
Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
Код
function abort(fmt, ...)
                     local reason = string.format(fmt, ...)
                     error_log(reason)
end

Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией

Первый:
Код
Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil)

Второй:
Код
Expression    : 0
Function      : ErrorLog
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
Line          : 49
Description   : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic'

[/cut]


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


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


Посты, для которых есть свои категории, из этой темы будут удаляться или перемещаться в соответсвующую тему. Персональных извещений в ЛС о переносе\удалении поста не будет, ищите сами. Учитывайте, что в системах Ucoz тема не обновляется в статистике при переносе поста.
Посты, написанные здесь-же после переноса, будут расцениваться как кросспостинг, со всеми вытекающими


[cut noguest=Первый юбилей нашей темы]

Здравствуйте господа модостроители, и все так или иначе причастные к этому.
Нашей теме исполнился 1 год.
От души поздравляю Всех Вас дорогие друзья, творческих успехов.
Хочу так же выразить отдельную благодарность denis2000 и ХОВАН.

tracker 23.06.11



[/cut]
 
sergej5500Дата: Пн, 27.04.2020, 23:07 | Сообщение # 2986
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата term2t ()
Вопрос состоит в том, как одевать сталкеров?


Никак. Понятие костюм относится только к главному герою.

Цитата term2t ()
Гавриленко и так в Экзике. Чтоб во фриплее не умирали.


Нужно править логику. Файл gamedata\configs\scripts\jupiter\jup_b207_depot_logic

Находите секции logic@jup_b207_depot_guard_1, logic@jup_b207_depot_guard_2, logic@jup_b207_depot_guard_3 и logic@jup_b207_depot_guard_4

В них есть секции remark@... и walker@...

В каждую из секций допишите

invulnerable = true

Неписи станут бессмертными.
 
term2tДата: Вт, 28.04.2020, 23:06 | Сообщение # 2987
Гражданский
Пользователи
Сообщений: 12
Награды: 4
Репутация: [ 0 ]

Sergej5500 спасибо за ответ. А можно ли добавить в торговлю с НПС броники? с условием чтобы он одевал. Оружие от Шустрого они покупают и используют. Спасибо .
 
asd123Дата: Ср, 29.04.2020, 00:31 | Сообщение # 2988
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Цитата term2t ()
А можно ли добавить в торговлю с НПС броники? с условием чтобы он одевал.

Торговлю брониками можно. А вот одевать нельзя. Для этого придётся шаманить с логикой(если уникальный НПС) и/или скриптами.


У мутантов тоже есть группировки. © Движок X-Ray


 
denis2000Дата: Ср, 29.04.2020, 08:48 | Сообщение # 2989
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

term2t, "Переодевание" брони НПС реализовано в моде AI Additions для ТЧ.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Rembo-2Дата: Пт, 01.05.2020, 09:33 | Сообщение # 2990
Гражданский
Пользователи
Сообщений: 10
Награды: 0
Репутация: [ 0 ]

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

function actor_binder:on_item_take (obj)
printf("on_item_take [%s]", obj:name())
if isArtefact(obj) then
local anomal_zone = bind_anomaly_zone.parent_zones_by_artefact_id[obj:id()]
if anomal_zone ~= nil then
anomal_zone:on_artefact_take(obj)
else
bind_anomaly_zone.artefact_ways_by_id[obj:id()] = nil
end
local artefact = obj:get_artefact()
artefact:FollowByPath("NULL",0,vector():set(500,500,500))
xr_statistic.inc_founded_artefacts_counter(obj:id())
end
treasure_manager.get_treasure_manager():on_item_take(obj:id())

--/ SGM in
sgm_callbacks.on_item_take(obj)
--/ SGM out
if obj:clsid() == clsid.wpn_ammo_s then
dunin_ammo.on_take(obj)
end

end

----------------------------------------------------------------------------------------
Цитата sergej5500 ()
Rembo-2,

После правки алл.спавн нужно начать новую игру. То есть проходить мод с самого начала.

Это-то само собой.


Сообщение отредактировал Rembo-2 - Пт, 01.05.2020, 11:10
 
denis2000Дата: Пт, 01.05.2020, 16:34 | Сообщение # 2991
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Rembo-2 ()
я правильно добавил?

Нет в sgm_callbacks.on_item_take уже есть эта проверка и вызов соотвествующей функции.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
DragonДата: Вт, 05.05.2020, 12:03 | Сообщение # 2992
Бывалый
Пользователи
Сообщений: 141
Награды: 0
Репутация: [ 21 ]

SGM 2.2 от енота с этого сайта , никаких доп. модов.
Вопрос по прочности бронекостюмов. Все костюмы\бронежелеты изнашиваются от пулевых попаданий , более менее равномерно от разных калибров. Но когда ИИ стреляет в меня из M60 то за короткую очередь 4-6 выстрелов костюм изнашивается сразу на 1\4 своей общей прочности , ещё одна очередь и костюм уже чуть ли не на половину в убитом состоянии. Проблема именно в М60 даже ПКМ того же калибра так броню не рвёт. В чем проблема и где ковырять ?
 
term2tДата: Чт, 07.05.2020, 17:04 | Сообщение # 2993
Гражданский
Пользователи
Сообщений: 12
Награды: 4
Репутация: [ 0 ]

Цитата denis2000 ()
"Переодевание" брони НПС реализовано в моде AI Additions для ТЧ.

у меня зов припяти sgm 2.2 А для него он тоже пойдет?
 
denis2000Дата: Чт, 07.05.2020, 18:39 | Сообщение # 2994
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата term2t ()
А для него он тоже пойдет?

Естественно нет! Нужно адаптировать. Предложенное решение только как образец в каком направлении копать.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Voland-777Дата: Ср, 13.05.2020, 09:43 | Сообщение # 2995
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

term2t, был еще такой модец на ЗП, как Intellectual Marauder, где аналогичное реализовано, можете там посмотреть.
 
Rembo-2Дата: Чт, 14.05.2020, 14:04 | Сообщение # 2996
Гражданский
Пользователи
Сообщений: 10
Награды: 0
Репутация: [ 0 ]

Кто-нибудь знает, как сделать, чтобы НПС чаще кидали гранаты?
Я сталкерам их продаю, но они редко их кидают в бандосов, потом у трупов снова их забираешь.
Я этот мод правлю для себя, поэтому раз 60 уже начинал заново и только один раз увидел, как сталкер швыряет их в бандитов одну за другой - около пяти гранат. Хотелось бы, чтобы НПС чаще их использовали в разборках друг с другом, если они у них есть.
 
denis2000Дата: Чт, 14.05.2020, 18:17 | Сообщение # 2997
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Rembo-2, НПС охотно кидают гранаты если ... они у них есть. Добавьте в инвентарь всем НПС гранаты для получения мода: война гренадеров.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Rembo-2Дата: Пт, 15.05.2020, 00:23 | Сообщение # 2998
Гражданский
Пользователи
Сообщений: 10
Награды: 0
Репутация: [ 0 ]

Я сделал, вроде нормально, только теперь в трупах гранат миллион...
Как сделать, чтобы после смерти НПС гранаты у него исчезали?
В death_items_by_communities, death_items_by_levels и death_items_count у гранат стоит ноль.
И по-ходу это вообще не работает...
С патронами у меня получилось, они есть только в их оружии.
С гранатами уже не прокатывает...


Сообщение отредактировал Rembo-2 - Пт, 15.05.2020, 00:27
 
denis2000Дата: Пт, 15.05.2020, 08:28 | Сообщение # 2999
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Rembo-2 ()
И по-ходу это вообще не работает...

Ну еще бы!!! Трупы гранаты не кидают. Добавляйте живым. Файлы character_desc_***.xml


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Rembo-2Дата: Пт, 15.05.2020, 09:38 | Сообщение # 3000
Гражданский
Пользователи
Сообщений: 10
Награды: 0
Репутация: [ 0 ]

Я видимо не совсем понятно написал.
Гранатами они кидаются, с этим теперь все в порядке, летят одна за другой (выдал по 1, 3 и 5 гранат).
Я их убиваю и уже в их трупах гранаты оставшиеся как убрать?
Чтобы у меня не было сотен гранат.
----------------------------------------------------------------------------------
Всё,разобрался.
Надо было в файле xr_corpse_detection сделать lootable_table["grenade_f1"] = false

Добавлено (18.05.2020, 12:10)
---------------------------------------------
Не подскажете?
Я пытаюсь на болотах сделать много отрядов бандитов, чтобы поинтересней стало играть, но у меня не получается, вроде насчитал где-то 5.
Хочу, чтобы по всем задачам на болотах появлялись шляющиеся бандиты, но никак, вроде сделал отряды животных бандитами, все-равно нет.
В смартах поставил по разному, но все по 2:
spawn_num = {mar_storyline_done =check_actor_rank(120)} 2, 0
spawn_num = 2

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


Сообщение отредактировал Rembo-2 - Вт, 19.05.2020, 14:04
 
Поиск: