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

Внимание. На форуме проводятся технические работы с боковым меню.

_Val_ _Val_

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


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

 

 

проверка по npc:memory_visible_objects()

Не проверка а перебор. С выбором "наилучшего" объекта, к которому нпс и пойдет. Почему для него объект лежащий за 400 метров оказался лучше того что под ногами, это другой уже вопрос.

 

 

но физические объекты не попадают в этот список.

А откуда это известно? вы весь список в лог выводили? Если нет, то советую с этого и начать. Посмотреть, что непись вообще видит а что нет. И уже исходя из этого размышлять дальше.

  • Спасибо 1

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

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

Ты не удосужился даже логику показать, под какой схемой он работает, на что ты вообще надеешься?

В логике проблем нет (ибо это обычная remark) стандартную sit она же проигрывает, а новую анимацию (sit_stul) рядом с гулагом не хочет.

У меня несколько вариантов в чем причина:

1)Гулаг находиться на новой локации (сразу отпадает, ибо на кордоне деревню новичков сломало).

2)Я где-то напортачил в мозгах смарта или Гулага (хотелось бы узнать все файлы относящийся к мозгам).

3)Возможно надо где-то дополнительно прописать анимацию чтобы смарт или гулаг отпустили бедного нпса (в этом варианте тоже я слабо уверен).

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

Пытаюсь создать глобальный мод с новым сюжетом,буду рад любой оказанной помощи

 

А откуда это известно? вы весь список в лог выводили? Если нет, то советую с этого и начать. Посмотреть, что непись вообще видит а что нет. И уже исходя из этого размышлять дальше.

Да . Выводил. O_PHYS_S в этот список не попадает... 

Ну тогда, учитывая что перебор все равно идет по таблице, надо эти объекты туда добавить.

1. Спрашиваем у нпс что он видел, движковым методом, сохраняем это в таблицу.

2. Своей функцией наподобие того что вам уже дали в соседней теме для сталкеров, получаем список нужных физ-объектов онлайн. У физ.объектов так же есть биндер, так что проблем вообще никаких.

3. В watcher_act.script делаем перебор по обеим таблицам, или сливаем их в одну и уже по ней гоняем перебор.

4. Profit

  • Спасибо 1

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

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@плащ, ремарк как базовая? Вы когда-нибудь перестанете издеваться? "Мозги" гулага - smart_terrain.script/xr_gulag.script, ну и gulag_*.script (но это уже мозжечок). Ты вообще уверен что у тебя этот нпс становится под гулаг? Если его гулаг подбирает, то нет ничего удивительного что он анимацию не отыгрывает. Пиши в кастом дату игнор смартов, у меня работает.

 

@Zander_driver, слишком заморочено, лучше сразу физиков на попадание во фруструм проверять и тут же доливать в таблицу, профит сразу.

  • Нравится 1

 

 

Zander_driver, слишком заморочено, лучше сразу физиков на попадание во фруструм проверять и тут же доливать в таблицу, профит сразу.
Ты более коротко и менее понятно для не-сильно ориентирующихся, написал по сути то же что и я.

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

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

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

Спасибо всем кто откликнулся и за Ваши идеи.

Пока копался в поиске стандартного подхода к определению видимых объектов, нашел итератор not_yet_visible_objects() (кстати, рабочий). название как бы намекает, но вот зачем? осталось найти not_anymore_visible_object()... и картина мира сложится воедино.

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

@Карлан, Если хотеть немного понять, можно заметить что добавляя в watcher_act поиск физ.объектов, вопрошающий не хотел выкинуть оттуда все остальное что там уже было.

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

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@Zander_driver, ну так не выкидывай, какие проблемы? Делать по нормальному в нашей сообществе - моветон, начиная с самих.

@плащ, ремарк как базовая? Вы когда-нибудь перестанете издеваться? "Мозги" гулага - smart_terrain.script/xr_gulag.script, ну и gulag_*.script (но это уже мозжечок). Ты вообще уверен что у тебя этот нпс становится под гулаг? Если его гулаг подбирает, то нет ничего удивительного что он анимацию не отыгрывает. Пиши в кастом дату игнор смартов, у меня работает.

Извини если чего плохо объяснил, вот файлы:

 

НПС

[11541]
; cse_abstract properties
section_name = stalker
name = pred_sergant_mayor_Vaskes
position = -556.44348144531,14.339447021484,246.32183837891
direction = 0.0580197647213936,0,0.998315453529358

; cse_alife_trader_abstract properties
money = 5000
character_profile = pred_sergant_mayor_Vaskes

; cse_alife_object properties
game_vertex_id = 3880
distance = 0
level_vertex_id = 95372
object_flags = 0xfffffffb
custom_data = <<END
[smart_terrains]
none=true

[logic]
cfg = scripts\logic\vaskes.ltx
END
; cse_visual properties
visual_name = actors\stalker_hero\stalker_hero_novice_1

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 2
dynamic_out_restrictions = 
dynamic_in_restrictions = 

upd:health = 2
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -556.44348144531,14.339447021484,246.32183837891
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_alife_human_abstract properties
predicate5 = 2,2,1,2,0
predicate4 = 2,2,1,2

; cse_ph_skeleton properties

upd:start_dialog = 

; se_stalker properties

Смарт

 

[11543]
; cse_abstract properties
section_name = smart_terrain
name = pred_post_nato
position = -564.25579833984,15.655229568481,266.97406005859
direction = -0.951673030853271,0,-0.307113021612167

; cse_alife_object properties
game_vertex_id  = 3880
distance = 5
level_vertex_id = 84213
object_flags = 0xffffff3e
custom_data = <<END
[smart_terrain]
type = pred_post_nato
capacity = 2
END

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

; cse_alife_space_restrictor properties
restrictor_type = 3

; se_smart_terrain properties

 

 

Смарт рассчитан на двух НПС и эти двое прекрасно выполняют свою работу 

 

 

[logic]
active = remark
meet = no_meet

[remark]
anim = sit_stul
meet = no_meet 

 

 

sit_stul = { prop = { maxidle = 5,
sumidle = 3,
rnd = 100 },
into = { [0] = {"sit_idle_0"} },
out = nil,
idle = { [0] = "sit_idle_0" },
rnd = nil }, 
 sit_stul= {weapon = "none",
movement = nil,
mental = nil,
bodystate = nil,
animstate = nil,
animation = "sit_stul"
}, 

 

 

 

Еще раз опишу проблему:Новая анимация (вырезанная с ЗП) прекрасно работает но только в дали от гулага.

Рядом с гулагом она либо просто не функционирует (как на predbannik'е) либо ломает гулаг (как на escepe), при этом если в логике написать стандартную анимацию (вроде sit или sit_ass) все шикарно работает!

 

P.S. поставил smart_terrain.script и xr_gulag.script со стандартного ТЧ проблема не пропала.

Пытаюсь создать глобальный мод с новым сюжетом,буду рад любой оказанной помощи

@плащ, не берусь ничего утверждать, но анимация сидения работает у меня лично, да и не только у меня вот отсюда.

[zaton_kardan_look_2]
points = p0
p0:name = wp00|a=sit_stul_sleep
p0:flags = 0x1
p0:position = 105.325080871582,-3.93491101264954,182.070297241211
p0:game_vertex_id = 3686
p0:level_vertex_id = 1147194

и не используй в логике в активной схеме, если только она не изменится

[remark]
  • Согласен 1

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

 

 

в СДК глянуть это тебе надо в партикл эдиторе открыть свой файл и выбрать нужный партикл,

Вот и спрашивал, как? Партикл эдитор запускаю, справа отображается список партиклов. А как его в том же СДК воочию увидеть?

 

Чтобы в игре запустить конкретный, делаю так:

local obj = db.actor:position()


obj.x = obj.x - 10
local particle_blow = particles_object([[anomaly\storm_01]])
particle_blow:play_at_pos(obj)

 

 

Но это один, а если их сотня-другая?

Сталкер - наше всё!

@AndrewMor, в скролл-баре параметов выбранного партикла (внизу справа) есть кнопки Play, Stop.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Кто подскажет? вот вывод сообщения смертей сталкеров

function kill_npc(victim, who)

if victim and IsStalker(victim) then
-- определяется какая группировка у убитого, его имя, локация
local dead_news = "%c[230,255,128,64]"..level_name[level.name()].."\\n%c[230,255,128,64]"..victim:character_name().."%c[230,255,128,64] killed by zone"
db.actor:give_game_news(dead_news, "ui\\ui_icons_mod",Frect():set(0,0,64,64), 1000, 4000)
end
end

 

 

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

Всем привет. Подскажите пожалуйста, как добавить такой же визуал телепорта (своему спаунящемуся неписю), как у появляющихся трех мастеров монолита, когда ГГ первый раз появляется на ЧАЭС-2 ( перед прыганьем в первый телепорт).

 

 

 

 

 

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

Для начала - попробовать перевести на русский названия параметров вышеозначенной ф-ции. А дальше по аналогии с victim:character_name().

Если никто не подскажет по поводу xr_kamp - то может кто ,пожалуйста, поделиться инфой о том каким образом можно переключить активную схему у НПС? xr_logic.try_switch_to_another_section не подходит.

Благодарю за любую информацию!

@Winsor, у кашпировских каникулы. Где ты писал по поводу кампов? Активную схему тебе надо переключить откуда? Она из файла логики обычно переключается, а универсальные схемы по эвалуаторам, tertium non datur. 


try_switch_to_another_section вообще мимо кассы, почему ты ее решил взять?

По поводу кампов - извините, ссылка не вставилась. вот.

активную схему необходимо переключить из action:execute, либо action:initialize дабы избежать борьбы схем. по эвалуаторам - не переключается, вернее переключается, но постоянно друг между другом, в посте про xr_kamp я описал что именно происходит.

 

p.s. в связи с тем что я не очень в них разбираюсь - не могу дать полностью всю информацию. Спасибо что хотя бы задаете вопросы.

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

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

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

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

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

Войти

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

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

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