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


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


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

Outfater
Да, можно пойти и третьим путём. Уменьшайте вероятность и будет Вам счастье.
 
FREEM@NДата: Сб, 06.10.2012, 21:21 | Сообщение # 197
Легенда Зоны
Свобода
Сообщений: 1031
Награды: 8
Репутация: [ 271 ]

[error][ 87] : Параметр задан неверно.

Что за лог? тот вылет исправил, вот новый. Всё перепроверил, снорки должны правильно в Рыж лесу спавниться! захожу в игру, нажимаю новая игра и вылет. Могу если надо тут написать как я спавнил снорков через скрипт

Прочитайте последний абзац шапки темы и задайте вопрос. Пока что ответить вам конкретно не возможно. denis2000
 
FREEM@NДата: Сб, 06.10.2012, 21:21 | Сообщение # 198
Легенда Зоны
Свобода
Сообщений: 1031
Награды: 8
Репутация: [ 271 ]

Ладно-вот полная история моего вылета и касается она так сказать sergej5500, smile потому что я хотел адаптировать его мод "охотник" для чистой ЗП под свою сборочку на ЗП для которой я выдернул из СГМ 2.2 локу рыжий лес, чтобы понять как создана лока (СДК не освоил) и заспавнить на ней монстров. С аномалиями всё получилось а вот монстры увы... Его мод добавляет новые квады монстров в игру. Хотел потренирроваться на снорках и вот что вышло: [error][ 87] : Параметр задан неверно.
[cut=Как я добавлял монстров в игру]
Заходим в alife_red_forest (новую локу зарегестрировал) перед этим конечно же распаковал all.spawn.
в файл вписываю:
[46684432345]
; cse_abstract properties
section_name = smart_terrain
name = oxota_snork_smart
position = -13,-0,-334
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 2142
distance = 0
level_vertex_id = 79236
object_flags = 0xffffff3e
custom_data = <<END
[smart_terrain]
cfg = scripts\red_forest\smart\oxota_snork_smart.ltx
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 2

; cse_alife_space_restrictor properties
restrictor_type = 3

; se_smart_terrain properties

Далее захожу по адресу: gamedata/configs/misc/simulation_objects_props.ltx
Там пишу в самом конце:
[oxota_snork_squad]:default_squad
sim_avail = true
И потом иду в: squad_descr_red_forest (всё в той же папке этот документ я зарегестрировал)
Пишу там:
[oxota_snork_squad]:online_offline_group
faction = monster
npc = snork_normal, snork_normal, snork_normal, snork_normal, snork_strong, snork_strong, snork_strong
target_smart = oxota_snork_smart
story_id = oxota_snork_squad
И наконец захожу в: configs/scripts/red_forest/(не регестрировал, помоему не надо)smart
И создаём там файл ltx: oxota_snork_smart
В нём написал:
[smart_terrain];oxota_snork_smart
squad_id = 315
max_population = 2

respawn_params = respawn@oxota_snork_smart

[respawn@oxota_snork_smart]
snork

[snork]
spawn_squads = oxota_snork_squad
spawn_num = 1
Не могу понять-что сдесь неправильно? [/cut]
Версия моего ЗП: 1.6.2

Как и где регистрировал squad_descr_red_forest.ltx
denis2000


Тут: squad_descr
Вписал:
; Здесь содержатся дескрипшены сквадов, которые потом можно создавать используя спец функции.
#include "squad_descr_pripyat.ltx"
#include "squad_descr_jupiter.ltx"
#include "squad_descr_zaton.ltx"
#include "squad_descr_labx8.ltx"
#include "squad_descr_underpass.ltx"

#include "squad_descr_red_forest.ltx"


Сообщение отредактировал FREEM@N - Пн, 08.10.2012, 15:11
 
ДовакинДата: Пн, 08.10.2012, 16:00 | Сообщение # 199
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

Здравствуйте!У меня вопрос!Прохожу КМБ первый урок.Все сделал как надо.А игра не запускается.XrEngine менял.xRender_R3 менял.Бесполезно!Не запускается после чувачка какого я добавил.

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

___ToRReNT___
Видимо, Вы что-то сделали неправильно. Что показывает лог вылета?


Сообщение отредактировал sergej5500 - Пн, 08.10.2012, 16:57
 
ДовакинДата: Пн, 08.10.2012, 17:20 | Сообщение # 201
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

Просто вылетает ошибка с xrengine . Потом жучок.И все

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

___ToRReNT___
Смотрите шапку темы: "Как найти лог игры после вылета". Особо интересуют 25 последних строк после FATAL ERROR

FREEM@N
Тоже желателен лог вылета.
 
ДовакинДата: Пн, 08.10.2012, 17:36 | Сообщение # 203
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

Quote (sergej5500)
___ToRReNT___
Смотрите шапку темы: "Как найти лог игры после вылета". Особо интересуют 25 последних строк после FATAL ERROR


Извините,такой папки не присутствует.Только от sgm и ЧН.А у меня на ориг.зов припяти.


 
FREEM@NДата: Пн, 08.10.2012, 17:50 | Сообщение # 204
Легенда Зоны
Свобода
Сообщений: 1031
Награды: 8
Репутация: [ 271 ]

Quote (sergej5500)
Тоже желателен лог вылета.

Я же писал? вот он:
[cut]stack trace:

0023:084E2A71 xrGame.dll, CDialogHolder::CDialogHolder()

[error][ 87] : Параметр задан неверно.[/cut]
 
sergej5500Дата: Пн, 08.10.2012, 18:00 | Сообщение # 205
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

___ToRReNT___
Попробуй найти в папке Пользователь (Имя учетной записи)\AppData\Roaming\XRay Engine\reports архив с названием типа XRayEngine_error_report_121002-232536.zip. Архивов может быть несколько. Интересует последний по времени. В архиве должен быть файл xray_TхЁухщ.log, в низу его секция FATAL ERROR.
Может потребоваться включить в Проводнике Виндовс отображение скрытых файлов и папок.


Сообщение отредактировал sergej5500 - Пн, 08.10.2012, 18:01
 
ДовакинДата: Пн, 08.10.2012, 18:24 | Сообщение # 206
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

sergej5500, Нет папки Roaming.

У вас поиск в Операционной Системе отказал? Поищите по имени файла. denis2000


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

FREEM@N, В ваших правках я не заметил ничего криминального, попробуйте сделать аналогичный спавн для родной локации.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
ДовакинДата: Пн, 08.10.2012, 19:40 | Сообщение # 208
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

Вот лог ошибки
Code
FATAL ERROR
     
[error]Expression    : I
[error]Function      : CInifile::Load
[error]File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
[error]Line          : 256
[error]Description   : Can't find include file:
[error]Arguments     : sh_stalkers.ltx
     

stack trace:


Как я вижу проблема в sh_stalkers.ltx ???




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

___ToRReNT___
Игра не находит файл sh_stalkers.ltx. Проверьте на месте ли он у Вас и правильно ли называется.
 
ДовакинДата: Пн, 08.10.2012, 20:05 | Сообщение # 210
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

Ну вот,теперь в игре вылет(

Code
FATAL ERROR
   
[error]Expression    : no_assert
[error]Function      : CXML_IdToIndex<class CCharacterInfo>::GetById
[error]File          : d:\prog_repository\sources\trunk\xrserverentities\xml_str_id_loader.h
[error]Line          : 112
[error]Description   : item not found, id
[error]Arguments     : zat_sh_lebedev_skadovsk
   

stack trace:


 
Поиск: