Модостроение. Общие вопросы и ответы
|
|
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 | Дата: Чт, 01.01.2015, 17:47 | Сообщение # 961 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Сахар ( ) Прописал вертушки врагом ГГ, а вертолёт всё равно летает по патрульным путям и стреляет в меня только если я нахожусь на пути его следования и то даже если я нахожусь в «мёртвой зоне». Да боевая схема вертолета в ЗП так и написана (точнее такая схема ему досталась еще из ЧН). В ТЧ вертолет ведет себя более естественно, при атаке он переходит в боевое состояние: набирает высоту и атакует цель стараясь разворачиваться к ней всегда носом, при этом не отстанет пока не уничтожит или не взорвется. Логика вертушки это всего лишь скрипты, а значит ее можно править как тебе нужно. Так-же можете попытаться перенести схему поведения вертолета из ТЧ в ЗП или воспользоваться схемой из мода AI вертолетов, у меня это получалось, но было давно подробностей не вспомнить.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
roma_uf | Дата: Чт, 01.01.2015, 19:32 | Сообщение # 962 |
Гражданский
Пользователи
Сообщений: 17
| Еще раз добрый вечер. Подскажите, как сделать в оригинальной версии ЗП выпадение бронежилета с убитого НПС (Броник должен соответствовать его визуалу)?
|
|
|
Эти 0 пользователя(ей) поблагодарили roma_uf за это полезное сообщение: |
|
|
sergej5500 | Дата: Чт, 01.01.2015, 20:14 | Сообщение # 963 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| roma_uf,
Можно попробовать сделать так. В секциях НПС в character_desc_** в секции <supplies> прописать строки типа:
stalker_outfit = 1, prob=0.12 \n
Число определит вероятность спавна.
[cut=Пример]<specific_character id="sim_default_stalker_1_default_0" 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>sim_default_stalker_1</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_02\stalker\</snd_config> <rank>30</rank> <money min="1000" max="2000" infinitive="0"/> <reputation>0</reputation> <visual>actors\stalker_neutral\stalker_neutral_2</visual> <supplies> [spawn] \n wpn_toz34 \n ammo_12x70_buck = 1 \n wpn_pm \n ammo_9x18_fmj = 1 \n grenade_rgd5 = 1 \n stalker_outfit = 1, prob=0.12 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> [/cut]
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
makdm | Дата: Чт, 01.01.2015, 20:19 | Сообщение # 964 |
Рожденный в СССР
Разработчики
Сообщений: 1294
| Цитата roma_uf ( ) Броник должен соответствовать его визуалу Покажу на примере экзоскелета и тяжёлой брони долга. Вам же придётся дополнить таблицу других секций броников и соответствия визуала этим секциям.
Открываете файл xr_motivator.script Ищите функцию function motivator_binder:death_callback(victim, who) В неё пишите
local table_visual_section = { ["stalker_neutral_4"] = "exo_outfit", ["stalker_dolg_3"] = "dolg_heavy_outfit"} local npc = self.object local section = table_visual_section[npc:get_visual_name()] local pos, lv_id, gv_id, npc_id = npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id() alife():create(section, pos, lv_id, gv_id, npc_id)
Терпение...... И все получится!
|
|
|
Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
asd123 | Дата: Пт, 02.01.2015, 03:27 | Сообщение # 965 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| А как сделать вертолету патруль без остановок? Я хотел сделать в 30 точек направления в path_move, и сделал... без path_look. Получилось очень коряво, так как вертолет летал не по цепочке путей и смотрел в разные направления.. Хотелось бы такую же непрерывную и последовательную логику движения как у первого вертолета из ТЧ на Кордоне.
Добавлено (02.01.2015, 01:36) --------------------------------------------- А еще: Хочу создать нового персонажа. Можно ли с помощью SDK его сделать? Текстуры есть, скелет можно использовать уже существующий(ну или что там ). Если есть такой урок - назовите номер.Добавлено (02.01.2015, 03:18) --------------------------------------------- Блин, еще у вертолета не срабатывает звук возгорания при возгорании. Добавлено (02.01.2015, 03:27) --------------------------------------------- А что за скриптовая функция из heli_fire: flag_by_enemy
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Пт, 02.01.2015, 01:37 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
Сахар | Дата: Пт, 02.01.2015, 06:53 | Сообщение # 966 |
Гражданский
Пользователи
Сообщений: 2
| Цитата asd123 ( ) А что за скриптовая функция из heli_fire: flag_by_enemy Похоже, что это флаг для точки пути. Цитата asd123 ( ) Блин, еще у вертолета не срабатывает звук возгорания при возгорании. Можно через логику Код on_info = {=heli_health_le()} %=play_sound_looped()% heli_health_le = Проверка на здоровье вертолёта (ну понятно, что в скобках указывается число жизней вертолёта) play_sound_looped = Запуску проигрывание зацикленного звука P.S Проверку heli_health_le нужно разкомментировать в xr_conditions.script Цитата asd123 ( ) Хочу создать нового персонажа. Можно ли с помощью SDK его сделать? Если я тебя правильно понял, то ты хочешь создать новую модель. В СДК модель только настраивается. [off]Надо кстати написать урок по привязки модели в Maya[/off]
|
|
|
Эти 0 пользователя(ей) поблагодарили Сахар за это полезное сообщение: |
|
|
denis2000 | Дата: Пт, 02.01.2015, 11:11 | Сообщение # 967 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата asd123 ( ) А что за скриптовая функция из heli_fire: flag_by_enemy Нет там такой функции! Есть только переменная которая выставляется в true если вертолет нашел себе цель.
Цитата asd123 ( ) Получилось очень коряво, так как вертолет летал не по цепочке путей и смотрел в разные направления.. Вертолет не летает точно по цепочке точек! Он лишь приблизительно пытается повторить траекторию с учетом скорости и динамики ускорения-торможения, он только старается прийти к следующей точке с необходимой скоростью настолько близко к ней насколько это возможно. Точки направления взгляда обязательны иначе вертолет вертит носом в непредсказуемых направлениях, при этом вертолет начинает разворот уже в предыдущей точке, чтобы придя в следующую нос уже смотрел в требуемое направление.
Цитата asd123 ( ) Блин, еще у вертолета не срабатывает звук возгорания при возгорании. Ну так раскоментируйте выдачу звуков в файле bind_heli.script, все там есть.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
mambaaa | Дата: Пт, 02.01.2015, 11:31 | Сообщение # 968 |
Гражданский
Пользователи
Сообщений: 4
| Всем привет:) у меня вопрос, добавить в SM модифицированное оружие? если делать как на оригинальном ЗП, ловлю вылет. сделал, по образцу Ak74u [cut noguest][wpn_l85_m1]:wpn_l85,cost_wpnl85_m1 $spawn = "weapons\l85_m1" upgrades = up_gr_firstab_l85, up_gr_firstcd_l85, up_gr_firste_l85, up_gr_firstf_l85, up_gr_seconab_l85, up_gr_seconc_l85, up_gr_second_l85, up_gr_seconef_l85, up_gr_thirdab_l85, up_gr_thirdcd_l85, up_gr_thirde_l85, up_gr_thirdf_l85, up_gr_fourtab_l85, up_gr_fourtcd_l85, up_gr_fourtef_l85, up_gr_fifthab_l85, up_gr_fifthcd_l85, up_gr_change_components_l85 installed_upgrades = up_sect_fifthc_l85 upgrade_scheme = upgrade_scheme_l85[/cut]
ловлю вылет: [cut noguest]FATAL ERROR
[error]Expression : fatal error [error]Function : CInifile::r_section [error]File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp [error]Line : 502 [error]Description : <no expression> [error]Arguments : Can't open section 'cost_wpn_l85_m1'. Please attach [*.ini_log] file to your bug report
stack trace:[/cut]
Сообщение отредактировал mambaaa - Пт, 02.01.2015, 11:43 |
|
|
Эти 0 пользователя(ей) поблагодарили mambaaa за это полезное сообщение: |
|
|
denis2000 | Дата: Пт, 02.01.2015, 11:45 | Сообщение # 969 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| [wpn_l85_m1]:wpn_l85,cost_wpnl85_m1 Здесь вы ссылаетесь на несуществующую секцию cost_wpn_l85_m1.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
mambaaa | Дата: Пт, 02.01.2015, 11:51 | Сообщение # 970 |
Гражданский
Пользователи
Сообщений: 4
| denis2000, а куда эту секцию прописывать то? и что вообще это wpn_l85,cost_wpnl85_m1 обозначает?
в оригинальном зп такого нет
Сообщение отредактировал mambaaa - Пт, 02.01.2015, 11:52 |
|
|
Эти 0 пользователя(ей) поблагодарили mambaaa за это полезное сообщение: |
|
|
asd123 | Дата: Пт, 02.01.2015, 13:58 | Сообщение # 971 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Цитата denis2000 ( ) Ну так раскоментируйте выдачу звуков в файле bind_heli.script, все там есть. Раскоментировал все, что включает в себя xr.sound. Удалось вернуть звук рации при сбивании вертолета, а при возгорании он ничего не делает.. Просто молчит. Мазахист наверное
Добавлено (02.01.2015, 13:58) --------------------------------------------- mambaaa, А попробуйте сделать так:
Код [wpn_l85_m1]:wpn_l85,cost_wpn_l85_m1 $spawn = "weapons\wpn_l85_m1" installed_upgrades = up_sect_fifthc_l85 Если я правильно понимаю - Вы хотите создать модифицированную L85? После скобок у Вас стоит такое ":wpn_l85" а значит новое оружие уже будет копией того, что уже есть. cost_wpn_l85_m1 нужно вписать в costs.ltx, находящийся по адресу: gamedata\config. Должно получиться примерное такое: Код [cost_wpn_l85_m1] cost = 12000 Да, и еще - советую новое оружие сразу же прописать в mp_ranks, ибо если его подберёт НПС, Вы получите вылет из-за отсутствия ранга для данного оружия. И на последок: Проверьте строку installed_upgrades в L85, ибо там такого апгрейда я не нашел.
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Вс, 11.01.2015, 11:50 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
denis2000 | Дата: Пт, 02.01.2015, 16:04 | Сообщение # 972 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата asd123 ( ) Раскоментировал все, что включает в себя xr.sound. Удалось вернуть звук рации при сбивании вертолета, а при возгорании он ничего не делает.. Просто молчит. Мазахист наверное У меня все работает! На хит ругается, при возгорании фраза есть и при падении крики....
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
asd123 | Дата: Пт, 02.01.2015, 16:40 | Сообщение # 973 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Цитата denis2000 ( ) У меня все работает! На хит ругается, при возгорании фраза есть и при падении крики.... Cегодня перепроверил - действительно работает.. А можно ли сделать как в ТЧ ? Если получает хит ругается, а если сразу же возгорается или падает то тоже ругается. Типо, звук будет игнорировать интервал.
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Пт, 02.01.2015, 17:30 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
makdm | Дата: Пт, 02.01.2015, 19:08 | Сообщение # 974 |
Рожденный в СССР
Разработчики
Сообщений: 1294
| Цитата asd123 ( ) А можно ли сделать как в ТЧ ? Прежде чем задавать такие вопросы, откройте файлы ЗП и ТЧ. И сравните их. Тогда вы увидите, что условия при которых в ТЧ и ЗП проигрывается звук абсолютно одинаковы. Так чего тогда делать как в ТЧ, если уже и так всё, как в ТЧ? Учите скрипты! Глядишь и вопросов станет поменьше.
Терпение...... И все получится!
Сообщение отредактировал makdm - Пт, 02.01.2015, 19:16 |
|
|
Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
asd123 | Дата: Пт, 02.01.2015, 21:22 | Сообщение # 975 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| [cut=Видео][/cut] Вопросы по видео: 1. Я сделал выстрел в один вертолет, потом в другой. У одного сработал звук хита, а у другого нет. Следовательно, сработал интервал, или задержка.. не знаю точно что это. Вообщем, как это убрать на вертолетах? 2. Когда вертолет загорелся, звук возгорания не сработал(хотя я его добавил). Я имею ввиду именно возгорание. 3. Когда вертолет упал, звук хита не сработал. Почему? Опять интервал?
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Пт, 02.01.2015, 21:24 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
|