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

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


Halford

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

Как сделать кодовую дверь понятно. Есть дверь, есть кодовый замок рядом на стене - у каждого элемента своя логика. А как быть, если кодовый замок вмонтирован в дверь? В SDK есть такая дверь от сейфа. Пробовал запихнуть в один файл-логики ph_door и ph_code: сделал активной логику ph_code, после ввода кода дается инфопоршень, и активируется логика ph_door. Но что-то не работает - логика кодового замка всегда активна.

Подскажите, как заставить работать дверь с вмонтированным кодовым замком (одна модель)?

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

С#Н#Т#Р# (CoP 1.6.02)

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


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

@Сталкер Лом, в СДК выглядит так

3054783.jpg

 

Функция из ph_code.script

function codepad:OnNumberReceive(text)
    if self.st.code then
        if tonumber(text) == self.st.code then
            if self.st.on_code ~= nil then
                printf("ph_code <OnNumberReceive>: on_code [%s]", text)
                local section = xr_logic.pick_section_from_condlist(db.actor, self.object, self.st.on_code.condlist)
                xr_logic.switch_to_section(self.object, self.st,section)

                return true
            end
        end
    else
        local condlist = self.st.on_check_code[text]
        if condlist then
            printf("ph_code <OnNumberReceive>: on_check_code [%s]", text)
            xr_logic.pick_section_from_condlist(db.actor, self.object, condlist)
        end
    end
end

 

Логика двери:

[logic]
active = ph_code

[ph_code]
code = 4612
on_code = ph_door@open

[ph_door@close]
locked = false
closed = true
snd_open_start = metal_small_open
snd_close_start = metal_small_close_start
snd_close_stop = metal_small_close_stop
on_use = ph_door@open

[ph_door@open]
locked = false
closed = false
snd_open_start = metal_small_open
snd_close_start = metal_small_close_start
snd_close_stop = metal_small_close_stop
on_use = ph_door@close

 

При вводе кода вылет:

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:379: attempt to call method 'section_exist' (a nil value)

 

Может для ЗП такое "не прокатит"?

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

С#Н#Т#Р# (CoP 1.6.02)

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


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

Привет! Вопрос о переключении анимаций динамического объекта. Создал объект - простой куб. Имеется две кости: link (не анимирована) и bone02. Экспортировал в SDK, добавил через Append 2 анимации: idle (объект просто в вертикальном положении) и out (объект падает).

3072755.jpg

 

На текстуру не обращайте внимания - тесты пока что :) Поставил объект в LE, рядом поставил space_restrictor для выдачи инфопоршня. В общем задача такая - объект отигрывает анимацию idle -> получаем инфопоршень -> объект отигрывает анимацию out.

3072756.jpg

 

[logic]
active = ph_idle@wait

[ph_idle@wait]
anim_blend = true
anim = idle
on_info = {+ml03_ghost_1} ph_idle@out

[ph_idle@out]
anim_blend = true
anim = out

 

 

[logic]
active = sr_idle@wait

[sr_idle@wait]
on_actor_inside = sr_idle@nil %+ml03_ghost_1%

[sr_idle@nil]

 

 

Но объект не "шевелится" - как стоял в idle, так и стоит. В какую сторону мне копать?

С#Н#Т#Р# (CoP 1.6.02)

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


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

@makdm, @Charsi, попробую, а отсутствие on_press ни на что не повлияет?

 

Проверил - работает! :ok5:

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

С#Н#Т#Р# (CoP 1.6.02)

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


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

Не могу заспавнить сквад по условию (получение инфопоршня).

Ситуация такова - на локации имеется smart_terrain

[smart_terrain];ml01_sim_sherbakov
squad_id = 2
max_population = 3

 

 

[ml01_sim_sherbakov_squad]:online_offline_group
faction = army
npc = sim_default_military_3
target_smart = ml01_sim_sherbakov
story_id = ml01_sim_sherbakov_squad

 

 

[ml01_sim_sherbakov_squad]:default_squad
sim_avail = false (true тоже пробовал)

 

 

В simulation.ltx не прописывал (если прописать, то спавнится с начала игры). Рядом со смартом на локации установлен space_restrictor

[logic]
active = sr_idle@wait

[sr_idle@wait]
on_info = {+мой_инфопоршень} sr_idle@end %=create_squad(ml01_sim_sherbakov_squad:ml01_sim_sherbakov)%

sr_idle@end

 

 

При получении поршня - вылет:

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:734: bad argument #1 to 'pairs' (table expected, got nil)

 

Видимо, что-то не так делаю?

С#Н#Т#Р# (CoP 1.6.02)

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


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

@list, написано, вроде, интервал не задан (интервал пуст). Смотри sound_theme, что правил.

С#Н#Т#Р# (CoP 1.6.02)

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


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

@list, c all.spawn никогда не работал, все через SDK. В уроках, по которым я учился, в логике, после

cover_name = zat_a2_sc_tech

необходимо было добавить строку avail_animation

cover_name = zat_a2_sc_tech
avail_animation = sit_normal

Вряд ли проблема в этом, ну хоть попробуй.

С#Н#Т#Р# (CoP 1.6.02)

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


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

del


 

 

Координаты поставлены те же самые, что и для смарт-каверa
может лучше отодвинуть все-же? И кусок all.spawn со смартом и анимпоинтом не лишним будет. Изменено пользователем Jeka81

С#Н#Т#Р# (CoP 1.6.02)

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


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

@DimasDsf, мы же не видим что на что менял - выкладывай лог вылета, логику или что в all.spawn'не менял. Чем подробней описана проблема, чем больше информации - тем быстрее ответят.

С#Н#Т#Р# (CoP 1.6.02)

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


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

 

 

Не знаю, что ты понимаешь под "туториалом"
получается, скорее, ты не знаком с языком "Сталкера" ;)

Надписи "открыть/закрыть дверь", "поднять предмет", "нажми ПРОБЕЛ чтобы прыгнуть", "нажми ТАКУЮ-ТО КНОПКУ чтобы взаимодействовать" и т.д. и т.п. в Сталкере называют ТУТОРИАЛАМИ.

С#Н#Т#Р# (CoP 1.6.02)

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


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

@ммихаилл, метка ставится по ID объекта. Ну а раз тебе добавить больше нечего, то

 

 

UnLoaded, не считай себя умнее других
не корректное высказывание обернувшееся против тебя.

Чтобы поставить метку по ID объекта нужно сначала получить этот ID. Если твой рюкзак это спавн-элемент, то в его конфиге прописывай ID. Если статический объект - поставь в его центр спейс-рестриктор,пропиши ему ID и ставь метку на него.

  • Нравится 2

С#Н#Т#Р# (CoP 1.6.02)

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


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

Всем привет! Есть эксклюзивный персонаж (с одним лишь прописанным диалогом <actor_dialog>actor_break_dialog</actor_dialog>) который правильно работает. Но если его "зачислить" в ученых, то при попытке заговорить вылет с логом:

 

FATAL ERROR
 
[error]Expression    : !phrase_dialog->m_PhraseVector.empty()
[error]Function      : CPhraseDialog::SayPhrase
[error]File          : D:\prog_repository\sources\trunk\xrGame\PhraseDialog.cpp
[error]Line          : 146
[error]Description   : No available phrase to say, dialog[hello_dialog]

 

Вот кусок его профиля:

<class>egorov</class>
<community>ecolog</community>  <- Если поставить другую группировку, то все нормально работает
<terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_03\military\</snd_config>

Понятно что ругается на отсутствие диалога, но другие группировки корректно работают. Как исправляется?

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

С#Н#Т#Р# (CoP 1.6.02)

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


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

В логике можно задать условия типа {=is_day} или {=is_rain} (день, ночь, дождь, выброс). Есть ли такая проверка на туман в Atmosfera 3?

С#Н#Т#Р# (CoP 1.6.02)

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


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

Подскажите, пожалуйста, где и как отслеживается отрисовка иконки в инвентаре костюма надетого на ГГ?

s_1463595756_2436524_f0030d1316.jpg

С#Н#Т#Р# (CoP 1.6.02)

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


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

@Дизель, мне нужны файлы (или файл) который отвечает за отрисовку текстуры в слоте в зависимости от надетого костюма. Ну, что-то типа "если надет комбинезон "Заря", то отрисовать такую-то текстуру.

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

С#Н#Т#Р# (CoP 1.6.02)

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


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

@Дизель, тогда не надо, спасибо. Ковыряние в движке пока не для меня. Хотел сделать чтоб ГГ в полный рост отображался как в ТЧ.

 

 

Искать надо не броник, а модель ГГ - она и есть тот маркер походу.
вряд ли модель - ведь для некоторых костюмов используется одна и та же модель. Изменено пользователем Jeka81
  • Согласен 1

С#Н#Т#Р# (CoP 1.6.02)

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


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

не совсем понятно при чем тут ui_actor_armor.dds если иконки берутся из ui_icon_equipment?

upgr_icon_x = 760

upgr_icon_y = 600

upgr_icon_width = 280

upgr_icon_height = 150

Это же апгрейд. Сам костюм вот (например):

inv_grid_width        = 2

inv_grid_height     = 2

inv_grid_x            = 0

inv_grid_y            = 18

Иконка броника в слоте та же что и в инвентаре. Заменой иконок тут не обойдешься.

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

С#Н#Т#Р# (CoP 1.6.02)

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


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

 

 

Мы про разные текстуры толкуем.
видимо, про разные. Я еще при первом ответе хотел об этом сказать, но раз это дижок, то это не по мне. Я и скрин приложил что меня там интересовало :mellow: . Повторюсь - если можно мою задумку реализовать "скрипто-конфигованием", то можно продолжить обсуждение, если надо лезть в движок, то закончим на этом.

С#Н#Т#Р# (CoP 1.6.02)

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


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

 

 

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

С#Н#Т#Р# (CoP 1.6.02)

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


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

 

 

так сделано во всех модах, где есть вопросы о переходах?
да, есть даже уроки на эту тему. Ищите.

С#Н#Т#Р# (CoP 1.6.02)

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


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

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