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

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


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

Real Wolf, записать в pstor :). xr_logic.script

Примеры можно даже увидеть на пред. страницах :)

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

Real Wolf, Если любишь извращения,то можно ,скажем, строкой :).(зато дань оптимизации ;))

А лучше по отдельности :)

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

Народ, кто мне объяснит, что не так с доп. кнопками на окне инвентаря? Я долго не тестировал, но вроде как работает без особых проблем. Кнопка создаётся, по обработчику нажатия отсоединяется и, соответственно, исчезает.

 

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

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

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

 

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

А можно ли добавить несколько фонарикоф? Купил один он светит желтоватым ну обычной лампочкой, Купил по дороже уже светит галогенкой ярко и дальше, Купил третий светит в разброс а не в даль. Как такое сделать?

ЯДиск папка с крутым схроном!

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

malandrinus

код в студию. :rolleyes:

во первых какие кнопки именно ты приаттачивал (и как именно к owner'u - порядок действий) , во вторых чем ты их делал invisible .

И пробовал ли ты опосля перезагрузиться.

 

Все это очень важно так у людей вообще то проблемы с этим...:-)

Ссылка на комментарий
function give_sidor_2_bumazhki_sidora(first_speaker, second_speaker)
   for i=1,2 do
    dialogs.relocate_item_section(second_speaker, "2_bumazhki_sidora", "out")
  end
end

 

Если я отдам "2_bumazhki_sidora" Волку, то функция нормально сработает, а если отдам Сидрычу - получаю вылет с логом:

FATAL ERROR

 

[error]Expression : e_entity->ID_Parent == id_parent

[error]Function : xrServer::Process_event_reject

[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp

[error]Line : 24

[error]Description : 2_bumazhki_sidora27905

[error]Arguments : single_player

 

.Это как понимать?Типа Сидрыч особенный, ему дукументы противопоказано в руки брать :D

Ссылка на комментарий
А можно ли добавить несколько фонарикоф? Купил один он светит желтоватым ну обычной лампочкой, Купил по дороже уже светит галогенкой ярко и дальше, Купил третий светит в разброс а не в даль. Как такое сделать?
io функции помогут юному падавану.

Привет всем! Возможна ли проверка на то в каком режиме стрельбы сейчас находится оружие? Т.е. одиночными, по три, очередью.
Нет.
Ссылка на комментарий

кровоSTALKER, пространство имен io в ТЧ отсутсвует.

malandrinus, ну не знаю не знаю :), я вроде как бы тоже не полный профан в сталкерском Lua, а Колмогор особенно,но у нас,как видишь, не вышло :)

Проблема не в аттаче и обработке, а не желании приаттачиваться ещё раз после перехода на другую локу,загрузки сохранения, etc...

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

Хех, ну я как бы намекнул просто, что пора бы уже переходить с версии движка 1.4 на более новую). Хотел узнать, Крот после прохождения нами подземки переходит в оффлайн, так?

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

Доброго дня. Скажите, возможно ли сделать, чтобы при определённом ранге ГГ у него была разная репутация к определённым группировкам? К примеру, если ГГ новичок, то бандиты считают его врагом, а если мастер, то они нейтральны.

 

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

:offtopic:

Jurok,

Скажите, возможно ли сделать

Возможно :).

ЗЫ: Учитесь искать информацию сами, И тогда может сами будете отвечать другим.Тривиальная задача , при оперед. знаниях,если честно :)

Изменено пользователем меченый(стрелок)
Ссылка на комментарий
кровоSTALKER, Собственно он переходит в оффлайн когда мы только оказались в подземке smile.gif
Хм... Странно что его назад не вернуть:
       local npc = alife():story_object( agr_krot )
        if npc then
           alife():set_switch_offline (npc.id, false)
           alife():set_switch_online (npc.id, true)
           alife():set_interactive (npc.id, true)
        end

Не работает однако...

 

Добавлено:

Может нужно указать его номер?

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

Я вот хотел заспавнить предмет НПС в инвентарь(Сид и ид НПС не известен), так вот подскажите, что там нужно сделать?Преребирать айди и получать ид НПС:local obj_id = obj.id или как?

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

Garry_Galler,

код в студию

Я таки понял, что за вылет имелся в виду. Похоже, что имеется некая проблема с деаттаченными окнами. В итоге код вышел не такой тривиальный, как я думал в начале. Однако, вроде работает.

1. Используются теги action для служебных инфопоршенов открытия и закрытия инвентаря. Может это и не обязательно, но так выглядит более упорядоченно.

[spoiler=изменения в config\gameplay\info_portions.xml]

   <info_portion id="ui_inventory">
        <disable>ui_inventory_hide</disable>
        <action>inventory_addon.on_show</action>
   </info_portion>
   <info_portion id="ui_inventory_hide">
        <disable>ui_inventory</disable>
        <action>inventory_addon.on_hide</action>
   </info_portion>

 

2. Используется пустое скриптовое окно для

а) получения сообщений от создаваемых контролов

б) для корректного удаления контролов. После отсоединения контрола от окна инвентаря присоединяем его к этому служебному, и вроде как всё удаляется без проблем. Пример см. ниже. В верхнем левом углу создаётся чекбокс, по нажатию делается невидимым.

[spoiler=Файл inventory_addon.script]

inventory_wnd = nil
attached_btn = nil
rec_wnd = nil

class "stub_wnd" (CUIScriptWnd)

function stub_wnd:__init() super()
    self:Init(0,0,1,1)
end

function stub_wnd:__finalize()
end

function stub_wnd:btn_action()
    attached_btn:Show(false)
end

function on_show()
    rec_wnd = stub_wnd()

    inventory_wnd = level.main_input_receiver()

    attached_btn = CUICheckButton()
    attached_btn:SetWndRect(10, 10, 50, 25)

    attached_btn:InitTexture("ui\\ui_btn_02")
    attached_btn:SetStretchTexture(true)

    attached_btn:SetText("test")
    inventory_wnd:AttachChild(attached_btn)
    rec_wnd:Register(attached_btn,"btn")
    rec_wnd:AddCallback("btn", ui_events.BUTTON_CLICKED, rec_wnd.btn_action, rec_wnd)
    attached_btn:Show(true)
end

function on_hide()
    inventory_wnd:DetachChild(attached_btn)
    rec_wnd:AttachChild(attached_btn)
    attached_btn = nil
    rec_wnd = nil
end

 

 

кровоSTALKER,

можно ли сделать так что бы НПС всегда оставался онлайн?

только в пределах того-же уровня, что и ГГ. Надо, чтобы метод серверного объекта can_switch_offline возвращал false.

 

Stalk15,

Я вот хотел заспавнить предмет НПС в инвентарь(Сид и ид НПС не известен)

 

А хоть что-то известно о твоём НПС? Пока это выглядит как "сделай то, не знаю что"

 

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

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

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

 

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

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

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

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

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

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

Войти

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

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

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