File information

Last updated

Original upload

Created by

Gardemarin

Uploaded by

Gardemarin

Virus scan

Safe to use

Tags for this mod

About this mod

Show the quest markers on the map and in-game. Disable for more immersion and difficulty. Now with UI-slider for delay subtittles.

Requirements
Permissions and credits
My previous work: BRUMA SE - FROSTCRAG SPIRE FIX




- The idea of this is simple. But first, a little history. I saw a lot of videos on YouTube about comparing TES3 and 4 and 5. In these videos they told about what we lost in Skyrim. Bloggers claim that earlier (in the previous parts of the series) was better. ... in the days of yore, when the map did not show where to go to complete the quest. Residents of Morrowind and the your journal explained to you about where the place you are looking for is placed. Whith SkyUI my mod will turn on and off all the marks on the map. I know you can turn off pop-up markers, but there is no function to turn off markers on the map
with active quest (i.e., the in-game JOURNAL seems to be there, but it is not for you; it is part of the interface and in fact is not your personal journal). Veterans I think will be pleased with this opportunity. I just wanted to initially make it possible to turn on and off all the locations of the Barenziah stones making an addon to mod toaDime, but as a joke I made for myself the Main Quest Line with this feature. And I’m really getting a new experience from my current work. Only ts-ts-ts does not tell anyone yet this is a secret.

In new (v.1.3) fixed Markers on Quest "Blood's Honor".
In new (v.1.2) fixed Markers on Quest "Way Of Voice".
In new (v.1.1) version I added a slider that allows you to adjust the delay of voice files, at the moment it is the only way to delay the subtitles if you want to read them, for example, any mod does not have voice acting in your language and you compulsory to read the subtitles but they disappear too quickly. I could put the upper limit on any number but i set to 50 seconds, since the same amount of time is required for the game to automatically exit the dialog menu if you do not give signs of life.


HUD on screenshot
made for me to order.



CREDITES:
Even Better Quest Objectives - EBQO
Stones of Barenziah Quest Markers
Beyond Skyrim - Bruma SE


..and Tood Howard too :) I love you Tood!

"dev-info" A script is being developed that allows you to make a patch in automatic mode for any quest mods installed on the user's computer. But this is not the main thing now. I want to find a way to block the function AddMapMarker, this function is sewn up in a variety of quest scripts, when it reaches a certain stage, it shows a location icon on the map that also spoiler for player the place to be found in the game, I want to make it disabled and enabled in MCM-menu.

================================================================================
unit UserScript;

uses 'lib\mxpf';

function Initialize: integer;
var
patchFileLoadOrder, i, objectiveIndex, targetIndex, conditionIndex: integer;
scripts, e, objectives, targets, target, conditions, condition: IInterface;
globalFormID: String;
debugMessages: boolean;

begin
//MXPF Initialization
InitializeMXPF;
DefaultOptionsMXPF;

//Name this whatever you like
PatchFileByName('SQMOHPatch.esp');

//TODO Clear SQMOHPatch.esp of all current records
globalFormID := IntToStr(GetLoadOrder(FileByName('ShowQuestMarkersOrHide.esp'))-1) + '00F4A8';


//Loading Records
LoadRecords('QUST');
AddMessage('Quests loaded');

CopyRecordsToPatch;

debugMessages := true;

//Process Records
for i := 0 to MaxPatchRecordIndex do begin
e := GetPatchRecord(i);

//Remove Quests without objectives
objectives := ElementByIP(e, 'Objectives');
if not Assigned(objectives) then
Remove(e);

//Cycle through all objectives and their targets
for objectiveIndex := 0 to ElementCount(objectives) - 1 do begin
targets := ElementByIP(e, 'Objectives\[' + IntToStr(objectiveIndex) + ']\Targets');
for targetIndex := 0 to ElementCount(targets) - 1 do begin
target := ElementByPath(e, 'Objectives\[' + IntToStr(objectiveIndex) + ']\Targets\[' + IntToStr(targetIndex) + ']');
conditions := ElementByIP(e, 'Objectives\[' + IntToStr(objectiveIndex) +
']\Targets\[' + IntToStr(targetIndex) + ']\Conditions');
AddMessage('-----------------' + EditorID(e) + '-----------------');
if Assigned(conditions) then begin
if debugMessages then
AddMessage('Add new condition on ' + IndexedPath(conditions));
//Add new condition to the conditions container relative to the current objective/target
condition := ElementAssign(conditions, HighInteger, nil, False);
SetElementEditValues(e, IndexedPath(condition) + '\CTDA\Comparison Value', '1');
SetElementEditValues(e, IndexedPath(condition) + '\CTDA\Function', 'GetGlobalValue');
SetElementEditValues(e, IndexedPath(condition) + '\CTDA\Global', globalFormID);
end
else begin
if debugMessages then
AddMessage('Add new conditions container on ' + IndexedPath(target));
//Add new conditions container relative to the current objective/target
condition := ElementAssign(target, 1, nil, False);
conditions := ElementByIP(e, 'Objectives\[' + IntToStr(objectiveIndex) +
']\Targets\[' + IntToStr(targetIndex) + ']\Conditions');
SetElementEditValues(e, IndexedPath(LastElement(condition)) +'\CTDA\Comparison Value', '1');
SetElementEditValues(e, IndexedPath(LastElement(condition)) +'\CTDA\Function', 'GetGlobalValue');
SetElementEditValues(e, IndexedPath(LastElement(condition)) +'\CTDA\Global', globalFormID);
end;

if debugMessages then
AddMessage('');
end;
end;
end;

//MXPF Finalization
FinalizeMXPF;
end;

end.

================================================================================
Thanks Elscrux for this script.

If you need me, if you love me, if you want to support the direction of my work, join my PATREON.

All rights reserved. Gardemarin 2019.
  翻译: