you used a multidimensional array aka a list of lists , the first and second line of SetText will result in Attribute error exception to be raised.
your method might be correct depending on how you do it , but it will result in you having to wast more time.
for the List var you could use a tuple as it is a immutable (it does not change no matter what).
ex.
List = [ ]
List =
[
[(ui.TextClass, 0), (0, 0), (x, y), (["SetDefaultFontName", [""]]), ()],
[(ui.ImageClass, ""), (0, 0), (x , y), (["LoadImage", ["image"]]), ("movable", "float")],
]
metin2 does have it's own methods for dealing with UI , i highly recommend using it. (there are already over 50 example of it in uiscript and the locale dir of each client).