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

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


Halford

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

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

 

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CScriptEngine::lua_error

[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

[error]Line : 73

[error]Description : <no expression>

[error]Arguments : LUA error: ...w of chernobyl\gamedata\scripts\smart_terrain.script:848: attempt to index a function value

Я заметил, что этот вылет случается при приближении НПС к смарту.

Поделиться этим сообщением


Ссылка на сообщение

Скинь 848 строку скрипта smart_terrain.script

вот она:

function se_smart_terrain:create_gulag()

 

вот так выглядит полная функция:

-- в гулаг поступил первый персонаж и он начинает работать
function se_smart_terrain:create_gulag()
self.duration_end = game.CTime()
--	self.duration_end:setHMSms( 0, 0, 0, math.random( self.gparams.duration_min * h2ms, self.gparams.duration_max * h2ms ) )
self.duration_end:setHMSms( math.random( self.gparams.duration_min, self.gparams.duration_max ), 0, 0, 0 )
self.duration_end:add( game.get_game_time() )

self.check_time = CTime_0

self.gulag:initialize()

self.gulag_working = true
end

если оставить ПЫС-овский скрипт, то вылет так и остается. Как я понимаю, вылет из-за того, что сталкер, не подконтрольный какому-либо смарту, при приближении, опять же, к какому-либо смарту не может в него "влезть". Хотя раньше таких проблем не было.

P.S. данную версию скрипта я взял и супер_аи_пака.

Поделиться этим сообщением


Ссылка на сообщение

Подскажите, как в СОХРАНЕНИИ отредактировать отношение к Долгу (хочу помириться :ny_biggrin: )


Первый способ - это поменять группировку ГГ:

скрипт:

function czar_freedom(npc, actor)
npc:stop_talk()
actor:stop_talk()
db.actor:set_character_community("actor_freedom" , 0, 0)
end

 

На месте actor_freedom любая группировка.

 

 

 

Второй, более подходящий - это сделать Долг друзьями(подходящий скрипт пока не нашел).
 

обе функции выдаешь через диалог после </text> таким образом:

<action>название_скрипта.название_функции</action>

 

 

неужели ЭТО не решаемо и нельзя отредактировать  ".SAV" файл (и что именно) ???

Зачем изобретать колесо, когда можно простыми функциями решить твою проблему?

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

Поделиться этим сообщением


Ссылка на сообщение

Не знаю даже, что уже делать:

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

На чистом скрипте smart_terrain.script получаю такой лог:

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...w of chernobyl\gamedata\scripts\smart_terrain.script:836: attempt to index a function value
При использовании другого, измененного(АИ_пак), изменяется лишь строка в скрипте:
FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ...w of chernobyl\gamedata\scripts\smart_terrain.script:848: attempt to index a function value
 

Сама функция в обоих скриптах имеет такой вид:

function se_smart_terrain:create_gulag()
    self.duration_end = game.CTime()
--    self.duration_end:setHMSms( 0, 0, 0, math.random( self.gparams.duration_min * h2ms, self.gparams.duration_max * h2ms ) )
    self.duration_end:setHMSms( math.random( self.gparams.duration_min, self.gparams.duration_max ), 0, 0, 0 )
    self.duration_end:add( game.get_game_time() )

    self.check_time = CTime_0

    self.gulag:initialize()

    self.gulag_working = true
end
Изменено пользователем ColR_iT

Поделиться этим сообщением


Ссылка на сообщение

Снова я со своей идиотской проблемой: не разобрался я с этим вылетом(скрипт чист и непорочен):

FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ...w of chernobyl\gamedata\scripts\smart_terrain.script:836: attempt to index a function value

 

Мод по кусочкам разобрал. В итоге в папке config осталось 3 файла: профили сталкеров(characters и npc_profile) и system; и папка spawns с олспавном.

В гулагах на локации(Кородон) не копался. Подредактировал респавны
сталкеров, которые не нужны(в том числе и блокпост вояк, где у меня
спавнится Проводник) - в логике дописал поршень, который никогда не
выдастся:

conditions = {+nikogda} 80, 0

Подопытный Проводник виснет где-то через 30 секунд после начала новой

игры. Он не привязан ни к одному из смартов и привязаться не
сможет(по логике).


Ну вот где я так накосячил?

 

Используй соответствующие теги, а не а бы было...

ColR_iT

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

Поделиться этим сообщением


Ссылка на сообщение

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

[spawner]


cond = {-kompl_spawn_anarhiya}

[smart_terrains]
none = true

[logic]
active = walker
trade = misc\trade_burbon.ltx
use_single_item_rule = off
can_select_items = off
inv_max_weight = 1000000
combat_ignore = combat_ignore

[walker]
path_walk = yan_trader_walk
path_look = yan_trader_look
meet = meet
danger = danger_condition@burbon

[danger_condition@burbon]
ignore_distance = 2

[meet]
use = true
use_wpn = true
meet_talk_enabled = true
victim = 10|actor
victim_wpn = 10|actor
meet_state = 10|ward|2|ward
meet_state_wpn = 10|ward|2|ward

[combat_ignore]
combat_ignore_cond = always

 

А вот его характер:

<!---------------------------kompl_trader----------------------->
    <specific_character id="kompl_trader" team_default = "1">
        <name>Бурбон</name>
        <icon x="24" y="14"></icon>
        <map_icon x="3" y="2"></map_icon>
        <bio>Неизвестный сталкер. Сомнительная репутация. Детальная информация отсутствует.</bio>
        
        <class>kompl_trader</class>
        <community>trader</community>
        
        <rank>850</rank>
        <reputation>50</reputation>
        <money min="1000000" max="1000000" infinitive="1"/>

        <visual>actors\stalker\bomj_2</visual>
        <supplies>
            [spawn] \n
            wpn_beretta \n
            ammo_9x19_pbp = 1 \n        
            wpn_ak9 \n
            ammo_9x39_ap = 1 \n            
            device_torch \n
#include "gameplay\character_items.xml"            
        </supplies>
                    
        <start_dialog>hello_dialog</start_dialog>
    </specific_character>

 

Поделиться этим сообщением


Ссылка на сообщение

Как сделать так, чтобы сталкеры целились точно в актора или в другого НПС со стори идом, а не куда-то в сторону? Где-то читал, что для этого нужно раскомментировать или закомментировать какую-то строку в каком-то скрипте

Поделиться этим сообщением


Ссылка на сообщение
Капрал Хикс,

спасибо. И ещё такой вопрос: как в Баре убрать некоторые реплики персонажей, например Бармена: "Здорово, Меченый!" и т.п. Ни в логике, ни в характере ссылки на эти звуки не нашёл

Поделиться этим сообщением


Ссылка на сообщение

ColR_iT

понял. А как быть с тем же Охотником в том же Баре? У него похожих секций нет.

 

А ты искал?

ColR_iT

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

Поделиться этим сообщением


Ссылка на сообщение
VovanDolg

а ничего, что данный "звук" есть практически у всех "посетителей Бара"? У того же Охотника отыгрывается только его: "Кто бы помог?".

Поделиться этим сообщением


Ссылка на сообщение
riddik121

а ты уверен, что это именно из-за респавна? В поройся в сдк и сделай подобный респавн. Вылет может быть и из-за того, что ты вырезал локацию и забыл про графпоинты и переходы. Легче будет, если расскажешь, что натворил до этого

 

VovanDolg

дык я поэтому и спрашиваю: откуда звук?

Поделиться этим сообщением


Ссылка на сообщение

VovanDolg

допустим. Некоторые звуки идут вместе с анимациями, прописаны они в state_mgr_animation_list.script, но там не прописаны конкретно звуки для анимации bar_fas, а это вряд ли то |s=state

 

Что вы здесь устроили? В чём проблема? В твоём нежелании работать головой?

Найди нужные тебе звуки в папке sounds (в данном случае тебе нужны звуки из папки sounds\characters_voice\scenario\bar), поищи по названию (части названия) в папках config и scripts - найдёшь где и как названы эти звуки. По этому названию, опять таки, ищи по папке config и в распакованном all.spawn (т.к. не со всех НПС логика вынесена в конфиги, и кстати логика нужного тебе НПС "Проходи, не задерживайся", как раз и находится в all.spawn). В итоге найдёшь где прописан звук.

ColR_iT

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

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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