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

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

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

Всем привет! Помогите разобраться с ситуацией, что не так я делаю (ТЧ 1.0004 +АМК 1.4.1): 

 

В бинд сталкере под апдейдом прописываю след.:
if self.object.satiety >= 0.7 then
db.actor:give_info_portion("satiety_critical")
end
else
if self.object.satiety <= 0.69 then
db.actor: disable_info_portion("satiety_critical")
end
else
if self.object.satiety >= 0.9 then
local gg = db.actor
gg:kill(gg)
end


То получаю вылет при загрузке:
Arguments : LUA error: ...er Тени Чернобыля\gamedata\scripts\se_respawn.script:483: attempt to index field 'actor' (a nil value)

 

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

 

 

 

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

if self.object.satiety >= 0.7 then

db.actor:give_info_portion("satiety_critical")

end

else

 

Что-нибудь одно. Или if ... end; if ... end; if ... end - если речь идет о разных вещах, или, если проверяем одно и то же if ... elseif ... elseif ... end

 

И вообще, идем на lua.org, качаем оттуда компилятор, и если что-где меняем - сначала пробуем через компилятор пропустить. Луа-чеккер не предлагаю, по тому что просто лишняя надстройка, и там хочет еще кучу всего.

Изменено пользователем Dennis_Chikin
  • Спасибо 1
  • Не нравится 1
Ссылка на комментарий

@Outfater, что ты делаешь? Сытость в другую сторону работает. Попробуй так, а то я с начала игры умер):

if db.actor.satiety <= 0.3 then


 db.actor:give_info_portion("esatiety_critical)
 end
 if db.actor.satiety >= 0.31 then
 db.actor:disable_info_portion("esatiety_critical)
 end
 local gg = db.actor
 if db.actor.satiety <= 0.1 then
 gg:kill(gg)
 end

 

 

По крайней мере в игре работает.

  • Спасибо 1

Изображение погибло, снес. Ссылка на канал остается пока в виде >>>ссылки<<<. HellRatz

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

Ну, может, человек хочет сделать смерть от обжорства... ;)

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

@Ghost-2142, блин, точно! Вот это я лоханулся :dash2: ! Перед этим starvation настраивал, вот и "перемкнуло" наоборот  :D . Спасибо, попробую.

 

 

 

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

@Morder07,

Вольная цитата  от балды из отзывов к большинству модов...

**Неписи видят ГГ через всю локацию и суперметко стреляют, убивая его одной пулей**

Ну а так...Вот тут почитай.

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

Ребят, подскажите как на айтеме сделать эффект уменьшения здоровья, что-то типа бустеров из ЗП, на определённое время?

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

Всем привет, опять приходится поднимать вопрос по условию:

if db.actor.satiety <= 0.3 then

 db.actor:give_info_portion("esatiety_critical)
 end

Пробовал в любом месте (и перед последним end, как советовали) это прописать под функцией function actor_binder:update(delta), но получаю вылет при загрузке:

[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: ... Тени Чернобыля\gamedata\scripts\bind_stalker.script:664: attempt to compare nil with number
Только сточка 664 меняется, и она указывает всё время на if db.actor.satiety <= 0.3 then (при варианте if self.object.satiety <= 0.3 then - тоже самое)
Могу только догадываться (т.к. не знаю языка LUA), что причина либо в самом условии (какой-то неверный параметр), либо в отсутствии какой-то строчки с параметром nil. Если кто может, помогите пожалуйста с этим.
З.Ы. Вопрос решен.
Изменено пользователем Outfater

 

 

 

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

@Outfater, на 4 патче в db.actor нет параметра satiety. Поэтому db.actor.satiety это nil и к нему операция <= не применяется.

  • Спасибо 1
Ссылка на комментарий

Возник ряд вопросов относительно некоторых параметров в конфигах оружия. Что оно такое и на что влияет?
вот эти параметры:

  • max_radius - ???
  • min_radius - ???
  • launch_speed - вразумительные значения видел только у гранатометов, но зачем этот параметр присутствует и у другого оружия, и почему у стволов оснащенных подствольником - равен нулю...
  • $prefetch - на что именно это влияет, конфиги же грузятся в порядке подключения их к system.ltx и подклченных к нему файлов?

По первым двум - наиболее вразумительная подборка постов сведена вот здесь http://www.amk-team.ru/forum/index.php?showtopic=13148&p=971188
То есть, надо проверять. На чистом ТЧ. dc

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

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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

 

min_rаdius - минимальное расстояние, на котором нпц будет использовать этот вид оружия (актуально для гранат, снайперок и гранатометов, допустим min_rаdius = 30 значит если цель находится ближе 30 метров - нпц сменит (например снайперку) на пистолет))

 

mаx_rаdius - максимальное расстояние, на котором нпц будет использовать данный вид оружия, допустим 

mаx_rаdius = 50 значит если цель находится дальше 50 метров, то нпц не будет стрелять из этого оружия (слишком маленький mаx_rаdius является причиной весьма распространенного глюка: наверняка у каждого был такой момент, когда враги прекрасно видели гг, но не стреляли и просто ходили из стороны - в сторону)

 

для пистолетов и автоматов рекомендую выставлять min_rаdius = 0

для снайперок и гранатометов min_rаdius = 30 и больше

 

mаx_rаdius можно тупо поставить всем  стволам значение 200 (больше смысла не имеет, можно меньше, допустим 100)

  • Нравится 1

Мы по аномалиям зону разберём!

Сидора повесим, а Бармена убьём!

Ну а вояк мы смоем в унитаз!

Пускай плывет в канализации спецназ!

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

Всем здрасти и прошу прощения за возможно идиотский вопрос. Дело в том, что в одном месте на локации я хотел создать зону с пси-излучением. Но как я позже понял, хехе, пси-излучение выходит аномалией как бы не является. Просмотр конфигов в спавне Янтаря и Радара не привел к чему-либо. Я не обнаружил там даже малейшего намека на секцию пси-излучения. Вопрос, т.к. его "заспавнить" можно?

Работы butcher_512. Все ссылки пропали, поэтому ложу свои сюда, чтобы никогда не потерять:

Customization Pack 0.83 [Beta4] - SoC - Тема модификации.

Customization Pack CoP [Beta]   - CoP - Тема модификации.

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

mzarkas,

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

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

Возможно пишу не сюда, уж простите.

 

Вопрос по поводу OGSM 2.3.1 Ultimate, возможно ли пофиксить проблему с таймерами как в Чистом Небе, когда через месяц игрового времени герой не хочет есть, спасть, выбросы не происходят и т.д.?

 

Если не трудно опишите подробно метод исправления данной ситуации.

Добавлено Kirgudu,

Перенёс из http://www.amk-team.ru/forum/index.php?showtopic=5412

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

@Возрождённый, на Янтаре и Радаре пси-излучение сделано через рестрикторы со схемой sr_psyantenna.

Можно сделать на базе аномалии - ZS_RADIO (вроде, так класс называется) - радиоактивная зона, просто тип хита поменять. Так в ЗП пси-аномалии сделаны.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@Возрождённый, дополню naxac-a: 

 

 

Один из рестрикторов на Радаре:

; cse_abstract properties
section_name = space_restrictor
name = rad2_space_restrictor_0000
position = -5.87346267700195, -0.711700439453125, 14.6107597351074
direction = -0.0772645771503448, 1.9053154609594e-009, 2.46841782569618e-008
id = 65535
version = 118
script_version = 6
spawn_id = 7034


; cse_alife_object properties
game_vertex_id = 1862
level_vertex_id = 197671
object_flags = 0xffffff3e
custom_data = <<END
[logic]
active = sr_psy_antenna@no_helmet


[sr_psy_antenna@no_helmet]
eff_intensity = 20
hit_intensity = 30
on_info = {=actor_has_item(good_psy_helmet)} sr_psy_antenna@good_helmet, {=actor_has_item(bad_psy_helmet)} sr_psy_antenna@bad_helmet
on_info2 = {+bar_deactivate_radar_done} nil
phantom_prob = 40
min_phantom_idle = 15000
max_phantom_idle = 20000


[sr_psy_antenna@bad_helmet]
eff_intensity = 40
hit_intensity = 0
on_info = {=actor_has_item(good_psy_helmet)} sr_psy_antenna@good_helmet, {=actor_has_item(bad_psy_helmet)}, sr_psy_antenna@no_helmet
on_info2 = {+bar_deactivate_radar_done} nil
phantom_prob = 30
min_phantom_idle = 15000
max_phantom_idle = 20000


[sr_psy_antenna@good_helmet]
eff_intensity = 20
hit_intensity = 0
on_info = {=actor_has_item(good_psy_helmet)}, {=actor_has_item(bad_psy_helmet)} sr_psy_antenna@bad_helmet, sr_psy_antenna@no_helmet
on_info2 = {+bar_deactivate_radar_done} nil
phantom_prob = 20
min_phantom_idle = 15000
max_phantom_idle = 20000
END


; cse_shape properties
shapes = 1
shape_0:type = sphere
shape_0:offset = 0,0,0
shape_0:radius = 130.301193237305


; cse_alife_space_restrictor properties
restrictor_type = 3

 

 

 

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

Привет! Не подскажите мне, почему скрипт не корректно работает с предметом на классе артефакта? Вот скрипт

 

 

function use_bread_oz( obj )
if obj == nil then return end
if obj:section() ~= "bread" then return end
local s_obj = alife():create( "ПРЕДМЕТ_НА_КЛАССЕ_АРТА", vector(), 0, 0, db.actor:id() )
snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
local Timer_zrems = time_global() + 5000
local effect_start = function()
if s_obj.online and Timer_zrems < time_global() then
return true
end
end
local effect_stop = function()
if snd:playing () then
snd:stop ()
end
alife():release( s_obj, true )
end
level.add_call( effect_start, effect_stop )
end

 

 

Вот конфиг предмета

 

 

[medaid_activation]
starting = 0.5, detectors\geiger_click3, 0, 0, 0, 0, "","idle"
flying = 0, detectors\geiger_click3, 0, 0, 0, 0, "","idle"
idle_before_spawning = 9, detectors\bomb_timer, 0, 0, 0, 0, "","idle"
spawning = 0.5, detectors\geiger_click3, 0, 0, 0, 0, "","idle"


[medaid_b]:identity_immunities
GroupControlSection = spawn_group
$spawn = "weapons\mine\medaid_b"
hud = medaid_b_hud
animation_slot = 11
allow_inertion = true
slot = 1
attach_angle_offset = 0,0,0
attach_position_offset = -0.1,-0.1,0
attach_bone_name = bip01_r_hand
belt = false
af_actor_properties = off
actor_properties = on

$prefetch = 64
cform = skeleton
class = ARTEFACT
visual = huds\item_aptechka.ogf
description = "Пустая Аптечка"
inv_name = "Пустая Аптечка"
inv_name_short = "Пустая Аптечка"
inv_weight = 0.0

inv_grid_width = 2
inv_grid_height = 1
inv_grid_x = 6
inv_grid_y = 14
cost = 50

jump_height = 0
lights_enabled = false

snd_draw = weapons\pm_draw
snd_holster = weapons\generic_holster
snd_shoot = weapons\t_pm_shot ;pm_shoot
snd_empty = weapons\pistol_empty
snd_reload = weapons\pm_reload, 0.8
snd_close = weapons\generic_close
snd_idle_sprint = weapons\generic_close
snd_hide = weapons\generic_close
snd_show = weapons\generic_close
snd_activate = weapons\generic_close
snd_idle = weapons\generic_close


;скорости увеличения (уменьшения)
health_restore_speed = 0.0
radiation_restore_speed = 0.0
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = medaid_absorbation

artefact_activation_seq = medaid_activation

[medaid_b_hud]
orientation = 0, 0, 0
position = 0, -0.155, 0
visual = huds\medaid.ogf


anim_idle_sprint = using
anim_activate = using
anim_show = using
anim_hide = using
anim_idle = using


[medaid_absorbation]
burn_immunity = 1.0 ;коэффициенты иммунитета
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity = 1.0

 

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

При открытии инвентаря следующий вылет:

FATAL ERROR
[error]Expression    : 0
[error]Function      : CUICellContainer::FindFreeCell
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIDragDropListEx.cpp
[error]Line          : 508
[error]Description   : there are no free room to place item

 

 

 

С чего бы это?
Изменено пользователем HellRatz

Мы по аномалиям зону разберём!

Сидора повесим, а Бармена убьём!

Ну а вояк мы смоем в унитаз!

Пускай плывет в канализации спецназ!

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

@mzarkas, иконка предмета больше чем слот. Проще говоря размер иконки не сходится с размером слота. К примеру если попытаться оружие с иконкой от 3-го слота засунуть во второй, пистолетный слот, то будет такой вылет.

 

А вообще этот вылет очень старый и давно разобранный. Лучше погуглить, прежде чем спросить. Ответ быстрее найдется, нежели ждать на форуме.

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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