Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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]
 
БарменДата: Пт, 04.09.2015, 20:34 | Сообщение # 1441
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Всем привет народ, помоги-те с квестом. Значит я написал квест на убийство мутантов, создал кабанов через сквад, написал диалоги а как выдать по квесту этот сквад, ну чтобы при взятие задание сквад заспавнился. Платформа ЗП.
 
sergej5500Дата: Пт, 04.09.2015, 21:18 | Сообщение # 1442
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата Бармен ()
а как выдать по квесту этот сквад, ну чтобы при взятие задание сквад заспавнился


Можно заспавнить сквад через рестриктор.

on_info = {+инфопорция_старта_квеста} sr_idle@следующая_секция %=create_squad(ващ_сквад:ващ_смарт)%

Или через скрипт (можно вписать в скрипт диалога)

function ваша_функция_спавна(actor,npc)
xr_effects.create_squad(actor,nil,{"ваш_сквад","ваш_смарт"})
end
 
БарменДата: Пт, 04.09.2015, 21:29 | Сообщение # 1443
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

sergej5500, Хорошо спасибо.
 
sergej5500Дата: Сб, 05.09.2015, 19:12 | Сообщение # 1444
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Добрый вечер.

Сделал на Затоне в Лесничестве базу НПС. Наподобие базы бандитов в СГМ. Прописал 20 работ и сделал сквад Долга из 20 неписей.

Стартовал новую игру с целью проверить, как неписи выполняют работы.

При подходе к Лесничеству обнаружил, что долговцы на своих местах. Далее увидел, что на симуляционном смарте между Лесничеством и мостом отреспился сквад бандитов. Эти бандиты тут же напали на моих долговцев. А долговцы ведут себя очень странно. Ноль реакции на бандитов. Стоят и ловят пули. Или бегут обшаривать трупы.

Я пристрелил одного из бандитов и тут же получил тревогу на Скадовске. Дело было возле моста. До Скадовска довольно далеко. На игровых часах было 6 утра.

Изменил стартовое время на 11 часов. Снова стартовал новую игру. Побежал к Лесничеству. Бандиты снова отреспились на том же смарте (zat_sim_28). Но теперь долговцы вели себя нормально и встретили бандитов огнем из всех стволов.

Полагаю, что причина тревоги в первом случае была в том, что сквад бандитов уже был приписан к смарту Скадовска. Этим же объясняется странное поведение долговцев.

В связи с этим вопрос. Когда сквад приписывается к смарту? У меня случаи тревог из за убитых нейтралов были в любом месте локации. Какой файл нужно поправить, что бы сквад бандитов приписывался к Скадоску, ессли до судна меньше 100 метров?
 
makdmДата: Сб, 05.09.2015, 20:26 | Сообщение # 1445
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

Цитата sergej5500 ()
Когда сквад приписывается к смарту?

Когда он достиг смарта, тогда и прописывается.
Параметр arrive_dist в логике смарта.
Вот смотри: Пусть сквад бандитов идёт на Скадовск.
Смотрим параметр arrive_dist в логике смарта zat_stalker_base_smart. Видим arrive_dist = 65. Т.е. как только расстояние до смарта будет 65 метров, то отряд будет приписан к смарту и всем НПС раздастся работа.
Теперь твой сквад бандитов покидает Скадовск. Пусть он идёт в смарт zat_sim_28.
Тогда тебе нужно померить расстояние между смартами и отнять 65 метров. И получившееся расстояние прописать в параметр arrive_dist для смарта zat_sim_28.
Тогда, как только сквад бандитов отойдёт от Скадовска на 65 метров, он тут же будет считаться, что достиг смарта zat_sim_28 и тут же будет в него зареган с раздачей работ.


Терпение......
И все получится!
 
sergej5500Дата: Вс, 06.09.2015, 22:44 | Сообщение # 1446
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Добрый вечер.

Наблюдал интересную картину в чистом Зове Припяти. Затон, район Изумрудного.





Идут два сквада. Два сталкера и два бандита. До Скадовска - (зона мира) - далеко. Скадовск в оффлайне. Сквады симуляционные.

Собственно, вопрос. Почему эти ребята не перестреляли друг друга? Что им мешает вести себя как положено сталкерам и бандитам?
 
denis2000Дата: Пн, 07.09.2015, 08:35 | Сообщение # 1447
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sergej5500, Есть такой баг, но он довольно редок, а значит отследить и найти причину очень трудно. У меня раз такое было но со сквадами сталкеров и монстров. Если сделать сохранение рядом с ними, а потом загрузить его баг сохраняется?

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Kapitan_komandorДата: Пн, 07.09.2015, 09:17 | Сообщение # 1448
Диггер Вольных
Вольные сталкеры
Сообщений: 12372
Награды: 15
Репутация: [ 1122 ]

Цитата denis2000 ()
Есть такой баг, но он довольно редок, а значит отследить и найти причину очень трудно

Думаю не редкость и постоянно вижу в играх.Стою на СКАДОВСКЕ и внизу проходят и бандосы(что идут в сторону зем.насоса,а сталкеры идут по направлению ШЕВЧЕНКО и друг - друга задевают.И при этом мутики мимо шныряют и не трогают.
По всей видимости такое программирование параметров игры и модов.
Просто нада более тонко программировать действия объектов на поле.Так сказать более мощней движок и все параметры игры на нём...а кому это надо.
Не Кулл оф Дати или КРИЗЕС то...хорошо,что делают и так.
Лучше бы более продуманный сценарии делали в модах.Время тратят а результат ...облом геймера.



Жизнь это миг.за него и держись.


Сообщение отредактировал Kapitan_komandor - Пн, 07.09.2015, 09:19
 
sergej5500Дата: Пн, 07.09.2015, 09:28 | Сообщение # 1449
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата denis2000 ()
Если сделать сохранение рядом с ними, а потом загрузить его баг сохраняется?


К сожалению, сейва не сохранилось. Сделав эти скрины, я отправился на ВНЗ Круг проверять, как там ведут себя добавленные мною НПС. Для проверки поведения этих неписей запустил выброс. Переждав выброс в подвале ВНЗ и убедившись, что мои неписи ведут себя нормально, направился на Скадовск.

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

Можно предположить, что эти 4 непися направлялись на Скадовск. И попали под управление зоны мира на Скадовске.
 
Kapitan_komandorДата: Пн, 07.09.2015, 09:42 | Сообщение # 1450
Диггер Вольных
Вольные сталкеры
Сообщений: 12372
Награды: 15
Репутация: [ 1122 ]

sergej5500, программные не дочёты...а мне и пофиг.
Главное хороший мод и атмосфера игры.Поиск в ЧЗО и разные головоломки.
А графа или еще там улучшение,это не суть главно.
Очень охота по больше окунутся в атмосферу приключений,как это было при первых днях,когда ставил игры СТАЛКЕР и не мог оторватся от того,что будет дальше.
- Как сам?...что поделываешь.



Жизнь это миг.за него и держись.
 
asd123Дата: Вт, 15.09.2015, 20:48 | Сообщение # 1451
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Здравствуйте. Решил добавить квестовый сквад на Кордоне, но ловлю вылет при приближении к Железнодорожному мосту(думаю, это конечный радиус от смарт-террайна Фермы). Вообщем, вот что добавил в esc_smart_terrain_6:
Код
esc_b6_guarder_26 = escape\esc_b6_logic.ltx
esc_b6_army_1 = escape\esc_b6_logic.ltx
esc_b6_army_2 = escape\esc_b6_logic.ltx
esc_b6_army_3 = escape\esc_b6_logic.ltx
esc_b6_army_4 = escape\esc_b6_logic.ltx
esc_b6_army_5 = escape\esc_b6_logic.ltx
esc_b6_army_6 = escape\esc_b6_logic.ltx
esc_b6_glava_bazi = escape\esc_b6_logic.ltx
esc_b6_medic = escape\esc_b6_logic.ltx


Вот что добавил в esc_b6_logic:
Код

[logic@esc_b6_guarder_26]
active = walker@guarder_26
suitable = {=check_npc_name(sim_default_bandit_enemy)} true, {=check_npc_name(sim_default_army)} true
prior = 95

[walker@guarder_26]:walker@def_guarder
path_walk = guard_21_walk
path_look = guard_21_look

;

[logic@esc_b6_glava_bazi]
active = walker@glava_position
suitable = {=check_npc_name(army_glava_bazi)} true
prior = 200

[walker@glava_position]
path_walk = glava_walk
path_look = glava_look
avail_animations = animpoint_sit_normal
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@glava
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = true
on_game_timer = 10 | walker@glava_sit
on_info = {=actor_enemy} %=actor_neutral%

[walker@glava_sit]
path_walk = glava_2_walk
path_look = glava_2_look
avail_animations = animpoint_sit_normal
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@glava
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = true
on_game_timer = 20 | {=npc_in_zone(glava_2_walk)} walker@glava_sit_2
on_info = {=actor_enemy} %=actor_neutral%

[walker@glava_sit_2]
path_walk = glava_3_walk
path_look = glava_3_look
avail_animations = animpoint_sit_high_normal
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@glava
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = true
on_game_timer = 50 | {=npc_in_zone(glava_3_walk)} walker@glava_position
on_info = {=actor_enemy} %=actor_neutral%

[meet@glava]
close_anim   = nil
close_victim  = nil
far_anim   = nil
far_victim   = nil
close_distance  = 0
far_distance  = 0
use = {=actor_enemy} false, true
trade_enable  = false
allow_break  = false
meet_on_talking = false

;

[logic@esc_b6_medic]
active = walker@medic_position
level_spot = medic
trade = misc\trade\trade_jup_b202_stalker_medic.ltx

[walker@medic_position]
path_walk = medic_walk
path_look = medic_look
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@medic
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false
on_info = {=actor_enemy} %=actor_neutral%

[meet@medic]
close_anim   = nil
close_victim  = nil
far_anim   = nil
far_victim   = nil
close_distance  = 0
far_distance  = 0
use = {=actor_enemy} false, true
trade_enable  = true
allow_break  = true
meet_on_talking = false

;

[logic@esc_b6_army_1]
active = walker@army_1
suitable = {=check_npc_name(esc_army)} true
prior = 95

[walker@army_1]:walker@def_guarder
path_walk = army_1_walk
path_look = army_1_look

;

[logic@esc_b6_army_2]
active = walker@army_2
suitable = {=check_npc_name(esc_army)} true
prior = 95

[walker@army_2]:walker@def_guarder
path_walk = army_2_walk
path_look = army_2_look

;

[logic@esc_b6_army_3]
active = walker@army_3
suitable = {=check_npc_name(esc_army)} true
prior = 95

[walker@army_3]:walker@def_guarder
path_walk = army_3_walk
path_look = army_3_look

;

[logic@esc_b6_army_4]
active = walker@army_4
suitable = {=check_npc_name(esc_army)} true
prior = 95

[walker@army_4]:walker@def_guarder
path_walk = army_4_walk
path_look = army_4_look

;

[logic@esc_b6_army_5]
active = walker@army_5
suitable = {=check_npc_name(esc_army)} true
prior = 95

[walker@army_5]:walker@def_guarder
path_walk = army_5_walk
path_look = army_5_look

;

[logic@esc_b6_army_6]
active = walker@army_6
suitable = {=check_npc_name(esc_army)} true
prior = 95

[walker@army_6]:walker@def_guarder
path_walk = army_6_walk
path_look = army_6_look

;


Ну и собственно сам вылет:

Код
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   : .... - Зов Припяти\gamedata\scripts\xr_motivator.script:107: attempt to index local 'smart_task' (a nil value)
             

stack trace:

Где я допустил ошибку? Если что, как обычно - всё делаю в СГМ 2.2 со всем фаршем из фиксов biggrin


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




Сообщение отредактировал asd123 - Вт, 15.09.2015, 21:05
 
sergej5500Дата: Вт, 15.09.2015, 21:09 | Сообщение # 1452
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

asd123,

Такие вылеты 'smart_task' у меня бывают, когда я забываю или неверно прописываю пути неписей в all.spawn. Прверяйте файл way_**
 
asd123Дата: Вт, 15.09.2015, 21:34 | Сообщение # 1453
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

sergej5500, а точно! У меня изначально медик и другой перец имели другие секции в way_escape, а исправить я их забыл. oops Спасибо! specool

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




Сообщение отредактировал asd123 - Вт, 15.09.2015, 21:46
 
iLowДата: Ср, 16.09.2015, 12:55 | Сообщение # 1454
Удаленные



Дело такое, появилось желание сделать ветку апргейда для ВАЛ'а.
В сборке альбора для СГМ 2.2 он подписан как ствол не имеющий апгрейдов и тд.
в конфиге его прописано что на нем может стоять кобра и еще какой-то прицел и есть ветка апргрейдов (не заполненая) и так же ссыль на таблицу(хотя в самой таблице ничего связанного с влаом нет) собственно я все недостающее добавил где надо как таковую ветку взял от ака(все где стояла приписка АК было заменено на ВАЛ) и сделал идентичную таблицу, так же в конфиге самого вала поменял значение в разделе прицелы с 0 на 2. Так вот эффекта никакого, в чем проблема?
 
asd123Дата: Ср, 16.09.2015, 15:17 | Сообщение # 1455
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

iLow, а вы апгрейд ВАЛа прописали у какого-нибуть механика?

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


 
Поиск: