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

Спавн и логика

Создание объектов на локации и логика поведения этих объектов

Если у вас появились вопросы по созданию динамических объектов в игре (НПС, монстры, аномалии, и т.п.) и настройке их "поведения". Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (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)", ее и надо расскомментировать, должно получиться вот так:
Code
function abort(fmt, ...)
                    local reason = string.format(fmt, ...)
                    error_log(reason)
end

Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией

Первый:
Code
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)

Второй:
Code
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 по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


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

Денис вот тут конфиг химеры, не могли ли вы поточнее обьяснить, что я должен поменять??Будьте добры разясните так как сам я не пойму, что нужно изменить в строчках что бы спавнился монстр на террейне :http://SSMaker.ru/747bd994/

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

alex_xp_77, Для начала раскоментировать параметр $spawn (который кстати и определяет в структуре SDK, где находится химера в списке)

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

Дело в том что мене уже посоветовали раскоментировать, думал дальше пойдет проще,(например на снорке) сравню настройки, поправлю кое где, и все, да не тут то было, настройки идентичные, и вот в тупике из за этого Денис (((

Эти две строчки означают, что вы раскоментировали параметр, а в списке ее все равно нет? denis2000

В списке нет, но я ничего не трогал, все как и было!!

Как потрогаете, сообщите о результате. denis2000




Сообщение отредактировал alex_xp_77 - Сб, 26.04.2014, 21:51
 
sergej5500Дата: Вс, 27.04.2014, 20:23 | Сообщение # 874
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

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

Попробовал присоединить к СГМ 2.1 для ЗП локацию Кордон из ЧН 1.5.10 (игра чистая).

Для работы использую ACDC 1_37 (самый свежий на сегодняшний день). Возникли следующие затруднения.

1. Спавн от СГМ 2.1 для ЗП ACDC разбирает и собирает без проблем и ограничений.

2. Спавн от ЧН можно разобрать. Затем можно собрать. Но новособранный спавн от ЧН при следующей разборке дает ошибку.


3. Аналогичная картина при попытке разобрать спавн от СГМ с добавленным Кордоном. С помощью компилятора, входящего в комплект СГМ удалось собрать общий спавн. Можно его собирать и разбирать. Но ACDC 1.37 предпочтительнее. Он сортирует секции по алфавиту. И при обработке спавна от ЧН и сборного спавна дает ошибку.

Ссылка на спавны

Можно ли решить эту проблему? Заранее благодарен за советы.
 
denis2000Дата: Вс, 27.04.2014, 22:06 | Сообщение # 875
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата sergej5500 ()
Можно ли решить эту проблему?

Можно, не используйте sim_faction тем более что в ЗП их больше нет.


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

denis2000,
Спасибо. Теперь возникло другое осложнение. Пересчет вертексов из ACDC глючит. Я убрал лишнее из alife_escape. Исправил нумерацию секций. Батник acdc_parse.

universal_acdc.pl -parse all/alife_escape.ltx -old 472 -new 1598 -way
pause


спотыкается на объектах section_name = campfire. Начиная с номера 8000741. Чем ему не нравятся эти секции? В файле Затона секции аналогичные. Кордон

Еще один вопрос. Батник acdc_split формирует для каждой локации lelel.spawn и level.game.
Можно ли решить обратную задачу? Имея lelel.spawn и level.game для всех нужных локаций, собрать полноценный спавн?
Можно ли присоединить локацию таким методом?
 
denis2000Дата: Пн, 28.04.2014, 11:29 | Сообщение # 877
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата sergej5500 ()
Чем ему не нравятся эти секции? В файле Затона секции аналогичные.

Бес понятия, чем не нравятся - этот вопрос следовало бы адресовать авторам программы или хотя бы приложить лог конвертера. Не получается автоматом пересчитайте вручную.

Цитата sergej5500 ()
Еще один вопрос. Батник acdc_split формирует для каждой локации lelel.spawn и level.game.
Можно ли решить обратную задачу?

Да конечно: конвертер потом эти файлы декомпилирует в формат SDK (при декомпиляции уровня), в SDK создадите билд уровня, а компилятор спавна снова соберет спавн, но зачем?


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

Всем дорого дня!!Опять нужна помощь знатоков!!Хочу сделать новый сюжет, что бы все было как у людей, вот и на этот раз, пытался через sdk и config, заспавнить торговца, имя торговца trade_ashot, ну сделал все как и уроке, на каком то сайте, не суть важно, но при запуске игры , с уже новым торговцем, произошел вылет, даже игра не запустилась, вылез лог вот тут: http://SSMaker.ru/01c47641/ , ну понятно что лог на ashot_trader.xml , я ассортимент торговца взял из файла trade_trader, этот файл для обычного торговца, вот что у меня в самом документе ashot_trader.xml тут: http://SSMaker.ru/4aeab18d/ поменял имя на ashot_trader, вот в этих документах: npc_profile,character_desc_sev_plato(этот создал сам, с именем моей локации),system, вроде все !!Помогите кто знает в чем дело, очень нужна ваша помощь!

 
NIVДата: Вт, 29.04.2014, 09:37 | Сообщение # 879
Полевой исследователь
Ученые сталкеры
Сообщений: 167
Награды: 4
Репутация: [ 180 ]

Цитата alex_xp_77 ()
произошел вылет, даже игра не запустилась,
+ в логе у вас "error while parsing XML file" == 100% синтаксическая ошибка. Проверьте все теги на правильность, например Ноутпадом ++. Часто что-нибудь не хватает, например ">". Или наоборот, что-нибудь лишнее.


Изменяем реальность S.T.A.L.K.E.R. CoP: "Цена Новых Исследований" / "New Investigations' Value"

Сообщение отредактировал NIV - Вт, 29.04.2014, 09:39
 
alex_xp_77Дата: Ср, 30.04.2014, 18:33 | Сообщение # 880
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
Награды: 6
Репутация: [ 41 ]

Добрый вечер всем!! По поводу торговца, тут поковырялся понял что не прописал пути приветствия, точнее диалога характерного для торговца,и незнаю как это сделать грамотно, то есть профиль торговца, ashot_trader, может кто подскажет по какому пути можно вытащить диалог обычного торговца, хотя бы Скряги?Был бы очень благодарен за помощь!



Сообщение отредактировал alex_xp_77 - Ср, 30.04.2014, 18:35
 
tema796Дата: Пт, 02.05.2014, 05:04 | Сообщение # 881
Гражданский
Пользователи
Сообщений: 20
Награды: 0
Репутация: [ -20 ]

Всем Привет. Мне нужна ваша помощь, сам не смог справиться, с нпс. У меня нпс не становиться на animpoint, а может и сама логика не фурычет


















Сообщение отредактировал tema796 - Пт, 02.05.2014, 09:53
 
denis2000Дата: Пт, 02.05.2014, 11:42 | Сообщение # 882
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

tema796, А кто сесть то должен? Где информация о скваде? Где спавн?

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
tema796Дата: Пт, 02.05.2014, 14:19 | Сообщение # 883
Гражданский
Пользователи
Сообщений: 20
Награды: 0
Репутация: [ -20 ]

denis2000, Сам сквад
Код
[esc_misha_squad]:online_offline_group
faction = stalker
npc = sim_default_stalker_1, sim_default_stalker_2, sim_default_stalker_3, sim_default_stalker_4
target_smart = esc_sid
story_id = esc_misha

simulation
Код
[start_position_escape]
esc_misha_squad = esc_sid

Добавлено (02.05.2014, 14:19)
---------------------------------------------
Никто не садиться

 
denis2000Дата: Пт, 02.05.2014, 14:58 | Сообщение # 884
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

tema796,
1. В секции [smart_terrain] параметр max_population - обязательный! Иначе применяется значение по умолчанию = 0.
2. Для проверки уберите кондишен npc_in_zone.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
tema796Дата: Пт, 02.05.2014, 15:14 | Сообщение # 885
Гражданский
Пользователи
Сообщений: 20
Награды: 0
Репутация: [ -20 ]

denis2000,

esc_sid_bar
Код
;---------------------------------------------
[animpoint@gen]
reach_movement = walk
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
use_camp = true
meet = meet@esc_sid_animpoint_meet
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

[meet@esc_sid_animpoint_meet]
close_anim   = nil
close_victim  = nil   
far_anim   = nil
far_victim   = nil
close_distance  = 0
far_distance  = 0
use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false
snd_on_use = {!dist_to_actor_le(3)} nil
meet_on_talking = false
;---------------------------------------------

;---------------------------------------------
;---Барный сектор
;---logic
;---------------------------------------------
[logic@esc_sid_animpoint_1]
suitable = {=check_npc_name(sim_default)} true
prior = 200
active = animpoint@esc_sid_animpoint_1

[animpoint@esc_sid_animpoint_1]:animpoint@gen
cover_name = esc_sid_animp_1


esc_sid

Код
[smart_terrain];zat_stalker_base_smart
squad_id = 1   
max_population = 4

[exclusive]
esc_sid_animpoint_1 = escape\job\esc_sid\esc_sid_bar.ltx


Итог: Нечего не изменилось sad

P.s. : вот пути до файлов, вдруг поможет
1)D:\Игры\S.T.A.L.K.E.R. - Call of Pripyat\gamedata\configs\scripts\escape\smart_terrain\(там лежит esc_sid )
2)D:\Игры\S.T.A.L.K.E.R. - Call of Pripyat\gamedata\configs\scripts\escape\job\esc_sid\(там лежит esc_sid_bar )


Сообщение отредактировал tema796 - Пт, 02.05.2014, 15:15
 
Поиск: