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

[SoC] Ковыряемся в файлах

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

Это демка от @Desertir, транс мутация артов в аномалиях, как в АМК, пока ещё не тэстил.

  • Спасибо 2

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

@Houdini_one, мы тут посовещались и решили: чем вылавливать ошибки, лучше всё снести и начать заново.

Порядок действий.

Заводим две папки. В одну выдергиваем все файлы, связанные с самим трансмутатором - внешний вид, кнопки, принцип работы; 

во вторую запихиваем все файлы взаимодействия ГГ с прибором.

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

Как-то так.

Да, еще желательно скачать (или пользоваться онлайн)  луа интерпритатор и в нем проверять работоспособность. Тут закавыка: чтобы нормально проверить работоспособность, нужно в интерпритатор запихивать файлы из разных секций.

за спиной всегда кто-то есть.

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

130ee1297515e8998fab6ca48fd2fd2ab9cad431

Вот такая фигня была у меня в спавнере Фотографа после установки оружейного аддона (язык не поворачивается назвать сие творение правкой). При выборе данного пункта получал гаусс.

Исправил

394f9db9c6bc8a01a00f95a0fe407667b9cad431

Были и другие подобные накладки , что выловил - исправил. Вот по этому и спрашивал про исправление путей - это было бы проще,по -моему. А так пришлось текстуры перекидывать и править координаты.

Изменено пользователем Купитман

за спиной всегда кто-то есть.

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

Здравствуйте ВАМ. Есть проблема, может кто сталкивался?

Скрытый текст

Использовал три вида ремонта в сборке, стволы чинятся, а комбезы нет. Может кто то объяснить в чем дело? В другой сборке все работало нормально. Единственное, что я заменил XRgame.ddl, что бы снайперка в прицеле, как у бинокля цели отслеживала.

 

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

Ссылка на комментарий
55 минут назад, Купитман сказал:

желательно скачать (или пользоваться онлайн)  луа интерпритатор 

Таким не когда не пользовался но рекомендую скрипт синтакс чекер http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=447

Всегда держать под рукой, порой незаменим:guru:

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий
2 часа назад, nego сказал:

Использовал три вида ремонта в сборке, стволы чинятся, а комбезы нет.

посмотри как тут сделано:

local last_armor_id=0
local last_condition=0

function repair_armor(val)
    local armor = db.actor:item_in_slot(6)
    if armor then
        last_armor_id=armor:id()
        last_condition=val
        armor:set_condition(val)
    end
end

Ссылка на комментарий
1 час назад, UriZzz сказал:

скрипт синтакс чекер

тоже штука нужная. Но она только проверяет скрипт на правильность написания, а не работоспособность. Скачаю, вдруг потребуется)

за спиной всегда кто-то есть.

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

@Купитман, в общем, получилось выдернуть. Устранил вылеты, перенёс в мод, всё вроде ок. Только трансмутатор почему-то не видит новые артефакты... В transmutator_scheme.ltx добавил нужное, ещё добавил чтобы из 3 каменных цветков получилась ночная звезда. Она получается, а вот другая схема - нет, трансмутатор просто бьет электричеством.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
2 часа назад, Houdini_one сказал:

не видит новые артефакты

значит они не прописаны- чистая логика))

 

2 часа назад, Houdini_one сказал:

трансмутатор просто бьет электричеством

значит - хрень ему пытаются впиндюрить: это есть в файлах. ищи и устраняй проблему с артами.

за спиной всегда кто-то есть.

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

@Купитман

; Артефакты для аномалии "Мясорубка"
[af_mball]:af_base
GroupControlSection    = spawn_group
$spawn                = "artifacts\mball"

$prefetch             = 64
cform                = skeleton
class                = ARTEFACT

visual                = physics\anomaly\artefact_blackdrip.ogf  
description            = enc_zone_artifact_af-mball
inv_name            = af-mball
inv_name_short        = 
inv_weight            = 0.5

inv_grid_x            = 13
inv_grid_y            = 4

cost                = 6000

jump_height            = .5

particles            = anomaly2\artefact\artefact_gravi

lights_enabled = false


;скорости увеличения (уменьшения) 
health_restore_speed        = 0.0006            
radiation_restore_speed        = 0.0
satiety_restore_speed        = 0.0
power_restore_speed        = -0.002
bleeding_restore_speed        = 0.0
hit_absorbation_sect        = af_mball_absorbation

artefact_activation_seq        = af_activation_bold

[af_mball_absorbation]
burn_immunity = 1.0                ;коэффициенты иммунитета 
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0        
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity  = 1.0

; Артефакты для аномалии "Жарка"
[af_black_drops]:af_base
GroupControlSection    = spawn_group
$spawn                = "artifacts\black drops"

$prefetch             = 64
cform                = skeleton
class                = ARTEFACT

visual                = physics\anomaly\artefact_blackdrip.ogf  
description            = enc_zone_artifact_af-black-drops
inv_name            = af-black-drops
inv_name_short        = 
inv_weight            = 0.5

inv_grid_x            = 12
inv_grid_y            = 4

cost                = 4000

jump_height            = .5

particles            = anomaly2\artefact\artefact_gravi

lights_enabled = false


;скорости увеличения (уменьшения) 
health_restore_speed        = 0.0            
radiation_restore_speed        = 0.0
satiety_restore_speed        = 0.0
power_restore_speed        = -0.002
bleeding_restore_speed        = 0.012
hit_absorbation_sect        = af_black_drops_absorbation

artefact_activation_seq        = af_activation_bold

[af_black_drops_absorbation]
burn_immunity = 1.0                ;коэффициенты иммунитета 
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0        
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity  = 1.0


; Артефакты для аномалии "Электра"
[af_electric_shar]:af_base
GroupControlSection    = spawn_group
$spawn                = "artifacts\electric shar"

$prefetch             = 64
cform                = skeleton
class                = ARTEFACT

visual                = physics\anomaly\artefact_blackdrip.ogf  
description            = enc_zone_artifact_af-electric-shar
inv_name            = af-electric-shar
inv_name_short        = 
inv_weight            = 0.5

inv_grid_x            = 10
inv_grid_y            = 10

cost                = 2000

jump_height            = .5

particles            = anomaly2\artefact\artefact_gravi

lights_enabled = false


;скорости увеличения (уменьшения) 
health_restore_speed        = -0.0003            
radiation_restore_speed        = 0.0
satiety_restore_speed        = 0.0
power_restore_speed        = 0.006
bleeding_restore_speed        = -0.006
hit_absorbation_sect        = af_electric_shar_absorbation

artefact_activation_seq        = af_activation_bold

[af_electric_shar_absorbation]
burn_immunity = 1.0                ;коэффициенты иммунитета 
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0        
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity  = 1.0

 

; Трансмутанты

[af_sky_pancur]:af_base
GroupControlSection    = spawn_group
$spawn                = "artifacts\sky pancur"

$prefetch             = 64
cform                = skeleton
class                = SCRPTART

visual                = physics\anomaly\artefact_ameba3.ogf
description            = enc_zone_artifact_af-sky-pancur
inv_name            = af-sky-pancur
inv_name_short        = 
inv_weight            = 0.5

inv_grid_x            = 13
inv_grid_y            = 12

cost                = 20000


particles            = anomaly2\artefact\artefact_ameba

lights_enabled = false


;скорости увеличения (уменьшения) 
health_restore_speed = 0.0            
radiation_restore_speed = -0.001
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = af_sky_pancur_absorbation

[af_sky_pancur_absorbation]
burn_immunity = 0.95                ;коэффициенты иммунитета 
strike_immunity = 0.95
shock_immunity = 0.95
wound_immunity = 0.95        
radiation_immunity = 0.95
telepatic_immunity = 1.0
chemical_burn_immunity = 0.95
explosion_immunity = 0.95
fire_wound_immunity  = 0.95



[schemes]
af_sky_pancur2_scheme = true
af_ka_scheme = true

 

;Level 1

[af_ka_scheme]
device = 1
artefacts = af_cristall_flower,af_cristall_flower,af_cristall_flower
transmutant = af_night_star

 

[af_sky_pancur2_scheme]
device = 1
artefacts = af_mball,af_black_drops,af_electric_shar
transmutant = af_sky_pancur


Всё окей, нигде не накосячил (вроде).

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Купитман, доковырял всё-таки. Трансмутатор не трансмутирует артефакты, если они не одинаковые. Берём ртутный шар х3 = трансмутант. Берём ртутный шар+электрический шар+чёрные капли - получаем разряд. Не знаете как убрать ограничение такое? И ещё трансмутатор трансмутирует только из трёх артов, из двох не может, тоже желательно поправить.
Нарыл в скрипте тут, но я не знаю что править, но чуйка подсказывает, что вроде здесь нужно поправить на ограничение(варить только из трёх артов):


            if oDevice.iLevelDevice >= iLevelDevice then
--                _log("Scheme : "..sScheme.." Arts : "..aArts[1].."|"..aArts[2].."|"..aArts[3].."|"..iLevelDevice)
                if aArts[1]==aCmpnSects[1] and aArts[2]==aCmpnSects[2] and aArts[3]==aCmpnSects[3] then
                    return sTransmutant
                end    
            end

  • Нравится 1

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
15 минут назад, Houdini_one сказал:

что вроде здесь нужно поправить на ограничение

Это место в скрипте

 if aArts[1]==aCmpnSects[1] and aArts[2]==aCmpnSects[2] and aArts[3]==aCmpnSects[3] then

может быть не единственное, где гвоздями прибито варить только из 3-х артов. Ну а для проверки можешь поменять оператор "and"(И) на "or"(ИЛИ).

Изменено пользователем AndreySol
  • Согласен 1
Ссылка на комментарий
13 часов назад, AndreySol сказал:

может быть не единственное

 


поменял на or - ничего не изменилось
но нашёл ещё кое-что подозрительное:

--[[
--    Start()
--    Старт трансмутации.
--]]
function CAmkDeviceTransmutator:Start()
    local aCmpnButtons = {aCmpnSlots[1], aCmpnSlots[2], aCmpnSlots[3]}
    for iKey, aButton in pairs(aCmpnButtons) do
        if aButton.oSlot == nil or aButton.iSectIndex == nil then
            return
        end
    end
    --[[
    --    Попытаться трансмутировать артефакты.
    --]]
    CAmkTransmutacion()
end

Полная функция(уже с or):
function CAmkTransmutacion:SearchSchemes()
    if self.aSchemes~=nil and table.getn(self.aSchemes) < 1 then
        return
    end
    local aCmpnSects = {
        aArtsInfo[aCmpnSlots[1].iSectIndex].sSection,
        aArtsInfo[aCmpnSlots[2].iSectIndex].sSection, 
        aArtsInfo[aCmpnSlots[3].iSectIndex].sSection
    }
    --[[
    --    Итерируем по схемам с целью найти подходящую.
    --]]
    for iKey, sScheme in pairs(self.aSchemes) do
        local bValue = utils.cfg_get_bool(self.ini, "schemes", sScheme, true, false, false)
        if bValue == true and self.ini:section_exist(sScheme) then
            local aArts = se_respawn.parse_names(amkII.amkReadString(self.ini, sScheme, "artefacts"))        
            local sTransmutant = amkII.amkReadString(self.ini, sScheme, "transmutant")
            local iLevelDevice = amkII.amkReadNumber(self.ini, sScheme, "device", 1)
            --[[
            --    Проверяем, в состоянии ли девайс провести трансмутацию
            --    и есть ли для этого все компоненты.
            --]]
            if oDevice.iLevelDevice >= iLevelDevice then
--                _log("Scheme : "..sScheme.." Arts : "..aArts[1].."|"..aArts[2].."|"..aArts[3].."|"..iLevelDevice)
                if aArts[1]==aCmpnSects[1] or aArts[2]==aCmpnSects[2] or aArts[3]==aCmpnSects[3] then
                    return sTransmutant
                end    
            end
        end
    end
    return nil
end

--[[
--    CreateAtrefact()
--    Создание артефакта трансмутанта.
--]]
function CAmkTransmutacion:CreateAtrefact()
    for i = 1, 3 do
        local aButton = aCmpnSlots
        local aArtInfo = aArtsInfo[aButton.iSectIndex]
        --[[
        --    Вытащить артефакт из базы компонентов.
        --]]
        local oObject = aArtInfo.aArts[table.getn(aArtInfo.aArts)]
--        _log("... Deletion Artefact["..i.."] ID : "..oObject:id().." Table Index : "..table.getn(aArtInfo.aArts))
        table.remove(aArtInfo.aArts, table.getn(aArtInfo.aArts))
        --[[
        --    Удалить артефакт и очистить слот.
        --]]
        amkII.amkDelObj(oObject:id())
        oDevice:DetachChild(aButton.oSlot)
        aCmpnSlots.iSectIndex = nil
        aCmpnSlots.oSlot = nil
    end
    alife():create(self.sTransmutant, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
--    _log("... Creating Artefact : "..self.sTransmutant)
    oDevice:InitResultButton(self.sTransmutant)
end

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@AndreySol, сейчас случайно взял разные артефакты и чудо, трансмутант получился. Но ещё осталось убрать ограничение на варку только из 3 артов.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

наткнулся в моде Stalker Тайные Тропы 2 + Autumn Aurora 2  на баг когда подсвечиваешь арт он появляется под землёй, посмотрел стримы по моду так они настраивают фикс чтоб сделать невидемые арты видимыми, кто нибудь может подсказать как это сделать ?

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

Продолжаю ковырять скрипт.
Сменил кое-что(под спойлером), трансмутатор начал даже бить током когда 2 артефакта которые не прописанные пробуешь сварить. Но когда верные кладёшь вылетает и ссылается на одну строчку:


Что поменял:
    local aCmpnSects = {
        aArtsInfo[aCmpnSlots[1].iSectIndex].sSection,
        aArtsInfo[aCmpnSlots[2].iSectIndex].sSection
        aArtsInfo[aCmpnSlots[3].iSectIndex].sSection - убрал

--                _log("Scheme : "..sScheme.." Arts : "..aArts[1].."|"..aArts[2].."|"..iLevelDevice)
                if aArts[1]==aCmpnSects[1] or aArts[2]==aCmpnSects[2] then - убрал 3
Вылет ссылается на эту строчку:
        local oObject = aArtInfo.aArts[table.getn(aArtInfo.aArts)]

[15.07.18 16:49:05.778] [error]Expression    : fatal error
[15.07.18 16:49:05.778] [error]Function      : CScriptEngine::lua_error
[15.07.18 16:49:05.778] [error]File          : script_engine.cpp
[15.07.18 16:49:05.778] [error]Line          : 90
[15.07.18 16:49:05.778] [error]Description   : <no expression>
[15.07.18 16:49:05.778] [error]Arguments     : LUA error: ...rnobylмод\gamedata\scripts\amkii_transmutator.script:574: attempt to index local 'aArtInfo' (a nil value) 

Что делать не знаю, может кто подскажет...

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
3 часа назад, Houdini_one сказал:

(aArtInfo.aArts)

как я понимаю, не хватает секции арта. Ты ее убрал, на это и ругается)) Скорее всего, есть еще где-то отсылка к этой секции.

  • Полезно 1

за спиной всегда кто-то есть.

Ссылка на комментарий
2 hours ago, Купитман said:

как я понимаю, не хватает секции арта. Ты ее убрал, на это и ругается)) Скорее всего, есть еще где-то отсылка к этой секции.

 

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

 

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

@GyDINI, Можно сделать подсветку.
gamedata/configs/misc/artefacts.ltx 
строки
lights_enabled = true ; подсветка, при true - активна, false - нет 
trail_light_color = 0.4,0.4,0 ; оттенок подсветки 
trail_light_range = 2.0 ; яркость света

Это самый простой вариант. Так же можно поиграть с этой строкой

jump_height = .5 ; высота подскока артефакта

за спиной всегда кто-то есть.

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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