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

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


Svoboда

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

Здравствуйте форумчане! Если не сложно, объясните пожалуйста как пользоваться списками

 

------------------- >>>  Класс элемента списка eat_1_ptb  <<< -------------------

class "eat_1_ptb_ListItem"(CUIListItemEx)
function eat_1_ptb_ListItem:__init() super()
self.text_item = CUIStatic()
self:AttachChild(self.text_item)
self.text_item:SetFont(GetFontLetterica18Russian())
self.text_item:SetTextColor(255,216,186,140)
end
------------------- >>>  END  <<< -------------------

function ui1_ptb:AddItemTo_eat_1_ptb(item_name)    --/Добавление элемента в список eat_1_ptb
local _itm = eat_1_ptb_ListItem()
_itm.text_item:SetText(item_name)
self.eat_1_ptb:AddItem(_itm)
end

 

 

Вопрос, как добавить в список что-нибудь?

Заранее спасибо!

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

@Zander_driver, Вот скрипт:

function ptb_eat(obj)   if obj ~= nil then      if obj:section() == "eat_ptb" then       local hud = ui1_ptb(get_hud())	   level.start_stop_menu(hud, true)    end    endendclass "ui1_ptb" (CUIScriptWnd)function ui1_ptb:__init() super()	self:InitControls()	self:InitCallBacks()endfunction ui1_ptb:__finalize()endfunction ui1_ptb:InitControls()	local xml = CScriptXmlInit()	self:Init(0,0,1024,768)	xml:ParseFile("ui1_ptb.xml")	self.frame2 = xml:InitFrame("frame2", self)	self:Register(xml:Init3tButton("frame2:b_exit", self.frame2), "b_exit")	self:Register(xml:Init3tButton("frame2:button3", self.frame2), "button3")	xml:InitFrame("frame2:eat_1_ptb_frame", self.frame2)	self.eat_1_ptb = xml:InitList("frame2:eat_1_ptb", self.frame2)	self.eat_1_ptb:ShowSelectedItem(true)	self:Register(self.eat_1_ptb, "eat_1_ptb")	xml:InitFrame("frame2:eat_2_ptb_frame", self.frame2)	self.eat_2_ptb = xml:InitList("frame2:eat_2_ptb", self.frame2)	self.eat_2_ptb:ShowSelectedItem(true)	self:Register(self.eat_2_ptb, "eat_2_ptb")	self.Static3 = xml:InitStatic("frame2:Static3", self.frame2)	self.Static4 = xml:InitStatic("frame2:Static4", self.frame2)endfunction ui1_ptb:InitCallBacks()	self:AddCallback("b_exit", ui_events.BUTTON_CLICKED, self.b_exit_button_clicked, self)	self:AddCallback("button3", ui_events.BUTTON_CLICKED, self.on_quit, self)endfunction ui1_ptb:b_exit_button_clicked()	self:GetHolder():start_stop_menu(self, true)	alife():create("eat_ptb", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())endfunction ui1_ptb:button3_button_clicked()	alife():create("medkit_army", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())end------------------- >>>  Класс элемента списка eat_1_ptb  <<< -------------------class "eat_1_ptb_ListItem"(CUIListItemEx)function eat_1_ptb_ListItem:__init() super()	self.text_item = CUIStatic()	self:AttachChild(self.text_item)	self.text_item:SetFont(GetFontLetterica18Russian())	self.text_item:SetTextColor(255,216,186,140)end------------------- >>>  END  <<< -------------------function ui1_ptb:AddItemTo_eat_1_ptb(item_name)    --/Добавление элемента в список eat_1_ptb	local _itm = eat_1_ptb_ListItem()	_itm.text_item:SetText(item_name)	self.eat_1_ptb:AddItem(_itm)end------------------- >>>  Класс элемента списка eat_2_ptb  <<< -------------------class "eat_2_ptb_ListItem"(CUIListItemEx)function eat_2_ptb_ListItem:__init() super()	self.text_item = CUIStatic()	self:AttachChild(self.text_item)	self.text_item:SetFont(GetFontLetterica18Russian())	self.text_item:SetTextColor(255,216,186,140)end------------------- >>>  END  <<< -------------------function ui1_ptb:AddItemTo_eat_2_ptb(item_name)    --/Добавление элемента в список eat_2_ptb	local _itm = eat_2_ptb_ListItem()	_itm.text_item:SetText(item_name)	self.eat_2_ptb:AddItem(_itm)endfunction ui1_ptb:Hide()	self:GetHolder():start_stop_menu(self, true)end 


 

 


@Zander_driver, Сделал в Stalker UI Creator

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

@abramcumner, Простите за глупый вопрос(про100 я в скриптах плохо шарю) как в этот список вынести например предметы которые есть в инвентаре

Например есть функция:

function name_func()
      if db.actor:object("bread") then 
      ... 
      end 
      if db.actor:object("kolbasa") then 
      ... 
      end 
      if db.actor:object("vodka") then 
      ... 
      end 
      if db.actor:object("conserva") then 
      ... 
      end 
end 

Что написать вместо точек?

 

 

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

@Max_Raf, Да, например выбрав 1 предмет из списка, нажав на кнопку что-то происходило.

 

 

Заранее прошу прощения, за свои тупые вопросы!

 

 

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

@Nazgool,


self:GetHolder():start_stop_menu(self, true)
alife():create("eat_ptb", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
-- спавним обратно в рюкзак

 

alife():create("medkit_army", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
--а это для теста, просто при прохождении аптечек не хватало)

 

 

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

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

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

@Zander_driver, Простите что сразу всё не разъяснил.

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

Как должно было выглядеть: Юзаем вещь, выбираем из списка предмет, во втором списке выбираем апгрейд, жмём кнопку(ту где сейчас аптечка спавнится) и хопа оружие удалилось из инвентаря и в место него добавилось новое.

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

Здравствуйте товарищи!

Захотелось обучится lua. Начал с самого простого, с операторов. Изменил скрипт прототипа дин.новостей.

--Включены ли каналы?
local k_bandits = false
local k_dolg = false
local k_svoboda = false
local k_novise = true
local k_military = false
--local k_neizvesten = false

--Сообщения канала бандитов:
local k_bandits_text = {
"Гопчики пацанчики, сегодня таких лахов пресанули. Все артефакты нам выложили. Сейчас пойдём их хабары шманать.",
"Погодка сёне просто замечательная мля. Птички поют, солнышко светит, Пахан орёт. Ни жизнь а мечта.",
"Ну а что поделать1.."
}

local k_dolg_text = {
"Вы этих свободовцев в новых бронекостюмах видели? Эо ужас! Не учто долг по технике свободе начал отставать.",
"Вчера какой то гад весь хабар спёр, оставил только записку: Здеся бил бюрер. Не учто школьники по зоне гулять начали?",
"Ну а что поделать2.."
}

local k_svoboda_text = {
"Внимание!!! В скором времени будет рейд на заставу долга. Всем кто рад надрать задницу засранцам, прозьба подойти к лукашу.",
"Решил коноплю посжигать, сжёг сарай.",
"Ну а что поделать3.."
}

local k_novise_text = {
"Ребята! Помогите! Бандиты на ферме зажали.",
"Чёрт, военные совсем охренели, теперь ни за 500 ни за бутылку не пропустят. Пят штук им подавай. Черти.",
"Ну а что поделать4.."
}

local k_military_text = {
"Внимание всем отрядам находящимся на кардоне. Необходимо собраться у Кузнецова в 23.00 для получения дольнейших указаний",
"Всем отрядам на свалке слушать внимательно. На агропроме взорвали наш вертолёт, не простим обиды, умрём все до последнего!!!",
"Ну а что поделать5.."
}

time_ptb = 0 -- переменная промежутка времени

function time_update_spam() -- функция промежутка времени
local time = time_global() -- переменная времени
if time_ptb < time then
time_ptb = time + 30000 -- время через которое будет вызываться сообщение
truefalse()
update_spam()
end
end

function truefalse()
	if db.actor:object("bread") then 
		k_bandits = true
	elseif db.actor:object("conserva") then
		k_bandits = false 
		k_svoboda = true
	end 
end

function update_spam()
if k_bandits == true then
news_manager.send_tip(db.actor, (k_bandits_text[math.random(6)]), nil, nil, 30000) 
elseif k_dolg == true then
news_manager.send_tip(db.actor, (k_dolg_text[math.random(6)]), nil, nil, 30000) 
elseif k_svoboda == true then
news_manager.send_tip(db.actor, (k_svoboda_text[math.random(6)]), nil, nil, 30000) 
elseif k_novise == true then
news_manager.send_tip(db.actor, (k_novise_text[math.random(6)]), nil, nil, 30000) 
elseif k_military == true then
news_manager.send_tip(db.actor, (k_military_text[math.random(6)]), nil, nil, 30000) 
end
end 

 

 

Проблема в том что сообщение в истории видно, а на худ оно не показывается. Кто-нибудь с этим сталкивался?


Изменил [math.random(6)] на [math.random(3)] вроде заработало.


Простите, как изменить иконку сообщения?

В жизни много плохих моментов. Пытайся избавляться от них !

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


Ссылка на сообщение
Простите за глупый вопрос, но кто-нибудь обьяснит как вызывать таймер АМК:

--старт таймера в реальном времени

function start_timer(name, delay, parameters)

Хочу вызвать:

amk.start_timer(name, delay, parameters)

но не знаю что написать в скобках вместо name, delay, parameters?

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

Здравствуйте! Снова прошу помощи. Есть функция:

function start_demka()
  local console = get_console()
  console: execute("demo_play start_demka")
end

Как во время ролика можно отключить худ?

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

@TIGER_VLAD, Спасибо, помогло! Но есть ещё одна проблема:

Во время полёта, можно юзать вещи, например бинокль. Можно и это как нибудь отключить?

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

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

@Kober(BRUC), Вот есть фу-ии в уроках:

function del_pusto() 
    local sim = alife() 
    local se_obj = sim:story_object(888)  --номер обьекта в game_stori_ids 
    if se_obj then 
        sim:release(se_obj, true) 
    end 
end 

Незнаю подойдёт или нет, не проверял.

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

@TIGER_VLAD, Честно говоря не знаю но по моему в двиг лезть надо.

В жизни много плохих моментов. Пытайся избавляться от них !

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


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

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

AMK-Team.ru

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