Перейти к содержанию

FalkineIsaku

Сталкеры +
  • Публикаций

    305
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные FalkineIsaku


  1. АлеБард от avail_animations смысла особого нету, анимация указанная в самом смарт-ковре и будет проигрываться.
    У нпс со схемой "walker" путь с 1 точкой? Если да, то поставьте им анимацию: def_state_standing = имя_анимации.
    Если не помогло, то скиньте настройки смарт-ковров и вейпоинтов.


    Дополнено 10 минуты спустя

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


  2. denis2000

    Спойлер

    [logic]
    active = mob_trader@new_idle1
    on_trade = mob_trade@new
    trade = misc\trade\trade_escape_trader.ltx
    level_spot = trader


    ;----------------------------------
    ;------------- Idle ---------------
    ;----------------------------------

    ;Основной idle (1) - за столом
    [mob_trader@new_idle1]
    anim_global = desk_idle
    on_signal = animation_end| {~25} mob_trader@new_idle1_to_idle3, {~50} mob_trader@new_idle1_to_idle5, {~75} mob_trader@new_idle1_to_idle2, mob_trader@new_idle1_to_idle1
    on_info = {=talking} mob_trader@new_idle1_to_idle3
    on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played%
    on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait

    ; Idle (2) - по диагонали
    [mob_trader@new_idle2]
    anim_global = diagonal_idle
    on_signal = animation_end| {~25} mob_trader@new_idle2_to_idle3, {~50} mob_trader@new_idle2_to_idle4, {~75} mob_trader@new_idle2_to_idle1, mob_trader@new_idle2_to_idle2
    on_info = {=talking} mob_trader@new_idle2_to_idle3
    on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played%
    on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait

    ; Idle (3) - откинувшись на спинку
    [mob_trader@new_idle3]
    anim_global = chair_hack_idle
    on_signal = animation_end| {~30} mob_trader@new_idle3_to_idle2, {~70} mob_trader@new_idle3_to_idle1, mob_trader@new_idle3_to_idle3
    on_info = {=talking} mob_trader@new_talking
    on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played%
    on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait

    ; Idle (4) - за компьютером
    [mob_trader@new_idle4]
    anim_global = compute_idle
    on_signal = animation_end| {~40} mob_trader@new_idle4_to_idle2, mob_trader@new_idle4_to_idle4
    on_info = {=talking} mob_trader@new_idle4_to_idle2
    on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played%
    on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait

    ; Idle (5) - читает
    [mob_trader@new_idle5]
    anim_global = listen_idle
    on_signal = animation_end| {~45} mob_trader@new_idle5_to_idle1, mob_trader@new_idle5_to_idle5
    on_info = {=talking} mob_trader@new_idle5_to_idle1
    on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played%
    on_actor_dist_ge_nvis2 = 12 | mob_trader@new_wait
    ;----------------------------------
    ;--------   Автопереходы   --------
    ;----------------------------------

    ; Стол - стол (промежуточная)
    [mob_trader@new_idle1_to_idle1]
    anim_global = desk_idle
    on_signal = animation_end| mob_trader@new_idle1

    ; Диагональ - диагональ (промежуточная)
    [mob_trader@new_idle2_to_idle2]
    anim_global = diagonal_idle
    on_signal = animation_end| mob_trader@new_idle2

    ; Спинка - спинка (промежуточная)
    [mob_trader@new_idle3_to_idle3]
    anim_global = chair_hack_idle
    on_signal = animation_end| mob_trader@new_idle3

    ; Компьютер - компьютер (промежуточная)
    [mob_trader@new_idle4_to_idle4]
    anim_global = compute_idle
    on_signal = animation_end| mob_trader@new_idle4

    ; Читает - читает (промежуточная)
    [mob_trader@new_idle5_to_idle5]
    anim_global = listen_idle
    on_signal = animation_end| mob_trader@new_idle5

    ;----------------------------------
    ;----- Переходы  между idle-ми ----
    ;----------------------------------

    ; Диагональ - компьютер
    [mob_trader@new_idle2_to_idle4]
    anim_global = diagonal_to_compute
    on_signal = animation_end| mob_trader@new_idle4

    ; Компьютер - диагональ
    [mob_trader@new_idle4_to_idle2]
    anim_global = compute_idle_to_diagonal
    on_signal = animation_end| mob_trader@new_idle2

    ; Диагональ - спинка
    [mob_trader@new_idle2_to_idle3]
    anim_global = diagonal_to_chair_hack
    on_signal = animation_end| {=talking} mob_trader@new_talking, mob_trader@new_idle3

    ; Спинка - диагональ
    [mob_trader@new_idle3_to_idle2]
    anim_global = chair_hack_to_diagonal
    on_signal = animation_end| mob_trader@new_idle2

    ; Стол - спинка
    [mob_trader@new_idle1_to_idle3]
    anim_global = desk_to_chair_hack
    on_signal = animation_end|{=talking} mob_trader@new_talking, mob_trader@new_idle3

    ; Спинка - стол
    [mob_trader@new_idle3_to_idle1]
    anim_global = chair_hack_to_desk
    on_signal = animation_end| mob_trader@new_idle1

    ; Стол - диагональ
    [mob_trader@new_idle1_to_idle2]
    anim_global = desk_to_diagonal
    on_signal = animation_end| mob_trader@new_idle2

    ; Диагональ - стол
    [mob_trader@new_idle2_to_idle1]
    anim_global = diagonal_to_desk
    on_signal = animation_end| mob_trader@new_idle1

    ; Стол - читает
    [mob_trader@new_idle1_to_idle5]
    anim_global = desk_to_listen
    on_signal = animation_end| mob_trader@new_idle5

    ; Читает - стол
    [mob_trader@new_idle5_to_idle1]
    anim_global = listen_to_desk
    on_signal = animation_end| mob_trader@new_idle1


    ;--------------------------------------
    ;------------- Разговор ---------------
    ;--------------------------------------

    [mob_trader@new_talking]
    anim_global = chair_hack_talk
    anim_head = normal
    on_info = {!talking} mob_trader@new_idle3

    ;--------------------------------------
    ;------------ Торговля ----------------
    ;--------------------------------------

    [mob_trade@new]
    anim_global = chair_hack_idle
    on_info = {=trading =trade_exchanged} mob_trader@new_trade_exchanged
    on_info2 = {!trading =trade_exchanged} mob_trader@new_trade_good
    on_info3 = {!trading !trade_exchanged} mob_trader@new_trade_bad

    [mob_trader@new_trade_bad]
    ;anim_global = diagonal_talk
    anim_global = chair_hack_idle
    anim_head = angry
    sound_phrase = trader_bad_trade
    on_signal = sound_phrase_end | mob_trader@new_idle2
    on_actor_dist_ge_nvis = 12 | mob_trader@new_wait

    [mob_trader@new_trade_exchanged]
    ;anim_global = diagonal_talk
    anim_global = chair_hack_idle
    anim_head = normal
    sound_phrase = trader_exchanged
    on_signal = sound_phrase_end | mob_trader@new_idle2
    on_actor_dist_ge_nvis = 12 | mob_trader@new_wait

    [mob_trader@new_trade_good]
    ;anim_global = diagonal_talk
    anim_global = chair_hack_idle
    anim_head = good
    sound_phrase = trader_good_trade
    on_signal = sound_phrase_end | mob_trader@new_idle2
    on_actor_dist_ge_nvis = 12 | mob_trader@new_wait


    ;-------------------------------------
    ;---------- Приветствия --------------
    ;-------------------------------------

    [mob_trader@new_hello]
    anim_global = hello
    anim_head = normal
    sound_phrase = trader_hello_what_have_you_got
    on_signal = animation_end | mob_trader@new_idle2

    [mob_trader@new_bye]
    on_actor_dist_ge_nvis = 12 |mob_trader@new_wait
    anim_global = hello
    anim_head = normal
    sound_phrase = trader_bye
    on_signal = animation_end | mob_trader@new_wait

    [mob_trader@new_wait]
    anim_global = diagonal_idle_short
    on_actor_dist_le_nvis = 3 | {-esc_trader_hello_played} mob_trader@new_hello %+esc_trader_hello_played%
    on_actor_dist_ge_nvis = 5 | {-esc_trader_bye_played +esc_trader_hello_played} mob_trader@new_bye %+esc_trader_bye_played%
    on_actor_dist_ge_nvis2 = 12    | %-esc_trader_hello_played -esc_trader_bye_played%

    Спойлер

    [logic]
    cfg = scripts\escape\esc_trader.ltx

     


  3. Здравствуйте, вернул Сидоровича, всё хорошо работает, кроме секции логики...
    Ни level_spot, ни trade, не работают, путь к торговле указан правильно

    Спойлер

    active = mob_trader@new_idle1
    trade = misc\trade\trade_esc_trader.ltx
    level_spot = trader

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


  4. WolfHeart После исправления ловлю вылет
    stack trace:

    Спойлер

    ! Player name registry key (InstallUserName) not found !
    * phase time: 5256 ms
    * phase cmem: 265467 K
    * phase time: 4 ms
    * phase cmem: 265467 K
    * Creating new game...
    * Loading spawn registry...
    stack trace:

    0023:6F8E5148 MSVCR80.dll, memcpy()
    0023:00BC4DDC xrCore.dll, NET_Packet::r()
    0023:0AB63532 xrGame.dll, CDialogHolder::CDialogHolder()

    На всякий случай скину все файлы:

    m_person.ltx, character_desc_escape.xml, bind_trader.script, mob_trader.script, esc_trader.ltx

    Самого Сидора спавнил через monster/trader, в кастом дате прописал стори объект и логику, профиль поставил

    UPD: Проблема решена


  5. denis2000 Насколько я понял спавнить нужно через sdk (all.spawn), теперь ловлю вылет:
     

    Спойлер

    Expression    : fatal error
    Function      : CInifile::r_string
    File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
    Line          : 513
    Description   : <no expression>
    Arguments     : Can't find variable terrain in [m_trader]

     


  6. Ещё раз здравствуйте, пытаюсь восстановить Сидоровича по этому уроку, всё делаю так как надо, наверное... Всё сделал и при попытке загрузиться/начать новую игру получаю вылет

    Спойлер

    Expression    : !m_error_code
    Function      : raii_guard::~raii_guard
    File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    Line          : 748
    Description   : ...all of pripyat\gamedata\scripts\smart_terrain.script:512: attempt to index field 'alife_task' (a nil value)

     

    Кто знает? На что игра жалуется?