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

Yara

Сталкеры
  • Публикаций

    255
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Yara


  1. 5 часов назад, РСФСР сказал:

    нпс тоже должны спавнятся по тому же инфо, которое включает смарт

    Они его займут, но через некоторое время - связано с обновлениями в скриптах.

    Можно поискать в скриптах имя нужной группировки, может есть какие-то проверки - а может опять лишний end / нужная зпт / незакрытые кавычки и т.п.

    5 часов назад, РСФСР сказал:

    Смарт и без заспавненных рядом привязанных нпс не заполняется со временем.

    Для проверки - создать рядом респавнер с нужными нпс.

     

    Я так понимаю, у тебя работает gulag_deadcity.script и ещё подключен gulag_deadcity2.script? Если да, то может функции в них перебивают друг друга - load_states / checkStalker / checkMonster.


  2. РСФСР 

    Если нпс привязан к смарту, у которого нет работ или его communities отличается от группировки нпс, то он будет бродить по уровню. Те, что расставлены через сдк заспавнятся в любом случае, а вот через зонки [respawn] - только, если есть свободные места в смарте и подходит communities.


  3. Furrikon 

    Скрипты, где ставится флаг, что предмет будет фонить:

    bind_item.script,

    В function set_radfood_flag(obj) найти строку:
        xvars.foods[obj:name()] = true -- сменить на false

    death_manager.script,

    В function set_rad_flag(obj):
        xvars.weapons[obj:name()] = true -- сменить на false

     

    Сам урон в olr.script,

    В function upd10000() найти блок:
    
        if obj then
            --news_manager.send_tip(db.actor, "obj obj objrad food hit", nil, "default", 39000)
            --if obj:is_food_item() or obj:is_weapon() then
            if xvars.foods[obj:name()] == true then
                db.actor.radiation = 0.0015 -- заремить строку
                --news_manager.send_tip(db.actor, "rad food hit", nil, "default", 39000)
            end
            if xvars.weapons[obj:name()] == true then
                db.actor.radiation = 0.0025 -- заремить строку

     

    • Лайк 2
    • Мастер! 2

  4. 16 часов назад, baraholschik сказал:

    Анимации зашиты в модель мутанта

    Конвертация в .object, переименовать анимку в АЕ, экспорт в огф. Возможно OMF И OGF эдиторы позволят это сделать без возни с object.

    ТЧ-модели монстров работают в зп, зомбари / излом и прочее. Сама модель тянет за собой внешний .omf и конфиг из models\capture (в юзердате модели), ну и звуки / текстуры.

     


  5. Novik 

    Превышен лимит по количеству вертексов (iNumVerts) на объект. Если он не изначально такой ультра-полигональный, значит - xrLC на фазе тесселяции, его таковым сделал. В компиляторах от Ская, есть ключ -notess для пропуска этой фазы.


  6. Furrikon 

    Не до конца убрал блоки в olr_on_shoot.script, остались лишние два end'a (это вылет и поломка скрипта):

    	--if xvars.dolg_base_shot > 2 and xvars.dolg_base_shot < 4 then
    		--news_manager.send_tip(db.actor, "Тебе же сказали... Прекрати пальбу немедленно!", nil, "dolg", 25000)
    	end
    
    	--if xvars.bar_base_shot > 2 and xvars.bar_base_shot < 4 then
    		--news_manager.send_tip(db.actor, "Ты сдурел? Прекрати пальбу немедленно!", nil, "ohranik", 25000)
    	end

     

    • Лайк 1
    • Мастер! 1

  7. Furrikon 

    Спойлер
    
    scripts\bind_stalker.script, в самом начале, после строки local weapon_hide = false - добавить:
    
    local nightvision_on = false
    
    далее, найти function actor_binder:OnKey(dik) и после строки --event("actor_on_key"):trigger({dik = dik}) - добавить:
    
    	-- ночной визор
    	local cur_eq = self.object:get_current_outfit()
    	--| звуки вкл / выкл
    	local snd_nt_on = xr_sound.get_safe_sound_object([[olr_pda\contact_1]])
    	local snd_nt_off = xr_sound.get_safe_sound_object([[device\pda\pda_update]])
    
    	--| Все названия клавиш в lua_help.script (поиск по C++ class DIK_keys)
    	if dik == DIK_keys.DIK_N then
    		if nightvision_on == false then
    			if cur_eq and cur_eq:section() == "exo_outfit" then
    				--| зелёный
    				level.add_pp_effector("nightvision.ppe", 10123, true)
    				snd_nt_on:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 1.0)
    				nightvision_on = true
    			elseif cur_eq and cur_eq:section() == "scientific_outfit" then
    				--| фиолетовый
    				level.add_pp_effector("nightvision_good.ppe", 10123, true)
    				snd_nt_on:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 1.0)
    				nightvision_on = true
    			elseif cur_eq and (cur_eq:section() == "ecolog_outfit" or cur_eq:section() == "outfit_antirad") then
    				--| зелёный 2
    				level.add_pp_effector("nightvision_green.ppe", 10123, true)
    				snd_nt_on:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 1.0)
    				nightvision_on = true
    			end
    		else
    			level.remove_pp_effector(10123)
    			snd_nt_off:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 1.0)
    			nightvision_on = false
    		end
    	end
    	-- ночной визор

    image.thumb.png.dda7335b2783701f88403b272de91c9a.png

     

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

  8. Furrikon 

    Насчёт лагов с убитыми нпс, попробуй потестить такое:

    \scripts\xr_motivator.script
    
    В функцию function motivator_binder:death_callback(victim, who), в самый конец добавить:
    	...
        --log1("npc death end done") -- ориг.строка, после которой добавлять
      
        -- Если играем на статике, отключать фонарик у нпс после смерти
        local used_render = get_console():get_token("renderer")
        if used_render == "renderer_r1" then
            local obj_dt = self.object:object("device_torch")
            if obj_dt and obj_dt ~= nil then
                local wait_time = 0
                wait_time = time_global() + 5000
                level.add_call(
                                function() return time_global() > wait_time end,
                                function() obj_dt:enable_attachable_item(false) end
                                )
            end
        end

     

    • Лайк 1

  9.   

    16 часов назад, Chickenboss226 сказал:

    1. Текстуры террейна и дороги плывут и меняют качество при движении камеры
    2. Я поместил бандитов в смарт террейн, но они из него уходят
    3. Я в другом смарт террейне сделал 2 респавна но там никто не респавнится

    1. В textures\textures.ltx, блок [association] - добавляешь свой террейн, как другие, пр.: terrain\terrain_agroprom

    2. В настройках смарта: communities = bandit, ещё можно у нпс в кастомдате указать:

    [smart_terrains]
    gar_bandit_agr = true

    3. В se_respawn.script есть ограничение на количество разной живности. Респавнер создаёт, если в смартах есть подходящие (по communities)  свободные работы. Он может не работать, если в его настройках:

    [respawn]
    respawn_radius = 100 ; отключать спавн, если дистанция до актора <= указанной

     

    • Спасибо 1