Ура, заработало! GrayFace, спасибо за v4138, реально помогло!
Вдруг кому ещё понадобится - поэтому выложу весь скрипт. Он каждый раз меняет деф Хоббита на один из 14 новых дефов, хранящихся в h3sprite.lod. Работает как на 3.58f, так и на TE 1.03.
!#UN:A0/9/?y10; [backup Z var number]
!#UN&y10<0:A0/9/?z-1; [backup string (3.59)]
!#UN:A0/9/1; [art0.Name = z1]
!#UN:C6687592/4/?y1; [get artifacts array address]
!#UN:Cy1/4/?v4138; [get art0.Name which is z1 address. Name goes first in art info, so y1 points to art0.Name]
[v4138 holds address of z1 now]
!#UN&y10>=0:A0/9/y10; [resture Z var number]
!#UN&y10<0:A0/9/z-1; [restore string (3.59)]