Page 1 of 1

Поправте скрипт на Алхимию

Posted: 2009-12-04 09:20:26
by Guska
Чар не всегда берёт реги из сундука
sub Poison()
VAR Exit=0, LastTimer, TryToPoison
while Exit<>1
UO.DeleteJournal()

UO.FindType('0x0F0E',-1,'backpack') ; bottle
if uo.count('0x0F0E')<10 then
UO.FindType('0x0F0E','0x0000','0x4005b307') ; bottle, container
wait(1000)
UO.Grab('100','finditem')
wait(100)
Endif
UO.FindType('0x0F88','0x0000','backpack') ; NS
if uo.count('0x0F88')<10 then
UO.FindType('0x0F88','0x0000','0x4005b307'); NS, container
wait(1000)
UO.Grab('700','finditem')
wait(500)
Endif
LastTimer=UO.Timer()
UO.WaitMenu('What','(last)') ; menu
UO.UseType(0x0F88) ; NightShade

while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
wait(500)
wend

If UO.InJournal("You toss the failed") then
repeat
wait(100)
until UO.Timer()>=LastTimer+100 ;time to make sword
Else
TryToPoison=1
repeat
UO.FindType('0x0F0E','0x0998','my')
If UO.GetQuantity('finditem')>0 then
UO.UseSkill('Poisoning')
UO.WaitTargetObject('0x404adcc1','finditem') ; sword
; UO.UseSkill('Poisoning')
wait(4000)
Else
TryToPoison=0
Endif
EndIf
UO.UseSkill('Spirit Speak')
wait(3000)
wend
end sub

Posted: 2009-12-04 10:05:11
by Mirage
скрипт топором деланный.
1) проверка на while Exit<>1 накой черт если она в скрипте не учитывается? То же самое про TryToPoison вообще тут не используется.
2)UO.FindType перед uo.count('0x0F0E') делать не надо - оно и так ищет
3)UO.Grab('100','finditem') устаревшая команда. Лучше мувом пользоваться
4)какоето неереально накидывание циклов и проверок if while repeat...

Приведи в порядок скрипт, проставь отступы, избавься от ненужного. Скрипт станет на половину кароче и работоспособнее.

Posted: 2009-12-04 10:09:50
by Guska
Mirage wrote:Приведи в порядок скрипт, проставь отступы, избавься от ненужного. Скрипт станет на половину кароче и работоспособнее.


да если б я знал как его исправить то не писал бы здесь, исправь пожалуйсто