Jump to content

Automation Tools for TES5Edit - Suggestions Thread


matortheeternal

Recommended Posts

Yes, mator, is there a feature in one of these scripted tools that can merge record data betwixt two mods? Here's what I'm trying to do with your toolkit. I'm making a compatibility patch for CCO to compromise for the radical changes in the activators done in The Gemstone Collector. The Gemstone Collector's overrides not only uses it's own leveled gem lists, but also ignores CCOs mining and mineral properties defined in its MCM menu.

 

Instead of hand-editing every activator override one-by-one, I want to apply the same data changes to activator overrides of similar structure. In short, I'm just copying record data from CCO's overrides, ignored by TGC's overrides, into new overrides that both mods can agree on.

 

Also, I'd like to take advantage of this scripted toolkit, by breaking down/ recycling gemstone wares into 75% of the materials used in crafting the final product. Plus I'm adding a passive perk obtainable from reading a series of books. This one will make breakdowns more efficient by an additional 25%. However, it will only breakdown wares into the mainstream materials (e.g. Iron for Iron, Steel for Steel, Studded for Leather, etc.). However, this perk grants a 25% bonus chance to spit out an extra smithing material that relates to the recycled item, and adds an extra 3% if you recycle one more of the last object recycled. This scripted feature is radiant like certain quest objectives, and thus the chance for a secondary output will increase up to 100%.

 

Features like these, however must have checks and balances. When the secondary output returns successful, the chance resets back to 25%.

 

If I can make something like this happen, I'd have the power to redefine Skyrim.

Link to comment
Share on other sites

  • Replies 446
  • Created
  • Last Reply

Top Posters In This Topic

Yes, mator, is there a feature in one of these scripted tools that can merge record data betwixt two mods? Here's what I'm trying to do with your toolkit. I'm making a compatibility patch for CCO to compromise for the radical changes in the activators done in The Gemstone Collector. The Gemstone Collector's overrides not only uses it's own leveled gem lists, but also ignores CCOs mining and mineral properties defined in its MCM menu.

 

Instead of hand-editing every activator override one-by-one, I want to apply the same data changes to activator overrides of similar structure. In short, I'm just copying record data from CCO's overrides, ignored by TGC's overrides, into new overrides that both mods can agree on.

 

Also, I'd like to take advantage of this scripted toolkit, by breaking down/ recycling gemstone wares into 75% of the materials used in crafting the final product. Plus I'm adding a passive perk obtainable from reading a series of books. This one will make breakdowns more efficient by an additional 25%. However, it will only breakdown wares into the mainstream materials (e.g. Iron for Iron, Steel for Steel, Studded for Leather, etc.). However, this perk grants a 25% bonus chance to spit out an extra smithing material that relates to the recycled item, and adds an extra 3% if you recycle one more of the last object recycled. This scripted feature is radiant like certain quest objectives, and thus the chance for a secondary output will increase up to 100%.

 

Features like these, however must have checks and balances. When the secondary output returns successful, the chance resets back to 25%.

 

If I can make something like this happen, I'd have the power to redefine Skyrim.

 

I totally didn't understand a word you just said.

Link to comment
Share on other sites

  • 1 month later...

Do you think you could do a port of this wonderful tool-set to Fallout 3, Fallout New Vegas. Cause by the sound of using this tool-set, you wouldn't have to change much of the code so that the tool-set can deal with both of the games.

Link to comment
Share on other sites

  • 2 weeks later...

Awesome!!

 

- Camera Path Creator: It'd be nice to have an easier way to create the camera pathing to trigger on command/hot key. It'd probably only be good for cinematic purposes, but still :)

- Mod Merger: there are so many small mods out there, sometimes by the same author, that really could do with being merged. For example: rather than having 100 different "sword" mods, just combine them in to 1.

- Spell particle effect randomizer/generator: different NPCs could cast a different colour lightning, or a black flame, etc

Link to comment
Share on other sites

A script that would automatically create staff recipes for mod-added spells would be nice.

 

That's a good idea. I'll add it to the list.

 

 

- Camera Path Creator: It'd be nice to have an easier way to create the camera pathing to trigger on command/hot key. It'd probably only be good for cinematic purposes, but still :smile:

I'll need an example of what the script should produce in order to make a script for this. Also, is this something that's produced in an ESP? How is it produced, a series of markers?

 

 

- Mod Merger: there are so many small mods out there, sometimes by the same author, that really could do with being merged. For example: rather than having 100 different "sword" mods, just combine them in to 1.

Already exists. http://www.nexusmods.com/skyrim/mods/37981/?

 

 

- Spell particle effect randomizer/generator: different NPCs could cast a different colour lightning, or a black flame, etc

That can't be done with an xEdit script.

Edited by matortheeternal
Link to comment
Share on other sites

I would like a script that made it possible to make X amount of form-ids in a certain category like say in the weapon category and make like 40 WEAP Formids in that category or any of the categories

Link to comment
Share on other sites

  • 2 weeks later...

Could there be some way to mess with flags in QuickChange? Ideally, I'd like to be able to set a mask (say... a string with characters representing 1, 0, toggle, ignore, with all unspecified flags defaulting to ignore), and have the record's flags change according to the mask. I got limited-results-but-not-really using QuickChange's formula mode, but even setting the formula to 'x' changes some flags due to integers generally not having leading zeros.

 

If curious why I am asking, I was trying to set a bunch of spell costs to 0 for a special playthrough, which requires setting the 'Manual Cost Calc' flag in the spells. I wanted to do so without disturbing the other flags.

 

Thanks.

Link to comment
Share on other sites

I would like a script that made it possible to make X amount of form-ids in a certain category like say in the weapon category and make like 40 WEAP Formids in that category or any of the categories

unit userscript;

uses mteFunctions;

function Initialize: integer;
var
  g, f: IInterface;
  s: string;
  total, i: integer;
begin
  f := FileSelect('Choose a file to add records to:');
  AddMasterIfMissing(f, 'Skyrim.esm');
 
  s := InputBox('Input group','Please enter a group signature', 'ARMO');
  total := IntToStr(InputBox('Input number','Please enter a number of records to create','10'));
 
  Add(f, s, true);
  g := GroupBySignature(f, s);
 
  for i := 1 to total do begin
    Add(g, s, true);
  end;
end;

end.

Could there be some way to mess with flags in QuickChange? Ideally, I'd like to be able to set a mask (say... a string with characters representing 1, 0, toggle, ignore, with all unspecified flags defaulting to ignore), and have the record's flags change according to the mask. I got limited-results-but-not-really using QuickChange's formula mode, but even setting the formula to 'x' changes some flags due to integers generally not having leading zeros.

 

If curious why I am asking, I was trying to set a bunch of spell costs to 0 for a special playthrough, which requires setting the 'Manual Cost Calc' flag in the spells. I wanted to do so without disturbing the other flags.

 

Thanks.

unit UserScript;

uses mteFunctions;

var
  Records: Array[0..$FFFFFF] of IInterface;
  rCount: integer;
 
function SetChar(const s: string; n: integer; c: string): string;
var
  front, back: string;
begin
  front := Copy(s, 1, n - 1);
  back := Copy(s, n + 1, Length(s));
  Result := front + c + back;
end;

function GetChar(const s: string; n: integer): string;
begin
  Result := Copy(s, n, 1);
end;

function Toggle(c: string): string;
begin
  Result := c;
  if c = '1' then
    Result := '0'
  else if c = '0' then
    Result := '1';
end;

function Process(e: IInterface): integer;
begin
  Records[rCount] := e;
  Inc(rCount);
end;

function Finalize: integer;
var
  rec, flags: IInterface;
  path, flagsMask, flagsValue, msg: string;
  i, j: integer;
begin
  path := InputBox('Input path','Input the path to the flags element you want to modify.','ACBS\Flags');
  rec := Records[0];
  flags := ElementByIP(rec, path);
  flagsValue := GetEditValue(flags);
  flagsMask := InputBox('Input mask','Enter a string of length '+IntToStr(Length(flagsValue))+' for the flag mask.'#13
    '  t = toggle'#13
    '  x = ignore'#13
    '  1 = set to one'#13
    '  0 = set to zero',flagsValue);
  for i := 0 to rCount - 1 do begin
    rec := Records[i];
    flags := ElementByIP(rec, path);
    flagsValue := GetEditValue(flags);
    msg := 'Changed flags from: '+flagsValue+' to: ';
    for j := 1 to Length(flagsValue) do begin
      if GetChar(flagsMask, j) = 't' then
        flagsValue := SetChar(flagsValue, j, Toggle(GetChar(flagsValue, j)))
      else if GetChar(flagsMask, j) = '1' then
        flagsValue := SetChar(flagsValue, j, '1')
      else if GetChar(flagsMask, j) = '0' then
        flagsValue := SetChar(flagsValue, j, '0');
    end;
    msg := msg + flagsValue;
    AddMessage(msg);
    SetEditValue(flags, flagsValue);
  end;
end;

end.

^This solution still doesn't work if you're trying to work with records with different flag lengths. Those are more complicated and would require a different approach.

 

I'll have a better flags modifying script sometime later. It's on my todo list.

Edited by matortheeternal
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...