по поводу одевания/раздевания, у меня получился вот следующий пример. но это всего лишь пример, так как он имеет ряд ограничений. во-первых работает, что неудивительно, медленно, во-вторых для раздевания и одевания нужно произносить определенные слова, указанные в соответствующих переменных скрипта. то есть, если кто-то знает эти слова, то он тоже сможет раздеть тебя и одеть. проверку на то, "кто сказал мяу" я в скрипт не вставлял. это каждый может сделать самостоятельно.
Code:
sub main()
var dressmessage='dressme'#заменить на свою команду для одевания var undressmessage='undressme'#заменить на свою команду для раздевания
dim obj[19]
var num
dim layer[19]
layer[0]='Rhand'
layer[1]='Lhand'
layer[2]='Shoes'
layer[3]='Pants'
layer[4]='Shirt'
layer[5]='Hat'
layer[6]='Gloves'
layer[7]='Ring'
layer[8]='Neck'
layer[9]='Waist'
layer[10]='Torso'
layer[11]='Brace'
layer[12]='TorsoH'
layer[13]='Ear'
layer[14]='Arms'
layer[15]='Cloak'
layer[16]='Robe'
layer[17]='Eggs'
layer[18]='Legs'
uo.print('Select container.')
uo.addobject('mycontainer')
repeat
wait(100)
until not uo.targeting()
for num=0 to 18
obj[num]=uo.objatlayer(layer[num])
next
while not uo.dead()
if uo.injournal(undressmessage) then
uo.setjournalline(uo.injournal(undressmessage)-1,"a")
for num=0 to 18
if obj[num] then
uo.moveitem(obj[num],'1','mycontainer')
repeat
wait(30)
until uo.containerof(obj[num])==uo.getserial('mycontainer')
endif
next
endif
if uo.injournal(dressmessage) then
uo.setjournalline(uo.injournal(dressmessage)-1,"a")
for num=0 to 18
if obj[num] then
uo.equip(layer[num],obj[num])
repeat
wait(30)
until uo.objatlayer(layer[num])==obj[num]
endif
next
endif
wait(100)
wend
end sub
примечание: тестировалось на шарде ZuluHotel Resurrection [http://resurrection.zuluhotel.ru]