Having trouble with this array setup (beginner Copy & Paste programmer).
I keep getting one extra blank line of ‘input’ at the beginning of the array which throws off my index count.
In the example below, I’m accessing position [10] [3] , which should be the value of 109. It keeps coming up 1 value sooner…108.
Hope I explained it well enough…THANKS in advance!
- Mike
Example:
try(destroyDialog Temp_Array)catch()
– Start Create Rollout Interface
rollout Temp_Array “Temp Array Madness v6” width:260 height:60
(
button ‘Create_Array_MD’ “Create Multi Dim Array” pos:[65,20] height:24 toolTip:“Track selected vertex.” align:#left
on Create_Array_MD pressed do
(
clearlistener()
Global Indx = 1 -- Index of an array in Maxscript must start at 1...not 0
Global Cfrm = 0 -- Temp Frame Number
Global Cvtx = 100 -- Temp vertex number
Global Sfrm = 10 -- starting frame of selection
Global Efrm = 20 -- ending frame of selection
Global Lck = "N" -- numbers locked or not
Global NumItems = 6 -- Number of data items in each 'line'
Global AnimRangeStart = 0 -- Starting Frame Number To Process
Global AnimRangeEnd = 10 -- End Frame Number To Process
Global myMultiDimArray=#(#(),#()) -- start empty multi dimensional array named 'myMultiDimArray'
sliderTime = 0f
Indx = 1
myMultiDimArray=#(#())
for r = AnimRangeStart to AnimRangeEnd do -- loop from 0 to total items in range
(
Cfrm = sliderTime as string
Cfrm = trimright Cfrm "f"
Cfrm = Cfrm as integer
Cvtx = 100+Cfrm-- 'get Current Vertex' - changing value here for testing
Sfrm = Sfrm -- get first frame of vertex pos
Efrm = Efrm -- get last frame when vertex pos
append myMultiDimArray #(Indx,Cfrm,Cvtx,Sfrm,Efrm,Lck)
Indx += 1
sliderTime += 1
)
print myMultiDimArray
print "Asking for: myMultiDimArray[10] [3] - Answer should be 109"
print myMultiDimArray[10] [3]
)
)
– Create Rollout
createdialog Temp_Array