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

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

Максимум, на десяток процентов, а далее ГГ начинает стукаться о воздух.

Да, получилось, скриптом, но увеличение совсем не заметно, но ГГ спотыкается на ровном месте, получает xит.

 

 

В ogse_actor_conditions_mgr.script добавил такой код:


if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "mon_nano_speed" then
	local cur_sprint_koef = override_sprint_koef or sprint_koef
	if act.satiety < light_hunger_limit then
	  cur_sprint_koef = 1 + (
	    ( cur_sprint_koef + 5 ) * ( act.satiety / light_hunger_limit )
	  )
	end
	if act.power < 1 then
	  cur_sprint_koef = 1 + (
	    ( cur_sprint_koef + 5 ) * ( act.power / 1 )
	  )
	end
	set_sprint_factor( cur_sprint_koef )
end
 

 

 

Изменено пользователем Romann
  • Не нравится 1
 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

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

Может мне тоже стоит, выкладывая примеры каких-то кодов, показывать логико-арифметическую мишуру, и не показывать само действие?)

А еще говорить "сделано скриптом" о том что будет работать только на ХЕ/огсе как минимум несколько странно, это ведь общая тема.

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

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Скажите у меня в скриптах есть скрипт dar_polter_grand_holder кто не знает это за полтергейстом бежит много мутантов типо парада. Как активировать этот скрипт чтобы этот парад был в тёмной долине?

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

 

 

Скажите у меня в скриптах есть скрипт dar_polter_grand_holder кто не знает это за полтергейстом бежит много мутантов типо парада. Как активировать этот скрипт чтобы этот парад был в тёмной долине?

 

Знаешь, вот не знаем что ты там подразумеваешь под dar_polter_grand_holder. Откуда это, из какого мода? Что это за объект? Давай подробности в студию, ибо из того, что ты написал, понятно чуть меньше чем ничего... 

Не соответствует правилам.

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

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

 

------------------- >>>  Класс элемента списка 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

 

 

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

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

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

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

@PTB, Вопрос такой же, как и на 3 поста выше. Точно так же единственно возможный ответ: Давай подробности в студию, ибо из того, что ты написал, понятно чуть меньше чем ничего...

 

 

self.eat_1_ptb

что это за объект, к какому классу он относится - я понятия не имею.

 

 

function ui1_ptb:

и что это за класс, от кого наследован, если наследован - тоже не понятно.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@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

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

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

Винегрет из скриптов и обращений к xml :) Это к сожалению не по моей части. Не хочу сказать что это плохо - в свое время malandrinus доказывал что именно так и надо делать, и он наверное, может быть прав. Но я лично такие решения просто не понимаю, никогда подобным не занимался, и потому в таких вот конструкторах - "не шарю", привык делать интерфейсы чисто скриптами, без использования xml.

Так что, ждем спецов по xml.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

А какой здесь винегрет? Все очень чисто и красиво.

В список добавляют функции AddItemTo_eat_1_ptb("текст") и AddItemTo_eat_2_ptb("текст")

  • Спасибо 1
Ссылка на комментарий

@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 

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

 

 

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

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

@PTB, тебе нужно получить все конкретные объекты по этим секциям чтобы манипулировать с каждым?

... А наше дело маленькое - с ружьём да по болотам. (с)

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

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

 

 

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

 

 

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

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

@PTB, не догоняю, что ты именно хочешь. Что за список? В твоём примере просто функция, которая проверяет, есть ли объект по такой-то секции в инвентаре и так несколько раз. Если тебе надо достать какой то конкретный предмет после проверки на наличие, то пиши, можно сказать точно так же:

 

 

function name_func()
      if db.actor:object("bread") then 
        local object = db.actor:object("bread") -- получение вроде как первого попавшегося объекта хлебушка
      end
      --...
end  

 

 

 

Спрашивай конкретней и опиши что именно ты хочешь.

... А наше дело маленькое - с ружьём да по болотам. (с)

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

@PTB,

 

function ui1_ptb:name_func()
      if db.actor:object("bread") then 
        AddItemTo_eat_1_ptb("bread")
      end 
      if db.actor:object("kolbasa") then 
        AddItemTo_eat_1_ptb("kolbasa")
      end 
      if db.actor:object("vodka") then 
        AddItemTo_eat_1_ptb("vodka")
      end 
      if db.actor:object("conserva") then 
        AddItemTo_eat_1_ptb("conserva")
      end 
end 
Изменено пользователем abramcumner
  • Спасибо 1
Ссылка на комментарий

 

 

нажав на кнопку что-то происходило
Объясни что именно должно происходить. И подробно, а то сейчас расскажу тебе что и как сделать, а потом выясняться подробности, которые заставят всё переделывать.
Ссылка на комментарий

Я предполагаю, на кнопку вешается функция, которая делает что-то с выбранным в списке предметом. И наверное таких кнопок задумано несколько - под различные действия с выбранным предметом.

  • Нравится 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Zander_driver

Я к чему спрашивал? На мой взгляд винегрет получается не с кодом, а именно с действиями.
Поясню.
Судя из кода, но нажатию кнопки 'b_exit' в инвентарь спавниться какой-то там "eat_ptb", а по нажатию кнопки "medkit_army" аптечка.
Т.е., я так полагаю, исходя из этого, при нажатии пункта из списка что-то должно спавниться В инвентарь.
А тут вроде как обсуждается составление списка из того, что УЖЕ ЕСТЬ в инвентаре.И ни слова о том что же с этим делать?

Как-то не согласовывается с исходным кодом.
Вот и спрашиваю.

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

@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

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

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

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

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

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

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

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

Войти

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

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

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