Corruption System

Corruption System 2024-11-12

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
464
Реакции
220
Возраст
32
Так…
Конфликт с umm появился…
Надо глядеть чзх.
У меня нету umm. Мне хватает Nyx.
 

Debich

Пользователь
Регистрация
05.10.2024
Темы
0
Сообщения
12
Реакции
3
Так…
Конфликт с umm появился…
Надо глядеть чзх.
У меня нету umm. Мне хватает Nyx.
я так же уже решил)
Сообщение автоматически объединено:

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

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
464
Реакции
220
Возраст
32
Менеджер полез в функцию текста, заменил ее так, что она требует два аргумента, а не один.
Причем стандартный аргумент он засунул на второе место!
Тот кто делал umm - накосячил нафиг!!!
Новый аргумент нужно ставить на второе место!
В umm сделано так:
Ruby:
  def [](key, noError = false)
    part, file, id = split_key(key)
    return key if file.nil? || id.nil? || !@map.include?(part)
    unless @map[part].has_key?(file)
      @map[part][file] = load_file(part, file)
    end
    res = @map[part][file][id]
    if !res && !noError # 若有錯誤則回報文字FLAG
      res = key
    elsif !res && noError # 若有錯誤則回報""
      res = ""
    end
    res
  end

  def load_file(part = nil, file)
    begin
      sth = File.read("#{@parts[part]}/#{file}.txt")
      return parse(sth.to_s.encode("utf-8"))
    rescue => ex
      msgbox "ERROR: missing translation file #{@parts[part]}/#{file}.txt"
      return Hash.new
    end
  end

А надо так:

Ruby:
  def [](key, noError = false)
    part, file, id = split_key(key)
    return key if file.nil? || id.nil? || !@map.include?(part)
    unless @map[part].has_key?(file)
      @map[part][file] = load_file(file, part)
    end
    res = @map[part][file][id]
    if !res && !noError # 若有錯誤則回報文字FLAG
      res = key
    elsif !res && noError # 若有錯誤則回報""
      res = ""
    end
    res
  end

  def load_file(file, part = nil)
    begin
      sth = File.read("#{@parts[part]}/#{file}.txt")
      return parse(sth.to_s.encode("utf-8"))
    rescue => ex
      msgbox "ERROR: missing translation file #{@parts[part]}/#{file}.txt"
      return Hash.new
    end
  end

Потому что оригинальная функция выглядит так:
Ruby:
    def load_file(file)
        begin
            sth=File.read("#{@base_folder}/#{file}.txt")
            return parse(sth.to_s.encode("utf-8"))
        rescue => ex
            msgbox "ERROR: missing translation file #{@base_folder}/#{file}.txt"
            return Hash.new
        end
    end
 

Debich

Пользователь
Регистрация
05.10.2024
Темы
0
Сообщения
12
Реакции
3
обойдусь без него
Сообщение автоматически объединено:

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

Debich

Пользователь
Регистрация
05.10.2024
Темы
0
Сообщения
12
Реакции
3
AleDerXan AleDerXan, я честно говоря в ауте с того как ты быстро код шерстишь
 

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
464
Реакции
220
Возраст
32
Ну так в ошибке же показано куда глядеть.
Поглядеть много времени не занимает.
А вот придумать что делать, вот тут да, тут сложно.
Я вот сейчас чешу голову, как сделать так, чтоб мой код работал и с umm и без него.
Но тут все жеско.
Umm - в этом месте делает странное.
Я просто улучшил систему считывания текстовых файлов в своем моде. И оказалось что umm вмешался в эти функции да еще и так, что жопа.
 

Debich

Пользователь
Регистрация
05.10.2024
Темы
0
Сообщения
12
Реакции
3
Ну так в ошибке же показано куда глядеть.
Поглядеть много времени не занимает.
А вот придумать что делать, вот тут да, тут сложно.
Я вот сейчас чешу голову, как сделать так, чтоб мой код работал и с umm и без него.
Но тут все жеско.
Umm - в этом месте делает странное.
а может просто umm доработать и мини обновление для него написать?
там и так последняя версия была допилена просто из-за похожей ошибки
 

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
464
Реакции
220
Возраст
32
Там проблема в том, что либо код работает с umm и не работает без него, либо наоборот...
Нужно думать. Что делать с umm, или что делать с моим кодом.
Потому что принцип модульности нарушается. А это не по кантику.
 

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
464
Реакции
220
Возраст
32

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
464
Реакции
220
Возраст
32
а может просто umm доработать и мини обновление для него написать?
там и так последняя версия была допилена просто из-за похожей ошибки
Та я уже сделал в моем моде совместимость.
 
Последнее редактирование:

KKlosdash

Новичок
Регистрация
23.10.2024
Темы
0
Сообщения
3
Реакции
2
Остальное - ок. Посмотрю.
На счет сетов…
У меня они и без мода снимаются...
Вот, оригинальный игровой json, скажем sexy-mid.
JSON:
{
    "atype_id": "WhoreDress",
    "etype_id": "Mid",
    "weight": "1",
    "attribute_change": [
    {
        "stats_key"     : "DirtState",
        "stats_value"    : [2],
        "stats_filter"    : false,
        "attribute_name": "sexy",
        "attribute_type": "max",
        "adjustor": "+",
        "adjustment": "20"
 
    },
    {
        "attribute_name": "weak",
        "attribute_type": "max",
        "adjustor": "+",
        "adjustment": "5"
    },
    {
        "attribute_name": "def_plus",
        "attribute_type": "max",
        "adjustor": "+",
        "adjustment": "3"
    },
    {
        "attribute_name": "dirt",
        "attribute_type": "max",
        "adjustor": "-",
        "adjustment": "60"
    },
    {
        "attribute_name": "move_speed",
        "attribute_type": "max",
        "adjustor": "-",
        "adjustment": "0.1"
    },
    {
        "attribute_name": "dodge_frame",
        "attribute_type": "max",
        "adjustor": "-",
        "adjustment": "2"
    }
    ]
}
Тут вообще ни слова о том, что вещь не снимается.
Всякие ошейники, там, кандалы и прочее имеют вот такие строки в json:
JSON:
"fixed_hard_equip_type": ["MidExt"],
"sealed_equip_type": ["TopExt"],
Если броня, оружие или стат имеют
"sealed_equip_type": ["TopExt"] - то они блокируют использование слота.
А если в них записано вот это: "fixed_hard_equip_type": ["MidExt"], то они блокируют именение вещей в слоте. Там если что есть два варианта блокировки, который запрещает изменять слот всем, и другой запрещает только если пытается менять игрок, нпц могут поменять.
Так вот, в сетах куклы и танцовщицы никаких таких тегов не обнаружено. Оно ж не бондаж…
Но да, я тут подумал и добавил в проверку еще второй вариант блокировки. Ведь это Лона снимает вещи… А не кто-то левый. Но его все равно нету в sexy и dancer сетах. Но мало ли, вдруг в игре есть механизм блокировки внешний какой-то в скриптах, а я не заметил.
Хм, играл ранее в 0.8.9.0.1 и там точно был блокер на снятие одежды, а 0.9.3.0 с этим модом сразу стартовал. Либо в игре с тех пор чего поменялось, либо я трою) Спасибо!
 
Сверху Снизу