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

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


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

31 минуту назад, Zander_driver сказал:

почему это - не костыль

Это инструмент для адаптации анимаций в 3Д редакторе (данном разговоре). В итоге получаем полноценный материал, который работает, как любой материал оригинала.

Под словом "костыль" подразумевается материал, который работает с сомнительной поддержкой. Отвинтить хотя бы один винтик в костыле, как все посыпется. А винтики выкручиваются...и этому не нужны подтверждения, они всем известны. С другой стороны, можно сделать должным образом и все будет работать без сбоев с какой-либо стороны.   

Коль ко мне вопрос, то хотелось бы задать и свой. Костыль, в любом понимании слова, является временным решением или все же постоянным?

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

оригинале они есть

Это понятно, иначе вопроса не было. Разговор повел в ином ракурсе. Если не помню, то не правил их, а не правил, значит нерабочие.

 

 

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

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

Костыль, в любом понимании слова, является временным решением или все же постоянным?

Я так понимаю, что - у кого как. Если брать современные реалии.

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

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

Было бы здорово в этих вопросах прийти к неким общим знаменателям, мне кажется.

1 час назад, ed_rez сказал:

Под словом "костыль" подразумевается материал, который работает с сомнительной поддержкой. Отвинтить хотя бы один винтик в костыле, как все посыпется.

Допустим.

Применительно к упоминаемому выше алгоритму, внедренному в ТЧ движок, это так? или нет? или ты не знаешь?

Если третье. То ведь это как раз голословное утверждение и получается)

Поправь, если не прав я.

И касательно поддержки. От одного маленького патча иной раз ломается что-то важное и в дорогостоящих программах от именитых разработчиков, бывает такое сплошь и рядом. Т.е. отвинчиванием одного маленького винтика, в теории, поломать можно вообще все что угодно. И поддержка тут может пониматься только, как наличие тех лиц, которые имеют возможность и желание оперативно исправлять подобные поломки. Так?)

Но, тогда получается не важно куда и как был закручен тот винтик. Если, буде ему выпасть, его тут же поправят, это может сделать не-костылем любую конструкцию, какой бы нелепой она ни была. И напротив, идеально отточенный алгоритм, который просто напросто сломали неумелым вмешательством, и не нашлось желающего это поправить - объявлен будет костылем. Так?)

Ну вот, кажется твое определение понятия "костыль", рассыпалось. Хотя возможно я ошибаюсь и все не так.

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

1 час назад, ed_rez сказал:

полноценный материал, который работает, как любой материал оригинала.

А в оригинале разве все безукоризненно работало без ошибок?

Это ведь не так.

  • Согласен 2

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

прийти к неким общим знаменателям

Если новая нога не отрастает, а старая не заживает, костыль помогает хоть как то передвигаться.

  • Согласен 3

Здесь могла быть ваша реклама.

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

основании голословных, с потолка, утверждений

Есть нормальный способ решение задачи, зачем применять систему "через задний..."? 

Да и вообще, костыльные обозначаю только в тех случаях, когда знаю решения нормальным путем. Есть, к примеру, СДК, зачем обходить этот инструмент, чтобы выполнить ту или иную операцию? Бесспорно, если какие-то функции можно сделать в иных инструментах и они ускоряют работу, при этом сам процесс = процессу в СДК, то ничего не имею против. Да и вообще, мне глубоко фиолетово, кто, как  и что делает. Хоть через десять "задних приводов". И мое мнение никак не измениться. Есть лопата, чтобы выкопать яму, не собираюсь даже думать в направлении, чтобы копать ложкой. Мне кажется, что я предельно четко провел параллель. И всяческая лирика по неправильность моих мыслей ни к чему не приведут. И голословно или нет, но копать ложкой, увольте, не для меня.

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

внедренному в ТЧ движок, это так?

Скриптовый метод, с чего начинался разговор. Механика ЗП перенесенная в ТЧ на движковом уровне- не имею ничего против. А к скриптовым, я видел, вижу и буду продолжать видеть постоянные сбои, т.к. построены на костыльном методе. Есть ошибки в скриптах скажешь? Я в данном случае юзер и вижу одни сплошные косяки. Напротив, перенесенные схемы с ЗП в ТЧ на уровне программного кода в движок, а также полноценной работе без нареканий, такому я только радуюсь и мой язык не повернется сказать, что сделано через "задний привод", можно читать, через костыль. 

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

его тут же поправят, это может сделать не-костылем любую конструкцию

3e7cd1eea9a865d45944f76ae82bdcaf4f879338

Проверенный костыльный метод. :biggrin: Я же понимаю, что нужно все же завалить  сарайчик и построить новый. 

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

все безукоризненно работало без ошибок?

Вопрос риторический.

 

Мне удивляет иное, почему я сижу и трачу время на предъявление какой-то доказательной базы к этому:

  

7 часов назад, ed_rez сказал:

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

Это мое мнение. Приведи ты пример, которым можно быстрее решить ту проблему, по которой я отвечал?

Я решу ее за минут 25, то что спрашивал человек. При этом все будет работать, как часы, ибо все в пределах тех значений, которые заданы ПЫС. Зачем мне вводить еще тонну текста в игру, которая будет грузить движок? 

Изменено пользователем ed_rez
  • Спасибо 1

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

Может кто сталкивался с подобным.

Мод Panoramic+AtmosFear for SoC.

Останавливается ход солнца через примерно 5 игровых дней, причем именно утром. Несколько раз пытался, всегда одно и то же.

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

@Ворон545, если в это время сменяется месяц, то надо смотреть систему учёта времени в level_weathers.script - возможно, смена месяца в ней не учитывается. 

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@Купер, согласен с претензиями к эстетичности, но с моим уровнем скриптования я рад тому, что просто заработало, как я хотел :biggrin:

Ссылка на комментарий
Только что, ed_rez сказал:

Это мое мнение. Приведи ты пример, которым можно быстрее решить ту проблему, по которой я отвечал?

Я вообще говоря, писал в целом про критерии костыльности/не костыльности. Дабы их нащупать и привести к общему знаменателю.

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

Только что, ed_rez сказал:

Есть нормальный способ решение задачи, зачем применять систему "через задний..."?

Элементарно, Ватсон. Вот тебе пример: До 18~19 века, для откачки воды из шахт, применялся нормальный способ решения задачи - лошади. И всех все устраивало, способ рабочий, проверенный временем, надежный.

А потом некий изобретатель предложил свой "костыль" под названием "паровая машина"... ведь по тем временам, это ж костыль был, с какой стороны ни глянь. Новое, сырое, ненадежное и не проверенное временем, но... :rolleyes:

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

Только что, ed_rez сказал:

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

А кто предлагал ложку то? Если я пытаюсь вести речь об экскаваторе. Все равно лопата?

 

Только что, ed_rez сказал:

Мне удивляет иное, почему я сижу и трачу время на предъявление какой-то доказательной базы к этому:

Собственно, никто тебя не заставляет. Не хочешь - можно не делать. Можно разойтись, каждому оставшись при своем ИМХО. И... хрен оспорим, конечно)

Но я же говорил - попробуем прийти к общему знаменателю. Предложил попробовать. Твое дело принять предложение или отвергнуть.

  • Не согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

сменяется месяц

Нет, не меняется.

Но вообще, если ошибки или конфликты, то это именно в 

6 минут назад, naxac сказал:

level_weathers.script

копать?

Ссылка на комментарий
Только что, ed_rez сказал:

Скриптовый метод, с чего начинался разговор.

Разве?

Мне казалось что нет.

Только что, Ворон545 сказал:

это именно в 

Только что, naxac сказал:

level_weathers.script

копать?

Формально, функции управляющие погодой / влияющие на нее, могут вызываться откуда угодно и как угодно.

Традиционно повелось, что "обычно" это делают в level_weathers, но - никто и ничто не мешает причине быть где то еще. Надо юзать поиск по файлам.

  • Спасибо 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Ворон545, да, погода обычно через него работает.

Изменено пользователем naxac
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

утверждать, что нет и не может быть другого инструмента

Этого я не писал. 

19 минут назад, Zander_driver сказал:

я пытаюсь вести речь об экскаваторе

Пример. Дай мне альтернативный инструмент СДК, чтобы сделать ИИ сетку? СДК это моя лопата. Если дашь комплексное программное решение для более удобной и быстрой реализации всех задач в моддинге, то я с радостью буду использовать, в данном случае, экскаватор. Сейчас я вижу, что большую часть функций мне быстрее сделать тем, что есть и проверено временем, как СДК, так и иными утилитами, которые работают стабильно и не построены на костыльном методе в игре.

19 минут назад, Zander_driver сказал:

Твое дело принять предложение или отвергнуть

Я принимаю только качество и стабильность, а костыльные даже не собираюсь рассматривать. 

  

17 минут назад, Ворон545 сказал:

копать?

Где копали у себя в моде, когда была эта проблема, не помню. Помню, что слетала погода после завершения оригинального сюжета ТЧ. Может поможет!?  

15 минут назад, Zander_driver сказал:

Мне казалось

Тебе показалось. Я всегда был за прогресс, но не за счет потери стабильности.

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

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

после завершения оригинального сюжета ТЧ. Может поможет!?

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

9 минут назад, ed_rez сказал:

не помню

Жаль.

Ссылка на комментарий
Только что, Ворон545 сказал:

это связано с кучей локаций, добавленных в мод

Нет, в ТЧ какой-то счетчик глючит или глючил. И на каком-то значении происходит зацикливание. Меня поправят, если что-то не то пишу.

  • Спасибо 1
  • Согласен 1

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

Ссылка на комментарий
13 часов назад, ed_rez сказал:

ТЧ какой-то счетчик глючит или глючил

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

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

Сталкер - наше всё!

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

Есть, значитца, ручной телепортатор от stalk9r на основе мобильного менеджера от Singapur22.

 

7a7b08a2c4234b92cdc42fd3ab5e851b0589d438

 

На ТЧ и OGSE работает, а вот на движке OGSR Engine стабильный вылет:

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

 

FATAL ERROR

[error]Expression    : vl_Count
[error]Function      : _VertexStream::Lock
[error]File          : D:\a\OGSR-Engine\OGSR-Engine\ogsr_engine\Layers\xrRender\R_DStreams.cpp
[error]Line          : 63
[error]Description   : Missing or invalid texture! vl_Count=0.

 

 

Причем вылетает на выделенной строке, в момент создания edit_box-а

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

 

--//----------------------------------------------------------------------------------------------
--// Базовый класс всплывающих окон
--//----------------------------------------------------------------------------------------------
class "base_total" (CUIScriptWnd)

function base_total:__init(owner, target)super()
    self.owner = owner
    self.target = target
    self.Xml = CScriptXmlInit()
    self.Xml:ParseFile("ui_autotele_win.xml")

    self.Message_box_error = CUIMessageBoxEx()
    self.Message_box_error:Init("message_box_error")

    self.BackFrame = self.Xml:InitFrame("frame_message", self)
    self.Title = self.Xml:InitStatic("frame_message:title", self.BackFrame)

    self.BtnOk = self.Xml:Init3tButton("button_ok", self)
    self:Register(self.BtnOk, "button_ok")
    self:AddCallback("button_ok",     ui_events.BUTTON_CLICKED,    self.ClickOk,     self)

    self.BtnCancel = self.Xml:Init3tButton("button_cancel", self)
    self:Register(self.BtnCancel, "button_cancel")
    self:AddCallback("button_cancel", ui_events.BUTTON_CLICKED,    self.ClickCancel, self)
end

function base_total:ClickOk()
    self:ClickCancel()
end

function base_total:ClickCancel()
    self:GetHolder():start_stop_menu(self, true)
end


--//----------------------------------------------------------------------------------------------
--// Класс всплывающего окошка с редактором ввода
--//----------------------------------------------------------------------------------------------
class "message_editBox" (base_total)

--/args/>
--'owner    --объект, из которого было открыто данное окно
--'target    --функция или метод, в который требуется передать введённый текст(значение) при клике кнопки "OK"
--'veric    --функция или метод, проверки валидности вводимого текста(значения). Должен возвращать два значения (валидность, текст ошибки)
--'str        --текст по умолчанию (выводится в эдит, при старте окна)
--'format    --формат ввода. ("s" -все символы, "n" -только целые числа, "f" -только числа, в том числе и с плавающей запятой)
--'...        --набор дополнительных параметров, требующих передачи их в функцию target (передача производится в виде таблицы)
function message_editBox:__init(owner, target, veric, str, format, ...) super(owner, target)
    self.veric = veric
    self.str = str
    self.args = {...}
    self:Init(262,284,500,200)

    local num = format == "n"
    local flt = format == "f"
    local tlt = (format and #format > 1 and format) or nil
    local prst = (num and "число.") or (flt and "значение float.") or "имя:"
    local title = tlt or "Введите нужное ".. prst
    self.Title:SetText(title)

    local teg_edit = (flt == true and "_f") or ""
    self.edit = self.Xml:InitEditBox("edit_box"..teg_edit, self)
    self.edit:SetNumbersOnly(num)
    self.edit:SetText(self.str or "")
end

 

 

Что не нравится движку - не понимаю...

Ежели кому интересно, то вот рабочий телепортатор на чистый ТЧ, выдача у Волка. В архиве пяток точек телепортации.

 

https://yadi.sk/d/racxiYHJJwNqrQ

 

Прошу помощи .........

  • Нравится 1

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  правки Золотой Шар

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

@AndreySol, Действительно, заменил текстуру - и всё заработало.

    <edit_box x="50" y="75" width="400" height="32">

        <!-- <texture>ui\ui_autotele_string</texture> --> так на ОГСР вылетает
        <texture>ui_linetext_e</texture> так работает.

    </edit_box>

 

Благодарю. Значит, и мобильник можно будет запустить...

  • Полезно 1

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  правки Золотой Шар

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

<!-- <texture>ui\ui_autotele_string</texture> --> так на ОГСР вылетает
        <texture>ui_linetext_e</texture> так работает.

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

Изменено пользователем Zander_driver
  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

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

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

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

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

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

Войти

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

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

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