Перейти к содержанию
  • Поддержите наш проект на Boosty и получите доступ ко всем премиум сборкам
    Получить доступ к премиум сборкам
    Смотрите видео прохождения наших сборок от их автора
    Смотреть видео
    Мы приносим в этот мир счастье и радость, ваша помощь нам жизненно необходима.
viterra

Нужна помощь по скриптам

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

 

Есть файл:

{
    "modID": "test_mod",
    "ModName": "test mod",
    "data": [{
            "nomber": 0,
            "defaultRaceListNum": 13,
            "form": "__formData|test_mod.esp|0x00013B53"
        },
        {
            "nomber": 1,
            "defaultRaceListNum": 13,
            "form": "__formData|test_mod.esp|0x00013B54"
        }
    ]
}

 

Нужно вытащить имя файла и соответствующий ID в скрипте из поля "form"

 

    int jsonFile = JValue.ReadFromFile("Data/mergedmods/test_mod.json")
    if jsonFile
        Debug.Trace("[File] Found!" )
                    string modID   = JMap.GetStr(jsonFile, "modID")
                    string modName = JMap.GetStr(jsonFile, "ModName")
                    int modMerged  = JMap.GetObj(jsonFile, "data")
                    int modMergedCount = JArray.Count(modMerged)
                    if (modID == "test_mod" || modName == "test mod") && modMerged != 0 && modMergedCount > 0
                        dataloaded = true;
                        int c = 0
                        while c < modMergedCount
                            int modMergedMap = JArray.GetObj(modMerged, c)
                            int nomber = JMap.GetInt(modMergedMap, "nomber")
                            int defaultRaceListNum = JMap.GetInt(modMergedMap, "defaultRaceListNum")
                            Form f = JMap.GetForm(modMergedMap, "form")
                            Debug.Trace(" get num "+ nomber + " race " + defaultRaceListNum + " in file " + f.GetName() + " ID " + f.GetFormID())

f.GetName()  f.GetFormID() - тестировал  разные подходы - результата 0
                            c += 1
                        endWhile
                    else
                        Debug.Trace("[File] File " + modName + " is invalid or empty")
                    endIf

        JValue.Release(jsonFile)
        JValue.ZeroLifetime(jsonFile)
    endIf

 

Суть в том, что бы запихнуть данные в функцию Game.GetFormFromFile(Form_Id, mod_name)

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

Полноценных примеров не нашел.

 

 

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


Ссылка на сообщение

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

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

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

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

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

Войти

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

Войти

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

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

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