|
Модостроение. Общие вопросы и ответы
|
|
| denis2000 | Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Помощь тем кто хочет знать больше о игре и модах Если у вас появились вопросы по модостроению в игре 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]
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| denis2000 | Дата: Пн, 30.03.2015, 00:19 | Сообщение # 1261 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| DJRain, 1. Для того чтобы сработал параметр activation_time, нужно для начала отредактировать скрипты, которые будут выполнять требуемые действия при наличии его в конфиге предмета. Для этого придется перенести правки из SGM2.2. 2. Отредактируйте файл sgm_treasure.script, там все довольно понятно расписано. 3. Тут подробнее, в SGM добавлено много НПС которые спавнятся по разному и соответсвенно требуется разные действия для регулировки спавна. 4. Редактируйте sgm_dialogs.script, после строки /Селекция: функции/
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| DJRain | Дата: Пн, 30.03.2015, 16:51 | Сообщение # 1262 |
|
Гражданский
Пользователи
Сообщений: 15
| Благодарю за быстрый ответ. Меняю арт на противогаз в SGM-тайнике (sgm_treasure.script) - получаю вылет при НИ. Также в этом скрипте прописан только один предмет в тайнике, а на деле там лежат несколько, причем они не указанны в файле. Далее, меня интересует не запрет на спавн сквадов (хотя именно это и нужно :), а замедление его быстрой переодичности; например в ТЧ меняя "смс идле тайм первое число, второе число..." спавн становиться реже - как добиться того же в СГМ'е? И еще в моде спавняться дополнительные персы (снайпер с абаканом на Земноснаряде, сталкер подыхающий от химеры возле самого Скадовска), где найти какие предметы прописаны этим нпс и как заменить им оружие? Я, конечно, не любитель ковыряться в файлах - просто очень интересно играть в данный мод, и хочется новых впечатлений от него, в частности хардкора. А так как подобных сборок на СГМ 1.7 нет (я не учитываю сборку от Албора), приходиться химичить самому. Благо есть "шпаргалка от АМК" и другие "помошники", да только в них нет того, что мне нужно.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили DJRain за это полезное сообщение: |
|
|
| denis2000 | Дата: Вт, 31.03.2015, 13:27 | Сообщение # 1263 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата DJRain (  ) Меняю арт на противогаз в SGM-тайнике (sgm_treasure.script) - получаю вылет при НИ Что меняли, какой вылет получили? Цитата DJRain (  ) Далее, меня интересует не запрет на спавн сквадов (хотя именно это и нужно :), а замедление его быстрой переодичности Еще раз повторяю: Конкретно какого именно сквада? Цитата DJRain (  ) снайпер с абаканом на Земноснаряде Например он: zat_vobla_protection_sniper, его оружие в файле character_desc_sgm.xml: Код <specific_character id="zat_vobla_protection_sniper" team_default="1"> <name>GENERATE_NAME_stalker</name> <icon>ui_inGame2_neutral_2</icon> <map_icon x="1" y="0"> </map_icon> <bio></bio> <class>zat_vobla_protection_sniper</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\stalker\</snd_config> <rank>130</rank> <reputation>0</reputation> <money min="5000" max="10300" infinitive="0" /> <visual>actors\stalker_neutral\stalker_neutral_2</visual> <supplies> [spawn] \n device_torch \n wpn_abakan_m1 = 1, scope \n ammo_5.45x39_ap \n wpn_hpsa \n ammo_9x19_fmj = 1 \n #include "gameplay\character_items_nd.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> <actor_dialog>about_story_dialog</actor_dialog> <actor_dialog>actor_break_dialog</actor_dialog> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> Конкретно: Код [spawn] \n device_torch \n wpn_abakan_m1 = 1, scope \n ammo_5.45x39_ap \n wpn_hpsa \n ammo_9x19_fmj = 1 \n
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| DJRain | Дата: Вт, 31.03.2015, 16:47 | Сообщение # 1264 |
|
Гражданский
Пользователи
Сообщений: 15
| 1. По замене содержимого сгм-тайников: нашел, где исправлять список предметов, только там прописан один предмет, а по факту там лежат ещё всякие пожитки (походу спавнятся рандомно?). А вот где эта рандомность прописана не пойму. Изменения при этом вступят в силу только после НИ? 2. Какой именно сквад? Да все). Вроде нашел файлы squad_descr.ltx и squad_descr_sgm.ltx и исправил npc_random = sim_default_stalker_0 (остальных удалил) и npc_in_squad = 2, 3 заменил на 1, 1. Людей поменьше стало, но всеравно они часто респавнятся. 3. По предметам у нпс вроде разобрался - менять надо в character_desc_sgm.xml, а предметы обычных нпс (собираемый в процессе игры лут) там же лежит? 4. Уменьшил переносимый вес (ну это гегко), а в моде еще есть плюшка "каждый костюм позволяет переносить свой вес". Так вот, подправил значит файлы outfit.ltx и SGM_descr_outfit.xml, а при заходе в игру дополнительный носимый вес костюма изменился, а вот в описании всеравно показываются остались старые данные. 5. В моде есть сок и пиво, а как к ним прописать уталение жажды и ввести потребность в жажде? Это есть в АРС моде, и в ПостПроцесс Моде, а как сделать в СГМ? 6. В СГМ 2.1 есть "отравление токсинами" - как это перенести в 1.7? 7. Как перенести из сборки Албора в СГМ 1.7 "техники не чинят сильно поврежденные вещи"?
На этом пока все.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили DJRain за это полезное сообщение: |
|
|
| sergej5500 | Дата: Вт, 31.03.2015, 19:43 | Сообщение # 1265 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата DJRain (  ) только там прописан один предмет, а по факту там лежат ещё всякие пожитки (походу спавнятся рандомно?). А вот где эта рандомность прописана не пойму.
СГМ-тайник заполняется при помощи двух файлов. 1. gamedata\configs\misc\config_secrets. Тут прописаны предметы, постоянно находящиеся в тайнике. 2. gamedata\scripts\sgm_place. Функции bonus_rank_1_items, bonus_rank_2_items и т.д. В строках типа fill_random_item(0.09,set_booty_1,parent_id) указана вероятность спавна предмета из таблицы set_booty_1. Сама таблица вверху файла. set_booty_1={"mutant_snork_booty","mutant_psevdodog_booty","mutant_krovosos_booty","mutant_boar_booty", "mutant_dog_booty","mutant_flesh_boot y"} Ну и т.д.
Цитата DJRain (  ) Изменения при этом вступят в силу только после НИ? Да. Требуется новая игра.
Цитата DJRain (  ) (собираемый в процессе игры лут) там же лежит?
Смотрите файлы gamedata\configs\misc\death_items_by_communities, death_items_by_levels, death_items_count. После смерти непися его инвентарь очищается и туда рандомно спанится набор хабара из этих файлов.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| alex_xp_77 | Дата: Вт, 31.03.2015, 19:52 | Сообщение # 1266 |
|
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Доброго дня подскажите кто знает как создать совершенно новый артефакт( кроме работы в три дс максе) , какие нужно менять файлы, и как сделать новую иконку в самой игре, что бы отображался в рюкзаке?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Вт, 31.03.2015, 20:23 | Сообщение # 1267 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата alex_xp_77 (  ) подскажите кто знает как создать совершенно новый артефакт
Есть урок по этой теме.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| DJRain | Дата: Вт, 31.03.2015, 20:30 | Сообщение # 1268 |
|
Гражданский
Пользователи
Сообщений: 15
| sergej5500, gamedata\configs\misc\config_secrets - такого вообще нет, а есть в sgm_treasure.script, в котором прописано set_detectors_1, set_artefacts_3 и т.д. (это рандомные предметы), а ниже - secrets_2 = {model = math.random(1,3), grant_items = "ammo_9x39_pab9" (это постоянно лежащие предметы). Меняя рандомные предметы и вероятность их спавна (я просто заменил if math.random(5)<=prob*5 then) все шло норм, а как только поменял постоянные предметы сразу вылет: [cut noguest]Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ... - call of pripyat\gamedata\scripts\sgm_world.script:39: attempt to index global 'sgm_treasure' (a nil value)[/cut]
А communities, levels, count - можете пояснить что это?
Сообщение отредактировал DJRain - Вт, 31.03.2015, 20:41 |
| |
|
| Эти 0 пользователя(ей) поблагодарили DJRain за это полезное сообщение: |
|
|
| sergej5500 | Дата: Вт, 31.03.2015, 20:40 | Сообщение # 1269 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| DJRain,
Судя по логу, ошибка в sgm_treasure. Выложите весь файл.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| DJRain | Дата: Вт, 31.03.2015, 20:45 | Сообщение # 1270 |
|
Гражданский
Пользователи
Сообщений: 15
| Знал бы я как)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили DJRain за это полезное сообщение: |
|
|
| sergej5500 | Дата: Вт, 31.03.2015, 21:01 | Сообщение # 1271 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| DJRain,
Покажите код файла. Под спойлером.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| denis2000 | Дата: Ср, 01.04.2015, 09:33 | Сообщение # 1272 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| ACER_M5811, Если играете в солянку, то наберите Description своей ошибки в поисковике и найдете массу ответов и способов лечения.
Цитата DJRain (  ) 2. Какой именно сквад? Да все). Попробуй изменить smart_terrain.script константа RESPAWN_IDLE
Цитата DJRain (  ) 4. Уменьшил переносимый вес (ну это гегко), а в моде еще есть плюшка "каждый костюм позволяет переносить свой вес". Так вот, подправил значит файлы outfit.ltx и SGM_descr_outfit.xml, а при заходе в игру дополнительный носимый вес костюма изменился, а вот в описании всеравно показываются остались старые данные. Секции в файлах outfit.ltx и sgm_outfits.ltx описания в st_items_outfit.xml и SGM_descr_outfit.xml. Смотрите внимательнее, что и где меняете можно перепутать.
Цитата DJRain (  ) 5. В моде есть сок и пиво, а как к ним прописать уталение жажды и ввести потребность в жажде? Это есть в АРС моде, и в ПостПроцесс Моде, а как сделать в СГМ? Перенести соответствующие правки из APC в SGM. Как сделать - общего рецепта нет и быть не может, адаптация модов процесс не тривиальный и иногда творческий и для этого нужно быть опытным модостроителем. Все модостроители так начинают, смотрят как сделано у других переносят или перерабатывают под свои нужды.
Фактически жажда делается так: В некои скрипте еть переменная обозначающая уровень жажды ГГ, при сохранеии игры ее значение также требуется сохранить (bind_stalker.actor_binder:save), а при загрузке восстановить (bind_stalker.actor_binder:load), данный скрипт анализирует колбеки на использование ГГ предметов (bind_stalker.actor_binder:use_inventory_item) и изменяет уровень переменной в зависимости от характеристик предмета влияющих на жажду (вода снижает уровнь, маслины повыщают например), так же в скрипте учитывается потоянное повышение жажды со временем с учетом сна и "мгновенных" перемещений (bind_stalker.actor_binder:update), скрипт должен сообщать через специальный индикатор пороги жажды и менять характеристики ГГ в зависимости от них (например снижать уровень силы в случае высокого уровня жажды)
Цитата DJRain (  ) 6. В СГМ 2.1 есть "отравление токсинами" - как это перенести в 1.7? Смотри пункт 5. Та же жажда только с некоторыми оговорками.
Цитата DJRain (  ) 7. Как перенести из сборки Албора в СГМ 1.7 "техники не чинят сильно поврежденные вещи"? Смотри пункт 5. Минимальное состояние стволов которые чинят механники задается переменной bad_cond в секции механника, значит в скриптах ищи где эта переменная анализируется и как влияет на процесс.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| DJRain | Дата: Ср, 01.04.2015, 17:15 | Сообщение # 1273 |
|
Гражданский
Пользователи
Сообщений: 15
| denis2000, меняю в outfit.ltx в секции -КОСТЮМ НЕЙТРАЛЬНОГО СТАЛКЕРА- additional_inventory_weight = 0 additional_inventory_weight2 = 0, а в st_items_outfit.xml в секции stalker_outfit_description [default]Мин. переносимый вес = 35 кг\n%c[255,238,153,26]• %c[default]Макс. переносимый вес = 40 кг\n%. Захожу в игру, а в описании костюма все равно всплывает 50/60.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили DJRain за это полезное сообщение: |
|
|
| sergej5500 | Дата: Ср, 01.04.2015, 19:08 | Сообщение # 1274 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата DJRain (  ) Захожу в игру, а в описании костюма все равно всплывает 50/60.
Скрины можете выложить?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| asd123 | Дата: Ср, 01.04.2015, 19:58 | Сообщение # 1275 |
 Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| DJRain, а Вы точно тот текстовый файл исправляли? У Вас костюм не даёт дополнительного веса (всё по нулям), поэтому Вы увидите стандартный максимальный переносимый вес в размере 60 кг. Собственно, вот так в тексте должна выглядеть строка(в тексте она без переноса) с описанием костюма (в Вашем случае нейтрального сталкера) Код <string id="stalker_outfit_description"> <text>%c[default]Характеристики переноса:\n%c[255,238,153,26]• %c[default]Мин. переносимый вес = 55 кг\n%c[255,238,153,26]• %c[default]Макс. переносимый вес = 65 кг\n%c[255,238,153,26]• %c[default]Контейнеров для артефактов = 2\n%c[default]Характеристики защиты:\n%c[255,238,153,26]• %c[default]Пулестойкость = 10%\n%c[default]Производимый народными умельцами комбинезон сталкера представляет собой сочетание двухслойной прорезиненной ткани с плексигласовой прокладкой и встроенного бронежилета. Несмотря на то, что бронежилет пробивается даже пистолетной пулей, костюм очень распространён из-за дешевизны и широких возможностей для улучшения. Оснащён встроенными контейнерами для артефактов.</text> </string> p.s. пожалуйста, старайтесь писать грамотно.
Добавлено (01.04.2015, 19:58) --------------------------------------------- Кстати, по поводу описания костюма. А можно ли подставить в описании костюма в строке "макс. переносимый вес" какой-нибуть скрипт, чтобы тот считывал изменения костюма. Например: я поставлю апгрейд на увеличение макс. веса при помощи костюма, и после этой манипуляции у костюма в описании сразу же изменится число в строке максимального веса. И, если это возможно, то можно ли развить скрипт до такой степени, чтобы он начислял дополнительный вес на костюм благодаря артефактам на поясе, которые придают дополнительный вес(Золотая рыбка, Грави и т.д.)
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Ср, 01.04.2015, 20:00 |
| |
|
| Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
|