Модостроение. Общие вопросы и ответы
|
|
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 за это полезное сообщение: |
|
|
makdm | Дата: Сб, 11.10.2014, 19:11 | Сообщение # 661 |
Рожденный в СССР
Разработчики
Сообщений: 1294
| Цитата sergej5500 ( ) Если можно, то как это сделать?
sergej5500, когда ГГ даёт аптечку раненому, то вызывается функция function transfer_medkit(first_speaker, second_speaker) из файла dialogs.script Эта же функция и делает раненого другом ГГ. Вот сюда и нужно вставить код. Вместо
if second_speaker:relation(first_speaker) ~= game_object.enemy then second_speaker:set_relation(game_object.friend, first_speaker) end
Пишем
Код if second_speaker:relation(first_speaker) ~= game_object.enemy then second_speaker:set_relation(game_object.friend, first_speaker) if first_speaker:id() == db.actor:id() then local s_obj = alife():object( second_speaker:id() ) if s_obj then local squad_id = s_obj.group_id if squad_id ~= 65535 then local squad = alife():object( squad_id ) if squad then squad:set_squad_relation("friend") end end end end end
Терпение...... И все получится!
Сообщение отредактировал makdm - Сб, 11.10.2014, 19:12 |
|
|
Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
Banterface | Дата: Вс, 12.10.2014, 12:33 | Сообщение # 662 |
Боец Штурмового Отряда Вольных
Вольные сталкеры
Сообщений: 3455
| Здравствуйте, господа модмейкеры! Когда пытаюсь открыть файл obj в Actor Editor, выходит это: * Loaded: gamedata\textures\ed\ed_mp.dds[174904]b Invalid file path.
Actor Editor не поддерживает файлы данного типа. denis2000
|
|
|
Эти 0 пользователя(ей) поблагодарили Banterface за это полезное сообщение: |
|
|
suhar_ | Дата: Пн, 13.10.2014, 16:51 | Сообщение # 663 |
Бывалый
Пользователи
Сообщений: 106
| Цитата denis2000 ( ) Полигоны с нулевой длинной нормали. У таких полигонов вершины или на одной линии или собраны в одну точку. Как в 3DS maxe или Милке их можно найти?
Цитата Дизель ( ) Лечить: ... А есть способ попроще??
Цитата Дизель ( ) чем конвертируешь модели из OGF? Конвертировал милкой и конвертером от Бардака. В обоих случаях картина одна и та же. Возможно, сама модель изначально имеет ошибки? Но опять же, в игре оригинальная (не правленная модель) загружается без всяких трудностей.
|
|
|
Эти 0 пользователя(ей) поблагодарили suhar_ за это полезное сообщение: |
|
|
denis2000 | Дата: Пн, 13.10.2014, 17:55 | Сообщение # 664 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата suhar_ ( ) Как в 3DS maxe или Милке их можно найти? В Милке - никак, в 3DS maxe - есть специальный инструментарий (курите мануалы по данному програмному продукту). Цитата suhar_ ( ) А есть способ попроще?? Нет. Цитата suhar_ ( ) Конвертировал милкой и конвертером от Бардака. В обоих случаях картина одна и та же.Возможно, сама модель изначально имеет ошибки? Сама модель в формате ogf ошибок скорее всего не имеет, они возникают при пере конвертировании в следствии погрешностей в определении координат вершин полигонов, а значит этот неизбежно при конвертировании в любой программе.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Banterface | Дата: Вт, 14.10.2014, 02:50 | Сообщение # 665 |
Боец Штурмового Отряда Вольных
Вольные сталкеры
Сообщений: 3455
| Цитата denis2000 ( ) Actor Editor не поддерживает файлы данного типа. denis2000 А почему в нём написано, во вкладке импорт, при перечислении доступных форматов, есть obj.
|
|
|
Эти 0 пользователя(ей) поблагодарили Banterface за это полезное сообщение: |
|
|
denis2000 | Дата: Вт, 14.10.2014, 10:57 | Сообщение # 666 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Banterface ( ) А почему в нём написано И что он его открывает?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Banterface | Дата: Вт, 14.10.2014, 17:18 | Сообщение # 667 |
Боец Штурмового Отряда Вольных
Вольные сталкеры
Сообщений: 3455
| denis2000, не-а. Мне Фантом посоветовал в максе конвертить обдж в обджект. Посмотрим, что выйдет.
|
|
|
Эти 0 пользователя(ей) поблагодарили Banterface за это полезное сообщение: |
|
|
denis2000 | Дата: Вт, 14.10.2014, 23:40 | Сообщение # 668 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Banterface ( ) не-а. Вот поэтому, то я сразу и сказал: Actor Editor не поддерживает файлы данного типа (Хотя и бес проблем экспортирует в этот формат. Но импорт не работает!). Цитата Banterface ( ) Мне Фантом посоветовал в максе конвертить обдж в обджект. На ваш вкус. Можно даже Милкшейпом воспользоваться.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
suhar_ | Дата: Пт, 17.10.2014, 21:16 | Сообщение # 669 |
Бывалый
Пользователи
Сообщений: 106
| В ЗП возникла проблема с новыми костюмами для перехода в Припять. Для того, чтобы Зулус пропустил нас, правлю две функции в файле dialogs_jupiter.script [cut] function jup_b15_actor_sci_outfit(first_speaker, second_speaker) return db.actor:object("scientific_outfit") ~= nil or db.actor:object("bars_outfit") ~= nil or db.actor:object("skyline_outfit") ~= nil or db.actor:object("renegat_scientific_outfit") ~= nil or db.actor:object("killer_scientific_outfit") ~= nil or db.actor:object("monolith_scientific_outfit") ~= nil or db.actor:object("prorok_outfit") ~= nil or db.actor:object("sindikat_outfit") ~= nil or db.actor:object("gagarin_outfit") ~= nil or db.actor:object("ecolog_1_outfit") ~= nil or db.actor:object("ecolog_2_outfit") ~= nil or db.actor:object("ecolog_3_outfit") ~= nil or db.actor:object("ecolog_4_outfit") ~= nil or db.actor:object("ecolog_5_outfit") ~= nil or db.actor:object("ecolog_6_outfit") ~= nil or db.actor:object("ecolog_7_outfit") ~= nil or db.actor:object("ecolog_8_outfit") ~= nil or db.actor:object("ecolog_9_outfit") ~= nil or db.actor:object("ecolog_10_outfit") ~= nil or db.actor:object("dolg_scientific_outfit") ~= nil or db.actor:object("scout_outfit") ~= nil or db.actor:object("freedom_scientific_outfit") ~= nil or db.actor:object("nano_sci_outfit") ~= nil or db.actor:object("nano_outfit") ~= nil end
function jup_b15_no_actor_sci_outfit(first_speaker, second_speaker) return db.actor:object("scientific_outfit") == nil or db.actor:object("bars_outfit") == nil or db.actor:object("skyline_outfit") == nil or db.actor:object("renegat_scientific_outfit") == nil or db.actor:object("killer_scientific_outfit") == nil or db.actor:object("monolith_scientific_outfit") == nil or db.actor:object("prorok_outfit") == nil or db.actor:object("sindikat_outfit") == nil or db.actor:object("gagarin_outfit") == nil or db.actor:object("ecolog_1_outfit") == nil or db.actor:object("ecolog_2_outfit") == nil or db.actor:object("ecolog_3_outfit") == nil or db.actor:object("ecolog_4_outfit") == nil or db.actor:object("ecolog_5_outfit") == nil or db.actor:object("ecolog_6_outfit") == nil or db.actor:object("ecolog_7_outfit") == nil or db.actor:object("ecolog_8_outfit") == nil or db.actor:object("ecolog_9_outfit") == nil or db.actor:object("ecolog_10_outfit") == nil or db.actor:object("dolg_scientific_outfit") == nil or db.actor:object("scout_outfit") == nil or db.actor:object("freedom_scientific_outfit") == nil or db.actor:object("nano_sci_outfit") == nil or db.actor:object("nano_outfit") == nil end [/cut] Когда подхожу к Зулусу с одним из них, он выдаёт диалог, мол "сначала достань нужный костюм и т.д.". Переношу костюм из слота в рюкзак или просто выбрасываю на землю. Затем снова подбираю\переношу в слот. Подхожу с Зулусу (с этим же костюмом!!) и он вдруг нас пропускает О_о. Вариантов манипуляций много, пробовал даже менять местами арты на поясе: в одном случае пускает, в другом нет. Вероятно, капризничают эти самые 2 правленные функции, но что именно в них не так?
|
|
|
Эти 0 пользователя(ей) поблагодарили suhar_ за это полезное сообщение: |
|
|
denis2000 | Дата: Пт, 17.10.2014, 21:57 | Сообщение # 670 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| suhar_, А почему в функции проверки, что ГГ не имеет костюма логический оператор или (or), хотя по логике нужен и (and)?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
sergej5500 | Дата: Пт, 17.10.2014, 22:01 | Сообщение # 671 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| suhar_, Первая функция jup_b15_actor_sci_outfit проверяет наличие нужного костюма. Она срабатывает, если у ГГ есть хотя бы один костюм из списка.
Вторая функция jup_b15_no_actor_sci_outfit должна выдать true, если у актора нет ни одного костюма из списка. Операторы or в ней надо заменить на and.
[cut=Функция из СГМ.]function jup_b15_no_actor_sci_outfit(first_speaker, second_speaker) return db.actor:object("scientific_outfit")==nil and db.actor:object("reduce_scientific_outfit")==nil and db.actor:object("ecolog_regular_outfit")==nil and db.actor:object("reduce_ecolog_regular_outfit")==nil and db.actor:object("ecolog_military_outfit")==nil and db.actor:object("reduce_ecolog_military_outfit")==nil and db.actor:object("exo_outfit")==nil and db.actor:object("reduce_exo_outfit")==nil and db.actor:object("monolith_outfit")==nil and db.actor:object("reduce_monolith_outfit")==nil and db.actor:object("csky_exo_outfit")==nil and db.actor:object("reduce_csky_exo_outfit")==nil and db.actor:object("bandit_exo_outfit")==nil and db.actor:object("reduce_bandit_exo_outfit")==nil and db.actor:object("army_exo_outfit")==nil and db.actor:object("reduce_army_exo_outfit")==nil and db.actor:object("killer_exo_outfit")==nil and db.actor:object("reduce_killer_exo_outfit")==nil and db.actor:object("monolit_exo_outfit")==nil and db.actor:object("reduce_monolit_exo_outfit")==nil and db.actor:object("freedom_exo_outfit")==nil and db.actor:object("reduce_freedom_exo_outfit")==nil and db.actor:object("dolg_exo_outfit")==nil and db.actor:object("reduce_dolg_exo_outfit")==nil and db.actor:object("stalker_reinforced_outfit")==nil and db.actor:object("army_nauchniy_outfit")==nil end[/cut]
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
vav54 | Дата: Вс, 19.10.2014, 11:24 | Сообщение # 672 |
Гражданский
Пользователи
Сообщений: 5
| Подскажите пожалуйста, какой файл в SGM v1.2 (2.2) отвечает за редактирование разрешения экрана, т. к. при 1366*768 или 1280*768 точек, картинка обрезается, но при 800*768 (1024*768), все заставки работают нормально. С уважением vav54
|
|
|
Эти 0 пользователя(ей) поблагодарили vav54 за это полезное сообщение: |
|
|
Игорь_Го | Дата: Чт, 23.10.2014, 21:35 | Сообщение # 673 |
Отмычка
Пользователи
Сообщений: 26
| Всем привет! Если сравнить графику "сталкер" и "иетро", то очевидно, что у "метро" графика на порядок четче, реалистичней и т.п., хотя вытянутые из метро текстуры смотрятся в "макче" не лучше сталкеровских, посему "детский"вопрос: такая четкость в "метро" - заслуга движка или?..
P.S. Извиняюсь, ежели не в ту тему сугул вопросик
|
|
|
Эти 0 пользователя(ей) поблагодарили Игорь_Го за это полезное сообщение: |
|
|
denis2000 | Дата: Чт, 23.10.2014, 21:59 | Сообщение # 674 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Игорь_Го, Позвольте тогда и вас спросить. Если бы от движка не зависело качество картинки, то к чему тогда лицензия на некоторые из них под 1 миллион баксов?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Игорь_Го | Дата: Пт, 24.10.2014, 00:25 | Сообщение # 675 |
Отмычка
Пользователи
Сообщений: 26
| Мда.... говорила мне прабабушка: иди в программисты,- и будет тебе Щастье! denis2000, благодарю за подтверждение моей гениальной догадки... если б и "сталкер" с такой графикой сделать!..
|
|
|
Эти 0 пользователя(ей) поблагодарили Игорь_Го за это полезное сообщение: |
|
|
|