Перейти к контенту
Halford

[SoC] Ковыряемся в файлах

Рекомендуемые сообщения

KitkaT.Net Автор этого пса для ТЧ - Charsi.

Leshik Можно, но для этого все равно нужен целый пак. В теме Кости V есть описание как это сделать (1-5 страница, где-то там).

 

Мой архив

Сталкером не занимаюсь.

Ссылка на комментарий

Что может означать данный вылет?

[error]Expression    : assertion failed
[error]Function      : CUILine::GetLength_inclusiveWord_1
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UILine.cpp
[error]Line          : 410
[error]Description   : pos.word_1.exist()

Ссылка на комментарий

Какие цвета можно использовать для маски террейна? Красный, зелёный и синий, для травы, асфальта и земли соответственно - это понятно. Интересно как добавить песок, или другую текстуру таким образом.

S.T.A.L.K.E.R.
Ссылка на комментарий

Да спасибо, нашел в DMX mod, и недавно вышедшем некоем Leper Mod. (это если кто тоже искать будет)

Ничто не вечно под луной.

Ссылка на комментарий

Как увеличить дальность проработки террайна? Если это движковое, то можно не разъяснять, а если это один из параметров user.ltx, то буду рад выслушать.

Примечание: это не дальность видимости и не дальность освещения.

Ссылка на комментарий

ТЧ v 1.0004

Вопрос по именам(идентификаторам) уровней в конфигах.

Цитаты из

game_maps_single.ltx

[level_maps_single]

L01_escape

L02_garbage

L03_agroprom

........

........

далее

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[l01_escape]

texture = map\map_escape

bound_rect = -317.164, -633.718, 404.880, 811.627

global_rect = 355.0,2011.0, 576.0,2453.000000

weathers = default

music_tracks = l01_escape_musics

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[L02_garbage]

texture = map\map_garbage

bound_rect = -322.334, -347.225, 321.685, 318.000

global_rect = 371.0,1767.0,561.0,1963.256226

weathers = default

music_tracks = l02_garbage_musics

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[l03_agroprom]

texture = map\map_agroprom

bound_rect = -266.505, -355.611, 331.388, 213.838

global_rect = 161.0, 1834.0, 344.0,2008.293945

weathers = default

;music_tracks = l03_agroprom_musics

music_tracks = l01_escape_musics

Используется то прописная то заглавная буква L. Получается движек не различает регистра ?

Соответственно значение, которое возвращает level.name() можно проверять в любом регистре ?

Т.е. правильно работать будет и

if level.name() == "l01_escape" then
    ................
end

и

if level.name() == "L01_ESCAPE" then
    ................
end

 

Ссылка на комментарий

Так как соответствующая тема ( Super AI pack 3 in 1 ) закрыта, то задаю вопрос здесь

 

Решил применить в моде замечательное творение под названием Full AI edition Super или AI пак 3 в 1. Все хорошо, все нравится. Единственный минус: сталкеры подбирают все что валяется. Но в моде есть предметы которые не нужно подбирать. Отсюда вопрос: можно ли эти два предмета поставить в исключение?

 

Заранее спасибо :) !

 

---

AndreySol, скорее всего все равно на регистр. Но для полной уверенности ты можешь проверить так: сделай две функции на проверку локации с разным регистром с выдачей сообщения. Если оба покажут значит все равно.

Изменено пользователем Starter

ЯДиск папка с крутым схроном!

Ссылка на комментарий

Доброго дня Сталкеры!

Кто нибудь встречал картинки со знаками вопроса в ТЧ? и если да то в каком месте)))

Общая фотография висит на АС в штабе Свободы

 

http://i-fotki.info/11/5de3ccea836da3ae0656...015465.jpg.html

Изменено пользователем максгород

maxgorod.gif

Ссылка на комментарий

максгород, они вырезаны, в оригинале их не встретиш.

 

Добавлено через 12 мин.:

У меня получилась довольно интересная штука , я установил мод "Просмотр изображений", и вот что получилось :

[doc_photo_demo]:doc_view

description = фото-документ

pos_x = 150

pos_y = 50

doc_photo_demo – это текстура

doc_view – это название самого предмета в секции

А у меня получается теперь так:

doc_view – это текстура и название самого предмета

doc_photo_demo- вообще не используется но при создании новых секций его нужно переименовывать.

 

Изменено пользователем wikreznow
Ссылка на комментарий

Столкнулся с такой проблемой.

Создал гулаг на предбаннике. тип - general_lager

в нем несколько патрульных путей patrol и несколько "стоячих" позиций.

Стоячих сначала назвал guard, но столкнулся с вылетом. Переименовал в walker - вылет остался.

 

Вот собственно вылет:

ВНИМАНИЕ! Ошибка! Информация по ошибке в строках ниже!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR! Reason: object 'random_military_nato_veteran27649': path_walk 'predbannik_nato1_gulag_walker_2_walk', index <NOT_arg!>: cannot find corresponding point(s) on path_look '0'
stack traceback:
    ...shing\s.t.a.l.k.e.r\gamedata\scripts\move_mgr.script:599: in function <...shing\s.t.a.l.k.e.r\gamedata\scripts\move_mgr.script:461>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

FATAL ERROR

 

Как на guard, так и на walker происходил одинаково - нпс идет на точку стояния, и на подходе, где то в полуметре от нее вылетает.

В принципе понятно что проблема в путях, но что в них не так?

Вот сами пути:

 

[predbannik_nato1_gulag_walker_1_walk]
points = p0
p0:name = name00
p0:position = -455.21432495117,2.1224491596222,-113.96678161621
p0:flags = 0x400
p0:game_vertex_id = 3903
p0:level_vertex_id = 245656

[predbannik_nato1_gulag_walker_1_look]
points = p0
p0:name = name00
p0:position = -454.49639892578,2.2049999237061,-110.40372467041
p0:game_vertex_id = 3903
p0:level_vertex_id = 246671

[predbannik_nato1_gulag_walker_2_walk]
points = p0
p0:name = name00
p0:position = -466.14318847656,-0.8776068687439,-182.89027404785
p0:flags = 0x400
p0:level_vertex_id = 229449
p0:game_vertex_id = 3905

[predbannik_nato1_gulag_walker_2_look]
points = p0
p0:name = name00
p0:position = -448.76034545898,1.8457752466202,-114.0114440918
p0:game_vertex_id = 3901
p0:level_vertex_id = 255297

[predbannik_nato1_gulag_walker_3_walk]
points = p0
p0:name = name00
p0:position = -443.42132568359,1.8096746206284,-115.85597229004
p0:flags = 0x400
p0:game_vertex_id = 3903
p0:level_vertex_id = 264114

[predbannik_nato1_gulag_walker_3_look]
points = p0
p0:name = name00
p0:position = -442.78961181641,1.8587421178818,-110.92756652832
p0:game_vertex_id = 3903
p0:level_vertex_id = 264122

[predbannik_nato1_gulag_walker_4_walk]
points = p0
p0:name = name00
p0:position = -442.12307739258,1.7648767232895,-128.28350830078
p0:flags = 0x400
p0:game_vertex_id = 3901
p0:level_vertex_id = 265204

[predbannik_nato1_gulag_walker_4_look]
points = p0
p0:name = name00
p0:position = -449.15179443359,1.6720188856125,-127.63687133789
p0:game_vertex_id = 3901
p0:level_vertex_id = 254180

[predbannik_nato1_gulag_patrol_1_walk]
points = p0,p1,p2,p3
p0:name = name00
p0:position = -452.33880615234,-0.91330599784851,-164.05223083496
p0:flags = 0x400
p0:level_vertex_id = 249711
p0:game_vertex_id = 3905
p0:links = p1(1)

p1:name = name01
p1:position = -449.31735229492,1.4491782188416,-133.51445007324
p1:flags = 0x400
p1:level_vertex_id = 254171
p1:game_vertex_id = 3901
p1:links = p2(1)

p2:name = name02
p2:position = -475.05606079102,1.5122009515762,-129.56201171875
p2:flags = 0x400
p2:level_vertex_id = 216251
p2:game_vertex_id = 3901
p2:links = p3(1)

p3:name = name03
p3:position = -475.51699829102,-0.77906394004822,-164.97314453125
p3:flags = 0x400
p3:level_vertex_id = 216200
p3:game_vertex_id = 3905
p3:links = p0(1)

 

Причем если неписи идут по патрульным путям patrol то все нормально. Но как только один из ново-заспавненных подходит к стоячей точке - вылет. В чем причина?

Версия игры - ТЧ 1.0004

Изменено пользователем Zander_driver

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Zander_driver, в общем то, несмотря на пысовские ошибки тебе в лог дана достаточная информация.

Анализируем, попутно подправляя ошибки:

1. Строка прерывания имеет ошибку:

abort("object '%s': path_walk '%s', index %d: cannot find corresponding point(s) on path_look '%s'",self.object:name(), tostring(self.path_walk), tostring(index), tostring(self.path_look))

измени ее на:

abort("object '%s': path_walk '%s', index %s: cannot find corresponding point(s) on path_look '%s'",self.object:name(), tostring(self.path_walk), tostring(index), tostring(self.path_look))

- тут разрабы поставив маску для числа (%d) сами переводят аргумент в стринг (tostring(index)) - вот и пишется в логе: index <NOT_arg!>, хотя должен отобразиться номер текущей точки пути ...

В общем лог должен бы выглядеть так:

Reason: object 'random_military_nato_veteran27649': path_walk 'predbannik_nato1_gulag_walker_2_walk', index '0': cannot find corresponding point(s) on path_look 'predbannik_nato1_gulag_walker_2_look'

 

2. Несложно отследить, что прерывание идет из-за невыполнения условия: if pt_chosen_idx then, т.е. не выбрана точка куда смотреть неписю ... Если проанализировать, то можно увидеть, для выбора точки она должна иметь флаг(и), чего нет в твоем конфиге пути.

Т.о. перепроверяй и подправляй конфиги твоих добавленных путей и обрати внимание в них на (отсутствие) строки типа: p0:flags = 0x400

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

krovosnork,

включи на компьютере отображение защищённых системных файлов и удали из папки textures/ui файл thumbs.db

Ссылка на комментарий

Для какого типа обьектов применима схема ph_camera? И что значат следующие параметры в конфигах игры? can_trade = on наверно значит, что предмет доступен в продаже, если поставить off, значит нет. И не нужно его будет писать в каждом конфиге торговцев. can_take = true значит, что предмет можно взять, если false, то взять нельзя. Правильно ли я трактую данные параметры? Заранее спс.

Ссылка на комментарий

Приветствую. Чет не думал что возникнет проблема со спавном ночных монстров :russian_ru: , но она возникла.

Сделал норм. секцию спавна монстра в алл.спавне с такой логикой:

[1532]

 

; cse_abstract properties

section_name = fracture_strong

name = gar_fracture_strong27

position = -59.8688011169434,-2.59999990463257,-203.529800415039

direction = 0,0,0

version = 118

script_version = 6

 

; cse_alife_object properties

game_vertex_id = 268

distance = 100

level_vertex_id = 136088

object_flags = 0xffffffbf

custom_data = <<END

[logic]

cfg = scripts\amk\amk_respawns\logic\amik_night_monster.ltx

END

 

; cse_visual properties

visual_name = monsters\izlom\izlom

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 0

g_group = 0

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

upd:health = 1

upd:timestamp = 0

upd:creature_flags = 0

upd:position = -59.8688011169434,-2.59999990463257,-203.529800415039

upd:o_model = 0

upd:o_torso = 0,0,0

upd:g_team = 0

upd:g_squad = 0

upd:g_group = 0

 

; cse_alife_monster_abstract properties

upd:next_game_vertex_id = 65535

upd:prev_game_vertex_id = 65535

upd:distance_from_point = 0

upd:distance_to_point = 0

 

; cse_ph_skeleton properties

 

; cse_alife_monster_base properties

 

; se_monster properties

В amik_night_monster.ltx:

[smart_terrains]
none = true

[spawner]
cond = {!is_day}
check_distance = true
min_distance = 50

Все вроде бы правильно, но монстер спавнится при начале игры, а это днем, и при этом в off-line не переходит (потом).

Вот функ. из xr_conditions.script
function is_day (actor, npc)
return level.get_time_hours() >= 5 and level.get_time_hours() < 21
end

smart_terrain_choose_interval    = 22:00:00

и

DayTime_Begin    = 20; начала дня для монстра
DayTime_End    = 9; конец дня для монстра

После этого монстер спавнится в 24:00 в офф тоже не переходит.

Что делаю не так?

Спасибо.

Мой архив

Сталкером не занимаюсь.

Ссылка на комментарий
amik, секцию [spawner] лучше непосредственно пиши в all.spawn. Так как не все секции работают в логике. К примеру, если в логике нпс написать секцию [known_info], инфопоршень выдасться сразу. А не после обыска нпс. Если написать данное в спавне - всё работает. Непонятно, конечно.
Ссылка на комментарий

Я заспавнил торговца стандартным методом через скрипт, но он выкидывает свое оружие (которым торгует)

[smart_terrains]

none = true

 

[logic]

active = walker@jup_trader

trade = misc\trade_barman.ltx

use_single_item_rule = off

can_select_items = off

 

[walker@jup_trader]

path_walk = jup_trader_walk

path_look = jup_trader_look

danger = danger_condition@jup_trader

 

[danger_condition@jup_trader]

ignore_distance = 0

 

К20

Ссылка на комментарий

Всем доброго времени суток. Такой вопрос: есть итем (сам его заспавнил по скрипту) знаю секцию этого итема и точное месторасположение. Скажите пожалуйста как можно узнать id этого предмета?

Заранее спасибо :)!.

ЯДиск папка с крутым схроном!

Ссылка на комментарий

Подскажите где ошибка в этом коде

local time_news = 0
function test()
local act = db.actor
local time = time_global()
if db.actor ~= nil and
if has_alife_info("doctor_one_start") and
time_news < time then
time_news = time + 7000
db.actor.health = -0.05
end
end

Запускаю через апдейт дельта, если ставлю проверку на предмет всё ок, а с поршнем ловлю вылет:

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...g\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:324: attempt to index global 'ins_test' (a nil value)

 

 

Строгое предупреждение от модератора Cyclone
Спойлеры кто будет ставить? В соседней теме, куратор уже делал замечание.
Ссылка на комментарий

Заспавнил контролера через спавн с логикой: выдача инфопоршня при убийстве

[11227]

; cse_abstract properties

section_name = m_controller_normal

name = jup_kontrol

position = 43.8272171020508,23.94677734375,-175.714828491211

direction = 0,0,0

 

; cse_alife_object properties

game_vertex_id = 3727

distance = 0

level_vertex_id = 789591

object_flags = 0xffffffff

custom_data = <<END

[smart_terrains]

none = true

 

[logic]

active = mob_walker

on_death = mob_death

 

[spawner]

cond = {+controler_qvest}

 

[mob_walker]

path_look = defolt_look

path_walk = jup_kontra_walk

 

[mob_death]

on_info = %+kontroler_trup%

END

story_id = 500010

 

; cse_visual properties

visual_name = monsters\kontroler\kontroler

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 1

g_group = 2

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

 

upd:health = 1

upd:timestamp = 0

upd:creature_flags = 0

upd:position = 43.8272171020508,23.94677734375,-175.714828491211

upd:o_model = 0

upd:o_torso = 0,0,0

upd:g_team = 0

upd:g_squad = 1

upd:g_group = 2

 

; cse_alife_monster_abstract properties

 

upd:next_game_vertex_id = 65535

upd:prev_game_vertex_id = 65535

upd:distance_from_point = 0

upd:distance_to_point = 0

 

; cse_ph_skeleton properties

 

; cse_alife_monster_base properties

 

; se_monster properties

 

 

 

Инфопоршень не выдается. Я не могу понять почему?

К20

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...