Advertisement
Guest User

Untitled

a guest
Mar 25th, 2015
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.89 KB | None | 0 0
  1. {
  2.   Search for references in selected records and check their load order.
  3. }
  4. unit UserScript;
  5.  
  6. var
  7.   ModLoadOrder: integer;
  8.  
  9. function Initialize: integer;
  10. var
  11.   s: string;
  12. begin
  13.   if not InputQuery('Enter', 'Hexadecimal load order of references to search for', s) then
  14.     Exit;
  15.   if s = '' then
  16.     Exit;
  17.   ModLoadOrder := StrToInt64('$' + s);
  18. end;
  19.  
  20. function Process(e: IInterface): integer;
  21. var
  22.   ref: IInterface;
  23.   i: integer;
  24. begin
  25.   Result := 0;
  26.  
  27.   if (ElementType(e) = etMainRecord) and (GetLoadOrder(GetFile(MasterOrSelf(e))) = ModLoadOrder) then
  28.     AddMessage(FullPath(e) + ' is override');
  29.  
  30.   ref := LinksTo(e);
  31.   if Assigned(ref) then
  32.     if GetLoadOrder(GetFile(ref)) = ModLoadOrder then
  33.       AddMessage(FullPath(e) + ' = ' + Name(ref));
  34.  
  35.   if CanContainFormIDs(e) then
  36.     for i := 0 to ElementCount(e) - 1 do
  37.       Process(ElementByIndex(e, i));
  38. end;
  39.  
  40. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement