Модостроение. Общие вопросы и ответы
|
|
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 за это полезное сообщение: |
|
|
Voland-777 | Дата: Сб, 17.06.2017, 11:59 | Сообщение # 2476 |
Эмиссар
Пользователи
Сообщений: 1702
| denis2000, спасибо. Хотел еще бы разузнать по возможности, как и где вычислять координаты HUD-элементов на экране, и где находятся координаты элемента в СГМ, которое отвечает за отображение маленького окошка с числом ранга/хэдшотов на экране после выбора функции отображения этой информации в СГМ-опциях.
|
|
|
Эти 0 пользователя(ей) поблагодарили Voland-777 за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 17.06.2017, 20:27 | Сообщение # 2477 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Voland-777 ( ) как и где вычислять координаты HUD-элементов на экране Экран условно - поле 1024х768, х - горизонталь, у - вертикаль, ноль координат в левом верхнем углу экрана.
Цитата Voland-777 ( ) и где находятся координаты элемента в СГМ, которое отвечает за отображение маленького окошка с числом ранга/хэдшотов на экране после выбора функции отображения этой информации в СГМ-опциях. В се элементы в папке configs\ui
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Voland-777 | Дата: Вс, 18.06.2017, 00:33 | Сообщение # 2478 |
Эмиссар
Пользователи
Сообщений: 1702
| denis2000, а если, скажем, выставить нули в координатах н-ного элемента HUD, он не будет отображаться на экране?
|
|
|
Эти 0 пользователя(ей) поблагодарили Voland-777 за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 18.06.2017, 10:36 | Сообщение # 2479 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Voland-777, Есть разные худ-элементы, некоторые независимые (их координаты выставляются относительно угла экрана), а некоторые находятся внутри другого элемента (их координаты выставляются относительно родительского контейнера). Но и в том и в другом случае элемент с координатами 0,0 будет виден на экране! Координаты нужно ставить такие чтобы элемент гарантированно был за пределами экрана (0,0:1024,768).
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Voland-777 | Дата: Вс, 18.06.2017, 12:08 | Сообщение # 2480 |
Эмиссар
Пользователи
Сообщений: 1702
| denis2000, а как быть с конфигами для широкоформатных экранов? На какое разрешение там ориентироваться?
|
|
|
Эти 0 пользователя(ей) поблагодарили Voland-777 за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 18.06.2017, 20:03 | Сообщение # 2481 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Voland-777 ( ) На какое разрешение там ориентироваться? Разрешение экрана значения не имеет.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Voland-777 | Дата: Ср, 21.06.2017, 11:40 | Сообщение # 2482 |
Эмиссар
Пользователи
Сообщений: 1702
| denis2000, и еще один вопрос, если можно. Можно ли заставить охрану бункера и сталкеров Тополя/Митяя (в случае гибели первых) атаковать мутантов и зомби, а так же сталкеров, если враг совсем близко к базе?
Сообщение отредактировал Voland-777 - Ср, 21.06.2017, 15:25 |
|
|
Эти 0 пользователя(ей) поблагодарили Voland-777 за это полезное сообщение: |
|
|
sergej5500 | Дата: Пн, 26.06.2017, 21:33 | Сообщение # 2483 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый вечер.
Возможно ли прописать биноклю свойства ночного или контрастного прицела? И как это сделать?
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
denis2000 | Дата: Пн, 26.06.2017, 23:04 | Сообщение # 2484 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sergej5500, Напрямую - точно нет, попробуйте через предустановленные апгрейды.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Prykoll | Дата: Вт, 27.06.2017, 23:05 | Сообщение # 2485 |
Аномальный Бродяга
Вольные сталкеры
Сообщений: 699
| Доброго времени суток, господа-бродяги. Вопрос у меня поимелся заковыристый. Установил мод я забавный, где НПС ходят свободно, подбирают арты и оружие, мародёрствуют, торгуют и воюют активно. НО!!! В случае гибели НПС в инвентаре его трупа отображается ТОЛЬКО то, что он имел изначально, до подбора/грабежа. Т.Е. - Я продал новичку с обрезом и ПМ несколько стволов (к примеру 1 АК-74, 1 Винторез и 3 вальтер), пару комбезов( куртку бандита и броньку сталкерскую) и два хвоста псевдопсов, он артефакт прямо из-под рук у меня выхватил(злыдень алчный), да ещё и бандитов, мною упокоенных, обобрал безжалостно. И тут, внезапно, он опочил от солдатской пули. Радостно подрываюсь к свежему тельцу, дабы хабар урвать успеть... И что же я вижу в его инвентаре? Только Обрез, ПМ, патроны к ним, и бинтик.... А вот как бы мне прописать все подобранные/купленные им предметы в его почившую тушку? И, желательно весьма, броньку(в которой он, на тот момент одет был ) И это и есть суть вопроса. Игра - Сталкер Тень Чернобыля Версия 1.0004. Благодарствую заранее.Добавлено (27.06.2017, 23:05) --------------------------------------------- Я осознаю, что причина - в скриптах, там "зачищается" всё "лишнее" из инвентаря НПС, но как "найти и обезвредить" данный скрипт - нет информации. И, ещё, я имел ввиду ВСЕХ НПС, а не конкретного персонажа, примерно, как это реализовано в СГМ COP 2.2 . Третий день, копаюсь в интернете, перелопатил кучу сайтов, но... Жду и надеюсь
А я-то что? Я мимо шел...
Сообщение отредактировал Prykoll - Вт, 27.06.2017, 21:19 |
|
|
Эти 0 пользователя(ей) поблагодарили Prykoll за это полезное сообщение: |
|
|
denis2000 | Дата: Ср, 28.06.2017, 10:56 | Сообщение # 2486 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Prykoll, Скрипт: death_manager.script Функция: function keep_item(npc, item) Закоментировать: alife():release(alife():object(item:id()), true)
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Prykoll | Дата: Ср, 28.06.2017, 14:19 | Сообщение # 2487 |
Аномальный Бродяга
Вольные сталкеры
Сообщений: 699
| denis2000, я наипокорнейше извиняюсь, но я нигде не мододел, а посему НАИТУПЕЙШИЙ вопрос: что тут коментить? Вот эта секция: [cut noguest] function keep_item(npc, item) local section = item:section()
if section == "bolt" then return false end if section == "device_torch" -- or section == "device_pda" or section == "hand_radio" or section == "guitar_a" or section == "harmonica_a" then alife():release(alife():object(item:id()), true) return false end if always_keep_item[section] == true then return true end
local item_id = item:id() local item_in_slot = npc:item_in_slot(1) if item_in_slot ~= nil and item_in_slot:id() == item_id then if xiani_config.dm_keep_ammo ~= true then item:unload_magazine() end --' Тут надо уменьшить кондишн оружия item:set_condition((math.random(15)+75)*item:condition()/100) return true end item_in_slot = npc:item_in_slot(2) if item_in_slot ~= nil and item_in_slot:id() == item_id then if xiani_config.dm_keep_ammo ~= true then item:unload_magazine() end --' Тут надо уменьшить кондишн оружия item:set_condition((math.random(15)+75)*item:condition()/100) return true end if xiani_config.dm_keep_items == true then return true end alife():release(alife():object(item:id()), true) end [/cut] Вы уж простите нуба
А я-то что? Я мимо шел...
|
|
|
Эти 0 пользователя(ей) поблагодарили Prykoll за это полезное сообщение: |
|
|
denis2000 | Дата: Ср, 28.06.2017, 15:50 | Сообщение # 2488 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| [cut]function keep_item(npc, item) local section = item:section()
if section == "bolt" then return false end
if section == "device_torch" -- or section == "device_pda" or section == "hand_radio" or section == "guitar_a" or section == "harmonica_a" then alife():release(alife():object(item:id()), true) return false end
if always_keep_item[section] == true then return true end
local item_id = item:id() local item_in_slot = npc:item_in_slot(1) if item_in_slot ~= nil and item_in_slot:id() == item_id then if xiani_config.dm_keep_ammo ~= true then item:unload_magazine() end --' Тут надо уменьшить кондишн оружия item:set_condition((math.random(15)+75)*item:condition()/100) return true end item_in_slot = npc:item_in_slot(2) if item_in_slot ~= nil and item_in_slot:id() == item_id then if xiani_config.dm_keep_ammo ~= true then item:unload_magazine() end --' Тут надо уменьшить кондишн оружия item:set_condition((math.random(15)+75)*item:condition()/100) return true end
if xiani_config.dm_keep_items == true then return true end --alife():release(alife():object(item:id()), true) --Закоментарено! end [/cut]
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Prykoll | Дата: Ср, 28.06.2017, 15:54 | Сообщение # 2489 |
Аномальный Бродяга
Вольные сталкеры
Сообщений: 699
| [off]Цитата denis2000 ( ) --alife():release(alife():object(item:id()), true) --Закоментарено! Всего-то два - поставить !!! Вот я ...[/off]
А я-то что? Я мимо шел...
Сообщение отредактировал Prykoll - Ср, 28.06.2017, 15:58 |
|
|
Эти 0 пользователя(ей) поблагодарили Prykoll за это полезное сообщение: |
|
|
Наблюдатель | Дата: Ср, 28.06.2017, 23:47 | Сообщение # 2490 |
Ветеран
Пользователи
Сообщений: 400
| Приветствую собрание Достойных! Умные Люди, объясните плиз недалёкому - я уже писал о понравившемся мне моде на ЗП - Бродяга 1.2.1. В котором мне нравится всё, кроме бешеных аномалий на каждом шагу. В версии Бродяги 1.1 аномалий не больше чем в оригинальной ЗП, но мало нищаков. Смотрите я беру файлы: all.spawn и все папки anomaly целиком, из всех локаций, в версии 1.1, переношу их в версию 1.2.1, начинаю новую игру, но аномалии всё равно возникают везде на каждом шагу и такой же мощности, какой они и были в версии 1.2.1 до замены папок?! Подскажите плиз, уважаемые Мастера, где ещё автор мог прописать эти новые аномалии, если не в папках spawns и аnomaly? Пытался связаться с автором мода - тишина, видимо он его забросил. Сам я больше ничего придумать не могу. Могу даже выложить папки gamedata обеих версий на Яндексе.
|
|
|
Эти 0 пользователя(ей) поблагодарили Наблюдатель за это полезное сообщение: |
|
|
|