Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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]
 
tema796Дата: Сб, 23.07.2016, 21:32 | Сообщение # 2041
Гражданский
Пользователи
Сообщений: 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 | Сообщение # 2042
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

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

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

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

Урок 75.

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


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

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

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

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


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

asd123, Ну что из SGM я знаю. А вот мне интересно, скрипт который вы хотите предложить работает в игре, или его установка в SDK? smile
 
asd123Дата: Вс, 24.07.2016, 04:08 | Сообщение # 2046
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Бармен, он уже есть в SGM happy Правда.. у него не хватает отображения direction(я уже не помню точно где - в логе или в тексте игры, так как я его исправил ещё год назад). Если вам нужно с direction - могу скинуть свои правки скрипта.
Так, вообщем.. открывайте ui_main_menu.script и находите строки:
Код

    elseif db.actor~=nil and dik==DIK_keys.DIK_F4 then
       self:inc_actor_rank()

После скобки ) нажмите Enter(тем самым создав новую пустую строку) и добавьте в неё это:
Код
  elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then
       self:OnButton_coord_pos_clicked()

Должно получиться так:
Код
    elseif db.actor~=nil and dik==DIK_keys.DIK_F4 then
       self:inc_actor_rank()
    elseif db.actor~=nil and dik==DIK_keys.DIK_F6 then
       self:OnButton_coord_pos_clicked()
    elseif db.actor~=nil and dik==DIK_keys.DIK_P then
              self:set_rich_actor()

Всё, готово! smile В игре, переключитесь в главное меню и нажмите F6, а после переключайтесь в игру. Вы увидите сообщение с текущими координатами ГГ. wink


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




Сообщение отредактировал asd123 - Вс, 24.07.2016, 04:12
 
БарменДата: Вс, 24.07.2016, 05:02 | Сообщение # 2047
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

asd123, Так так так, это получается что использую логику move, нужно каждый раз заходить в игру? А есть 100 или 200 НПС в моде, что тогда делать? И да я не не юзаю SGM, я хотел логику move для своего проекта попробовать.
 
asd123Дата: Вс, 24.07.2016, 05:14 | Сообщение # 2048
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Бармен, не понимаю вас.. wacko Если вы используете SDK, зачем вам секция move? Насчет численности.. вот у меня было желание - я наклёпал 50 человек на Агропром с этой секцией, путём снятия координат прямо в игре biggrin

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




Сообщение отредактировал asd123 - Вс, 24.07.2016, 05:16
 
БарменДата: Вс, 24.07.2016, 05:21 | Сообщение # 2049
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

asd123, Хочешь сказать Смерти Вопреки. В паутине лжи, сделан без SDK там вся логика на move.

Цитата asd123 ()
Насчет численности.. вот у меня было желание - я наклёпал 50 человек на Агропром с этой секцией, путём снятия координат прямо в игре

И не лень было координаты снимать?
 
asd123Дата: Вс, 24.07.2016, 05:27 | Сообщение # 2050
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Бармен, лень по 100 раз начинать новую игру из-за компиляции all_spawn чтобы сделать нормальный animpoint/smart_cover biggrin

Цитата Бармен ()
Хочешь сказать Смерти Вопреки. В паутине лжи, сделан без SDK там вся логика на move.

Насчет этого не знаю.. Помню только то, что Сергей о чём-то просил людей-тестеров его модификации, чтобы те снимали для него координаты на локациях.. Кажется, для тайников. smile


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




Сообщение отредактировал asd123 - Вс, 24.07.2016, 05:29
 
БарменДата: Вс, 24.07.2016, 05:40 | Сообщение # 2051
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Цитата asd123 ()
лень по 100 раз начинать новую игру из-за компиляции all_spawn чтобы сделать нормальный animpoint/smart_cover

Понимаю была бы эта компиляция локации, а all.spawn быстро собирается.

Цитата asd123 ()
Насчет этого не знаю..

Да врятли человек их СВ, будет делать мод без SDK smile
 
asd123Дата: Ср, 27.07.2016, 02:48 | Сообщение # 2052
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Как бы разобраться с покраснением иконок в диалогах? В каком-то ведь файле есть строка, заставляющая их окрашиваться в красный.

Добавлено (27.07.2016, 02:48)
---------------------------------------------
Цитата makdm ()
Цитата asd123 ()Как предотвратить выпадение ГГ ?
makdm, В схеме heli_move прописать весь путь вертушки по локации без переключения со схемы на схему. При переключении схем вертушка иногда ( почему? сам не разбирался досконально ) "уходит" из под скриптов. Тогда и происходит сброс игрока на землю.

Я выявил причину - виноват уход/появление НПС из онлайна/в онлайн когда вертолёт смотрит в сторону этого действия. Вот я с помощью уважаемого denis2000 вернул вертолёту обновление цели(upd_vis), и он у меня стал ПОСТОЯННО выбиваться из скриптов. Он не просто выходит из логики, а его сам bind_heli теряет(достаточно стрельнуть в зависший вертолёт, и получаем вылет с причиной о том, что якобы object равен нулю(биндер потерял вертолёт) Выходит, нужно как-то все сквады на локации сделать в постоянном онлайне(или же не приближаться к оффлайновым сквадам/нпс, когда обзор вертолёта смотрит на место их обитания(я тестировал на кордоне, и вот на агропроме. Летал себе вертолёт, летал.. по координатам патрульного пути должен был пролететь над НИИ, но когда уже должен был повернуться - завис(а ГГ как раз таки подбежал поближе, чтобы смарт-террайн активировался). Такие дела.. sad

p.s. после всего что мне пришлось сделать, чтобы хоть как-то настроить вертолёт я неотступно утверждаю, что в ЗП скриптовая система значительно хуже чем в предыдущих частях...(мне всегда был по душе ЧН из-за того, что я как бы представлял ЧН совмещением ЗП и ТЧ. Так сказать, идеальная игра biggrin )

В связи с выше описанным, появился вопрос - а можно ли на определённых локациях задавать какую-нибудь опцию(или редактировать какую-то функцию), чтобы на ней сквады в оффлайн не уходили?


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




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

asd123, Не понятно причем здесь сквады если биндер вертолета теряет объект? Я сталкивался с этим, но поскольку пропала сама необходимость в вертолете в моде, то проблема осталась без решения.

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

Цитата denis2000 ()
Не понятно причем здесь сквады если биндер вертолета теряет объект?

Какова Ваша теория по этому поводу? И можно ли как-то это исправить? У меня вертолёты - это не отъемлемая часть моего дополнения biggrin , но вот эта проблема с bind_heli очень мешает. sad
Что интересно, биндер стал терять вертолёты после того, как была разблокирована опция на смену цели в heli_move..


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




Сообщение отредактировал asd123 - Чт, 28.07.2016, 03:10
 
denis2000Дата: Чт, 28.07.2016, 09:36 | Сообщение # 2055
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата asd123 ()
Какова Ваша теория по этому поводу?

Тут не теории нужны, а анализ работы скриптов.
Цитата asd123 ()
И можно ли как-то это исправить?

Вероятно что да.
Цитата asd123 ()
биндер стал терять вертолёты после того, как была разблокирована опция на смену цели в heli_move

Вот отсюда и копайте.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Поиск: