Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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]
 
denis2000Дата: Сб, 24.10.2015, 12:09 | Сообщение # 1501
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sergej5500, Для начала подправьте логику:
Код
[logic]
active = ph_idle

[ph_idle]
nonscript_usable = false
on_info = {+remote_explosive_pda_init} nil %=remote_explosive_box_1_activate%


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Сб, 24.10.2015, 13:00 | Сообщение # 1502
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата denis2000 ()
Для начала подправьте логику:


Попробовал логику в таком виде.

[cut=Логика][logic]
active = ph_idle

[ph_idle]
nonscript_usable = false
on_info = {+remote_explosive_pda_init} nil %=remote_explosive_box_1_activate =destroy_object%[/cut]

Картина не меняется. Заложенные рюкзаки исчезают безотказно. Но они исчезали и при первом варианте логики.

Проводил тесты с разным кол-вом заложенных зарядов. Какой-то закономерности не видно. При одном сработавшем заряде может быть один взрыв в точке установки заряда. А может быть и пять взрывов. Один в точке установки заряда. Другие в окрестностях. Иногда в десятках метров от места установки. Все объекты, способные взрываться, (бочки с топливом и т.д.), были с локации удалены при подключении.
 
denis2000Дата: Сб, 24.10.2015, 17:05 | Сообщение # 1503
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sergej5500, Попробовал ваши коды и честно сказать указанных вами проблем у меня не было. Сколько заложено точек столько и взрывается. Поэтому ничего не могу предположить.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Сб, 24.10.2015, 20:04 | Сообщение # 1504
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата denis2000 ()
Поэтому ничего не могу предположить.


Проводя эксперименты, обнаружил следующее.

[cut=Родительская секция][rukzak_explosive]:explosive_grenade
$spawn = "dynamic_objects\scene_objects\rukzak_explosive"
story_id = rukzak_explosive
hit_type_blast = chemical_burn
hit_type_frag = chemical_burn
visual = dynamics\light\light_signal.ogf
blast = 2.0
blast_r = 5
frags = 15
frags_r = 10.0
frag_hit = 0.7
[/cut]

Её я просто скопировал из аддона Время Альянса, когда делал кодовые рюкзаки. Сегодня обратил внимание на две строки.

hit_type_blast = chemical_burn
hit_type_frag = chemical_burn

Непонятно, зачем они там. Они вроде относятся к химическим аномалиям. После их удаления посторонние подрывы прекратились. Сделал 10 пробных установок зарядов по пять штук. Ни одного лишнего взрыва.
 
denis2000Дата: Сб, 24.10.2015, 21:06 | Сообщение # 1505
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sergej5500, Хм... интересно, я правда использовал в качестве родителя для взрывающихся объектов explosive_fuelcan:
[cut][explosive_fuelcan]:identity_immunities,delayed_action_fuse,default_weapon_params

GroupControlSection = spawn_group
discovery_dependency =
$spawn = "weapons\explosive\fuelcan"
$prefetch = 16
class = S_EXPLO
cform = skeleton
visual = dynamics\balon\balon_01.ogf
inv_name =
inv_name_short =
inv_weight = .1

inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 9
inv_grid_y = 9

;вещь невозможно подобрать
can_take = false

cost = 50
;-------------------------------------------------------------------------------
blast = 1.50
blast_r = 8
blast_impulse = 250
;delete
blast_impulse_factor = 1

frags = 5
frags_r = 15
frag_hit = 0.75
frag_hit_impulse = 150

hit_type_blast = explosion
hit_type_frag = light_burn

up_throw_factor = 1.0
;-------------------------------------------------------------------------------
wm_size = 0.1

explode_particles = explosions\explosion_fuelcan

light_color = 1.9,1.3,0.5
light_range = 30.0
light_time = 1.5

;трассы от осколков
fragment_speed = 100

explode_duration = 5 ;подолжительность взрыва (с)
;wallmarks
wallmark_section = explosion_marks
;звуки
snd_explode = weapons\f1_explode
immunities_sect = explosive_fuelcan_immunities_sect

[explosive_fuelcan_immunities_sect]
;коэффициенты для попаданий различными типами хитов
burn_immunity = 0.0
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity = 0.7[/cut]
Видимо поэтому никаких глюков и не ловил.
Цитата sergej5500 ()
Непонятно, зачем они там.

Это тип урона от взрыва и осколков, почему они химические мне тоже не очень понятно. И главное не понятно, что взрывалось то? Некие взрывоопасные объекты не имеющие иммунитета к химическому урону?


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
alex_xp_77Дата: Вс, 25.10.2015, 13:47 | Сообщение # 1506
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
Награды: 6
Репутация: [ 41 ]

Всем доброго дня, давненько меня не было, занят книгой нужно закончить произведение, ну сейчас не об этом, вопрос по дверям, лаборатория х2 почти готова, но двери не дают мне покоя, получается ставишь дверь в три дс максе, а sdk прописывать ей логику? Или все делать в sdk?? И ставить двери и прописывать логику, некоторые двери просто сделал выбитыми, ну как бы проходные они называются, но вот вход в отдельные комнаты нужно прописать, если можно пожалуйста поподробней, какова именно логика на двери, хотя бы для начала что бы открывалась на клавишу е, скорее всего логику на кодовую выпишу из гемдаты, заранее большое спасибо!!

 
sergej5500Дата: Вс, 25.10.2015, 16:45 | Сообщение # 1507
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

alex_xp_77,

Дверь можно сделать в СДК. Видео. Смотрите Добавление простых спавн объектов и Добавление простых спавн объектов2.

Простейшая логика двери такая.

[cut=Логика][logic]
active = ph_door@locked

[ph_door@locked]
locked = true
closed = true
snd_open_start = metal_small_open
snd_close_start = metal_small_close_start
snd_close_stop = metal_small_close_stop
hit_on_bone = 2|ph_door@close

[ph_door@close]
locked = false
closed = true
snd_open_start = metal_small_open
snd_close_start = metal_small_close_start
snd_close_stop = metal_small_close_stop
on_use = ph_door@open
hit_on_bone = 1|ph_door@free|2|ph_door@free

[ph_door@open]
locked = false
closed = false
snd_open_start = metal_small_open
snd_close_start = metal_small_close_start
snd_close_stop = metal_small_close_stop
on_use = ph_door@close
hit_on_bone = 1|ph_door@free|2|ph_door@free

[ph_door@free]
locked = false
closed = true
no_force = true
on_use = ph_door@open[/cut]
 
БарменДата: Вс, 01.11.2015, 17:38 | Сообщение # 1508
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Всем привет народ, помоги у меня вот такая проблема это происходит при Компиляция_спавна в SDK 0.7.
Я создал переходы прописал все правильно, ну при Компиляция_спавна ошибка.
 
denis2000Дата: Вс, 01.11.2015, 18:14 | Сообщение # 1509
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Проверяйте настройки графпоинтов svaz_sza_hol_1 и svaz_perevalochnaya_baza.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
БарменДата: Вс, 01.11.2015, 19:03 | Сообщение # 1510
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

denis2000, Вот смотрите графпоинты svaz_sza_hol_1 и svaz_perevalochnaya_baza.
 
denis2000Дата: Пн, 02.11.2015, 09:01 | Сообщение # 1511
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Бармен, Проверяй целостность аи-сетки и действительно ли графпоинт находиться на ней. У графпоинта svaz_sza_hol_1 подозрительный параметр Rotation (0,0,0) или сетка в этом месте невероятно ровная или графпоинт не на сетке.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
БарменДата: Пн, 02.11.2015, 10:47 | Сообщение # 1512
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

denis2000, Ровная она потому что стоит на ровной поверхности.

Добавлено (02.11.2015, 10:47)
---------------------------------------------
denis2000, Все решил проблему, начал запускать и тут вылет что делать?

Код
FATAL ERROR

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:262: bad argument #1 to 'gfind' (string expected, got nil)


stack trace:
 
denis2000Дата: Пн, 02.11.2015, 11:15 | Сообщение # 1513
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Бармен ()
вылет что делать?

Причина вылета, чуть выше по логу (если скрипт изволил ее вывести).


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
БарменДата: Вт, 03.11.2015, 13:07 | Сообщение # 1514
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Все снова привет, и снова у меня проблема. Решил создать 3 перехода, прописал в graph point вот так: 1-2-3-4 ну при проверке, переход идет на другую локацию. Назад переход идет на первую локацию. Как исправить это.
 
denis2000Дата: Вт, 03.11.2015, 13:12 | Сообщение # 1515
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Бармен, Эти графпоинты связывают АИ-сетки локаций в единый геймграф для перемещения по ним НПС. За перемещение ГГ между локациями отвечают левел-ченджеры, вот их настройки и проверяйте.

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