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

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


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

AndreySol, цитирую из статьи Stalker Inside Wiki:


cond = {+info -info =func !func ~number} - условия, при выполнении которых, гулаг может существовать.
    Если условия перестали выполняться - то "подчинённые" распускаются и попадают под управление их custom_data.

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

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

Подскажите что не так?

Expression : fatal error
Function : CInifile::r_string
File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
Line : 352
Description : <no expression>
Arguments : Can't find variable position in [wpn_svu_m1_hud]

 

Ссылка на комментарий
Вопрос  - зачем это нужно?

Да всё пытаюсь сделать авторазрядку стволов при их поднятии. Сам скрипт разрядки и возврата патронов ГГ работает. Если подключаю на обработку инвентаря, то идет на ура. При вставке же вызова в on_item_take тоже работает, но при этом разряжает стволы в слотах. Вот этого и хотелось бы избежать. Не очень сумбурно?

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

zxc, если мне не изменяет память, то такой вылет случается, если ты прописываешь в секции уникума новый визуал для худа. Если меняешь худ модель, то надо заново переписывать всю секцию худа для уникума - он с родительской секции не считывается. Ну, думаю, понял: скопируй секцию худа с родителя, ставь в секцию уникума, смени имена и уже тогда меняй визуал худа.

  • Спасибо 1

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

Ссылка на комментарий
цитирую из статьи...

то, что Вы процитировали - это для одного "блока" условий, заключенного в фигурные скобки. А мой вопрос - как понимать несколько блоков условий через запятую ? Думаю это как подобие оператора 'или' - гулаг работает если есть какое-либо из перечисленных условий. Я правильно понял ?

 

И еще про смарты: можно-ли задать смарту условие наподобии как для логики рестриктора переход в nil. Рестриктор выключается, перестает апдейтится, кушать какие-то ресурсы. Смарту можно что-то подобное сделать ?

Изменено пользователем AndreySol
Ссылка на комментарий
Не очень сумбурно?

Всё понятно теперь.

Можно из файла xr_s.script поднять флаг в скрипте разрядки при загрузке игры. И при первом же апдейте его сбросить.
Функция on_game_load()
имя_скрипта.имя_флага = true
Изменено пользователем makdm
  • Спасибо 1
Ссылка на комментарий

 

 

Проясните плиз, что означает такая запись для кондлиста в smart_terrain ?
При выдаче одно из указаных инфопоршней будет смарт будет доступен. Если бы было написано в одних фигурных скобках (без запятой), то нужно было бы наличие обоих поршней.
Ссылка на комментарий

Думаю это как подобие оператора 'или'

Это именно «или». Каждый следующий блок условий, отделённый запятой, проверяется тогда, когда предыдущий блок вернул результат «false».

Понятно, что такая цепочка может быть сколь угодно длинной.

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

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

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

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

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

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

Jeka81, в теме для уроков есть один экземпляр за авторством ColR_iT.
http://www.amk-team.ru/forum/index.php?showtopic=6458&p=683389
Этот урок подходит и для того, чтоб код использовался напрямую к двери.

  • Полезно 2

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

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

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

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)

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

Вместо

xr_logic.switch_to_section(self.object, self.st,section)

напиши 

xr_logic.switch_to_section(self.object, self.st.ini, section)
  • Спасибо 1
Ссылка на комментарий

Мне надо сделать так, чтобы НПС стрелял из одного оружия, а после смерти из него выпадало другое оружие. Кто может помочь с этим?

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

Новая проблема: я заспавнил НПС через all.spawn, в игре убил его, и в труп не могу положить вещи. Забрать из него могу, положить - нет.  Народ, помогите, кто знает...

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

 

 

я заспавнил НПС через all.spawn, в игре убил его, и в труп не могу положить вещи

секцию из all.spawn в студию...

С остальными трупами\инв.ящиками все нормально ?

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

[10001]
; cse_abstract properties
section_name = stalker
name = test_nps_new
position = 256.240051269531,19.8124237060547,550.824279785156
direction = 0,0,0

; cse_alife_trader_abstract properties
character_profile = test_nps_new

; cse_alife_object properties
game_vertex_id = 316
distance = 0
level_vertex_id = 1158851
object_flags = 0xfffffffb
custom_data = <<END
[logic]
cfg = scripts\logic.ltx
none = true
END


; cse_visual properties
visual_name = actors\novice\green_stalker_2

; 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 = 256.240051269531,19.8124237060547,550.824279785156
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

 

Всё остальное в полном порядке. Именно в этого НПС в труп нельзя положить вещи.
 

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

Указанный здесь logic.ltx отсутствует в папке config/scripts. Этого файла просто нет, понимаете да?

 

Профиль:

 

<specific_character id="test_nps_new" team_default = "1">
    <name>noname</name>
    <icon>ui_inGame2_neutral_3</icon>
    <map_icon x="1" y="0"></map_icon>
    <bio>Опытный сталкер. Детальная информация отсутствует.</bio>
    <class>nps</class>
    <community>freedom</community>
 <terrain_sect>stalker_terrain</terrain_sect>
    <snd_config>characters_voice\human_02\military\</snd_config>
    <rank>1700</rank>
    <money min="2500" max="2500" infinitive="0"/>
    <reputation>10</reputation>
    <visual>actors\stalker_neutral\stalker_neutral_3</visual>
    <supplies>


      [spawn] \n
    
    wpn_pm = 1 \n
    ammo_9x18_fmj = 1 \n
    

    #include "gameplay\character_drugs_2.xml"
    #include "gameplay\character_items.xml"
    #include "gameplay\character_food.xml"


    </supplies>
<start_dialog>hello_dialog</start_dialog>
<actor_dialog>about_quests_dialog_stalkers</actor_dialog>
<actor_dialog>actor_break_dialog</actor_dialog>

    </specific_character>

 

Кто бы заспавнил у себя такого чела, чисто проверить что будет с трупом. Чел появляется в начале игры сразу возле ГГ.
 

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

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

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

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

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

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

Войти

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

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

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