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

Скриптование


Svoboда

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

Может кому-нибудь пригодится...

function play_sound(snd, npc_id, num1, num2)

if npc_id == nil then

npc_id = db.actor:id()

end

xr_sound.get_safe_sound_object(snd):play_no_feedback(npc_id, sound_object.s2d, num1, vector(), num2)

end

Использование:

play_sound([[interface\inv_take]],db.actor, 0, 1.0)

 

  • Спасибо 1

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


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

Всем привет, собственно, у меня такой вопрос: как повесить действие на использование физ. объекта? Например, вызов GUI. 

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


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

@CRAZY_STALKER666, создай в своем скрипте функцию main() с таким кодом  


function main()
local hud = Deshifrator(get_hud())
level.start_stop_menu(hud, true)

end


и вызывай её.

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


Ссылка на сообщение
(изменено)
 Deshifrator.main()

Deshifrator судя по всему тут как класс. Вызывай функцию так: имя_твоего_скрипта.main()

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

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


Ссылка на сообщение
(изменено)

Вопрос по GUI интерфейсам. Добавляю в список на GUI предметы из таблицы, которые находятся у гг, все работает. При выборе и нажатии на определенную кнопку они удаляются из инвентаря, но когда пытаюсь вывести не секции, а inv_name предметов, удаление перестает работать. Вот код, прошу опытных скриптеров посмотреть в чем косяк.


function repair_kit:InitControls()

self:SetWndRect (Frect():set(0,0,800,600))
local xml, ctrl = CScriptXmlInit(), CUIWindow()
xml:ParseFile ("ui_repair_kit.xml")
self.repair_kit = xml:InitStatic("repair_kit",self)
self.list = xml:InitList("repair_kit:list",self)
self.list:ShowSelectedItem(true)
self:Register(self.list, "list_window")
self.list:RemoveAll()

for i = 1, #parts_table do
if db.actor:object(parts_table) then
self:AddItemToList(parts_table)
end

end

function repair_kit:OnButton_second_slot_clicked()
if self.list:GetSize()==0 then
return
end
local index = self.list:GetSelectedItem()
if index == -1 then
return
end
local object = self.list:GetItem(index).text:GetText()
del_item(object)
self.button_second_slot:Enable(false)
end

 

function repair_kit:AddItemToList(item_name)
local _itm = spawn_item()
_itm.text:SetText (game.translate_string(system_ini():r_string(item_name, "inv_name")))
self.list:AddItem (_itm)
end

 

 

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

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


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

Никто не знает как сделать физический объект юзабельным? Например, чтобы можно было использовать костёр на локации, и после использования открывалось GUI окно.

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


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

Всем привет, решил попробовать сделать скриптовой инвентарь, такая проблема: вывожу список предметов в инвентаре на GUI, вроде работает, но через пару секунд вылетает без лога. Перепроверял весь код, но не пойму где ошибка. Может ли кто-нибудь из опытных скриптеров глянуть? Ссылка:
https://yadi.sk/d/3906kj0gs39UM

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


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

Всем спасибо, уже разобрался с вылетом, но теперь новая трабла: строки с секциями повторяются несколько раз, вот скрин, на нем видно. Никто не знает способ исправления?

098d11ce4cc28dabcccfd1ed4d27444e5b7a0524

@Zander_driver, еще не инвентарь, но с чего-то надо же начать))

  • Нравится 1

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


Ссылка на сообщение
(изменено)

@UnLoaded, не только с патронами такая фигня, еще с бинтом.


Остальные предметы выводятся одной строкой, как и задумано.

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

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


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

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

21f03074a392114c0f91ab89259416715b7a0224

  • Нравится 2

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


Ссылка на сообщение
(изменено)

Всем привет, у меня такая проблема: зарегистрировал на GUI кнопки, сделал, чтобы они появлялись в зависимости от класса выбранного предмета из списка, но работает  только кнопка использования 

В методе InitControls()

self.btn_use:Show(false)
self.btn_slot_1:Show(false)
self.btn_slot_2:Show(false)
self.btn_drop:Show(true)
В функции клика по итему в списке
local index, item, obj
if self.list:GetSize() == 0 then
return
end
index = self.list:GetSelectedItem()
if index == -1 or index == nil then
return
end
item = self.list:GetItem(index)
if item == nil then
return
end
obj = item:GetSection()

if obj ~= nil then
play_sound_actor([[interface\inv_select]],db.actor, 0, 1.0)
for i = 1, #tEatableClasses do
if get_clsid(obj) == tEatableClasses then
self.btn_use:Show(true)
end
end
for s = 1, #tPistolClasses do
if get_clsid(obj) == tPistolClasses then
self.btn_slot_1:Show(true)
end
end
for a = 1, #tRifleClasses do
if get_clsid(obj) == tRifleClasses[a] then
self.btn_slot_2:Show(true)
end
end
end
Таблицы с классами 

local tPistolClasses = {
clsid.wpn_hpsa,
clsid.wpn_pm,
clsid.wpn_fort,
clsid.wpn_usp45,
clsid.wpn_walther
}
 
local tRifleClasses = {
clsid.wpn_ak74,
clsid.wpn_lr300,
clsid.wpn_shotgun,
clsid.wpn_svd,
clsid.wpn_svu,
clsid.wpn_rpg7,
clsid.wpn_val,
clsid.wpn_vintorez,
clsid.wpn_groza
}
 
local tEatableClasses = {
clsid.obj_medkit,
clsid.obj_bottle,
clsid.obj_bandage,
clsid.obj_antirad,
clsid.obj_food
}

 


В чем же мой косяк?

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

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


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

@Charsi, не помогло, как и раньше, появляется только btn_use. Может классы неправильно указал?

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


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

Всем привет, может ли кто-нибудь кинуть функцию проверки в какой аномалии находится ГГ?

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


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

Всем доброго утра, у меня вопрос: каким образом в ЗП можно назначить текст кнопке с помощью скрипта? Кнопка на классе CUIButton, но для этого класса нет метода SetText.

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


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

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

AMK-Team.ru

×
×
  • Создать...