|
Модостроение. Конфигурационные файлы
|
|
| denis2000 | Дата: Пн, 10.10.2011, 21:14 | Сообщение # 1 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Конфигурационные файлы
Редактирование параметров конфигурации, создание новых конфигураций
Если у вас появились вопросы по редактированию характеристик оружия, брони, отношения группировок в игре. Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (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 по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| Aleksn09 | Дата: Сб, 16.06.2018, 13:10 | Сообщение # 691 |
 Шаман Sigerous
Ночной Админ
Сообщений: 1339
| Цитата Policai (  ) Не...вычленить что то из этого месива для меня нереально..((((
Да тебе и не надо вычленять. У тебя уже все есть и логика для НПС, а точнее для эксклюзивной работы на смарте и название рестриктора. Точнее их два: red_bridge_bandit_restr рестриктор который будет на стороне бандитов и red_coast_restr на стороне где будет ГГ, а размер понятное дело будет зависеть от того, где НПС будет видеть ГГ.
Что ждет тебя Сталкер, в Зоне, которая изменилась?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Aleksn09 за это полезное сообщение: |
|
|
| Policai | Дата: Пт, 22.06.2018, 09:39 | Сообщение # 692 |
 Ветеран
Разработчики
Сообщений: 421
| Aleksn09,
О... Вот это уже более понятнее стало. Спасибо.
Добавлено (22.06.2018, 08:36) --------------------------------------------- Народ! Незнаю как сформулировать вопрос понятнее, так что не пинайте. При создании переходов я использовал значки обозначения переходов: level_changer_up, level_changer_right, ну и так далее. Я так понял значки берутся из общей текстуры по координатам. Координаты расписаны в файле map_spots Подскажите как мне найти названия и координаты значков из текстуры ui_actor_sleep_screen Конкретно нужны 4 значка

Добавлено (22.06.2018, 09:39) --------------------------------------------- Нашёл названия и координаты в конфигах.
<texture id="ui_inGame2_Detector_icon_electro_big" x="0" y="532" width="34" height="34" /> <texture id="ui_inGame2_Detector_icon_fire_big" x="35" y="532" width="34" height="34" /> <texture id="ui_inGame2_Detector_icon_acid_big" x="70" y="532" width="34" height="34" /> <texture id="ui_inGame2_Detector_icon_gravity_big" x="105" y="532" width="34" height="34" />
Но в скриптах их нет. Как я понимаю чтоб использовать эти значки в пда мне нужно создавать новую секцию в pda.script и создавать отдельный скрипт для обозначения этих значков на подобии map_spots?
Сообщение отредактировал Policai - Пт, 22.06.2018, 09:41 |
| |
|
| Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
| sergej5500 | Дата: Пт, 22.06.2018, 19:07 | Сообщение # 693 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Policai (  ) Но в скриптах их нет. Как я понимаю чтоб использовать эти значки в пда мне нужно создавать новую секцию
Эти текстуры используются для детекторов артефактов. Файл ui_detector_artefact.
Цитата Policai (  ) Как я понимаю чтоб использовать эти значки в пда мне нужно создавать новую секцию в
Если именно эти текстуры нужны для других целей, то можно создать секции в ui_map_spots и ui_map_spots_16.
Примерно такие.
<level_changer_1> <level_map spot="level_changer_1_spot" pointer="quest_pointer"/> <mini_map spot="level_changer_1_spot_mini"/> </level_changer_1> <level_changer_1_spot width="20" height="20" alignment="c" stretch="1"> <texture>ui_inGame2_PDA_icon_level_changer_1</texture> </level_changer_1_spot> <level_changer_1_spot_mini width="17" height="17" alignment="c" stretch="1"> <texture>ui_inGame2_PDA_icon_level_changer_1</texture> </level_changer_1_spot_mini>
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| Policai | Дата: Пн, 25.06.2018, 08:39 | Сообщение # 694 |
 Ветеран
Разработчики
Сообщений: 421
| sergej5500, Этим сейчас и занимаюсь, только чуть по другому. Сделал новые значки. на миникарте всё отлично обозначается а на глобалке квадрат тёмный, и никак не могу разобраться где накосячил...Завтра разберусь на свежую голову. Делаю для обозначения аномальных зон.Добавлено (23.06.2018, 12:41) --------------------------------------------- А где ещё помимо ui_map_spots и ui_map_spots_16 регистрируются иконки? Где то точно но найти не могу. Сделал новые иконки в текстуре ui_common. в ней находится текстура переходов между локациями. По аналогии секции такие же как переходы, зарегестрировал свои иконки в файле ui_common.xml , прописал и в ui_map_spots и ui_map_spots_16. Всё должно работать, ан нет, маленькая иконка на миникарте всё отлично, большая на глобалке просто тёмный квадратик. Координаты всё верно, вписываю любой значёк из уже бывших на текстуре ранее, без проблем работает на глобалке а новые никак. Альфа всё нормально сделана, где то ещё регистрируются а найти не могу. Добавлено (23.06.2018, 15:45) --------------------------------------------- Вопрос снят. Из серии сам дурак. Игру запускал из одной папки а файл в редактире правил из другой. Добавлено (25.06.2018, 08:39) --------------------------------------------- Народ! Существует работа для вейпоинта молящийся монолитовец?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
| Aleksn09 | Дата: Пн, 25.06.2018, 19:16 | Сообщение # 695 |
 Шаман Sigerous
Ночной Админ
Сообщений: 1339
| Цитата Policai (  ) Народ! Существует работа для вейпоинта молящийся монолитовец? Привет! Да, есть две анимки: trans_0 и trans_1.
Что ждет тебя Сталкер, в Зоне, которая изменилась?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Aleksn09 за это полезное сообщение: |
|
|
| Policai | Дата: Чт, 05.07.2018, 11:37 | Сообщение # 696 |
 Ветеран
Разработчики
Сообщений: 421
| Ага, спасибо, уже скинули..))) Добавлено (05.07.2018, 11:37) --------------------------------------------- Народ! Как увеличить расстояние для разговора? Рядышком с техником стою, разговаривает нормально, а когда сидит за столом, через стол диалог не включается.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
| Aleksn09 | Дата: Чт, 05.07.2018, 13:07 | Сообщение # 697 |
 Шаман Sigerous
Ночной Админ
Сообщений: 1339
| Policai, возможно параметр far_distance в схеме meet, но это не точно.
Что ждет тебя Сталкер, в Зоне, которая изменилась?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Aleksn09 за это полезное сообщение: |
|
|
| Policai | Дата: Пн, 09.07.2018, 14:22 | Сообщение # 698 |
 Ветеран
Разработчики
Сообщений: 421
| Цитата Aleksn09 (  ) возможно параметр far_distance в схеме meet, но это не точно.
Тоже логически предположил так же, ставил и 0 и 3 ничего не меняется...
Вот вся логика:
[cut noguest=Тыц][logic@esc_kpp_tehnic] suitable = {=check_npc_name(esc_kpp_tehnic)} prior = 200 level_spot = mechanic active = animpoint@tehnic
[animpoint@tehnic] cover_name = esc_kpp_animpoint_tehnic avail_animpoints = animpoint_sit_normal combat_ignore_cond = false combat_ignore = false combat_ignore_keep_when_attacked = false meet = meet
[meet] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 3 close_snd_distance = 3 use = {=actor_enemy} false, true allow_break = false meet_on_talking = false[/cut]
Добавлено (09.07.2018, 14:22) --------------------------------------------- Народ! Не могу выдать поршень на стартовый диалог начала игры. Подскажите как правильно составить, автосейв срабатывает а поршень ни в какую.
[cut noguest=Логика][logic] active = sr_idle@game_start
[sr_idle@game_start] on_info = {=actor_on_level(escape)} sr_idle@game_start_2 %=damage_actor_items_on_start%
[sr_idle@game_start_2] on_info = sr_idle@timer %+esc_kpp_game_start =scenario_autosave(st_save_start_escape)%
[sr_idle@timer] on_game_timer = 3000 | %+esc_kpp_simulation_start% on_info = {+esc_kpp_skriagin_conversation}
[sr_idle@nil][/cut]
Сообщение отредактировал Policai - Пн, 09.07.2018, 14:23 |
| |
|
| Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
| sergej5500 | Дата: Пн, 09.07.2018, 16:28 | Сообщение # 699 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Policai (  ) Подскажите как правильно составить, автосейв срабатывает а поршень ни в какую.
Какой именно поршень нужно выдать? Их тут два.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| Policai | Дата: Пн, 09.07.2018, 16:47 | Сообщение # 700 |
 Ветеран
Разработчики
Сообщений: 421
| esc_kpp_skriagin_conversation Это начало игры, разговор с начальником базы.
Добавлено (09.07.2018, 16:38) --------------------------------------------- И ещё меня смущает, что когда появляюсь на локе начиная новую игру, появляется сообщение " Теперь можно достать оружие", как будто я вышел из зоны no_weapon, это давно уже и не знаю почему, может так и должно раз на локе есть такие спейсы, но они далеко от места старта. Глюков и вылетов нет я и не обращал на него внимание.
Добавлено (09.07.2018, 16:47) --------------------------------------------- configs\misc\
[cut noguest=tm_escape.ltx][esc_kpp_talk_skriagin]; Разговор с начальником базы icon = ui_inGame2_Karti_mestnosti prior = 111 storyline = false title = esc_kpp_talk_skriagin_name descr = esc_kpp_talk_skriagin_text target = esc_kpp_colonel_skriagin condlist_0 = {+esc_kpp_skriagin_conversation} complete[/cut]
configs\gameplay
[cut noguest=dialogs_escape.xml]<dialog id="esc_kpp_talk_skriagin"> <phrase_list> <phrase id="0"> <text>esc_kpp_talk_skriagin_0</text> <give_info>esc_kpp_skriagin_conversation</give_info> <next>1</next> </phrase> <phrase id="1"> <text>esc_kpp_talk_skriagin_1</text> <next>2</next> </phrase> <phrase id="2"> <text>esc_kpp_talk_skriagin_2</text> <next>3</next> </phrase> <phrase id="3"> <text>esc_kpp_talk_skriagin_3</text> <next>4</next> </phrase> <phrase id="4"> <text>esc_kpp_talk_skriagin_4</text> <next>5</next> </phrase> <phrase id="5"> <text>esc_kpp_talk_skriagin_5</text> <give_info>esc_kpp_skriagin_stop</give_info> </phrase> </phrase_list> </dialog>[/cut]
[cut noguest=info_escape]<game_information_portions> <info_portion id="esc_kpp_skriagin_conversation"></info_portion> <info_portion id="esc_kpp_skriagin_stop"></info_portion> </game_information_portions>[/cut]
[cut noguest=character_desc_escape.xml]<!-- Начальник базы "Скрягин" -->
<specific_character id="esc_kpp_colonel_skriagin" team_default = "1"> <name>esc_kpp_colonel_skriagin_name</name> <icon>ui_inGame2_Kovalskiy</icon> <map_icon x="1" y="0"> </map_icon> <bio>ќпытный сталкер. ƒетальна¤ информаци¤ отсутствует.</bio> <class>esc_kpp_colonel_skriagin</class> <community>army</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_02\military\</snd_config> <rank>75</rank> <reputation>0</reputation> <visual>actors\stalker_soldier\stalker_soldier_3_face_1</visual> <supplies>
[spawn] \n wpn_fort \n wpn_groza \n ammo_9x18_pmm = 1 \n ammo_9x39_ap = 1 \n grenade_f1 = 2 \n hand_radio \n wpn_binoc = 1 \n
#include "gameplay\character_food_army.xml" #include "gameplay\character_drugs_2.xml" #include "gameplay\character_drugs_mil.xml" </supplies> #include "gameplay\character_criticals_4.xml"
<start_dialog>esc_kpp_talk_skriagin</start_dialog> <actor_dialog>actor_break_dialog</actor_dialog>[/cut]
[cut noguest=xr_effects.script]function zat_a1_tutorial_end_give() task_manager.get_task_manager():give_task("esc_kpp_talk_skriagin") end[/cut]
Может где что ещё забыл... Всё в новинку, только осваиваю...
Сообщение отредактировал Policai - Пн, 09.07.2018, 17:54 |
| |
|
| Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
| sergej5500 | Дата: Пн, 09.07.2018, 16:48 | Сообщение # 701 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Policai (  ) on_info = {+esc_kpp_skriagin_conversation}
Если исходить из логики, то этот поршень не выдаётся нигде. Строка означает, что если поршень есть, то нужно что то сделать. Причем это что то не дописано.
Что бы поршень выдавался, нужно писать что то типа.
on_game_timer = 3000 | %+esc_kpp_simulation_start +esc_kpp_skriagin_conversation% on_info = {+esc_kpp_skriagin_conversation} sr_idle@nil
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| Policai | Дата: Пн, 09.07.2018, 16:58 | Сообщение # 702 |
 Ветеран
Разработчики
Сообщений: 421
| Цитата sergej5500 (  ) on_game_timer = 3000 | %+esc_kpp_simulation_start +esc_kpp_skriagin_conversation% on_info = {+esc_kpp_skriagin_conversation} sr_idle@nil
Попробовал. Не появляется задание всё равно, но сейчас появился вылет в начале разговора со скрягиным, вылетов небыло до этого
FATAL ERROR
[error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ....k.e.r. - call of pripyat\gamedata\scripts\_g.script:505: bad argument #2 to 'format' (string expected, got no value)
stack trace:
-- Крешнуть игру (после вывода сообщения об ошибке в лог) function abort(fmt, ...) -- local reason = string.format(fmt, ...) printf("ERROR! : "..fmt, ...) string.format("%s") ------------- 505 строка end
Я так понимаю после первой фразы у меня стоит поршень что задание выполнено и в этот момент вылет, то есть сработало на выполнение задачи которую не выдало.
Сообщение отредактировал Policai - Пн, 09.07.2018, 17:03 |
| |
|
| Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
| sergej5500 | Дата: Пн, 09.07.2018, 17:14 | Сообщение # 703 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Policai (  ) Не появляется задание всё равно
Чтобы задание появилось, его нужно как то выдать. Если уж поршень esc_kpp_skriagin_conversation выдается в диалоге, то можно написать так.
on_game_timer = 3000 | %+esc_kpp_simulation_start =zat_a1_tutorial_end_give% on_info = {+esc_kpp_skriagin_conversation} sr_idle@nil
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| Policai | Дата: Пн, 09.07.2018, 17:19 | Сообщение # 704 |
 Ветеран
Разработчики
Сообщений: 421
| Он должен выдаваться при первом появлении на локации, и закрываться после начала разговора.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
| sergej5500 | Дата: Пн, 09.07.2018, 17:35 | Сообщение # 705 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Policai (  ) Он должен выдаваться при первом появлении на локации, и закрываться после начала разговора.
Если вы напишете логику, как я предлагал, то квест будет выдан через несколько секунд после стартового сейва.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
|