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

I am Dead

Жители
  • Число публикаций

    1 116
  • Регистрация

  • Последнее посещение

  • Дней в топе

    9
  • AMKoin

    13,514 [Подарить AMKoin]

Сообщения опубликованы I am Dead

  1. 1 час назад, monk сказал:

    Явно же тут задано направление действия/положение в пространстве партикла.

    Да, только в необычных координатах как уже сказал выше

    @monk Попробуй по такой формуле переведи

     

    pos.x = M41
    pos.y = M42
    pos.z = M43
    
    rot.x = -(M31 + M21)
    rot.y = -(M32 + M22)
    rot.z = -(M33 + M23)



    по твоему примеру получится что то такое (но это не точно)

     

    pos = {220.524490356445, 2.80624198913574, 257.845550537109};
    rot = {-0.419754102826118, -1.34106403589248, -1.40522110462191};
    • Спасибо 1
    • Полезно 1
  2. 22 минуты назад, Stalkersof сказал:

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

    Как бы нет, хочешь тч, хочешь зп юзай.

    23 минуты назад, Stalkersof сказал:

    Выше этой ревизии у меня ломает твои анимации

    ДС сервак открыт для багрепорта если что, но я не думаю что анимации и развертка ломается из за движка.

  3. 09.01.2024 в 06:34, CiberZold сказал:

    да а условие, которое висит на постоянном апдейте не намного лучшее решение

    Ну про это и говорить не стоит даже)

    09.01.2024 в 06:34, CiberZold сказал:

    так это же только в ОГСР, а где он написал что работает на этом движке?

    Предположил, по системе сигналов. Мб и под дефолт тч использует их, хрен его знает.

    21 час назад, Zander_driver сказал:

    хотя если со статикой попробовать, то чем черт не шутит

    Кек, сильное заявление, учитывая что ты сам видел какая вакханалия в коде)

    21 час назад, Stalkersof сказал:

    нормальной погоды для огср нет

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

    3 часа назад, Stalkersof сказал:

    скручивать лучи в ноль в конфигах

    Ты можешь не в конфигах их скручивать, интенсивность саншафтов в консоли есть, выкрутил в ноль да и все

    • Согласен 2
  4. @Stalkersof Бро, не советую пользоваться пстором, у движка есть некое хранилище где можешь что то сохранять.

    Модуль

     

    local xvars = get_stored_vars()
    
    --------------| Публичный интерфейс модуля |-----------------------------------
    
    function unpack_value(value)
        if type(value) == "userdata" then
            value = value(true)
        end
        return value
    end
    
    function value_exist(name)
        return xvars[name] ~= nil
    end
    
    function set_value(name, value)
        xvars[name] = value
    end
    
    function get_value(name, default_value)
        local value = xvars[name]
        if value == nil then
            ASSERT(default_value ~= nil, "get_value: neither value '%s' is exist, nor default value is provided", name)
            set_value(name, default_value)
            return default_value
        end
        return unpack_value(value)
    end
    
    -- в случае, если не существует, просто вернуть nil
    function get_value_safe(name)
        return unpack_value(xvars[name])
    end
    
    function remove_value(name)
        xvars[name] = nil
    end
    
    function set_or_remove_value(name, value)
        if value then
            set_value(name, value)
        else
            remove_value(name)
        end
    end
    
    function get_all_vars()
        return xvars()
    end

     

    • Нравится 1
    • Согласен 2
  5. 03.01.2024 в 07:12, Colder сказал:

    Подскажите как правильно прочитать строку из ltx файла

    У тебя тут ни одна строка... Мне кажется, тебе проще будет записать нужные тебе предметы в одну строку, разделить например их запятой, потом разбить эту строку с помощь split_comma_separated_list:

     

    -- делит строку в виде "aaa,bbb,ccc" на строки "aaa", "bbb", "ccc" и возвращает их в виде массива
    function split_comma_separated_list(s)
        return string.explode(",", s)
    end


    Пример
     

        for info, recipe in pairs(split_comma_separated_list(get_string(anom:section(), "anomaly_recipes"))) do
            component_sect_string = get_string("transform_" .. recipe, "components")
            if db.actor:has_info(recipe) and component_sect_string == obj:section() then -- есть рецепт и этот компонент в нём участвует
            end
        end

     

    06.01.2024 в 22:10, Colder сказал:

        if self.object:clsid() == clsid.inventory_box and box_info_wnd ~= nil then
                box_info_wnd:hide()
            else
                box_info_wnd:show()
            end


    Гениально... box_info_wnd не существует, делаем ему show()...

    • Нравится 1
    • Согласен 2
  6. 5 минут назад, UriZzz сказал:

    удручены скудностью Вики

    Мужики, чтобы не досуждать мастеру, у него мод в свободном доступе на этом движке, я даже не знаю что я мог у него в коде не видеть, у него в скриптах вообще на любой вкус будет код

    Еще можно коммиты смотреть, экспорты и тд и тп. Так же можно у нас в чате в дс задать вопрос касательно движка и его преимуществ, практически всегда в онлайне один из нас есть

  7. 02.05.2023 в 22:51, Norman Eisenherz сказал:

    После попытки адаптации какой-то древней версии "amk_offline_alife"

    А на кой тебе этот мод?

    22.04.2023 в 06:06, Zander_driver сказал:
    Дело было во время пересборки движка, делать было нечего... ) (Показать)

     

    Как-то грустно мне стало от всего сабжа. Когда ради двух аномалий пилится непонятный костыль и вешается на апдейт - это не плохая идея. Это идея УЖАСНАЯ. Тем более на движке OGSR, имеющем море возможностей для того чтобы сделать хорошо и правильно.

    В общем обычно мы так не делаем... но вот готовый код. Есть у меня такое подозрение что без него каши не сварить.

     

    local tech_pos = vector():set(-45,-2,-85) -- Это координаты техника? Замечательно. Если нет, впишите их сюда. local tech_dist = 30 -- На этой дистанции от него надо зачистить аномалии? Если не на этой, то впишите свою. local warn_anoms = { -- если из алл.спавна можно раздобыть имена этих аномалий, запишите их сюда. } function IsTargetAnomClass(obj) if get_clsid(obj) == clsid.zone_bfuzz_s or get_clsid(obj) == clsid.zone_galant_s or get_clsid(obj) == clsid.zone_mbald_s or get_clsid(obj) == clsid.zone_mincer_s then return true end return false end function OnAction() -- Это дергать из экшена инфопоршня / или при входе на локацию. local i = 1 while i < 65534 do local obj = level.object_by_id(i) if obj and IsTargetAnomClass(obj) then -- Здесь мы пользуем тот факт, что аномалии на локации везде онлайн. -- И потому их клиентские объекты можно получать. -- Более правильно это можно было бы сделать, получая гейм-вертексы объектов и по ним проверяя локацию. -- Такой вариант можно было бы вызывать с любой локации. А этот - только на той, где удаляем аномалии. local del = false local sobj = alife():object(obj:id()) if obj:position():distance_to(tech_pos) < tech_dist then del = true end if not del and #warn_anoms > 0 then for k, name in pairs(warn_anoms) do if sobj:name() == name then del = true break end end end if del then alife():release(sobj, true) -- Предварительные ласки в виде увода в оффлайн, нмв, тут совершенно излишни. -- Если в морг, значит сразу в морг. end i = i + 1 end end

    local tech_pos = vector():set(-45,-2,-85) -- Это координаты техника? Замечательно. Если нет, впишите их сюда.
    local tech_dist = 30 -- На этой дистанции от него надо зачистить аномалии? Если не на этой, то впишите свою.
    local warn_anoms = {
    	-- если из алл.спавна можно раздобыть имена этих аномалий, запишите их сюда.
    }
    function IsTargetAnomClass(obj)
    	if get_clsid(obj) == clsid.zone_bfuzz_s or 
    		get_clsid(obj) == clsid.zone_galant_s or 
    		get_clsid(obj) == clsid.zone_mbald_s or 
    		get_clsid(obj) == clsid.zone_mincer_s then
    		return true
    	end
    	return false
    end
    function OnAction() -- Это дергать из экшена инфопоршня / или при входе на локацию.
    	local i = 1
    	while i < 65534 do
    		local obj = level.object_by_id(i)
    		if obj and IsTargetAnomClass(obj) then 
    			-- Здесь мы пользуем тот факт, что аномалии на локации везде онлайн. 
    			-- И потому их клиентские объекты можно получать.
    			-- Более правильно это можно было бы сделать, получая гейм-вертексы объектов и по ним проверяя локацию. 
    			-- Такой вариант можно было бы вызывать с любой локации. А этот - только на той, где удаляем аномалии.
    			local del = false
    			local sobj = alife():object(obj:id())
    			if obj:position():distance_to(tech_pos) < tech_dist then del = true end
    			if not del and #warn_anoms > 0 then
    				for k, name in pairs(warn_anoms) do
    					if sobj:name() == name then del = true break end
    				end
    			end
    			if del then alife():release(sobj, true)
    			-- Предварительные ласки в виде увода в оффлайн, нмв, тут совершенно излишни.
    			-- Если в морг, значит сразу в морг.
    		end
    	i = i + 1
    	end
    end

    Если надо потом запрещать спавн динамических аномалий в этом месте, то надо там проверять ту же дистанцию до тех же координат, насколько я понял задачу.

    И бога ради не трогайте биндер актора для таких вещей, и тем более не трогайте апдейт. Это вот ни для чего вообще тут не может быть нужно.

     

     

    Прикол в том что люди не читают вики, эта информация там точно есть. Сейчас вопрос встает... А писать ли вики дальше, раз его не читают?

    https://github.com/OGSR/OGSR-Engine/wiki/Подробное-описание-изменений#canomalydetector

    • Согласен 1
    • Полезно 1
  8. 8 минут назад, Marafon6540 сказал:

    Все равно твою работу перепакуют и сделают свой торрент со своими добавками

    Ну не допущения были думки в свой репак что либо добавлять и если этого чего либо нету в системе установленного что устанавливалось репаком в скрытом виде ( такое уже есть, осталось в движок добавить детект ) и на какое то время вот эти самые репакеры с левых сайтов идут глубоко и на долго

    • Нравится 2
  9. 2 часа назад, Pit2103 сказал:

    Там чёрным по белому написано просто репак для удобства скачивания

    У меня тоже репак, я прочитал описание на этом сайте, мне хватило в очередной раз понять что это шляпа... На релизе собирать буду торрент, согласен с тем что гугл порой шакалит со скачиваем.

    • Нравится 1
    • Полезно 1

AMK-Team.ru

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