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

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


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

Так голограмма из оригинала же.

Анимации - ну так оставить один стэйт, и все.

 

Можно - человека-нивидику.

 

Ну или еще банальнее - вспомнить "автоквесты".

 

Наконец, ни кто не мешает просто рисовать прямоугольные кнопки с текстом прямо тупо на экране. Как те артоконтейнеры, к примеру.

  • Спасибо 2
Ссылка на комментарий
Подскажите как называется анимация при которой НПС бежит как угорелый, пример Стрелок в ЧН когда бежит по Рыжему Лесу. Ибо логика моего НПС такова:

[873]
 
; cse_abstract properties
section_name = stalker
name = esc_poter
position = 1.1648344993591,2.2486491394043,61.42854309082
direction = 0,0.00316426996141672,0.062321275472641
version = 118
script_version = 6
 
; cse_alife_trader_abstract properties
money = 5000
character_profile = esc_poter
 
; cse_alife_object properties
game_vertex_id = 89
distance = 9.80000019073486
level_vertex_id = 278058
object_flags = 0xffffffbf
custom_data = <<END
 
[spawner]
cond = {+elev_zone_psih} 
 
[logic]
active = walker
danger = danger_ignore
 
[danger_ignore]
ignore_distance = 10
ignore_distance_grenade = 10
ignore_distance_corpse  = 0
ignore_distance_danger_hit = 20
ignore_distance_sound   = 0 
danger_inertion_time_hit = 1
 
[walker]
path_walk = esc_poter_walk
def_state_moving1 = sprint
def_state_moving2 = sprint
def_state_moving3 = sprint
END
story_id = 5484
 
; cse_visual properties
visual_name = actors\novice\green_stalker_2
 
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 5
health = 1
dynamic_out_restrictions = 
dynamic_in_restrictions = 
upd:health = 1
upd:timestamp = 0x617a6b75
upd:creature_flags = 0x6b
upd:position = 1.1648344993591,2.2486491394043,61.42854309082
upd:o_model = 0
upd:o_torso = 0.00316426996141672,0.062321275472641,0
upd:g_team = 0
upd:g_squad = 1
upd:g_group = 5
 
; 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
equipment_preferences = 2,2,0,1,1
main_weapon_preferences = 0,2,0,2
 
; cse_ph_skeleton properties
 
; cse_alife_human_stalker properties
upd:start_dialog = 
 
; se_stalker properties

А пути:

[esc_poter_walk]
points = p0,p1
p0:name = wp00|a=sprint
p0:position = 1.1648344993591,2.2486491394043,61.42854309082
p0:game_vertex_id = 89
p0:level_vertex_id = 278058
p0:links = p1(1)
 
p1:name = wp01|a=sprint
p1:position = 114.13582374023,3.6140494346619,92.052780151367
p1:game_vertex_id = 159
p1:level_vertex_id = 416481
p1:links = p0(1)

Проигрывает совсем не то..

Изменено пользователем NL-Vincenz

NL-Vincenz.gif

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

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

 

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

 

А стандартное окно диалога нельзя вызвать, чтобы не рисовать свое?

 

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

Malandrinus

 

 

Проигрывает совсем не то..

А не raid случаем?

 

 

Можно - человека-нивидику.

Это как? Можно об этом поподробнее?

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

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

Ссылка на комментарий
NL-Vincenz,

Чтобы нпс бежал как угорелый, надо в state_lib.script для состояния sprint - изменить mental = anim.danger на anim.panic (хотя лучше сделать копию блока sprint и переименовать, типа fast_run).

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

Malandrinus, затычки для костей - это не для меня (во всяком случае, в данный момент). А насчет стандартного окна диалога - сорри, невнимательно прочитал.

 

А почему создавать именно объект торговца, а не просто сталкера? Есть разница между секциями m_trader и stalker? Или это зависит от community (trader/stalker) в character_desc_имя_персонажа?

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

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

 

 

разница между секциями m_trader и stalker?

Разумеется есть. Торговец - это Сидор, объект намного более простой, нежели сталкер. У торговца на самом деле почти нет поведения, кроме поддержки диалогов и торговли. Из визуального поведения есть пара примитивных анимаций, которые вообще запускаются скриптом (т.е. по идее не обязательны) и верчение головой, которое как раз движковое. Вот для этого движкового поведения и нужна затычка в виде кости с нужным именем. А сталкер - это слишком сложный объект, который будучи просто создан уже имеет какое-то поведение, причём сложное. В принципе и его можно заставить просто стоять на месте, и только реагировать "на поговорить". Но тогда надо будет что-то сделать с его визуалом. Допустим, сделаем невидимые поверхности. Как тогда совместить его с нужным объектом для активации? На мой взгляд, лучше варианта со сталкером будет что угодно, в том числе написание своего диалога.

  • Спасибо 1
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
Из визуального поведения есть пара примитивных анимаций, которые вообще запускаются скриптом (т.е. по идее не обязательны) и верчение головой, которое как раз движковое. Вот для этого движкового поведения и нужна затычка в виде кости с нужным именем.

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

 

 

Допустим, сделаем невидимые поверхности.

Ну у инвентори_бокса невидимый же шейп. Однако это не мешает сей объект юзать.

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

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

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

Вопрос по состоянию "раненый" для НПСов.
Схема "wounded" - это обычная схема ? Т.е. в нее непися нужно переводить стандартными способами ? Или же она типа оверрайда ?
Сейчас пробую сделать сцену, когда непись в ходе перестрелки с актером(ГГ) должен гарантировано уходить в схему раненого. Не получается. Прописано так:

....
wounded = wounded@agr_u_bandits3
....

[wounded@agr_u_bandits3]
hp_state = 90|help_me@help|40|wounded_heavy@help_heavy

С учетом hp_state = 90(всего неписю прописано health = 1.00) он должен по идее от копеешного попадания уходить в схему раненый ? Ну это если она типа оверрайда ? А не уходит, пока не убью - продолжает отстреливаться.
Что я не так делаю ?

http://www.amk-team.ru/forum/index.php?showtopic=12766&p=819347
То есть, xr_wounded.script реагирует на хит, проверяет, НЕ ИГРАЕМ ЛИ АНИМАЦИЮ РАНЕНИЯ, и выставляет npc.wounded() на возврат true, если hp меньше заданного (в логике или дефолтное), нет регенерации, не зомби и т.д.
А вот здесь связка скриптов, переделанных для лучшего понимания происходящего и отcуствия конфликтов между ними: http://www.amk-team.ru/forum/index.php?showtopic=8830&p=925764
dc

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

сделано, как я и предлагал, на основе торговца. Обычный визуал физического объекта чайника, к нему добавил недостающие кости. Для головы добавил ("bip01_head") и ещё три для руки с оружием ("bip01_r_hand", "bip01_r_finger2", "bip01_l_finger1". В коде они упоминаются, но нужны ли реально не знаю. На всякий случай добавил). Добавлял в MilkShape, просто добавил безо всякой настройки  + в SDK добавил шейп всему чайнику, чтобы его можно было юзать. Собственно и всё. Остальное - обычные конфиги/диалоги торговца. Скриптов никаких нет, даже напротив биндер ему отключил, чтобы не пытался анимации играть.

Изменено пользователем Malandrinus
  • Полезно 2
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

@Malandrinus, хм, получается теперь можно диалог запускать вообще хоть откуда с таким костылем, вплоть до "из рюкзака" при юзе итема какого-нибудь. На основе этого можно околокорректно реализовать диалоги на расстоянии, используя один единственный объект, по факту даже тот же чайник можно использовать, его все равно не будет видно, только надо в движке добавить метод изменения картинки собеседника, что-бы не делать таких чайников на каждого НПС :).

  • Нравится 1
Ссылка на комментарий

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

 

Дурдом....

 

А вообще такая вот фигня, например, есть:

https://dl.dropboxusercontent.com/u/27871782/supernevidimka.ogf

можно ее поставить в логику типа camper, и собственно ни каких костей ни куда добавлять не надо.

Изменено пользователем Dennis_Chikin
Ссылка на комментарий
Говорящие арты будут советовать ГГ в какую аномалию их кинуть для варки и т.д. и т.п.

Ну Чебурашки же всякие советуют уже ГГ, скоро и арты начнут советовать :D

Кстати ребят, как сделать чтоб ГГ в баре мог убивать врагов? Я имею в виду военных, наёмников, бандитов.

Можно как-то отключить эту охоту на ГГ, или внести в исключение врагов?

 

xr.effects.bar_territory_logic() - там все написано. dc

Изменено пользователем Dennis_Chikin
Ссылка на комментарий
Для головы добавил и там ещё пару для руки с оружием (насчёт последних не знаю даже, нужны или нет). Добавлял в MilkShape, просто добавил безо всякой настройки + в SDK добавил шейп всему чайнику, чтобы его можно было юзать.

Если б еще это все уметь... Удалить косточки в Милке - это я могу, а вот добавить :(

 

 

 

 

Теперь в Зоне появятся говорящие тайники, замки на дверях, тушёнка "Съешь меня", водка "Выпей меня", пеньки в лесу "Сядь на меня".

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

А делать говорящие чайники, бочки и артефакты я не собираюсь.

Изменено пользователем AndrewMor
  • Согласен 3

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

Ссылка на комментарий
Есть такая секция в логике НПСа:
[remark@agr_u_bandits3]
anim = wounded_heavy
danger = danger@agr_u_bandits3
meet = meet@agr_u_bandits3
combat_ignore_cond = always
combat_ignore_keep_when_attacked = true

как видно из кода, никаких переключений из нее в иные секции нет. Так вот в игре, непись при переключении в нее исправно падает на землю, с прописанной анимацией, но через 5..7сек встает и начинает шмалять в актора(ГГ). Не пойму, почему так происходит ? Ведь прописан полный игнор комбата ?

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

@UnLoaded, комбат игнор пишется для всей логики, а не для секции. Для секции дангер пишется. В любом случае ты не показал дангер, там можно дистанция поставить 0 и ему вообще все пофигу будет. Но такое указывать надо явно не в ремарке (она носит другие цели, а не те в которых обычно любят ее эксплуатировать незадачливые логисты).

 

А оверрайд combat_ignore_cond тогда для чего ?

xr_combat_ignore, и прямо все станет сразу ясно ;). Хотя там да, опять-же немного магии.

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

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

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

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

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

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

Войти

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

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

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