Almost everything here is obsolete! I'm locking comments for this page, and won't be updating it anymore. All mod authors (and users) should migrate to Synthesis, or any other alternative!
Creating QuickLoader plugin... [00:00] Exception in unit line -1: [EJvInterpreterError] Error in unit 'UPF_Plugin_Loader' on line 95 : Type mismatch [00:00] Aborted: Applying script "000EnemyReleveler"
Creating QuickLoader plugin... [00:00] Exception in unit line -1: [EJvInterpreterError] Error in unit 'UPF_Plugin_Loader' on line 95 : Type mismatch [00:00] Aborted: Applying script "000EnemyReleveler"
Latest SSEEdit and correct mteFunctions.pas.
Please help.
Edit: I fixed it by using an older version of SSEEdit, 4.0.4
I have this problem: Exception in unit line -1: [EJvInterpreterError] Error in unit 'UPF_Plugin_Loader' on line 95 : Type mismatch. I already followed the guide in description, update my pas. Can someone help me
The note cautions that "These scripts will almost certainly miss some mods, but the alternative will almost certainly lead to overflowing the plugin limit."
Does this note mean the load generators are not completely reliable even for "simple load orders"? Or is this disclaimer for those that are running load orders that would normally generate 255+ masters for an affected patcher?
By "simple load orders" I mean load orders that don't have over 255 substantive plugins. I am over the plugin limit due to mods that would not be affected by patchers (e.g. dummy plugins or similar). I manually disable these plugins to get under 255 to run the patcher. It's tedious but reliable. This mod would be great if it cuts the tedium but the cautionary note makes me uncertain about its reliability.
Thanks for creating these! They've been incredibly helpful. I do have a note on using the Hunterborn Creature Patcher one that I ran into, so I wanted to mention it here in case anyone else runs into trouble.
The current version of the creature patcher has logic in it that, if it detects the Hunterborn-Complete Alchemy (CACO) compatibility patch, it'll patch creatures with CACO's animal death item changes instead of default HB's (for example, without the patch, the patcher will update wolf-like creatures to drop Raw Wolf Meat typically. With the compatibility patch, it'll patch wolf like creatures to drop CACO's Raw Canine Meat instead).
I ran into some trouble, however: the UBF Loader Generator doesn't include the Hunterborn-Complete Alchemy (CACO) compatibility patch. No reason for it to, as it doesn't have any creatures to patch. But the result of this is that your patch will cause the death items to incorrectly use Hunterborns default items instead of the CACO death items you're expecting, and the result of this is that you'll get animal drops that don't actually have a use (because with this configuration, you'll have CACO's recipes with default Hunterborn's ingredients). With CACO's inventory conditions, this will effectively hide recipes you'll think you should have - I noticed the problem when I saw no recipes to cook my Wolf Meat.
So just keep in mind: If you use the Hunterborn Patcher and CACO, you have to load all the mods the loader generator tells you to and the Hunterborn CACO Patch (most likely named "Hunterborn_CACO-SE_Patch.esp").
The same is true about the "HIS Skinned Models for HB.esp" plugin, that needs to be manually added to the zedit list and included in the patch. This is for those using this mod.
ANOTHER IMPORTANT NOTE: It seems that most of these patches that are modeled after the same template the Hunterborn patches uses are not reliable, especially when you near the 254 plugin limit. THEY SIMPLY WON'T SELECT THE CORRECT PLUGINS. It's much better to just tailor the script below to include the records you want and run it instead:
Spoiler:
Show
unit AddMastersBySignature;
var OutputFile: IInterface; SignatureList: TStringList;
function FileByName(const FileName: string): IInterface; var i: integer; begin Result := nil; for i := 0 to Pred(FileCount) do if (CompareText(GetFileName(FileByIndex(i)), FileName) = 0) then begin Result := FileByIndex(i); Break; end; end;
function Initialize: integer; begin SignatureList := TStringList.Create; // GLZ changed the following line to include only BOOK // SignatureList.CommaText := 'LVLI, REFR, CELL, CONT, FLST'; SignatureList.CommaText := 'NPC_';
// GLZ replaced the AddNewFile function with AddNewFileName that uses staticically named output file that is ESLified // OutputFile := AddNewFile; OutputFile := AddNewFileName('NPCsLoader0.esp',true); end;
function Process(e: IInterface): integer; var CurrentFile: IInterface; i, j: integer; begin for i := 0 to Pred(FileCount) do begin CurrentFile := FileByIndex(i); if (CompareText(GetFileName(CurrentFile), GetFileName(OutputFile)) = 0) then Continue;
for j := 0 to Pred(SignatureList.Count) do begin if (GroupBySignature(CurrentFile, SignatureList[j]) <> nil) then begin AddMasterIfMissing(OutputFile, GetFileName(CurrentFile)); Break; end; end; end;
Result := 1; Exit; end;
function Finalize: integer; begin SignatureList.Free; SortMasters(OutputFile); end;
Glanzer - Scripting is not a talent of mine, and I would not know how to begin. But if you have the time, or desire, would you care to help me understand the Hunterborn Creature Patcher from this page?
Hey im getting this error, does anyone know what this means?
[00:00] Error during Applying script "000SpeedandReach": Error in unit 'UPF_Plugin_Loader' on line 192 : Undeclared Identifier 'FileByName'
EDIT: Im stupid, i already had a mteFunctions.pas in my Edit Scripts folder so i opened it with Notepad and saw it was from 2014. After downloading the new one and replacing it, it worked!
Thank you for this amazing script. really helps with huge modlists
For those like me who saw this while researching an identical error and still wondered what the hell was going on, find mteFunctions.pas in your edit scripts folder, open in notepad, delete all text, and copy paste the entirety of this page (2019 dated): https://raw.githubusercontent.com/matortheeternal/TES5EditScripts/master/Edit%20Scripts/mteFunctions.pas
Is there a way to select multiple records to edit quickly in zedit? I dont want to have to hold control and click on each record individually. It's too slow, is there a hotkey I am missing?
238 comments
Comments locked
The author has locked this comment topic for the time beingAll mod authors (and users) should migrate to Synthesis, or any other alternative!
Creating QuickLoader plugin...
[00:00] Exception in unit line -1: [EJvInterpreterError] Error in unit 'UPF_Plugin_Loader' on line 95 : Type mismatch
[00:00] Aborted: Applying script "000EnemyReleveler"
Creating QuickLoader plugin...
[00:00] Exception in unit line -1: [EJvInterpreterError] Error in unit 'UPF_Plugin_Loader' on line 95 : Type mismatch
[00:00] Aborted: Applying script "000EnemyReleveler"
Latest SSEEdit and correct mteFunctions.pas.
Please help.
Edit: I fixed it by using an older version of SSEEdit, 4.0.4
I already followed the guide in description, update my pas. Can someone help me
Does this note mean the load generators are not completely reliable even for "simple load orders"? Or is this disclaimer for those that are running load orders that would normally generate 255+ masters for an affected patcher?
------------------------------------------------------------------------------------------------------------------------------------------
By "simple load orders" I mean load orders that don't have over 255 substantive plugins. I am over the plugin limit due to mods that would not be affected by patchers (e.g. dummy plugins or similar). I manually disable these plugins to get under 255 to run the patcher. It's tedious but reliable. This mod would be great if it cuts the tedium but the cautionary note makes me uncertain about its reliability.
The current version of the creature patcher has logic in it that, if it detects the Hunterborn-Complete Alchemy (CACO) compatibility patch, it'll patch creatures with CACO's animal death item changes instead of default HB's (for example, without the patch, the patcher will update wolf-like creatures to drop Raw Wolf Meat typically. With the compatibility patch, it'll patch wolf like creatures to drop CACO's Raw Canine Meat instead).
I ran into some trouble, however: the UBF Loader Generator doesn't include the Hunterborn-Complete Alchemy (CACO) compatibility patch. No reason for it to, as it doesn't have any creatures to patch. But the result of this is that your patch will cause the death items to incorrectly use Hunterborns default items instead of the CACO death items you're expecting, and the result of this is that you'll get animal drops that don't actually have a use (because with this configuration, you'll have CACO's recipes with default Hunterborn's ingredients). With CACO's inventory conditions, this will effectively hide recipes you'll think you should have - I noticed the problem when I saw no recipes to cook my Wolf Meat.
So just keep in mind: If you use the Hunterborn Patcher and CACO, you have to load all the mods the loader generator tells you to and the Hunterborn CACO Patch (most likely named "Hunterborn_CACO-SE_Patch.esp").
ANOTHER IMPORTANT NOTE: It seems that most of these patches that are modeled after the same template the Hunterborn patches uses are not reliable, especially when you near the 254 plugin limit. THEY SIMPLY WON'T SELECT THE CORRECT PLUGINS. It's much better to just tailor the script below to include the records you want and run it instead:
var
OutputFile: IInterface;
SignatureList: TStringList;
function FileByName(const FileName: string): IInterface;
var
i: integer;
begin
Result := nil;
for i := 0 to Pred(FileCount) do
if (CompareText(GetFileName(FileByIndex(i)), FileName) = 0) then begin
Result := FileByIndex(i);
Break;
end;
end;
function Initialize: integer;
begin
SignatureList := TStringList.Create;
// GLZ changed the following line to include only BOOK
// SignatureList.CommaText := 'LVLI, REFR, CELL, CONT, FLST';
SignatureList.CommaText := 'NPC_';
// GLZ replaced the AddNewFile function with AddNewFileName that uses staticically named output file that is ESLified
// OutputFile := AddNewFile;
OutputFile := AddNewFileName('NPCsLoader0.esp',true);
end;
function Process(e: IInterface): integer;
var
CurrentFile: IInterface;
i, j: integer;
begin
for i := 0 to Pred(FileCount) do begin
CurrentFile := FileByIndex(i);
if (CompareText(GetFileName(CurrentFile), GetFileName(OutputFile)) = 0) then
Continue;
for j := 0 to Pred(SignatureList.Count) do begin
if (GroupBySignature(CurrentFile, SignatureList[j]) <> nil) then begin
AddMasterIfMissing(OutputFile, GetFileName(CurrentFile));
Break;
end;
end;
end;
Result := 1;
Exit;
end;
function Finalize: integer;
begin
SignatureList.Free;
SortMasters(OutputFile);
end;
end.
It is part of a workflow using the zEdit patcher.
Thanks LM
[00:00] Error during Applying script "000SpeedandReach": Error in unit 'UPF_Plugin_Loader' on line 192 : Undeclared Identifier 'FileByName'
EDIT: Im stupid, i already had a mteFunctions.pas in my Edit Scripts folder so i opened it with Notepad and saw it was from 2014. After downloading the new one and replacing it, it worked!
Thank you for this amazing script. really helps with huge modlists