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

БЛОКпост


Nomadec

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

Скрытый текст


local ammunity = {
    ["wpn_abakan"] = true,
    ["wpn_ak12"] = true,
    ["wpn_ak74"] = true,
    ["wpn_ak74_m2"] = true,
    ["wpn_ak74m"] = true,
    ["wpn_ak74u"] = true
}

function diassembly_sewing(obj)
    if obj:section() == "test_use_new" then
    axr_base.actor_disable_inventory()
    local hud = diassembly_ui(get_hud())
    level.start_stop_menu(hud, true)
    axr_base.actor_on_spawn_item("test_use_new")
end
end

class "diassembly_list" (CUIListItemEx)

function diassembly_list:__init() super()
    self.item_name = CUIStatic()
    self.item_name:SetFont(GetFontLetterica16Russian())
    self.item_name:SetTextColor(130,255,255,255)
    self:AttachChild(self.item_name)
end

class "diassembly_ui" (CUIScriptWnd)

function diassembly_ui:__init(owner) super()
    self.owner = owner
    self:Init_Controls()
    self:InitCallBacks()
    self:FillList()
end
 
function diassembly_ui:__finalize()
end
 
function diassembly_ui:Init_Controls()
    self:Init(0,0,1024,768)
    local xml = CScriptXmlInit()
    xml:ParseFile("ui_diassembly_test.xml")
    xml:InitStatic("main_window", self)

    xml:InitFrame("List_frame", self)
    self.list = xml:InitList("List", self)
    self.list:ShowSelectedItem(true)
    self:Register(self.list, "items_list")

    self:Register(xml:Init3tButton("btn_quit", self), "btn_quit")

    self.btn_r = xml:Init3tButton("btn_r", self)
    self:Register(self.btn_r, "btn_r")
    self.btn_r:Enable(false)
end

function diassembly_ui:FillList()
    self.list_items = self:GetListWnd("items_list")
    self.items = {}
    local duplicate_sections = {}
    db.actor:iterate_inventory(function (dummy, item)
    local section = item:section()
    if ammunity[section] and not duplicate_sections[section] then
    duplicate_sections[section] = true
    table.insert(self.items, section)
    local item_static = diassembly_list()
    item_static.item_name:SetTextST(axr_base.get_inv_name(section))
    self.list_items:AddItem(item_static)
end
end)
end

function diassembly_ui:InitCallBacks()
    self:AddCallback("btn_r", ui_events.BUTTON_CLICKED, self.rep_btn, self)
    self:AddCallback("btn_quit", ui_events.BUTTON_CLICKED, self.on_quit, self)
    self:AddCallback("items_list", ui_events.LIST_ITEM_CLICKED, self.OnListItemClicked, self)
end

function diassembly_ui:OnListItemClicked()
    self.btn_r:Enable(true)
end

function diassembly_ui:rep_btn()
    if db.actor:item_in_slot(2) ~= nil then
    start_sewing_out(2)
    self:on_quit()
end
end

--// Кнопка "Выход"
function diassembly_ui:on_quit()
    self:GetHolder():start_stop_menu(self, true)
    axr_sounds.play_sound([[interface\inv_close]])
end

--// Выход по нажатию "Esc"
function diassembly_ui:OnKeyboard(dik, keyboard_action)
    CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
    if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
    if dik == DIK_keys.DIK_ESCAPE then
    self:on_quit()
end
end
    return true
end

function start_sewing_out(slot)
    local item_in_slot = db.actor:item_in_slot(slot)
    if item_in_slot then
    local sect = item_in_slot:section()
    local name = tostring(system_ini():r_string(sect,"inv_name_short"))
    alife():release(alife():object(item_in_slot:id()), true)
    axr_sewing.send_tip("%c[d_green]"..game.translate_string("st_dis_text_7").." %c[ui_white]"..game.translate_string(name))
    axr_sewing.actor_on_random_devices_new(nums)
    axr_effects_data.devices_anim()
    axr_sounds.play_sound([[interface\inv_repair_kit_with_lone]])
    axr_repair_pro.actor_disable_weapons_repair()
end
end

Еще раз здрасте! Обращюсь в который раз! Создал функцию на удаление итема из списка. Но он удаляет только если предмет в слоте! Можно перебрать код что бы он удалял НЕ из слота А из инвентаря! Заранее спасибо если кто поможет!

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


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

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