Перейти к содержанию

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

 
 
3 часа назад, РСФСР сказал:

0.992157, 0.545098, 0.058824

Так это просто формат записи цвета. Чтобы получить нормальный RGB, надо умножить все на 255 и округлить до целых.
В данном случае это 253, 139, 15. Ну или сразу писать в колонку Scalar напротив RGB. Я правда не помню по какой причине цвет может быть больше единицы. Обычно диапазон 0..1 = 0..255.

Прикол со взятием цвета со скрина пипеткой в фш конечно же не прокатит, очень много факторов влияет на итоговый цвет пикселя.

P.S. Раз в релизном СДК цвет сбивается, значит в старых версиях расчет был другой. Это надо лезть в исходники и смотреть, как было раньше.

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
8 часов назад, RayTwitty сказал:

Так это просто формат записи цвета. Чтобы получить нормальный RGB, надо умножить все на 255 и округлить до целых.
В данном случае это 253, 139, 15. Ну или сразу писать в колонку Scalar напротив RGB. Я правда не помню по какой причине цвет может быть больше единицы. Обычно диапазон 0..1 = 0..255.

Прикол со взятием цвета со скрина пипеткой в фш конечно же не прокатит, очень много факторов влияет на итоговый цвет пикселя.

P.S. Раз в релизном СДК цвет сбивается, значит в старых версиях расчет был другой. Это надо лезть в исходники и смотреть, как было раньше.

открывал даже сдк 2002 года и пробовал там вводить - тоже что и в финалке

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


Ссылка на сообщение
Поделиться на другие сайты
 

подскажите как в inventory_box что-то из айтемов по инфопоршню заспавнить?

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


Ссылка на сообщение
Поделиться на другие сайты
 

В чем проблема? пишет 25 ошибок, по факту 1, что делать? после того как я добавил тхмку к указанной текстуре в логе писалась что она загрузилась, но другие текстуры  в логе не появились, как решать?

Снимок.PNG

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


Ссылка на сообщение
Поделиться на другие сайты
 

Кто знает каким ключем конвертера бардака декомпилируются локи билда 1537 в формат сдк? ключи -1580 - 1844 - 1475 - 1511 не работают, пишет формат xrlc не тот

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


Ссылка на сообщение
Поделиться на другие сайты
 

StrawFlux в bind_stalker в info_callback лови инфопоршень и спавни

  • Лайк 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет.Хочу сделать такой квест.По условию на актере должен быть одет определённый костюм(например куртка бандита.)В чём прикол.Я поставил рестриктор,но от должен работать только в том случае,если на актере надета та самая куртка,в ином же случае, при входе в рестриктор ничего не сработает. Далее ,сама логика рестриктора.Вот мы одели эту куртку,зашли в зону.При входе в рестриктор срабатывает инфопоршень и  появляется таймер,на 1:20. По инфопоршню срабатывает сразу 2 события, 1-приходит смс(типо мысли ГГ),2- это спавн условного бюрера.Так же хочу сделать такую фишки,если мы зашли в зону и начался таймер,но до окончания таймера мы вышли из зоны,задание проваливается.Если таймер закончился и мы в зоне.то происходит следующее,выдаётся инфопоршень о выполнении задания,у нас забирают нашу куртку и выдают допустим севу.Надеюсь,что хоть кто то понял мою задумку.Не прошу сразу всё разьяснить и описать.Лучше всего начните с начала,а именно выдача инфопоршня при надетой куртке в  бандита в рестрикторе.За ранее всем огромное спасибо.

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


Ссылка на сообщение
Поделиться на другие сайты
 

RicoNRT в рестникторе будет обычная функция 

Если у нас в слоте брони есть броня, то, если это куртка, то выдаём поршень + можно выдать тут же смс сообщение. Это для начала. А дальше уже посложнее. 

 


76561198152189716.png

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 Извини,но фото не открывается(

 

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


Ссылка на сообщение
Поделиться на другие сайты
 

У кого есть папка rawdata для Тч настроенная, не с  битыми thm-ками, скачал сборник thm-ок, а половина файлов для локации не подходит, юзал dds2tga, и полученные thm-ки закинул в rawdata, по итогу у меня теперь xrlc вылетает. Как решать проблемы?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет. Подскажите, как сделать чтобы цена предмета была видна только во время торговли (как ЗП). И как убрать полоску состояния у предметов (по типу хлеб, гитара, водка) или для этого нужно движок править?

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


Ссылка на сообщение
Поделиться на другие сайты
 
49 минут назад, Stalkervernite сказал:

У кого есть папка rawdata для Тч настроенная, не с  битыми thm-ками, скачал сборник thm-ок, а половина файлов для локации не подходит, юзал dds2tga, и полученные thm-ки закинул в rawdata, по итогу у меня теперь xrlc вылетает. Как решать проблемы?

через paint.net или фотошоп надо конвертировать, помню с этой утилитой были проблемы

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


Ссылка на сообщение
Поделиться на другие сайты
 

.


Дополнено 23 минуты спустя

Кто знает, как разархивировать  shaders.xrlc?

В чем ошибка? unknown xrLC version 12 При конвертации болот

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

image.png.3c7e6594fabe0864f7167a976b3e2383.pngimage.png.2e0ec0b65e399a9e9397579fa335043b.png

Всем привет.На днях переустанавливал виндоус.До переустановки сдк работал прекрасно и без сбоев.Сегодня опять скачал сдк.Как только закидываю геймдату выдаёт ошибку.В чём проблема,геймдата таже.С ней сдк прекрасно запускался неделю назад.Спасибо за ответ.

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


Ссылка на сообщение
Поделиться на другие сайты
 

В чем дело? Переустановил чистый сдк, а в папке rawdata нету некоторых текстур flare и water и еще пару текстур в чем дело? к тому же при декомпиляции локации выдает ошибку unknown xrLC version 12 При конвертации болот. К тому же, у меня к тому же нет папки импорт


Дополнено 1 минуту спустя

RicoNRT Скорей всего у тебя нету msvcp файлов,  у меня была похожая проблема очень давно. У тебя на скрине есть надпись Exception Reason: И там лог,  ниже указанный лог напиши.

Это скорей всего связано не с сдк, а с виндой нету файлов некоторых

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 28.09.2023 в 17:24, RicoNRT сказал:

Хочу сделать такой квест.По условию на актере должен быть одет определённый костюм(например куртка бандита.)В чём прикол.Я поставил рестриктор,но от должен работать только в том случае,если на актере надета та самая куртка,в ином же случае, при входе в рестриктор ничего не сработает.

Как то так:

[logic]
active = sr_idle

[sr_idle]
on_actor_inside = {-zashel} %+zashel% sr_idle@in  - зашел ГГ, переходим в sr_idle@in

[sr_idle@in]
on_info = {=check_outfit} sr_idle@da, {!check_outfit} sr_idle@net  - проверяем одет нужный костюм или нет, если одет идем в sr_idle@da, если нет идем в sr_idle@net 

[sr_idle@da]
on_info = {+zashel} %+vidayem_info% sr_idle@tm  - если одет нужный костюм, выдаем инфо и переходим в схему таймера (выдается инфо vidayem_info из него запускается смс-ка и спавнится бюрер)

[sr_idle@net]
on_actor_outside = %-zashel% sr_idle  - если костюм не одет, ничего не происходит, и при выходе рестриктор возвращается в исходное состояние
 
[sr_idle@tm]
type = dec
start_value = 60000            -запускаем таймер(время регулируем по себя)
on_actor_outside = nil %+slabak%   -если вышел до окончания таймера, выдается инфо на провал задания
on_value = 0 | sr_idle@tm_da    - если гг в рестрикторе и таймер закончился переходим в sr_idle@tm_da

[sr_idle@tm_da]
on_actor_inside = nil %+molodec%   - по окончании таймера и присутствии гг в рестрикторе выдается инфопоршень, по которому делается остальное: засчитывается задание, отбираетс и выдается костюм и т.д. и т.п.

Функция проверки костюма должна лежать в xr_conditions.script и выглядеть так:

function check_outfit()
		local outfit = db.actor:get_current_outfit()
        if outfit and outfit:section() == "name_outfit" then 	
       return true
   else
        return false
    end
end

 


Дополнено 5 минуты спустя
В 29.09.2023 в 20:22, RicoNRT сказал:

Всем привет.На днях переустанавливал виндоус.До переустановки сдк работал прекрасно и без сбоев.Сегодня опять скачал сдк.Как только закидываю геймдату выдаёт ошибку.В чём проблема,геймдата таже.

проверь библиотеки, вроде ругается на KernelBase.dll

 

  • Жму руку 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

frankenshtayn У меня нету слов. Считай с 0 для меня квест написал.До сих пор в шоке.ОГРОМНОЕ СПАСИБО.

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 24.09.2023 в 08:55, Paracetamol сказал:

Как сделать, чтобы нпс шёл за актёром, аля компаньён.

Вот так:

Спойлер

Значит так, чтобы не заморачиваться с изменениями, создай скрипт с именем rx_karavan.script (в принципе можно создать и свой скрипт, но тогда в «модулях» нужно будет исправить на имя своего скрипта) в него вставь вот этот код:

----------------------------------------------

class "evaluator_end" (property_evaluator)

function evaluator_end:__init(name,storage) super (nil,name)

            self.st = storage

end

function evaluator_end:evaluate()

            return not xr_logic.is_active(self.object,self.st)

end

class "evaluator_karavan" (property_evaluator)

function evaluator_karavan:__init(name,storage) super (nil, name)

  self.st = storage

end

function evaluator_karavan:evaluate()

            return db.actor and xr_logic.is_active(self.object,self.st) and self.st.enabled == true

end

class "action_karavan" (action_base)

function action_karavan:__init(name,storage) super (nil, name)

            self.st = storage

end

function action_karavan:initialize()

            action_base.initialize(self)

            local npc = self.object

            npc:set_desired_position()

            npc:set_desired_direction()

            npc:set_detail_path_type(move.curve)

            npc:set_path_type(game_object.level_path)

            self.offset = vector():set(math.random()*6-3,0,math.random()*6-3)

            self.offset:normalize()

end

function action_karavan:execute()

            action_base.execute(self)

            local npc = self.object

            if xr_logic.try_switch_to_another_section(npc,self.st,db.actor) then

                        return

            end

            local dist = db.actor:position():distance_to(npc:position())

            local state,look,anim = state_mgr.get_state(npc)

            if dist <= self.st.radius then

                        state,look,anim = self.st.close_state,nil,true

            elseif dist < self.st.close_dist then

                        state,look,anim = self.st.close_state,nil,true

            elseif dist >= self.st.faraway_dist then

                        state,look,anim = self.st.wait_state,nil,true

            elseif dist < self.st.near_dist then

                        state,look,anim = self.st.near_state,nil,true

            elseif not (state and state_lib.states[state].movement == move.stand) then

                        state,look,anim = self.st.faraway_state,nil,true

            end     

            if self.st.look == true and state_lib.states[state].movement == move.stand then

                        look = true

            end

            if look == true then

                        look = {look_object = db.actor}

            end

            if anim == true then

                        anim = {animation = true}

            end

            if state then

                        state_mgr.set_state(npc,state,nil,nil,look,anim)

            end

            if state_lib.states[state].movement ~= move.stand then

                        local vertex_id = level.vertex_in_direction(db.actor:level_vertex_id(),self.offset,self.st.radius)

                        utils.send_to_nearest_accessible_vertex(npc,vertex_id)

            end

end

function action_karavan:finalize()

            self.object:clear_animations()

end

 

prop_karavan = 9651

prop_end = prop_karavan+1

act_karavan = prop_karavan

 

function add_to_binder(object,char_ini,scheme,section,st)

            local manager = object:motivation_action_manager()

            manager:add_evaluator(prop_karavan,evaluator_karavan("evaluator_karavan",st))

            local action = action_karavan("action_karavan",st)

            action:add_precondition(world_property(stalker_ids.property_alive,true))

            action:add_precondition(world_property(stalker_ids.property_enemy,false))

            action:add_precondition(world_property(stalker_ids.property_danger,false))

    xr_motivator.addCommonPrecondition(action)

            if watcher_act then

                        action:add_precondition(world_property(watcher_act.evid_near_stuff,false))

                        action:add_precondition(world_property(watcher_act.evid_see_body,false))

                        action:add_precondition(world_property(watcher_act.evid_see_stuff,false))                  

            end

            action:add_precondition(world_property(prop_karavan,true))

            action:add_effect(world_property(prop_karavan,false))

            manager:add_action(act_karavan,action)

            local atbl = {xr_actions_id.alife}

            for i,id in ipairs(atbl) do

                        action = manager:action(id)

                        if action then

                                   action:add_precondition(world_property(prop_karavan,false))

                        end

            end

end

 

function set_scheme(npc,ini,scheme,section,gulag_name)

            local st = xr_logic.assign_storage_and_bind(npc,ini,scheme,section)

            st.logic = xr_logic.cfg_get_switch_conditions(ini,section,npc)

            st.close_dist = utils.cfg_get_number(ini,section,"close_dist",npc,false) or 7

            st.near_dist = utils.cfg_get_number(ini,section,"near_dist",npc,false) or 14

            st.faraway_dist = utils.cfg_get_number(ini,section,"faraway_dist",npc,false) or 32

            st.close_state = utils.cfg_get_string(ini,section,"close_state",npc,false,"") or "guard"

            st.near_state = utils.cfg_get_string(ini,section,"near_state",npc,false,"") or "patrol"

            st.faraway_state = utils.cfg_get_string(ini,section,"faraway_state",npc,false,"") or "rush"

            st.wait_state = utils.cfg_get_string(ini,section,"wait_state",npc,false,"") or "hide"

            st.look = utils.cfg_get_bool(ini,section,"look_on_actor",npc,false)

            st.radius = utils.cfg_get_number(ini,section,"radius",npc,false) or 4

            st.no_loot = utils.cfg_get_bool(ini,section,"no_loot",npc,false)

            if st.no_loot ~= true then

                        st.no_loot = nil

            end

            st.enabled = true

end

function disable_scheme(npc,scheme)

            rx_ai.printf("disable")

            local st = db.storage[npc:id()][scheme]

            if st then

                        st.enabled = false

            end

end

далее, открой скрипт modules.script и под строками

----------------------------------------------------------------------

-- Загрузка модулей сталкеров:

----------------------------------------------------------------------

if watcher_act then

        load_scheme("watcher_act",    "watcher_act",      stype_stalker)

end

вставь такую строчку:

load_scheme("rx_karavan",        "karavan",      stype_stalker)

со скриптами все...

Ну и собственно логика персонажа будет выглядеть так:

 [smart_terrains]

none = true  

[logic]

active = karavan

[karavan]

close_dist = 2

near_dist = 10

faraway_dist = 31

close_state = guard

near_state = rush

faraway_state = sprint

wait_state = rush

look_on_actor = false

radius = 1

combat_ignore_cond = {=fighting_dist_ge(40)} always

no_loot = true

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

 [smart_terrains]

none = true

[logic]

active = walker

[walker] ;пока чувак нам не нужен, ходит под валкером по своим путям(стоит, сидит...)

path_walk = snip_naym_walk1

path_look = snip_naym_look1

on_info = {+info} karavan ;при получении инфопоршня, переходим в "караван" и бегим за ГГ

[karavan]

close_dist = 2

near_dist = 10

faraway_dist = 31

close_state = guard

near_state = rush

faraway_state = sprint

wait_state = rush

look_on_actor = false

radius = 1

combat_ignore_cond = {=fighting_dist_ge(40)} always

no_loot = true

on_info = {+info1} walker@prshli ;дошли до места, получили поршень, перешли в другой валкер(стоим, сидим и т.д.)

[walker@prishli]

path_walk = snip_naym_walk2

path_look = snip_naym_look2

Взято из НС, расписано подробнее некуда, кому надо - дерзайте)

  • Лайк 1
  • Хабар 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет.Кто нибудь знает где в сдк мины лежат, по типу тех, что на кордоне стоят на южном блокпосте.За ранее благодарю.

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


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, RicoNRT сказал:

Всем привет.Кто нибудь знает где в сдк мины лежат, по типу тех, что на кордоне стоят на южном блокпосте.За ранее благодарю.

Во вкладке zones, они на базе аномалий

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


Ссылка на сообщение
Поделиться на другие сайты
 

Кто знает, как реализовать систему выдвижение выдвижного шкафчика, типо открывал тумбу, и она открывалась нормально. 2 - ой вопрос, скажите название анимации выпившего Сталкера. К примеру Сидорович бухой шел, напиши пожалуйста :)

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


Ссылка на сообщение
Поделиться на другие сайты
 

Господа, кто знает, как можно отследить хит от актера по нпс? Через скрипт или логику, без разницы

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


Ссылка на сообщение
Поделиться на другие сайты
 

Paracetamol через логику, секция on_hit как вариант

 

[hit]

on_info = {=hit_by_actor} %+info%

  • Лайк 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
18 часов назад, Stalkervernite сказал:

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

Она уже есть, но не работает, т.к. ориг.модели ящиков криво настроены. Тут исправлены: https://drive.google.com/file/d/1bmO3G8czkda1uIGGJjc7ZUgcWxvJ0tiv/view?usp=sharing

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


Ссылка на сообщение
Поделиться на другие сайты
 

Господа, как реализовать gui дневник на тч (огср), типо того, что был в моде Farthest Edge?


Дополнено 0 минут спустя

Не понятен именно процесс добавления записей в дневник.

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн