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

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

Опубликовано

Добрый вечер!

Возник вопрос, который ввел в ступор.

Посмотрел в TESEdit мод UNKNOWNYMOUS Social NPCs, чтобы понять как он меняет глобальные настройки GMST. А он вводит аж три своих собственных, причем никаких скриптов, ничего кроме этих трех дополнительные настроек нет. Я не понимаю...а как игра вообще понимает, что эти настройки обозначают? Их же изначально не было, их добавил моддер. Там в движок встроен интерпретатор EditorID для GMST записей или что?

Скрин прилагаю. 

Спасибо, если кто просветит!

311.JPG

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано

Вдогонку:

может быть кто вспомнит, был ли на вашей памяти мод, который бы добавлял в левельные листы (неписей и контейнеров) любые предметы, но с помощью скрипта?

 

это повышает совместимость и с помощью такого подхода моддеру не надо под такой мод пересоздавать bashed patch, что очень удобно. 

 

если всплывет такой мод в памяти, напишите пожалуйста. актуально

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано

Внезапно возникла самая странная проблема на моей памяти...

Создал мод без привязки к oblivion.esm
...и он никак не отображается в игре!
и это притом что он подключен к игре, я перепроверял.
Ни ошибки, ни вылета, ничего.
Просто НОЛЬ присутствия. будто бы его и не было. специально проверял, могу ли я добавить в инвентарь предметы из него, но...игра их не видит!
и в консоли нет дебажных записей, которые я писал.

Как такое может быть?

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано
31.01.2026 22:41:17, ArtemSH сказал(-а):

Внезапно возникла самая странная проблема на моей памяти...

Создал мод без привязки к oblivion.esm
...и он никак не отображается в игре!
и это притом что он подключен к игре, я перепроверял.
Ни ошибки, ни вылета, ничего.
Просто НОЛЬ присутствия. будто бы его и не было. специально проверял, могу ли я добавить в инвентарь предметы из него, но...игра их не видит!
и в консоли нет дебажных записей, которые я писал.

Как такое может быть?

upd: если закоментировать большую часть кода, то код игра воспринимает, но добавленные новые предметы не видит вообще...я имею в виду, что их нельзя добавить через консоль никак. не понимаю совершенно в чем я ошибся...

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано
01.02.2026 10:55:13, ArtemSH сказал(-а):

upd: если закоментировать большую часть кода, то код игра воспринимает, но добавленные новые предметы не видит вообще...я имею в виду, что их нельзя добавить через консоль никак. не понимаю совершенно в чем я ошибся...

очень странная вещь: из скрипта сами по себе работают три строчки, а остальное - нет....причем ничего сложного там нет, лишь система инициализации и обращение к к ИНИ

 

Вот:

Спойлер
if GetGameLoaded || GetGameRestarted


let fQuestDelayTime := 0.01

; ==============================

; Check INI's Settings
;
; if (FileExists "Data\ini\ASH\ASH Compass.ini")
; RunBatchScript "Data\ini\ASH\ASH Compass.ini"
printc "ASH Compasses INI initialized."
 
; else

; Default settings applied if no INI is found.

let sCVis := 0 ; by default HUD without compass in inventory is disabled
; let fDis := 6000 ; DarnifiedUI == 12000
let sQVis := 1
let sPCVis := 1
let sDisc := 1
let sKnown := 1

; Base Distances

let fDis := 1000 ; Your BASE distance. I made it keeping in mind that you DO NOT Have a compass but want compass HUD to show.
let fDisUnk := 100

let sTierSys := 1


; for Prices

let fBasePrice := 150


; for Weight

let fBaseWeight := 0.5

; ==============================

; for Compass Tiers

; Distance for DISCOVERED

let fDT1 := 3000
let fDT2 := 5500
let fDT3 := 8000
let fDT4 := 12000
let fDT5 := 16000


; Distance for UNKNOWN

let fDUT1 := 300
let fDUT2 := 700
let fDUT3 := 1100
let fDUT4 := 1600
let fDUT5 := 2000



; Price Addition for each Tier. IF Base Value is 150.

Let fPrT1 := 50 ; 200 in-game
Let fPrT2 := 200 ; 350 in-game
Let fPrT3 := 350 ; 500 in-game
Let fPrT4 := 550 ; 800 in-game
Let fPrT5 := 850 ; 1000 in-game

; Price Addition for each Tier. IF Base Value is 150.

Let fWT1 := -0.4 ; 0.1 in-game SUBTRACT. default : -0.4
Let fWT2 := 0 ; 0.5 in-game. default : 0
Let fWT3 := 0.5 ; 1 in-game. default : 0.5
Let fWT4 := 2.5 ; 3 in-game. default : 2.5
Let fWT5 := 1.5 ; 2 in-game because GOLD is BETTER. default : 1.5







printc "ASH Compasses INI not found. Initialize default settings."
; endif и дальше рабочий код

 

Просто загадка дыры, не иначе
Очень нужен хелп от просвещенных модеров...

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано
01.02.2026 11:06:47, ArtemSH сказал(-а):

очень странная вещь: из скрипта сами по себе работают три строчки, а остальное - нет....причем ничего сложного там нет, лишь система инициализации и обращение к к ИНИ

 

Вот:

Спойлер
if GetGameLoaded || GetGameRestarted


let fQuestDelayTime := 0.01

; ==============================

; Check INI's Settings
;
; if (FileExists "Data\ini\ASH\ASH Compass.ini")
; RunBatchScript "Data\ini\ASH\ASH Compass.ini"
printc "ASH Compasses INI initialized."
 
; else

; Default settings applied if no INI is found.

let sCVis := 0 ; by default HUD without compass in inventory is disabled
; let fDis := 6000 ; DarnifiedUI == 12000
let sQVis := 1
let sPCVis := 1
let sDisc := 1
let sKnown := 1

; Base Distances

let fDis := 1000 ; Your BASE distance. I made it keeping in mind that you DO NOT Have a compass but want compass HUD to show.
let fDisUnk := 100

let sTierSys := 1


; for Prices

let fBasePrice := 150


; for Weight

let fBaseWeight := 0.5

; ==============================

; for Compass Tiers

; Distance for DISCOVERED

let fDT1 := 3000
let fDT2 := 5500
let fDT3 := 8000
let fDT4 := 12000
let fDT5 := 16000


; Distance for UNKNOWN

let fDUT1 := 300
let fDUT2 := 700
let fDUT3 := 1100
let fDUT4 := 1600
let fDUT5 := 2000



; Price Addition for each Tier. IF Base Value is 150.

Let fPrT1 := 50 ; 200 in-game
Let fPrT2 := 200 ; 350 in-game
Let fPrT3 := 350 ; 500 in-game
Let fPrT4 := 550 ; 800 in-game
Let fPrT5 := 850 ; 1000 in-game

; Price Addition for each Tier. IF Base Value is 150.

Let fWT1 := -0.4 ; 0.1 in-game SUBTRACT. default : -0.4
Let fWT2 := 0 ; 0.5 in-game. default : 0
Let fWT3 := 0.5 ; 1 in-game. default : 0.5
Let fWT4 := 2.5 ; 3 in-game. default : 2.5
Let fWT5 := 1.5 ; 2 in-game because GOLD is BETTER. default : 1.5







printc "ASH Compasses INI not found. Initialize default settings."
; endif и дальше рабочий код

 

Просто загадка дыры, не иначе
Очень нужен хелп от просвещенных модеров...

частично решили вопрос

оказалось, что приравнивать переменные типа float к GMST - плохая идея, тк GMST выступают в виде строковых переменных 

set fDT4  to iMapMarkerVisibleDistance  == неверно

нужно:
 

set fDT4  to GetGameSetting iMapMarkerVisibleDistance



также нежелательно писать

if GetMenuFloatValue "darnui_settings\_reveal" 1004 != fDis
if GetMenuFloatValue "darnui_settings\_cv" 1004   1
Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано
31.01.2026 15:37:54, ArtemSH сказал(-а):
Я не понимаю...а как игра вообще понимает, что эти настройки обозначают? Их же изначально не было, их добавил моддер. Там в движок встроен интерпретатор EditorID для GMST записей или что?

Скрин прилагаю. 

Спасибо, если кто просветит!

https://cs.uesp.net/wiki/Comprehensive_Settings_List

  • Нравится 1
Опубликовано
02.02.2026 06:23:21, allexa сказал(-а):

благодарю!

а почему же они не отображались в моем есм, если они часть игры...еще одна загадка дыры

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано
02.02.2026 16:10:31, ArtemSH сказал(-а):
а почему же они не отображались в моем есм, если они часть игры...еще одна загадка дыры

Либо потому что нет привязки к Обло.есм
Либо они должны находиться в файле с разрешением .есп

... по моему второе

  • Нравится 1
Опубликовано
02.02.2026 16:17:16, allexa сказал(-а):

Либо потому что нет привязки к Обло.есм
Либо они должны находиться в файле с разрешением .есп

... по моему второе

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

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано
02.02.2026 16:19:18, ArtemSH сказал(-а):
причем одна из настроек (на скрине она зелено-желтая) в есм есть, а остальные отсутствуют,

Да, вспомнил. В есм не должно быть дублирующихся (измененных) записей ID из Обло.есм - только в есп
Знаю по опыту работы с ООО

  • Нравится 1
Опубликовано
02.02.2026 16:19:18, ArtemSH сказал(-а):
а остальные отсутствуют, что навело на мысли об особом интерпретаторе, скрытом в движке игры)

Так то все они присутствуют Обливион.ехе
И видны в редакторе КСЕ
Если его изменить и сохранить в есп-моде он проявиться с новым ID
Но как ты уже понял суть не в ID а в наименовании

  • Нравится 1
Опубликовано
02.02.2026 16:31:30, allexa сказал(-а):

Так то все они присутствуют Обливион.ехе
И видны в редакторе КСЕ
Если его изменить и сохранить в есп-моде он проявиться с новым ID
Но как ты уже понял суть не в ID а в наименовании

аааа
я вспомнил
у них же нету FormID
и формид возникает когда кто-то меняет настройку
поэтому те GMST не отображаются в есм
получается, с одним ГМСТ какая-то ошибка, раз он присутствует и в есм и в есп нового мода?

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано

Вероятно, потому что в есп указан адресный ID из есм
Удали запись из есм, а в есп измени адресность ID присущую есп

  • Нравится 1
Опубликовано

вдогонку...

 

такая строка будет работать?

код компилируется но в игре не видно изменений

AshCompasT3.setgoldvalue fBasePrice + fPrT3

где AshCompasT3 - EditorID базовой формы

AshCompasT5.setweight fBaseWeight + fWT5

мне его заменить реф-переменной нужно чтобы заработало? или я неверный синтаксис написал?

 

спасибо тем, кто поможет

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано

если трейт в XML файле хранит не цифру, а значение true\false
то сработает ли следующий скрипт

SetMenuFloatValue "Imp_UI_Settings\_cv" 1004, sCVis

где sCVis - числовое значение 

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано

Если часть XML имеет следующий вид

<visible> <!-- Show only in "explore mode." -->
         <copy src="HUDMainMenu" trait="user3" /><eq>1</eq>
      </visible>


можно ли заменить её значение visible, копирующее значение user3 (числовое), переменной числового типа? Вот в такой форме:
 

SetMenuFloatValue "HUDMainMenu\hudmain_compass\visible" 1004, sCVis ; NUI

Или нужно добавить trait в путь XML?

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано

А кто-нибудь знает как убрать надпись в углу "Вы не можете экипировать этот предмет" при выборе неэкипируемого предмета из инвентаря? Вроде была такая функция.

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано

на часть вопросов ответы я нашел
те, кто будет искать на них ответы, можете набрести на них в этом моде

Пοταπός ἐστιν οὗτος ὅτι καὶ οἱ ἄνεμοι καὶ ἡ θάλασ­σα αὐτῷ ὑπακούουσιν
Опубликовано
07.02.2026 07:54:06, ArtemSH сказал(-а):
А кто-нибудь знает как убрать надпись в углу "Вы не можете экипировать этот предмет" при выборе неэкипируемого предмета из инвентаря? Вроде была такая функция.

Увы, нет возможности проверить, но может поможет. Gameplay > Gameplay Settings... Там найти параметр fQuestItemEquipFailure. И дальше уже что-то с ним сделать.

  • Нравится 1

Мир друзьям - смерть врагам!

Мой новый сайт-блог: https://igorlutiy.pp.ua - как некое подведение итогов моей жизни в интернете

Мой профиль на Самиздате: http://samlib.ru/l/ljutyj_i/

  • 1 месяц спустя...
Опубликовано

У меня вопрос по плагиностроению, но по чужому, если можно. Смотрите. Вышел мод на обновление кричеров. Прессу на Нексусе собирает неплохую..., появились похмелочные бесы(в зеленых шкурках), но я сейчас не о качестве исполнения старых(новых) существ. Я увидел, что автор мода, не меняя FormID, поменял ванильного кричера на своего собственного. Пример: в ванили был безголовый зомби стал в моде костяным колоссом; кто-то был обезумевшим зомби - стал атронахом во плоти... Я уже не говорю, что какой-то там скелет-чемпион, стал просто скелетом, или скелетом-магом. Я, в принципе, могу с этим согласиться, если мод окажется действительно стоящим, но что будет в игре, если какой-нибудь другой мод обратится к этим ванильным ресурсам!? Чехарда, или приоритетом загрузки все будет можно отрегулировать? А может стоит в этом другом моде тоже вместо ванильных прописать под теми FormID новых кричеров из первого мода... А вы как думаете, уважаемые товарищи...

  • 1 месяц спустя...
Опубликовано

Проверка плагинов во врай баш выдала вот такое сообщение:

"NULL FormIDs
The following plugins have records with NULL (00000000) FormIDs besides the main file header (TES4). [...]

•  [LAND:00000000] "

 

Собственно, имеется вопрос: как мне этот несчастный "объект" багованный найти и исправить?

То ли я совсем слепая, то ли что-то не так или не там ищу...

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

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

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

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

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

Войти

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

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

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