Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- Output meshes used in selected records
- Also output X,Y object bounds
- }
- unit UserScript;
- var
- slModels: TStringList;
- function Initialize: integer;
- begin
- // list of models, ignore duplicated ones
- slModels := TStringList.Create;
- slModels.Sorted := True;
- slModels.Duplicates := dupIgnore;
- end;
- function Process(e: IInterface): integer;
- var
- s: string;
- Xi: integer;
- Yi: integer;
- i: integer;
- begin
- Result := 0;
- Xi := GetElementNativeValues(e,'OBND\X2');
- Yi := GetElementNativeValues(e,'OBND\Y2');
- // only string fields can contain filenames
- i := DefType(e);
- s := GetEditValue(e);
- if (i = dtString) or (i = dtLenString) then begin
- if SameText(Copy(s, Length(s) - 3, 4), '.nif') then
- slModels.Add(IntToStr(Xi) + ' ' + IntToStr(Yi) + ' ' + s);
- end;
- // recursively process all child elements
- for i := 0 to ElementCount(e) - 1 do
- Process(ElementByIndex(e, i));
- end;
- function Finalize: integer;
- begin
- AddMessage(slModels.Text);
- slModels.Free;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement