Page 1 of 1

Скрипт на ремнот вещей

Posted: 2006-08-11 16:47:46
by Rijo
Вот думаю как бы написать скрипт на следующие действия:
1) чар смотрит надето ли на определенную часть тела что либо, в том числе и оружие.
2) Запоминает каждую вещь
3) снимает запомненную вещь
4) чинит её(ну этот пункт в принципе не сложно написать :) )

Posted: 2006-08-11 17:42:47
by kexwer
есть уже такой скрипт....
Вот...

Code: Select all

sub Repair() 
VAR i,Exit,Part
VAR Molotok='0x13E3'
DIM Layers[8]
Layers[0]='Hat'
Layers[1]='Neck'
Layers[2]='Gloves'
Layers[3]='Arms'
Layers[4]='Torso'
Layers[5]='Legs'
Layers[6]='Lhand'
   
For i=0 to 6
Part=UO.ObjAtLayer(Layers[i])
If Part<>"" Then
Exit=0
While Exit==0
CheckLag() ;Delete journal
UO.WaitTargetObject(Part)
UO.UseSkill('Arms Lore')
Repeat
wait(1000)
Until UO.InJournal('Defense') OR UO.InJournal('uncertain')
wait(1500)
If UO.InJournal('full repair') Then
Exit=1
Else
UO.UnEquip(Layers[i])
wait(1000)
UO.WaitTargetObject(Part)
UO.UseType(Molotok)
wait(1500)
UO.Equip(Layers[i],Part)
EndIf
Wend
Endif
Next
UO.Print("!!Все починено!!")
end sub

sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(700)
until UO.InJournal('backpack')
end sub

Posted: 2006-08-11 18:36:44
by Rijo
kexwer wrote:есть уже такой скрипт....
Вот...

Спасибо, пришлось конечно подправить немного :). Хотя я свой почти дописал. Ну в идеале он бы получился бы таким же практически

Posted: 2006-08-11 18:41:39
by kexwer
Что подправил?
Просим! Просим! =)

Posted: 2006-08-11 18:44:25
by Rijo

Code: Select all

DIM Layers[8] 
Layers[0]='Hat'
Layers[1]='Neck'
Layers[2]='Gloves'
Layers[3]='Arms'
Layers[4]='Torso'
Layers[5]='Legs'
Layers[6]='Lhand'

Хотя тут немного некоректно написанно, массив обозначе как на 8 частей, а используются 7. Хотя все работате :)

Ну я тут немного поудалял, чтобы сразу ченил, а не тестил армор, так быстрее получается ;)

Code: Select all

sub Repair() 
VAR i,Exit,Part
VAR Molotok='0x13E4'
DIM Layers[8]
Layers[0]='Hat'
Layers[1]='Neck'
Layers[2]='Gloves'
Layers[3]='Arms'
Layers[4]='Torso'
Layers[5]='Legs'
Layers[6]='Lhand'
   
For i=0 to 6
Part=UO.ObjAtLayer(Layers[i])
If Part<>"" Then
 
UO.UnEquip(Layers[i])
wait(1000)
UO.WaitTargetObject(Part)
UO.UseType(Molotok)
wait(1500)
UO.Equip(Layers[i],Part)
Endif
Next
UO.Print("!!Vse po4ineno!!")
end sub
[/code]