Модостроение. Конфигурационные файлы
|
|
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 за это полезное сообщение: |
|
|
Policai | Дата: Вт, 10.07.2018, 06:10 | Сообщение # 721 |
Ветеран
Разработчики
Сообщений: 421
| [cut noguest=character_desc_escape] <!-- Начальник базы "Скрягин" -->
<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>
<start_dialog>esc_kpp_talk_skriagin</start_dialog> <actor_dialog>actor_break_dialog</actor_dialog>
#include "gameplay\character_criticals_4.xml" </specific_character> [/cut]
[cut noguest=esc_kpp_colonel_skriagin] [logic@esc_kpp_colonel_skriagin] suitable = {=check_npc_name(esc_kpp_colonel_skriagin)} prior = 200 level_spot = guider active = animpoint@colonel_skriagin
[animpoint@colonel_skriagin] cover_name = esc_kpp_animpoint_colonel_skriagin 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 = 0 close_snd_distance = 3 use = {=actor_enemy} false, true allow_break = false meet_on_talking = false[/cut]
[cut noguest=squad_descr_escape] [esc_kpp_colonel_skriagin_squad]:online_offline_group faction = army npc = esc_kpp_colonel_skriagin target_smart = esc_kpp spawn_point = esc_kpp_colonel_skriagin_spawn story_id = esc_kpp_colonel_skriagin_squad[/cut]
[cut noguest=dialogs_escape] <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=npc_profile] <character id="esc_kpp_colonel_skriagin"> <class>esc_kpp_colonel_skriagin</class> </character>[/cut]
[cut noguest=tm_escape][esc_kpp_talk_skriagin]; Разговор с начальником базы icon = ui_inGame2_Karti_mestnosti prior = 112 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]
[cut noguest=st_quests_escape]<string_table> <string id="esc_kpp_talk_skriagin_name"> <text>Встретиться с начальником базы.</text> </string> <string id="esc_kpp_talk_skriagin_text"> <text>Поговорить с полковником Скрягиным</text> </string> </string_table>[/cut]
[cut noguest=xr_effects]function zat_a1_tutorial_end_give() task_manager.get_task_manager():give_task("esc_kpp_talk_skriagin") end[/cut]
[cut noguest=SDK][/cut]
Сообщение отредактировал Policai - Вт, 10.07.2018, 09:31 |
|
|
Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
sergej5500 | Дата: Вт, 10.07.2018, 09:20 | Сообщение # 722 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Policai,
Нужна ещё логика рестриктора.
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Policai | Дата: Вт, 10.07.2018, 09:32 | Сообщение # 723 |
Ветеран
Разработчики
Сообщений: 421
| Какого? так то тут на базе рестрикторы без логики.
Сообщение отредактировал Policai - Вт, 10.07.2018, 09:34 |
|
|
Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
sergej5500 | Дата: Вт, 10.07.2018, 09:41 | Сообщение # 724 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата sergej5500 ( ) Какого? так то тут на базе рестрикторы без логики.
Тогда каким образом вы выдаете квест?
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Policai | Дата: Вт, 10.07.2018, 09:48 | Сообщение # 725 |
Ветеран
Разработчики
Сообщений: 421
| Это начало игры, скриптом
function zat_a1_tutorial_end_give() task_manager.get_task_manager():give_task("esc_kpp_talk_skriagin") end
Говорю же делал это начало по уроку, там всё работает, показано наглядно.
Сообщение отредактировал Policai - Вт, 10.07.2018, 09:50 |
|
|
Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
sergej5500 | Дата: Вт, 10.07.2018, 09:56 | Сообщение # 726 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Policai ( ) function zat_a1_tutorial_end_give() task_manager.get_task_manager():give_task("esc_kpp_talk_skriagin") end
Как вызывается эта функция?
Цитата Policai ( ) Говорю же делал это начало по уроку, там всё работает, показано наглядно.
О каком уроке речь?
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Policai | Дата: Вт, 10.07.2018, 10:00 | Сообщение # 727 |
Ветеран
Разработчики
Сообщений: 421
| https://www.youtube.com/watch?v=o50fkQRhPXo
|
|
|
Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
sergej5500 | Дата: Вт, 10.07.2018, 10:38 | Сообщение # 728 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Policai,
Посмотрел ролик. Не понял, как автор запускает квест. В вашем случае это функция
function zat_a1_tutorial_end_give() task_manager.get_task_manager():give_task("esc_kpp_talk_skriagin") end
Функция может вызываться из диалога или рестриктора. Как сделал автор ролика, не видно.
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Policai | Дата: Вт, 10.07.2018, 12:51 | Сообщение # 729 |
Ветеран
Разработчики
Сообщений: 421
| Да... Вот я и заблудился. Беру отдых на денёк, накосорезил уже так что и просто в диалогах сейчас вылетает... Надо восстановить первоночальное потом буду дальше думать как реализовать. Спасибо за помощь. Если не сложно поясни на пальцах как мне запустить эту цепочку из спейса, поставить убрать спейс, прописать в нём логику секундное дело, так как всё делаю в сдк. Даже геометрию перекомпилить тот же кордон на максималке 3 часа уходит, а уж спавн пересобрать секунды.
|
|
|
Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
sergej5500 | Дата: Вт, 10.07.2018, 13:37 | Сообщение # 730 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Policai ( ) Если не сложно поясни на пальцах как мне запустить эту цепочку из спейса
Например, так.
[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 =zat_a1_tutorial_end_give% on_info = {+esc_kpp_simulation_start} sr_idle@nil
[sr_idle@nil]
Если все сделать правильно, то задание будет выдано.
Сообщение отредактировал sergej5500 - Вт, 10.07.2018, 13:37 |
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Policai | Дата: Вт, 10.07.2018, 13:59 | Сообщение # 731 |
Ветеран
Разработчики
Сообщений: 421
| Сергей! Я удалил файлы которые нагородил по этому видео, сейчас у меня нет файла xr_effects.script, тоесть функция =zat_a1_tutorial_end_give% уже не нужна. xr_effects.script цепляется из оригинальной игры.
Сообщение отредактировал Policai - Вт, 10.07.2018, 14:18 |
|
|
Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
sergej5500 | Дата: Вт, 10.07.2018, 14:33 | Сообщение # 732 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Policai ( ) xr_effects.script цепляется из оригинальной игры.
Тогда можно применить функцию give_task.
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Policai | Дата: Сб, 14.07.2018, 15:33 | Сообщение # 733 |
Ветеран
Разработчики
Сообщений: 421
| Народ! Если путь НПС проложить через дверь будет ли он её открывать? или будет проходить сквозь неё?
|
|
|
Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|
Aleksn09 | Дата: Сб, 14.07.2018, 19:25 | Сообщение # 734 |
Шаман Sigerous
Ночной Админ
Сообщений: 1333
| Policai, упрется в нее и будет биться об нее. Надо как в ЗП делать рестриктор проверяющий НПС в нем и открывающий двери.
Что ждет тебя Сталкер, в Зоне, которая изменилась?
|
|
|
Эти 0 пользователя(ей) поблагодарили Aleksn09 за это полезное сообщение: |
|
|
Policai | Дата: Сб, 14.07.2018, 19:36 | Сообщение # 735 |
Ветеран
Разработчики
Сообщений: 421
| Понятно, я так и предположил что надо в логику вводить.. жаль. Пока не знаю как, буду искать мануалы. Пока рассаживаю эксклюзивов... Глянуть как реализовано на скадовске или янове и вычислять алгоритм. Функция то нужна пока только для болотного доктора, там у меня на болотах 2 строения между которыми он перемещается переодически.
|
|
|
Эти 0 пользователя(ей) поблагодарили Policai за это полезное сообщение: |
|
|