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

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

 
 

WildAx А что тут очень корявого-то? Вот найди корявость как игрок)

Спойлер

468996725_xrengine2021-02-1601-03-28-399.thumb.jpg.6ecba252cebc59287a6bcd24b715c012.jpg

5 минут и готово. При этом не ковыряя целый день кучу конфигов связанных с грейдами методом тыка бесконечно разбирая логи вылетов, или че там у тебя за ошибки были... А конфигов там действительно куча, ну с пяток будет, а может и больше. Это еще нужно знать каких. В общем, смотри сам. От страданий тебя попытался спасти)

inventory_upgrade.xml inventory_upgrade_16.xml

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

76561198152189716.png

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


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

Всем здравствуйте! Суть следующая: разрабы вот этого лок. пака - https://stalker-mods.su/load/s_t_a_l_k_e_r_ten_chernobylja/s_t_a_l_k_e_r_ten_chernobylja/bildovskij_pak_lokacij/5-1-0-1907 - упоминали так называемые "no_sun-коробки". Как я понял в том же предложении, они нужны для грамотного отображения теней на зданиях. К слову, потестив некоторые локации, заметил, что на многих постройках неграмотно отображаются тени. Вернее... тени вообще не отображаются. Для наглядности прикрепляю несколько скриншотов с Армейских Складов из этого пака (первые 2 скриншота; лока скомпилирована на ЗП в качестве draft). В ТЧ в изначальном виде (все локи в паке скомпилены на низких настройках, изначально формата ТЧ) также наблюдалась эта проблема, на максималках в ЗП - аналогично.

Также попробовал скомпилить на ЗП на draft'е билдовский Кордон из другого пака - https://yadi.sk/d/LEOYGZbNqtMaR . Там я тоже столкнулся с неправильным отображением теней на зданиях (скриншоты прикрепляю).

Кто знает - пожалуйста, объясните мне, во-первых, что имелось в виду под "no_sun-коробками" и каким образом исправить проблему на АС, обрисованную выше; а во-вторых, может ли быть связана с этими пресловутыми "коробками" проблема с тенями на Кордоне (см. последние 2 скриншота).

 

ss_suetin_02-08-21_00-56-08_(lt_military).jpg

ss_suetin_02-08-21_00-55-16_(lt_military).jpg

ss_suetin_02-16-21_00-41-11_(escape_test).jpg

ss_suetin_02-16-21_00-53-35_(escape_test).jpg

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

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


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

Илья  По работе с локациями в сдк есть специальная тема...


DC

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


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

А есть ли функция проверки состояния оружия?

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


15 часов назад, o4kostr3l сказал:

можно сюда еще как-нибудь продолжительность показа cообщения вписать?

Да нужно отредактировать функцию в xr_effects.script
 

function send_tip(actor, npc, p)
	news_manager.send_tip(actor, p[1], nil, p[2], p[3], nil)
end

И передавать значение showtime в третьем параметре.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Как можно реализовать раздел статей из ТЧ в ЗП? Пример в спойлере. Да, я догадываюсь, что это движковые правки. Только, где я могу получить знания по редактированию движка? Я не нашел никаких источников.

Спойлер

Freeman_stalker_pda.jpg

 

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


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

Подскажите пожалуйста, как называется строка и в каком файле её править, чтобы вкл/откл. Иконки предметов на земле ?

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


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

Misery Или третий варик 3. ГГ хавает флешки и не как не воздействует на детекторы.


...))))...))

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


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

denis2000 Мне нужно сделать квест, чтобы ГГ достал для НПС абсолютно новый ствол. По дефолту НПС принимает ствол в любом состоянии, а мне нужно, чтобы персонаж принимал только абсолютно новый. Как это реализовать?

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


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

Как проверить, что ГГ не разговаривает с определённым НПС, имеющий story_id БЕЗ инфопоршней?


Дополнено 4 минуты спустя
1 час назад, Kamr4d сказал:

denis2000 Мне нужно сделать квест, чтобы ГГ достал для НПС абсолютно новый ствол. По дефолту НПС принимает ствол в любом состоянии, а мне нужно, чтобы персонаж принимал только абсолютно новый. Как это реализовать?

Наверное, вы имеете ввиду состояние предмета? Тогда в скрипте проверить его состояние:
if db.actor:object("секция_вашего_оружия"):condition() == 1 then
скелет
end
Если не работает, то возьмите вот эту проверку:
if db.actor:object("секция_вашего_оружия"):condition() >= 0.99999998569489 then -- наивысший порог состояния
скелет
end


Дополнено 6 минуты спустя
5 часов назад, Крим сказал:

Как можно реализовать раздел статей из ТЧ в ЗП? Пример в спойлере. Да, я догадываюсь, что это движковые правки. Только, где я могу получить знания по редактированию движка? Я не нашел никаких источников.

  Раздел статей (Показать контент)

Freeman_stalker_pda.jpg

 

Из мода Путь во Мгле вытаскивайте скрипт _s_notepad, как это сделал я.

Спойлер

33232450_ss__09-12-20_11-01-30_(escape).thumb.jpg.d87edf050ab2ef5fbec74c58c4ac993c.jpg


 

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

"Победа - это еще не всё, всё - это постоянное желание побеждать" - Винс Ломбарди.
"Ваше время ограничено, не тратьте его, живя чужой жизнью" - Стив Джобс.
Global Modification. Clear Sky: Reload

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


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

Policai понял, прошу прощения

 

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


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

Как проверить, что ГГ не разговаривает с определённым НПС, имеющий story_id БЕЗ инфопоршней?

В файле xr_meet.script есть функция:

Спойлер

function is_meet(npc)
    local manager = npc:motivation_action_manager()
    if manager and manager:initialized() then
        local id = manager:current_action_id()
        if id == xr_actions_id.stohe_meet_base + 1 then
            return true
        end
    end
    return false
end

Вызвав её и передав в качестве аргумента game_object  НПС, который вы можете получить по его story_id, получите результат:  болтает ваш НПС  с  ГГ(  находится в состоянии meet  )  или нет.

И никаких  инфопоршней.

 

 

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

Терпение... И все получится.

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


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

Есть ли скрипт, позволяющий взаимодействовать с (аномалией) костром?
Мне нужно, чтобы срабатывала другая функция при использовании use_callback (нажатие клавишей использования на костёр).


"Победа - это еще не всё, всё - это постоянное желание побеждать" - Винс Ломбарди.
"Ваше время ограничено, не тратьте его, живя чужой жизнью" - Стив Джобс.
Global Modification. Clear Sky: Reload

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


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

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

Или другой кнопкой по умолчанию или по назначению в меню.


                                                                       Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты...
                                                                                                          4-4.gif
                                                    Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью...

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


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

liner С костром как объектом вроде бы взаимодействовать нельзя. Можно в это место поставить невидимый объект такого класса, у которого есть эта возможность (колбэк на событие use) или поставить рестриктор с вызовом туториала (как например спальное место в оригинале ЗП).

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

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

Или другой кнопкой по умолчанию или по назначению в меню.

1. Какой будет смысл от этой правки?
2. Нужны правки движка. Или скачать современный luabind для сталкер на AMK, не помню какой именно, и отловить момент, когда игрок нажимает на кнопку.


"Победа - это еще не всё, всё - это постоянное желание побеждать" - Винс Ломбарди.
"Ваше время ограничено, не тратьте его, живя чужой жизнью" - Стив Джобс.
Global Modification. Clear Sky: Reload

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


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

liner 

13 минут назад, liner сказал:

1. Какой будет смысл от этой правки?

Всё просто - кому-то нравится без худа на экране, кому-то удобнее (или привычнее, как мне, например) с худом на экране. Просто рисую худ и хочется сделать так сказать -  и вашим и нашим. Про "+" и "-" на клаве говорить не нужно. Просто, вот хочется такую фишку. В принципе, так было бы удобно.

Вроде есть худ, а в то же время и нет его.)

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

                                                                       Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты...
                                                                                                          4-4.gif
                                                    Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью...

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


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

Подскажите, что не так? Скрипт срабатывает всего один раз, выдавая в сообщения "mode 2" и "done". На изменение фактора дождя в дальнейшем он никак не реагирует. Но если не использовать "reset_mode", как проверку, то скрипт напротив срабатывает бесконечное количество раз, бесконечно присылая сообщения ГГ, даже если rain_realtime и rain_memory уже равны. Что я делаю не так?

Спойлер


local reset_mode = false
local load_mode = 0
local rain_memory = 0
local rain_storage = 0.89512

function on_game_start()
    RegisterScriptCallback("actor_on_update",actor_on_update)
end

function actor_on_update()
    local rain_realtime = math.ceil(level.rain_factor()*10)
	if rain_realtime ~= rain_memory and reset_mode == false then
		factor_controller(rain_realtime)
		reset_mode = true
	end
end

function factor_controller(rain_realtime)		
local a = rain_realtime 						
local b = rain_memory							
local c = rain_storage							

if a ~= b then									
	if a > b then								
		while a ~= b do							
			b = b + 1							
		end
	elseif a < b then							
		while a ~= b do							
			b = b - 1
		end
	end
end

if a == b then									
	while b ~= c do								
		if b > c and c == 0 then				
			load_mode = 0
			c = b
			news_manager.send_tip(db.actor, "mode 1", nil, nil, 30000)
		elseif b > c and c ~= 0 then			
			load_mode = 1
			c = b
			news_manager.send_tip(db.actor, "mode 2", nil, nil, 30000)
		elseif b < c and b == 0 then			
			load_mode = 0
			c = b
			news_manager.send_tip(db.actor, "mode 3", nil, nil, 30000)
		elseif b < c and b ~= 0 then			
			load_mode = 1
			c = b
			news_manager.send_tip(db.actor, "mode 4", nil, nil, 30000)
		end
	end
end

if a == c then
	reset_mode = false
	news_manager.send_tip(db.actor, "done", nil, nil, 30000)
end

end

 

 

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


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

Добро. Как принудительно включить фонарик ГГ?

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


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

Добро. Как принудительно включить фонарик ГГ?

В xr_effects.script есть функция, которая вам нужна: enable_actor_torch.

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

"Победа - это еще не всё, всё - это постоянное желание побеждать" - Винс Ломбарди.
"Ваше время ограничено, не тратьте его, живя чужой жизнью" - Стив Джобс.
Global Modification. Clear Sky: Reload

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


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

digital defender Для такой задачи достаточно, сделать в главном меню дополнительный пункт с настройками мода. Как это сделано смотрите в моде SGM. Там есть именно то, что вам нужно, включение дополнительных элементов ХУД-а по кнопкам в главном меню.

А включение/отключение налету, по кнопке, тянут за собой, как минимум движковые правки.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

denis2000 По ходу, моя мечта не сбыточна(


                                                                       Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты...
                                                                                                          4-4.gif
                                                    Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью...

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


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

denis2000 По ходу, моя мечта не сбыточна(

digital defender , makes your dream come true ))
Удивлен, что другие не помогли

Спойлер

 


local switch = 1
local iTimer = time_global() + 1000

function on_game_start()
	RegisterScriptCallback("actor_on_update",actor_on_update)
end

function actor_on_update()	
local console = get_console()
local hud = get_hud()
if iTimer and iTimer < time_global() then
    if hud:GetCustomStatic("main_task") then
		if switch == 1 then
			console:execute("hud_draw 1")
			switch = 2
			iTimer = time_global() + 1000
		else
			console:execute("hud_draw 0")
			switch = 1
			iTimer = time_global() + 1000
		end
	end
end
end

p.s. если не работает, то нужно просто вписать в bind_stalker для получения коллбэка

 

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

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


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

function on_game_start()
    RegisterScriptCallback("CUIActorMenu_OnItemDropped",OnItemDropped)
end
 
function OnItemDropped(itm_from,itm_to,slot_from,slot_to)
    --printf("from=%s to=%s slot_from=%s slot_to=%s  (%s)",itm_from:name(),itm_to:name(),slot_from,slot_to,EDDListType.iActorBag)

    if not (slot_from == EDDListType.iActorBag and slot_to == EDDListType.iActorBag) then
        return
    end
    
    local itm_dis
    local itm_craft_tool
    local sys_ini = system_ini()
   
    if (sys_ini:r_bool_ex(itm_from:section(),"can_disassemble",false) == true) then
        itm_craft_tool = itm_from
        itm_dis = itm_to
    elseif (sys_ini:r_bool_ex(itm_to:section(),"can_disassemble",false) == true) then
        itm_craft_tool = itm_to
        itm_dis = itm_from
    end
   
    if not (itm_craft_tool) then
        return
    end
   
    local craft_tool_sec = itm_craft_tool:section()
    local disassemble_categories = sys_ini:r_string_ex(craft_tool_sec,"disassemble_categories","")
    if (disassemble_categories == "") then
        return
    end
   
    disassemble_categories = alun_utils.str_explode(disassemble_categories,",")
    if (#disassemble_categories <= 0) then
        return
    end
   
    local itm_dis_sec = itm_dis:section()
    local cond = itm_dis:condition()
   
    for _,dis_sec in ipairs(disassemble_categories) do
        local result, sec, value = nil, nil, nil
        local line_count = sys_ini:line_count(dis_sec)-1
        for i=0,line_count do
            result, sec, value = sys_ini:r_line(dis_sec,i,"","")
            if (sec and sec ~= "" and sec ~= "spareparts_parts" and sys_ini:section_exist(sec)) then  
                if (sec == itm_dis_sec) then

                    local random_parts = sys_ini:r_string_ex(dis_sec,"spareparts_parts")
                    if (spareparts_parts ~= "") then
                        if (math.random() < 1.0) then alife():create("spareparts", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end
                        if (math.random() < 0.75) then alife():create("spareparts_p_2", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end
                                                if (math.random() < 0.5) then alife():create("spareparts_p_3", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end
                       
                        local se_obj = alife():object(itm_dis:id())
                        if (se_obj) then
                            alife():release(se_obj)
                        end
                    end
                end
            end
        end
    end
end

Подскажите пожалуйста, можно как-то дополнить эту функцию разбора оружия, так чтобы были категории оружия, типо пистолеты, дробаши, вентовки, чтобы я мог сделать запчасти разных категорий, типо чтобы пестолет можно было разобрать на другие запчасти, а дробаш и вентовки ищо на другие ! ?

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

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


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

В xr_effects.script есть функция, которая вам нужна: enable_actor_torch.

Ещё есть варианты?

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 18.02.2021 в 16:00, Neptun сказал:

Ещё есть варианты?

Вы имеете ввиду варианты как включить фонарик у ГГ? Только 1 - db.actor:object("device_torch"):enable_torch(true)

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

"Победа - это еще не всё, всё - это постоянное желание побеждать" - Винс Ломбарди.
"Ваше время ограничено, не тратьте его, живя чужой жизнью" - Стив Джобс.
Global Modification. Clear Sky: Reload

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


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

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

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

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

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

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

Войти

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

Войти

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

    Ни одного зарегистрированного пользователя не просматривает данную страницу