Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Общие вопросы и ответы
denis2000Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Помощь тем кто хочет знать больше о игре и модах

Если у вас появились вопросы по модостроению в игре 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]
 
Voland-777Дата: Пт, 22.07.2016, 12:40 | Сообщение # 2041
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

denis2000, это же файл из оригинального SGM. По адресу gamedata/configs/misc/trade/order_traders.
 
denis2000Дата: Пт, 22.07.2016, 14:09 | Сообщение # 2042
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

asd123, Для того чтобы заспавнить труп, спавните сталкера и убиваете его. Для того чтобы он не исчез, нужно в него положить квестовый предмет зарегистрированный в death_generic.ltx [keep_items]


Цитата Voland-777 ()
это же файл из оригинального SGM

Это нужно было по хрустальному шару догадаться?


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Voland-777Дата: Пт, 22.07.2016, 14:50 | Сообщение # 2043
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

denis2000, шутка засчитана, спрошу по-другому: какое назначение секций default_order_trader_buy_upgraded, default_order_trader_buy_upgraded_hidden ?
 
DraxlerДата: Пт, 22.07.2016, 19:17 | Сообщение # 2044
Удаленные



Доброго всем дня. Помогите, пожалуйста, с вопросом по инвентарю в ТЧ (играю в 1.0004 с SGM модом и всеми фиксами). Проблема в том, что почти при любом действии с объектами инвентаря (переложить в другой ящик, съесть что-нибудь, разрядить оружие и т.п.) окно инвентаря "откидывается" в начало. Это серьезные неудобства доставляет при большом количестве предметов, тем более что инвентарь скроллится медленно. В общем думаю, что всем игравшим проблема известна и даже может уже готовые варианты решения есть, но я вроде бы в данном разделе не нашел ничего. Подскажите, как убрать это явление или хотя бы где примерно искать файлы, которые именно за это "отбрасывание в начало инвентаря" отвечают.
 
denis2000Дата: Пт, 22.07.2016, 19:46 | Сообщение # 2045
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Draxler, Это видимо движек так отрабатывает (в ЧН и ЗП это исправлено), соответственно править нужно его.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
DraxlerДата: Пт, 22.07.2016, 20:10 | Сообщение # 2046
Удаленные



denis2000, движок я вроде еще не правил, можно указать на конкретные файлы или папки? Спасибо.
 
tema796Дата: Пт, 22.07.2016, 21:18 | Сообщение # 2047
Гражданский
Пользователи
Сообщений: 20
Награды: 0
Репутация: [ -20 ]

Здравствуйте. Нужна ваша помощь. Я создал скрипт который должен при использование определеного предмета присылать определенный текст. Решил использовать для этого дела таблицу. Вот код:
[cut=Спойлер]
Код

function on_use_item(sect)
local item_name = sect:section()
local item
local eat
local tbl = {
{item = "bread",    eat = "Eating_bread"},
{item = "vodka",   eat = "Drinking_vodka"},
{item = "conserva",   eat = "Eating_conserva"},
{item = "energy_drink", eat = "Drinking_energy_drink"}
}

if item_name == tbl.item then
news_manager.send_tip(db.actor, "%c[54,199,169,96]Section: [%c[343,255,0,0]"..tostring(tbl.item).."%c[54,199,169,96]]\\nText: [%c[343,255,0,0]"..tostring(tbl.eat).."%c[54,199,169,96]]", nil, nil, nil, nil)
end
end
[/cut]

Но в игре ничего не приходит.
 
asd123Дата: Сб, 23.07.2016, 04:19 | Сообщение # 2048
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Подскажите, а как исправить проблему с иконками НПС в диалогах? Почему-то они становятся тёмными(ну или красными.. я бы даже сказал тёмно-красными), как будто диалоги веду с трупами(однако, в истории сообщений в КПК они нормальные). А ещё.. имеется НПС(но таких много):
Код
<specific_character id="agr_patrol_14" team_default = "1">
                <name>GENERATE_NAME_lieutenant</name>
                <icon>ui_inSGM_Mercenary_1</icon>
                <map_icon x="1" y="0"></map_icon>
                <bio>Опытный сталкер. Детальная информация отсутствует.</bio>
                <class>agr_patrol_14</class>
                <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect>
                <snd_config>characters_voice\human_02\military\</snd_config>
                <rank>450</rank>
                <reputation>500</reputation>
                <visual>actors\stalker_mercenary\stalker_mercenary_1</visual>
                <supplies>
                [spawn] \n
        wpn_ak74 = 1, scope, silencer, launcher \n
  ammo_5.45x39_ap = 1 \n
        grenade_f1 = 1 \n
                wpn_usp = 1 \n
                ammo_11.43x23_hydro = 1 \n
#include "gameplay\character_items_nd.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs_mil.xml"
  </supplies>
  <actor_dialog>actor_break_dialog</actor_dialog>
#include "gameplay\character_criticals_4.xml"
</specific_character>

Проблема такая: У НПС, как видите, есть автомат и пистолет. Почему же он постоянно ходит с пистолетом в руках? Начинается перестрелка - достаёт автомат и стреляет из него, заканчивается перестрелка - достаёт пистолет и ходит с ним. Это можно как-то исправить?
Ещё хотелось бы узнать: можно ли как-то исправить АН-94 «Абакан»(или дело в самих animpoint`ах?) ? Имею ввиду то, что если НПС имеет его в руках - НПС не может войти в animpoint(он просто стоит в ступоре. Это очень хорошо видно в прачечной Припяти).


У мутантов тоже есть группировки. © Движок X-Ray




Сообщение отредактировал asd123 - Сб, 23.07.2016, 04:23
 
denis2000Дата: Сб, 23.07.2016, 12:50 | Сообщение # 2049
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

tema796,
1. Вы уверены что эта функция вообще вызывается по колбеку на юз предмета ГГ?
2. Условие if item_name == tbl.item then не выполниться никогда, поскольку item_name - эта строка, а tbl.item - это таблица!


Цитата asd123 ()
Имею ввиду то, что если НПС имеет его в руках - НПС не может войти в animpoint

Попробуйте в логике НПС в секции анимпоинта поставить параметр reach_movement = walk_noweap


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
asd123Дата: Сб, 23.07.2016, 13:41 | Сообщение # 2050
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

denis2000, хорошо, а насчет остального не знаете? Хотябы про иконки. Может, нужно что-то ещё править, чтобы они были нормальными в диалогах? А то, надоело уже.. только появится НПС, и у него уже покрасневшая иконка, как будто он труп. sad

У мутантов тоже есть группировки. © Движок X-Ray




Сообщение отредактировал asd123 - Сб, 23.07.2016, 13:42
 
tema796Дата: Сб, 23.07.2016, 21:32 | Сообщение # 2051
Гражданский
Пользователи
Сообщений: 20
Награды: 0
Репутация: [ -20 ]

Цитата denis2000 ()
tema796,
1. Вы уверены что эта функция вообще вызывается по колбеку на юз предмета ГГ?
2. Условие if item_name == tbl.item then не выполниться никогда, поскольку item_name - эта строка, а tbl.item - это таблица!

1. Да, она вызывается.
2. Тогда как можно проверить что при использование определенного предмета появлялось определенный текст. Таблица нужна.
Просто хотел сделать многоразовую еду. А способ:
Код
if item_name == "предмет" then

Не подходит, так как придется много проверок делать по такому принципу
 
makdmДата: Вс, 24.07.2016, 00:04 | Сообщение # 2052
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

Цитата tema796 ()
Тогда как можно проверить что при использование определенного предмета появлялось определенный текст.

Вот здесь почитайте.

http://sigerous.ru/forum/17-208-1348629-16-1425756707

Урок 75.

Всё элементарно.
Для каждого бустера можно вставить в функцию свой текст. Никаких таблиц не нужно.


Терпение......
И все получится!
 
БарменДата: Вс, 24.07.2016, 01:54 | Сообщение # 2053
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

denis2000, Приветствую вы вроде разбираетесь, в логики move. Можешь подсказать, а как узнать вот эти данные. ЗП.
Код
move_dest_number
move_look_vertex
 
asd123Дата: Вс, 24.07.2016, 02:31 | Сообщение # 2054
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Бармен, в эти строки вписываются координаты game_vertex. Этими строками держатся все важные персонажи SGM, не состоящие в сквадах. smile Вам скрипт на вычисление координат нужен? Или Ваш вопрос был только по этим строкам?

У мутантов тоже есть группировки. © Движок X-Ray


 
БарменДата: Вс, 24.07.2016, 03:15 | Сообщение # 2055
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

asd123, Ну что из SGM я знаю. А вот мне интересно, скрипт который вы хотите предложить работает в игре, или его установка в SDK? smile
 
Поиск: