Colder 12 Опубликовано 20 Февраля 2021 Скрытый текст 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 Еще раз здрасте! Обращюсь в который раз! Создал функцию на удаление итема из списка. Но он удаляет только если предмет в слоте! Можно перебрать код что бы он удалял НЕ из слота А из инвентаря! Заранее спасибо если кто поможет! Поделиться этим сообщением Ссылка на сообщение