Jump to content
  • Announcements

    • AndalayBay

      Leaving IP.Board   11/13/2017

      See full announcement here.
    • AndalayBay

      New Theme Set Up   11/14/2017

      We have a new theme created by Vincent that's now available to everyone. It has been set as the default theme, so everyone should see it when you refresh the page. If you still aren't seeing it, you can select it from the Theme drop-down at the bottom of the page. It's called Assimilation. Thanks Vincent. Awesome looking theme!
Sign in to follow this  
AndalayBay

[CSE] Coda Scripting

Recommended Posts

Introduction

 

Coda is the scripting language for the Construction Set Extender (CSE). It is not Legacy, or the scripting language used for Oblivion. It is a scripting language that you can use to automate a variety of tasks in the editor, such as renaming objects, moving objects or batch editing object attributes. In this guide, or tutorial, I will show you how you can use Coda to accomplish a variety of tasks.

 

Documentation

 

The Coda Manual is distributed with the Construction Set Extender. You will find it in Data\Docs\Construction Set Extender. The manual explains the general syntax of Coda scripts and how to execute them. It also describes the general language structure, including a description of variables and data types, operators and flow control. In addition to the manual, there is the Coda Command document, which is an HTML file listing all the functions and commands. Since the command set is still being developed, the command document is not included in the distribution. Instead you can generate the most recent version by typing DumpCodaDocs from the console command prompt (see below).

 

Creating and Running Scripts

 

The structure of Coda scripts is described in the manual, so I won't repeat it here. I will be listing several examples that you can use to get started. You create your scripts using a text editor. If you use an editor like TextPad or NotePad++, you can use an Oblivion script syntax highlighter. Coda shares its basic syntax with Legacy. Save your scripts with .coda for the extension. Scripts must be in Data\BGSEE\Coda to be accessed and executed from the command line.

 

Once you've created a script, you run it from the command line in the CSE console window. Here's an example:

 

gallery_1_37_68573.jpg

 

Coda scripts are invoked with the RunCodaScript command. The command takes two parameters: the script name minus the extension and a boolean integer indicating whether it's a background script or not. You would use 0 for a regular script and 1 for a background script. Most scripts would be run as a foreground process. I will provide one example of a script that must be run as a background process.

 

Sample Scripts

 

Here are some sample scripts. They are all real scripts, so you can adapt them to your purposes.

 

Strip off Leading Digits from Editor IDs

 

This script will strip off the leading digits from editor IDs, which are known to cause problems with Oblivion scripts. It processes all AI packages. You can change the batch of editor IDs by changing the form type ID parameter for the GetDataHandlerFormList function. GetDataHandlerFormList can accept hexadecimal or decimal values. In this example we are using the hexidecimal value for AI packages. The decimal equivalent is 61. The full list of form type IDs is in the Coda Command Documentation or the OBSE documentation.

 

CODA(ChangeEditorID)

var Buffer
var EditorID
var firstChar

begin
	; retrieve AI package forms
	forEach Buffer <- GetDataHandlerFormList(0x3D)
		EditorID = GetEditorID(Buffer)
		firstChar = StringSubStr(EditorID, 0, 1)
		; we only want to change the editor IDs that start with a number
		if StringIsNumber(firstChar)
			printC("editorID (old) ="//$EditorID)
			; skip the first character. If there is more than one digit,
			; change the starting position so that it skips all the digits.
			EditorID = StringSubStr(EditorID, 1, StringLength(EditorID))
			printC("editorID (new) ="//$EditorID)
			setEditorID(Buffer, $EditorID)
		endif
	loop
	; It's pretty quick, but nice to know exactly when it's done.
	printc("All done.")
end
Save this script as ChangeEditorID.coda and execute it by typing

 

RunCodaScript ChangeEditorID 0
at the command prompt. Note that the command and parameters are not case sensitive.

 

Add Mod Prefix to Editor IDs for Cells

 

This script will add the specified mod prefix to the cell editor IDs. This is handy if you would like to have a naming convention for the objects in your mod and some team members neglected to prefix their editor IDs accordingly. This example renames the editor IDs for cells, but once again, you can change the scope by changing the form type ID. This time we're using the decimal value for cell, which is 48. Semi-colons ( ;) are used for comments in Coda, just as they are in Oblivion script. The printC commands have been commented out in this sample.

 

CODA(AddBMStartCell)

var Buffer
var EditorID
var firstChars
var length
var formIDString
var formStart

begin
	forEach Buffer <- GetDataHandlerFormList(48)
		EditorID = GetEditorID(Buffer)
		formIDString = FormatNumber("%08X", (int)Buffer, 1)
		;printc("form string = "//formIDString)
		formstart = StringSubStr(formIDString, 0, 2)
		if StringCompare(formStart, "01", 0) == 0
			firstChars = StringSubStr(EditorID, 0, 2)
			length = StringLength(EditorID)
			if length == 0
				continue()
			endif
			if (StringCompare(firstChars, "BM", 0) != 0)
				;printC("editorID (old) ="//EditorID)
				EditorID = "BM" // EditorID
				;printC("editorID (new) ="//EditorID)
				setEditorID(Buffer, EditorID)
			endif
		endif
	loop
	printc("All done.")
end
Print Random Numbers

 

Here's a little test script to show how the random number function works. I use this function later. :D In this case, I'm generating random numbers between 0 and 359, which correspond to angles. The generated numbers are floats with six decimal places.

 

CODA(Random)

var randomNum
var i

begin
	while i < 10
		randomNum = RandomNumber(0, 359)
		printC("Random number: "//$randomNum)
		i += 1
	loop
end
Change Imperials and Nords to Orcs and Dark Elves

 

Here's a script that shows an example of the Base Form Component (BFC) functions. It switches the race of all male Imperial and Nord NPCs to Orcs and Dark Elves.

 

CODA(SwapRace)

var npc
var race

begin
	forEach npc <- getDataHandlerFormList(35)
		race = getBFCRace(npc)
		
		if (race && (race == getFormByEditorID("Imperial") || race == getFormByEditorID("Nord")) && getBFCActorBaseDataSex(npc) == 0)
			printC("NPC "//getEditorID(npc)//" switched to new race!")
			
			if (race == getFormByEditorID("Imperial"))
				setBFCRace(npc, getFormByEditorID("Orc"))
			else ; nord
				setBFCRace(npc, getFormByEditorID("DarkElf"))
			endif

			markAsModified(npc, 1)
		endif
	loop
	printC("All done!")
end
All the scripts so far are executed as regular foreground scripts. Before I detail the monster background script, I'll direct you to the Disable Trees example on the CS Wiki. Disable Trees demonstrates how to scan exterior cells for specific objects and disable them. It also mentions a key CSE function: you can get a list of all cell form IDs by using the Export tool from the main menu.

 

File -> Export -> Interior and Exterior Cell Data

Share this post


Link to post
Share on other sites

Move Trees

shadeMe helped me develop this script to fix the floating/sunk trees in the Black Marsh eastern regions that were artefacts of the region generation process. shadeMe added some new functions to Coda to enable me to accomplish this task and also added a new command line parameter to designate a specific script as a background process.

First you need to generate the list of cell form IDs by using the Export function mentioned at the end of the last post.

File -> Export -> Interior and Exterior Cell Data

This will limit the cells that need to be scanned. Even at that, the Black Marsh eastern regions comprise 1500 cells. In order to properly position the trees, I needed to simulate the Floor command so shadeMe added a new function called FloorRef. We discovered that the Floor command only worked on objects loaded into the render window, so shadeMe added another function called LoadRefIntoRenderWindow. Since it takes a moment to load a cell, this script must be run as a background process and requires some timing features. We also needed to specify that this script run as a background script on demand, so shadeMe added a second parameter to the RunCodaScript command. Yes, I have kept him busy. Idle hands and all that...

Like the Disable Trees example from the previous post, this script uses an array to specify the cells that need to be scanned. You specify the object that should be moved via the getFormByEditorID function. A simple comparison checks each object in the cell for the one you wish to move. Once a target object is found, I use the random number generator to set a random rotation angle. Then I raise the tree and use the FloorRef function to drop it to the ground. Since the ground isn't flat, I lower the tree by a bit more to sink it into the ground.

Since this script needs to load every cell into the Render Window, it takes a LONG time to run. I suggest starting it before you go to bed and it should be done by morning. :D Needless to say, it will take less time if you have fewer cells to scan.


CODA(MoveTrees, "5.0")
; This must be run as a background script. Set polling interval to 5 seconds.

var arCells
var cell
var objectRef
var baseToComp
var currHeight
var newHeight
var randomNum
var waiting
var doOnce
var cellCounter
var arRefs

begin
    if (doOnce == 0)
        ; since this is a background script, make sure the init phase happens only once
        arCells = ArrayCreate (1550)
        ArrayInsert (arCells, GetFormByFormID (0x01001783), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001787), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010017D9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001813), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100184D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100188D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010018C9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001905), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100193F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100197D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010019B7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010019F1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001A29), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001A61), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E45), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E49), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E4B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E4F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100489C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DA7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E59), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E57), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E5B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E5D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E5F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E63), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DC8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364A2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364A4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364A6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364A8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061091), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610C0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610DA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610DC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123384E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233850), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233852), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233858), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123386E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233886), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233888), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110D75B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EE1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EE3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EE5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EE7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EF7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F1D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F27), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F37), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038737), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038739), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103873B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103873D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103873F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038743), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103876F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038755), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038753), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100404D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004047), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004043), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100403D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004039), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004035), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003F8F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003F8D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003F91), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100272D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002761), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100279B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001785), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110D75A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010878A3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EEF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EF1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EF9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F1F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F29), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038735), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038723), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103870F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038711), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038713), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038715), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038717), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038771), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038757), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038759), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103875B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103875D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103875F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100403F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100403B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004037), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004031), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100402B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003F95), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003F93), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003F97), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003F99), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100178B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001789), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100178D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010017DB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001815), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E21), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E29), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010018CB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001907), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001941), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100197F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010019B9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010019F3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E3F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E43), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E47), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043D94), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043D9F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DA3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DA9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DAB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DAD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DB5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DB7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DB9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DCA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DD2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DD4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036492), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036494), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036496), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036498), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061093), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610C2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610DE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610E0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123385A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123385C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123385E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233860), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123386A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123387E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233880), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100178F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001793), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010017DD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001817), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001851), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001891), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010018CD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001909), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001943), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001981), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E39), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E3D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E41), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100488C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043D96), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043D98), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DA1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DA5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DAF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DB1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DB3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DBB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DBD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DBF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DCC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DCE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DD0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103649A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103649C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103649E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364A0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061095), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610C4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610E2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610E4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233862), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233864), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233866), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233868), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123386C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233882), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233884), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110D75C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110D75D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010878A4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EFD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011EFF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F01), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F03), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F21), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038741), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038727), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038725), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038719), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103871B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103871D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103871F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038721), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038773), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103876B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038761), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038763), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038765), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038767), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038769), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103876D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B6D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004033), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100402D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004021), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100401D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100401F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003F9B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001791), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010878A5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038777), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038775), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F07), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F09), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F0B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F0D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036578), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387C3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387BF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387AD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387AF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387B1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387B3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387B5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387BD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038819), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387DD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387DF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387E1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387E3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387E5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387E7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387E9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B87), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B89), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100402F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004023), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004025), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004027), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01004029), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001797), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E1B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E1D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E1F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001819), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001853), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001893), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E2D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100190B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E31), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E37), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E3B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DF5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DFB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E01), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E07), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E09), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E37), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E3D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E3F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E53), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E57), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E59), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E5B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E6F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E84), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E98), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E9A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103652E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036530), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036532), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036534), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0106109C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610E6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610F2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610F4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123389E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338A0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338A2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338A4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338E6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233904), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233906), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364E7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364EB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E25), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E23), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E27), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E2B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E2F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E33), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003E35), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DF1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DF7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DFD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E03), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E0B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E0D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E39), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E41), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E43), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E55), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E5D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E5F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E61), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E71), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E86), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E90), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E92), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103651A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103651C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103651E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036520), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036522), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610E8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610F6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610F8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338A6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338A8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338AA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338AC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338E2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338FC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338FE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038778), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038779), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036570), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036572), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F13), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F15), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01011F17), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103657A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036586), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387C1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387B7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387A7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103879B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103879D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103879F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387A1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038811), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038813), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103881B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387EB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387ED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387EF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387F1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387F3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038821), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038827), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B8B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B8D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B8F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B91), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B93), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BA7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364ED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364EF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364E3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364F1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B3F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B41), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B43), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364E9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364F9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DEF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DF3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DF9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043DFF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E05), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E0F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E11), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E3B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E45), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E47), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E4F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E63), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E65), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E67), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E73), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E88), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E94), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E96), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036524), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036526), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036528), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103652A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103652C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610EA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610FA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610FC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338AE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338B0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338B2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338B4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338E4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233900), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233902), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103877B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103877C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036566), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036568), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103656A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103656C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036574), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103657C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036588), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103658C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387B9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387A9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387A3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038795), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038797), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038799), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103880D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103880F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038817), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387F5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387F7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387F9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387FB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387FD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038823), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038828), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B95), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B97), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B99), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B9B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B9D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036593), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103877E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103655E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036560), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036562), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036564), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103656E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036576), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103657E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103658A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103658E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387BB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387AB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387A5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103878F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038791), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038793), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038809), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103880B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038815), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010387FF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038801), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038803), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038805), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038807), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038825), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103882A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B9F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BA1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BA3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BA5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BA9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036594), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100519A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100519C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100519E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051A0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051A2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051A4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051A6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051A8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051AA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051AC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051AE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051B0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051B2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051B4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051B6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051B8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051BA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051BC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051BE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051C0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051C2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051C4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051C6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051C8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051CA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051CC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051CE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051D0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051D2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051D5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103650E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036510), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610EE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061102), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061104), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338BE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338C0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338C2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338C4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338E0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338F8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338FA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074048), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103655A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005159), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037C7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003656), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003652), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100365C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003662), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003668), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100366E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100367C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003686), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100368C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003696), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036A2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036AC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036BA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036BE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036C4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036D2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036DC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036E2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036E6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036F0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036F4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010036FE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003704), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003708), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003712), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003716), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003720), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003726), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010017A1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074053), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005157), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100515D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005160), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005162), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005164), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005166), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005168), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100516A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100516C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100516E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005170), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005172), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005174), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005176), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005178), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100517A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100517C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100517E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005180), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005182), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005184), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005186), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005188), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100518A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100518C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100518E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005190), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005192), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005194), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005196), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005198), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037EA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037EB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037EC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037ED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037EE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037EF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037F9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037FA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037FB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037FC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037FD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037FE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037FF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003800), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003801), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003802), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051D3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051D6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103650C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036502), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036536), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610F0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061106), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0106110C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338C6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338C8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338CA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338DA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338EC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338EE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364F3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364F5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364E5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364F7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B45), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B47), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B49), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010364EA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B51), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043B53), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E13), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E15), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E17), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E19), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E1B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E1D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E49), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E4B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E4D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E51), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E69), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E6B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E6D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E75), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E8A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E8C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E8E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043E9C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036512), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036514), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036516), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036518), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610EC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010610FE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061100), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338B6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338B8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338BA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338BC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338DE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338F4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338F6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074046), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010617C3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005158), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100515E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037CA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037CB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037CC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037CD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037CE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037CF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037D9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037DA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037DB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037DC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037DD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037DE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037DF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037E6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010034C8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010034CE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010034D4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010034D8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010034E4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010034EC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010034F4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010034F8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003502), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003508), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003510), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003516), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100351E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003524), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100352C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003532), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003538), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003540), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003546), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100354C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003552), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003556), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003560), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003566), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100356C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003574), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003580), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003590), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003803), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051D7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036508), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036504), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036538), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103653A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061108), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0106110E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338CC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338CE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338D0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338DC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338F0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338F2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100179B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010017A7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010017E1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100181B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100185B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001897), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010018D3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100190D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100194B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001985), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010019BF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010019F7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001A2F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001A65), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001A9B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001ACF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001B03), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001B37), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001B69), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001B9B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001BCD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001BFF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001C37), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001C6B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001C9F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001CD3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01001D05), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100358E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003804), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010051D8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103650A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036506), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103653C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103653E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0106110A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061110), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338D2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338D4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338D6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338D8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338E8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x012338EA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A17), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A13), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A0F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A09), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A01), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369EF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369F1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369F3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A71), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A73), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A43), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A45), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A33), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A35), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A37), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A39), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074075), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074077), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107407B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107407D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074081), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A99), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A9B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A9D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B3A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B3C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074094), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740A2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740A8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BD0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BD2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AD5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365EC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365EE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103659A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365F0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BAE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BB6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BC0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EC1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043ED3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043ED5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043ED7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043ED9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EDB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EF1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EF7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F0B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F1E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F20), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F34), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F36), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F56), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F58), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F5A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F5C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F71), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F73), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F7F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036798), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036799), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103679B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100575B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100575D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005769), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369D9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0106111C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0106111E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061126), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123391E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233920), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123392B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233935), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123393D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107404A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103655C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100515A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010037C8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003654), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100235D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002369), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100237F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002395), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010023AB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010023D9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010023FD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100241D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002443), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100246B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100248F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010024B3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010024D3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010024FB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002537), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002569), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002597), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010025C5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010025F9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002629), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100265F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002691), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010026C3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010026FB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100272F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01002769), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100279F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100179F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036604), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036606), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036596), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036608), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103660A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103660B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103660C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BBC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BC4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BC8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EC7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EC9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043ECB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F03), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F05), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F07), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F16), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F18), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F40), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F42), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F46), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F48), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F4A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F4C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F89), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F8B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F85), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F87), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005773), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005775), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005777), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005779), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100577B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369D5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061114), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061116), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233914), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233916), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233918), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233931), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233943), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233945), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010617FC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010617F6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010617F8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A0B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A03), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369F5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369E7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369E9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A67), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A5D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A47), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A49), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A3B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A27), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A29), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A2B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ACF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AD1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074079), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107407F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074083), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A93), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A95), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A97), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B36), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B38), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107408C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074096), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074098), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BD4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BD6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AD7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365F2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365F4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103659C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365F6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BB0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BB8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EC5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EC3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EDD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EDF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EE1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EE3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EE5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EF3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EF9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F0D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F22), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F24), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F30), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F38), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F5E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F60), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F62), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F6A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F75), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F77), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F81), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01005743), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103678C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103678E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036790), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036792), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369D0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369DB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061120), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061122), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061128), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233922), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233924), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123392D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233937), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123393F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A15), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A11), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A0D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A07), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369F9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369FB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369FD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369FF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A75), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A77), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A79), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107405D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107405F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038830), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103882E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103882C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103883A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038838), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038832), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038834), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01038836), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074085), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074087), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074089), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074090), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074092), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740A4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740A6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AD2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BCC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BCE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AD3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365E6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365E8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036598), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365EA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BB2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BB4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BBE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BC2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BC6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BCA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043ECD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043ECF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043ED1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EFF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F01), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F09), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F1A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F1C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F3E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F44), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F4E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F50), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F52), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F54), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F79), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F7B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F7D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F83), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0100575F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103679F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010367A1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010367A3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369CD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369D7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061118), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0106111A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01061124), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123391A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123391C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233929), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233933), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123393B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010617FA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A05), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369F7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369EB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369E1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A69), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A5F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A4B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A4D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A3D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A2D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A1F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A21), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ACB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ACD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107406D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AA9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A9F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A8B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A81), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A83), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B32), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B34), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107408E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107409A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107409C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740AA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BD8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AD9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233941), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEEB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEE9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107405B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A6F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A65), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A57), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A59), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A5B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074061), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074067), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A1D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AC7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ABF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AB7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AAF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AA5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A91), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A89), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A7F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B28), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B22), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B1C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B16), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B0C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B0A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B06), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ADF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036677), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366A5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365CC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366C7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366E5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366EB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366FB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366FD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036707), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103670D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103671F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036721), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036723), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036725), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036729), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103672B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103672D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103672F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036731), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036733), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036735), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036743), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036745), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036747), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036755), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036761), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036767), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103676D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036773), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036779), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103677F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CA0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CC4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEF1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074057), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074058), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369ED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369E3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A6B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A61), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A4F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A51), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A3F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A2F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A23), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A19), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AC3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ABB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AB3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AAB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AA1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A8D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A85), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A7B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B2C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B2E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B30), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107409E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740A0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740AC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740AE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ADB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365FE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036600), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365A0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036602), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366ED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366F1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366F3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366F5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036703), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036709), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103670F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036711), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036713), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036715), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EFD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F11), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F2A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F2C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F2E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F3C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F68), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103674D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103674F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036751), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036757), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103675D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036763), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036769), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103676F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036775), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103677B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036796), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369D4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369DF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEEA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEE8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEEF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074063), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074064), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074065), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074066), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110B41C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110B41B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074069), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107406A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AC9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AC1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AB9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AB1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AA7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107406F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074071), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01074073), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B2A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B24), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B1E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B18), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B0E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B02), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B04), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AEF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036871), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010368A0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010367E0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010368BF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010368E1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036943), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036956), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036958), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103695A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103695C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103695E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036960), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036962), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036964), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036966), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036970), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036983), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103698B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036994), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103699D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369A5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369AD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369B3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369BC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369C0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369C2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369C4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369C6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369C8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369CA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369CC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CBE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CC6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEF0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEEE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110BEEC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0107405A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369E5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A6D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A63), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A53), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A55), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A41), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A31), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A25), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A1B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AC5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ABD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AB5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AAD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036AA3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A8F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A87), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036A7D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B26), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B20), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B1A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B10), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B12), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B14), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B08), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036ADD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103660D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036636), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365A2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036661), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366E7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366E9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366F7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366F9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036705), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103670B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036717), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036719), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103671B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103671D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036727), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F13), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036737), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036739), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103673B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103673D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103673F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036741), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036749), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103674B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036753), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103675F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036765), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103676B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036771), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036777), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103677D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036797), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CC2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096D5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096D3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740B0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740B2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740B4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740B6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740B8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740BA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096D0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096CE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740BC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740BD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B5C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B5A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B58), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B52), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B54), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B3E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365F8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365FA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103659E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010365FC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366EF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043BBA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010366FF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036701), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EE7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EE9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EEB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EED), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EEF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EF5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043EFB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F0F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F26), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F28), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F32), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F3A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F64), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F66), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F6C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01043F6E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036759), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103675B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036781), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036783), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036785), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036787), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036789), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036794), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369D2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369DD), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233926), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233927), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0123392F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01233939), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096D4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096D2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096CC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096CB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096CA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096C9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096C8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096C7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096C6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011096C5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01109636), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01109635), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740BF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740C1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740C3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B60), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B56), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01003778), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103692B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103692D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103692F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036931), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036937), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103694E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036954), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011067F7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011065A2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011065A1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036974), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036976), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036978), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103697A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036987), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103698F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036998), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369A1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369A9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369B1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369B7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110618F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01109638), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01109637), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740C5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740C6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010740C7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036B5E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036947), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036949), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103694B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103694C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036950), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CAA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CA2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103697C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103697E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036980), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036989), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036991), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103699A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369A3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369AB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369B9), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369BB), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110618E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010368E5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010368F2), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010367A6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036905), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036921), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036945), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036952), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011067F8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011065A5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011065A4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x011065A3), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036968), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103696A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103696C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103696E), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036972), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036985), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103698D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036996), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103699F), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369A7), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369AF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369B5), -1)
        ArrayInsert (arCells, GetFormByFormID (0x010369BE), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110618D), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110618C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110618B), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0110618A), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CB8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CBA), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CBC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CC0), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CAC), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CA6), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CA8), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CA4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036982), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01036993), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CB4), -1)
        ArrayInsert (arCells, GetFormByFormID (0x0103699C), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CAF), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CB1), -1)
        ArrayInsert (arCells, GetFormByFormID (0x01238CB3), -1)

        baseToComp = getFormByEditorID("BMEmpParasolSmall03")
        waiting = 0
        cellCounter = 0

        doOnce = 1
    endIf

    if (waiting == 1)
        ; we waited last time and the cell should now be loaded in its entirety
        ; so off to the next state
        waiting = 2
    endIf

    while cellCounter < ArraySize(arCells)
        cell = arCells[cellCounter]
        arRefs = GetCellObjects(cell)

        if (ArraySize(arRefs))
            if (waiting == 0)
                ; processing the cell for the first time, let's load it up
                LoadRefIntoRenderWindow(arRefs[0])

                ; wait for a bit until it loads
                printC("waiting...")
                waiting = 1
                break()
            elseIf (waiting == 2)
                ; cell is in a usable state, do stuff now
                printC("fixing refs...")

                printC("Processing cell "//$cellCounter//"/"//$ArraySize(arCells))
    
                forEach objectRef <- arRefs
                    if (GetRefBaseform(objectRef) == baseToComp)
                        ; fix height and set rotation
                        randomNum = RandomNumber(0, 359)
                        SetRefRotation(objectRef, "Z", randomNum)
                        currHeight = getRefPosition(objectRef, "Z")
                        setRefPosition(objectRef, "Z", currHeight + 30000)
                        floorRef(objectRef)
                        newHeight = getRefPosition(objectRef, "Z")
                        printC("Ref "//$objectRef//" - Old height: "//fmtNum("%0.4f", currHeight, 0)//", New height: "//fmtNum("%0.4f", newHeight, 0))
                        setRefPosition(objectRef, "Z", newHeight - 60)
                        markAsModified(objectRef, 1)
                    endif
                loop
                ; this cell is done, on to the next
                waiting = 0
                cellCounter += 1
            endif
        else
            ; nothing in this cell, continue on
            cellCounter += 1
        endif
    loop
    
    if (waiting == 1)
        ; we just started waiting, so ta-ta
        return()
    endIf

    printC("All done.")
    ; remove the script from the background queue
    return(0, 1)
end



I warned you this was a beast! We had to increase the post size limit so I could post this. In order to run this script, you need to enable background execution by selecting Execute Background Scripts from the main Coda menu:
 
Coda -> Execute Background Scripts
 
You also need to use 1 for the background execution parameter when you invoke the RunCodaScript command, as follows:
 

RunCodaScript MoveTrees 1
 
Now you can go to bed or leave for the day to do some chores. :P
 
If you have any questions about this or any of the previous scripts, please feel free to ask in this thread.

Share this post


Link to post
Share on other sites

shadeMe has added a new function to Coda that will retrieve the usage of a specific object. In the above MoveTrees script, you'll see that it requires a list of Form ID's for the cells to scan. Previously you had to get that list by exporting the full list of exterior cell Form ID's and then manually comb through the usage info to figure out which cells actually needed to be scanned. No longer! Here is a script demonstrating the usage of the new GetCellUseList function:
 

CODA(GetUsage)

var cellUsage
var baseObject
var instance

begin
    baseObject = getFormByEditorID("BMFloraKelp03")
    cellUsage = GetCellUseList(baseObject)
    foreach instance <- cellUsage
        printC("Cell "//$instance)
    loop
end
 
This script assumes that the specified object has been instantiated at least once. :) This script produces a list like this:
 
 
[CSE]            Cell 01011EE7
[CSE]            Cell 01011EEF
[CSE]            Cell 01011EF1
[CSE]            Cell 0100237F
[CSE]            Cell 01002395
[CSE]            Cell 010037CB
[CSE]            Cell 010037CE
[CSE]            Cell 01011F0B
[CSE]            Cell 010024B3
[CSE]            Cell 0103658A
[CSE]            Cell 010036DC
[CSE]            Cell 010369FB
...
 
If you have an editor like TextPad which has a block select mode, you can easily copy the Form ID's and paste them into your script. Failing that, you can create a regular expression to strip off the extra text. :P

Share this post


Link to post
Share on other sites

I'm so glad I wandered over here. Been wondering about using Coda to do some tree stuff, and this addresses a few issues in advance that I know would trip me up. May not get round to it anyway, but thanks for making it easier to think about...

Share this post


Link to post
Share on other sites

I suspect shadeMe has added more stuff since I last looked at it. I've been away from modding for over a year now. I might add more stuff to this thread when I get back into the swing of things.

Share this post


Link to post
Share on other sites

Here's a thing, and it doesn't show in your example, because you are using SetRefRotation. But, ah, CreateRef, I completely forgot that it takes radians, not degrees. I made the mistake of blithely feeding the results of GetRefRotation into CreateRef, you see (while cloning an existing static as an activator). Of course, it's easily fixed by *.0174532925, but why? Why use different units at all? It's like the metric-imperial clash, sitting in the road just waiting to trip someone up.

Share this post


Link to post
Share on other sites

Well, I think it's OK as long as people are alerted to it. I must have figured it out (can't see where it mentions radians in the CSE docs, frankly) a while back, looking at my old code. But I was only using CreateRef by itself then; it's when it meets other commands you have to watch out, especially when there's lots of cut 'n' paste coding going on...

Share this post


Link to post
Share on other sites

Right, since your Move Trees script was such an inspiration (would have taken me a little time getting backgrounding right, I think), in return here's my adaptation, which substitutes forms using CreateRef. Maybe you can find a use for it - seems to work pretty well, I've done a fair few runs now:
 


CODA(ChangeLogRefs01, "5.0")

;Substitutes new forms for old

var cellUsage
var cellCounter
var baseObject
var baseToSub
var instance
var arCells
var cell
var arRefs
var VIflag
var objectRef
var newRef
var objCount
var cellCount
var waiting
var doOnce

var currX
var currY
var currZ
var currRotX
var currRotY
var currRotZ
var newRotX
var newRotY
var newRotZ

begin
    if (doOnce == 0)
        
        ; since this is a background script, make sure the init phase happens only once
 
         baseObject = getFormByEditorID("LandscapeLogBirch01")
            baseToSub = getFormByEditorID("TC18LandscapeLogBirch01")
            
         arCells = ArrayCreate (10000)
        cellUsage = GetCellUseList(baseObject)
        
        foreach instance <- cellUsage
            
            cell=instance
            arRefs = GetCellObjects(cell)
            VIflag=0
            
            forEach objectRef <- arRefs
                if (GetRefBaseform(objectRef) == baseObject)
                    
                    ;printC($objectRef)

                    if (objectRef > 0x1000000)
                        VIflag=1    
                         objCount+=1
                    endif
                endif
                   loop
           
            if (VIflag==1)
                ArrayInsert (arCells, GetFormByFormID (instance), -1)
                cellCounter+=1
            endif
             
             loop

        printC("Preparing to change "//$objCount//" objects in "//$cellCounter//" cells")

        waiting = 0
        cellCounter=0
        objCount=0
        doOnce=1
    endif
    
    if (waiting == 1)
        ; we waited last time and the cell should now be loaded in its entirety
        ; so off to the next state
        waiting = 2
    endIf

    ;Now go through cells

    while cellCounter < ArraySize(arCells)
        
        cell = arCells[cellCounter]
        arRefs = GetCellObjects(cell)

        if (ArraySize(arRefs))
            if (waiting == 0)
            ; processing the cell for the first time, let's load it up
            LoadRefIntoRenderWindow(arRefs[0])

            ; wait for a bit until it loads
            printC("waiting...")
            waiting = 1
            break()
            
            elseIf (waiting == 2)
            
            ; cell is in a usable state, do stuff now

            printC("Processing cell "//$cellCounter//"/"//$ArraySize(arCells))
            
            forEach objectRef <- arRefs
                
                if (GetRefDisabled(objectRef)==0)    ;in case we somehow run this twice in the same session
                    
                    if (GetRefBaseform(objectRef) == baseObject)

                        ;Collect all the necessary info

                        currX = getRefPosition(objectRef, "X")
                        currY = getRefPosition(objectRef, "Y")
                        currZ = getRefPosition(objectRef, "Z")

                        currRotX = getRefRotation(objectRef, "X")
                        currRotY = getRefRotation(objectRef, "Y")
                        currRotZ = getRefRotation(objectRef, "Z")

                        ;convert to radians

                        ;WARNING!!! From v8.0 (now in dev), CreateRef will take degrees, so delete the conversions and
                        ;replace the CreateRef line with:

                        ;newRef=CreateRef(baseToSub, currX, currY, currZ, currRotX, currRotY, currRotZ, cell, GetCellWorldSpace(cell))

                        newRotX=currRotX*0.0174532925          ;pre CSE v8.0
                        newRotY=currRotY*0.0174532925         ;pre CSE v8.0
                        newRotZ=currRotZ*0.0174532925         ;pre CSE v8.0

                        newRef=CreateRef(baseToSub, currX, currY, currZ, newRotX, newRotY, newRotZ, cell, GetCellWorldSpace(cell))

                        SetRefDisabled(objectRef,1)    ;Disable old ref
                        SetRefPosition(objectRef, "Z", currZ - 10000)    ;And sink it
                        markAsModified(objectRef, 1)

                        printC("    Replacing Ref: "//$objectRef//" with Ref: "//$newRef)
                        objCount+=1
                    endif
                endif
            loop


            ; this cell is done, on to the next
            waiting = 0
            endif
        else
            ; nothing in this cell, continue on
        endif




        cellCounter += 1
    loop                  

    ;printC("Cell Count: "//$cellCount//" Object Count: "//$objCount//" Bye bye.")    


    if (waiting == 1)
        ; we just started waiting, so ta-ta
        return()
    endIf

    printC("All done.")
    printC("Cells Processed:"//$cellCounter)
    printC("Objects Processed:"//$objCount)
        ; remove the script from the background queue
    return(0, 1)

end

 

 

Notes:

 

1) I've combined the getusage run with the main processing script, it now populates the array directly - saves a bit of time doing all that cut and paste, but needs carefully checking usage info going in and coming out.

 

2) The (objectRef > 0x1000000) check is to ensure that vanilla objects are not replaced in this case (I'm running it on another mod). A crude check, delete/reverse it for vanilla, or it might be a bit more nuanced if there is a chain of dependencies.

 

3) Performance isn't too bad IMO, processed about 150 forms in around 10mins (that's just the birch logs, though).

 

4) Just FYI, the background here is that I am substituting activators (with the same meshes) for static logs, as in Qarl's Harvest, where I have already published a fruit tree add-on (I seem to keep coming back to this, dunno why). That's why I'm avoiding vanilla meshes, he already did those. I've been test running on Valenwood Improved (terrific landscape, but very very few ingredients in it), quite demanding, hundreds of logs. Unique Landscapes is an obvious other target - after all, it doesn't change the look of the landscape in any way, you just get a bunch of extra ingredients.

Edited by tegeusCromis

Share this post


Link to post
Share on other sites

A question. I'm exploring the potential of the FloorRef command, which could have all sorts of possibilities (good on you for getting shadeMe to implement it!). But I've come up against an issue, I'm simply trying to figure out which cells a mod has altered. Now this is not a problem when it comes to a mod adding refs, you just scan through every cell looking for >0x1000000s or whatever. I've done this and it's shockingly fast even for the whole of Tamriel. But I've only got one form of alteration - if the mod has added something to the cell. But CODA cannot tell if it has modified vanilla objects (or objects from a prior mod - as in patches for example). There is a MarkAsModified command, but no GetRefModified function (argh!). [EDIT: I've asked shadeMe for one.]

 

So - am I missing something here, perhaps a workaround?

 

(Also, of course, I don't think there is any way in CODA to detect landscape edits, but I don't suppose it was intended to go there in the first place...)

Edited by tegeusCromis

Share this post


Link to post
Share on other sites

Well, blow me down...

 

http://forums.bethsoft.com/topic/1517431-rel-construction-set-extender/page-6

 

Wow, what an amazing person. But now, of course, the script I posted here has to be changed. I assume that shadeMe has standardised on degrees (in which case I simply remove the conversion lines), but I'll have to test it. I'll just edit the previous post. The conversion lines will be commented out wih a note, because it'll need v8+.

 

[Well, when 8.0 is uploaded. Fine by me, I need a break from the current app...]

Edited by tegeusCromis

Share this post


Link to post
Share on other sites

Got the 8.0 dev version (don't know when he's putting it on the Nexus, lotsa testing going on). Yep, the rotations now harmonise, so I've added a note to the above script pending a general release.
 
Now for GetRefModified...
 
Oh, and I'm sure it won't take you long, AB. It took me a couple of months to remember how things worked earlier this year, I admit, but I have a teeny tiny amount of experience compared with you.
 
EDIT: Oh well, I'm short of that for now.
 
OK, what I'm trying to do is create a simple-minded floater detector, which would be of use for checking by both landscape modders and patch authors. I don't think it's possible to construct one that doesn't throw many false positives, especially for rocks (trees not too bad), but I still think it is good to have a list of suspects as a final check. It's essential, though, that it can detect if vanilla/prior mod objects have been moved, hence the GetRefModified. Of course you can FloorRef every damn object of a given type in the game database, but that's mad. I do see, however how to construct one that operates only on a pre-specified matrix of cells (this actually takes a little finagling in fact) which would cut down on run time, but it could be that much easier...
 
UPDATE: We do have now a new function, downloaded from Dropbox. And it seems to do what I hoped. Going to plug it into the latest script version now.:
 

IsModified - Returns true if the form has been modified, i.e., saved to the active file.
(numeric) IsModified form:ref

Edited by tegeusCromis

Share this post


Link to post
Share on other sites

I was using CODA to fix the region generation in Black Marsh, so everything was modified. :P We had both floating objects and objects that were embedded in the ground, so my approach was to raise everything of a particular base object 30,000 units up and then floor them. I also added a random rotation since they were all oriented in the same direction originally. That's what my moveTrees script did, above.

 

I limited the number of objects by doing this for blocks of cells. A similar approach might work for you, combined with checking for modified objects.

Share this post


Link to post
Share on other sites

Yeah, sorry, should have pointed out that yours also was a (very large scale) floater fixer. Mine is something more modest that simply reports suspects (apart from false positives, some may even be intentional) that can then be fixed manually; and we're checking against vanilla/previous mods so it's also a compatibility check for mods. (Hope the Black Marsh is going well, love to see it. Didn't sign on to beta testing because I had too much else on at the time, maybe when that comes up again.)
 
I started with the cell block thing, but what I'm actually doing now is filtering through every single damn thing in the foreground initialise using two passes. Saves specifying, plus might catch the odd out-of-area mess-up (of course TES4Edit is the usual go-to for that, but every check helps).
 
Oh, and I just realised that background mode probably isn't needed for the CreateRef example I posted here, I just thought it looked cool. I'll post a foreground version later, which should run much faster.
 
In any case background mode broken right now, probably because of something I did installing shadeMe's dev v8...
 
EDIT: (Groan but, OK, developments keep insisting on being ongoing entities.) An important note to anyone using CODA is that - apart from the angular units, which is partly my fault and could affect existing code - shadeMe is now redirecting background text output, which is why I thought my CSE was broken. To quote:
 

I've added a new console context for Coda output (Right click on the console > Contexts > Coda Script). All background scripts print their output exclusively to this context at the moment. I'll add an INI toggle to allow them to additionally write the default context.

 

Of course, this is v8, which is in dev, but I thought an early alert might be in order.

Edited by tegeusCromis

Share this post


Link to post
Share on other sites

OK, here's another one for you (taking a break from the floater thing, will come back to it). Valenwood Improved is proving a useful test case here. Almost none of the NPCs have any dialogue at all, so I thought about creating a Valenwood faction that gave them special provincial dialogue, at least. Goes without saying that we do not want to directly edit NPC base records - but fine, we can add them into the faction from game script with the slightly eccentric SetFactionRank command. But this needs an EditorID to operate on an instance of the Base Form (not the base itself, thankfully), however, none of the NPCs in this mod have EdIDs when instantiated.
 
So here's a script that attends to these neglected people:

 

 

 


CODA(ProcessNPCRefs01, "5.0")

;arrays

var arNPCs
var arNPCcount
var arRefs    ;Objects in cell

;counts & counters

var totalNPCs
var useCount
var loopCount
var cellCount
var refCount
var charCount
var loopCount2

;references

var baseObjectRef
var objectRef
var cellRef

;

var targetType
var NPCBaseEdID
var NPCRefEdID
var cellUsage

;utility

var numFlag
var testSubstr
var tempString
var doOnce

var baseWorldSpace

begin

    if (doOnce==0)
        baseWorldSpace=0x0000003C    ;Tamriel
        targetType=35    ;NPCs
        arNPCs=GetDataHandlerFormList(targetType)
        totalNPCs=ArraySize(arNPCs)
        arNPCcount=ArrayCreate(totalNPCs)
               
               
               printC("")
            printC("Scanning through "//$totalNPCs//" NPCs")
        
        loopCount=0
        
        while (loopCount < totalNPCs)
            
            ArrayInsert (arNPCcount, 0, -1)
            baseObjectRef=arNPCs[loopCount]
            
            if (baseObjectRef > 0x1000000)    ;Don't do vanilla in this case, but you might want to for base npcs in some cases
                
                NPCBaseEdid=GetEditorID(baseObjectRef)    ;Base forms
                printC($baseObjectRef//"  EdID: "//NPCBaseEdid)
            
                cellUsage = GetCellUseList(baseObjectRef)    ;need every cell probably
                
                cellCount=0
                refCount=0
                
                foreach cellRef <- cellUsage
                           
                           arRefs = GetCellObjects(cellRef)

                            forEach objectRef <- arRefs
                     
                        if (objectRef > 0x1000000 && baseObjectRef == GetRefBaseForm(objectRef))        ;surely no vanilla here
                            
                            if (GetEditorID(objectRef) == "")    ;Don't want to overwrite existing IDs
                            
                                arNPCcount[loopCount]+=1    ;There may be more than one instance of base object
                                tempString=fmtNum("%02X", arNPCcount[loopCount], 1)    ;Change if more than 2 digits needed
                                NPCRefEdID=NPCBaseEdID//tempString//"REF"

                                ;This little section strips leading numerals to alpha.
                                ;(They can cause problems later with game scripts.)
                                ;It may be need to be fixed if the n


                                charCount=0
                                numFlag=0

                                while (numFlag == 0 && charCount<StringLength(NPCRefEdID))
                                    testSubstr=StringSubStr(NPCRefEdID, charCount, 1)
                                    if (StringIsNumber(testSubstr))
                                        charCount+=1
                                    else
                                        numFlag=1
                                    endif
                                loop

                                ;There is a potential problem here, if the leading numerics guarantee uniqueness, but that's just awful modding...

                                if (charCount>0)

                                    NPCRefEdID=StringErase(NPCRefEdID,0,charCount)                                        

                                endif


                                ;Whatever, let's just do it.

                                SetEditorID(objectRef,NPCRefEdID)    ;If you just want to generate game script lines
                                MarkAsModified(objectRef,1)        ;comment out these two lines and all the other console output
                                
                                ;You may want to do this before changing the records for good.
                                ;OTOH, simple to write a script that does it later for all refs

                                ;PrintC(NPCRefEdID//".SetFactionRank MagesGuild, 0")    ;cut n paste stuff for game script.
                                
                                printC("    Instance in cell: " //$cellRef//" set to "//NPCRefEdID)
                            
                            endif
                        endif
                    loop                
                
                cellCount+=1
                    
                loop
            
            endif
            
            loopCount+=1
        loop
        
        doOnce=1
    endif

    
    printC("All done.")
    ; remove the script from the background queue
    return(0, 1)


end

 

 

 

It also has a little extra, because some of the NPCs have Base EdIDs that start with numerics, which is a bad idea in game scripting, so it lops these out.

 

I'm also not sure that we aren't pushing GetCellUseList  a bit far. It would be helpful to be able to access more Use Lists. And more, but not nagging poor shadeMe any more right now.

 

Oh, and the other handy thing is that this can now be used to generate a series of SetFactionRank command lines that can pasted into a game startup script. Though in most cases it would be better to use a separate script for this to be sure and catch all refs (you can make one from this one easily enough).

 

ACTUALLY - here it is now, just a quick bodge from the old script:

 

 

 

CODA(GenerateNPCStartupCode01, "5.0")

;arrays

var arNPCs
var arNPCcount
var arRefs    ;Objects in cell

;counts & counters

var totalNPCs
var useCount
var loopCount
var cellCount
var refCount
var charCount
var loopCount2

;references

var baseObjectRef
var objectRef
var cellRef

;

var targetType
var NPCBaseEdID
var NPCRefEdID
var cellUsage

;utility

var numFlag
var testSubstr
var tempString
var doOnce

var baseWorldSpace

begin

    if (doOnce==0)
        baseWorldSpace=0x0000003C    ;Tamriel
        targetType=35    ;NPCs
        arNPCs=GetDataHandlerFormList(targetType)
        totalNPCs=ArraySize(arNPCs)
        arNPCcount=ArrayCreate(totalNPCs)
               
               
               printC("")
            printC("Scanning through "//$totalNPCs//" NPCs")
        
        loopCount=0
        
        while (loopCount < totalNPCs)
            
            ArrayInsert (arNPCcount, 0, -1)
            baseObjectRef=arNPCs[loopCount]
            
            if (baseObjectRef > 0x1000000)    ;Don't do vanilla in this case, but you might want to for base npcs in some cases
                
                NPCBaseEdid=GetEditorID(baseObjectRef)    ;Base forms
                ;printC($baseObjectRef//"  EdID: "//NPCBaseEdid)
            
                cellUsage = GetCellUseList(baseObjectRef)    ;need every cell probably
                
                cellCount=0
                refCount=0
                
                foreach cellRef <- cellUsage
                           
                           arRefs = GetCellObjects(cellRef)

                            forEach objectRef <- arRefs
                     
                        if (objectRef > 0x1000000 && baseObjectRef == GetRefBaseForm(objectRef))        ;surely no vanilla here
                            
                            if (GetEditorID(objectRef) != "")    ;Make sure you've run my previous prog to obviate this test
                            
                                NPCRefEdID=GetEditorID(objectRef)
                                
                                PrintC(NPCRefEdID//".SetFactionRank MagesGuild, 0")    ;cut n paste stuff for game script, choose your own guild.
                                
                                
                            endif
                        endif
                    loop                
                
                cellCount+=1
                    
                loop
            
            endif
            
            loopCount+=1
        loop
        
        doOnce=1
    endif

    
    printC("All done.")
    ; remove the script from the background queue
    return(0, 1)


end
 

 

 

 

Whatever I do with the result, it's proving to be fun finding out how far one can get with this stuff...

 

EDIT: As noted, further down, I wittily forgot to finalise the entry with MarkAsModified(). Fixed now. Also, it is possible that the program may generate a ref that already exists (after all, it's mostly just adding '01REF' to the Base EDid, though it does check for multiple instances). I could check for this, but right now it isn't catastrophic, I checked and the CS catches it in its usual way and appends 'DUPLICATE0000' or whatever to the new ref. It will show when this happens in the console context and the log.

 

Oh, and to anyone running any of this stuff. I know it shouldn't have to be said but please, please be sure to back your work up properly before doing so!

Edited by tegeusCromis

Share this post


Link to post
Share on other sites

Thanks. Blimey tho, I should know that, BBCode is not too unfamiliar. Long day. Also, ironically, after all the IsModified stuff, I forgot to do MarkAsModified() at the end. Will fix both in a moment.

Edited by tegeusCromis

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×