Page 1 of 2

Знатоки помагите скрипт подправить

Posted: 2005-05-15 21:54:39
by duk
у меня есть скрипт
sub alchtrain()
VAR Sunduk=0x40343BF3 ;ID контейнера где лежат бутылки и нс
VAR Dagger=0x400D3154 ;ID оружия которое пойзонить
VAR Exit=0,TryToPoison,ToEat=0

uo.useobject(Sunduk)
wait(500)
while Exit<>1
ToEat=ToEat+1
if ToEat==500 then
uo.findtype(0x097B,-1,'backpack')
if uo.findcount()>0 then
repeat
UO.UseObject('finditem')
wait(500)
until uo.count(0x097B)==0 or uo.injournal('You feel quite full') OR uo.injournal('You are stuffed!') OR uo.injournal('You are simply too full')
endif
ToEat=0
endif
UO.DeleteJournal()
uo.findtype(0x0F0E,0x0000,'backpack')
If UO.GetQuantity('finditem')<10 then
uo.findtype(0x0F0E,0x0000,Sunduk)
UO.Grab('300','finditem')
wait(1000)
Endif
uo.findtype(0x0F88,-1,'backpack')
If UO.GetQuantity('finditem')<20 then
uo.findtype(0x0F88,-1,Sunduk)
UO.Grab('1000','finditem')
wait(1000)
Endif
UO.WaitMenu('What','(2)') ; menu
UO.UseType(0x0F88) ; NightShade
while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
wait(200)
wend
If UO.InJournal("You put") then
TryToPoison=1
repeat
uo.deletejournal()
UO.FindType(0x0F0E,0x0998)
If UO.GetQuantity('finditem')>0 then
UO.WaitTargetObject(dagger,'finditem')
UO.UseSkill('Poisoning')
repeat
wait(200)
until uo.injournal('You apply the poison') or uo.injournal('You fail to apply')
Else
TryToPoison=0
Endif
until TryToPoison==0
EndIf
wend
end sub



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

Posted: 2005-05-16 08:00:25
by duk
up

Posted: 2005-05-16 08:30:14
by Sfagnum
либо самостоятельно трахаемся и ищем обшибку либо юзаем готовое...
вот ближайший: http://yoko.netroof.net/forum/viewtopic ... 5194#15194

Posted: 2005-05-16 11:37:04
by duk
а не подскажеш как сделать что бы твой скрипт сварив пайсон сразу юзал скилл пойсон и так по кругу сварил пропайсонил и тд

Posted: 2005-05-16 12:09:59
by Sfagnum
duk wrote:а не подскажеш как сделать что бы твой скрипт сварив пайсон сразу юзал скилл пойсон и так по кругу сварил пропайсонил и тд
это не мой скрипт. посмотри на автора сообщения.
а насчёт твоей просьбы... ты вообще пробывал его запускать? :roll:

Posted: 2005-05-16 12:20:39
by duk
да пробывал у меня он только варит пайсоны но не юзает скил пайсон
мне надо что бы сварив один пайсон сруза юзать скил пайсон и на деггер потом снова варить

Posted: 2005-05-16 12:31:23
by Askaneli
duk wrote:да пробывал у меня он только варит пайсоны но не юзает скил пайсон
мне надо что бы сварив один пайсон сруза юзать скил пайсон и на деггер потом снова варить

А настраивать его пытался??? Этот скрипт для ДРВ если что. На других шардах может отличатся как цвет бутылки пойзона так и метод использования скила.

Posted: 2005-05-16 12:47:28
by duk
это бутыль пойсона ID=0x416427A6 Type=0x0F0A Name=
Quantity: 1 Colour: 0x0000 Layer: 0 Has: 1
X=108 Y=97 Z=0 C=0x4012FF85 F=0x00

эз скила происходит след образом: юз скила пайсон таргетом на оружие потом тергетом на сам пайсон.

парни помагите разобраться как правильно настроить!!!!!

Posted: 2005-05-16 12:56:11
by Askaneli
duk wrote:это бутыль пойсона ID=0x416427A6 Type=0x0F0A Name=
Quantity: 1 Colour: 0x0000 Layer: 0 Has: 1
X=108 Y=97 Z=0 C=0x4012FF85 F=0x00

эз скила происходит след образом: юз скила пайсон таргетом на оружие потом тергетом на сам пайсон.

парни помагите разобраться как правильно настроить!!!!!

Code: Select all

UO.FindType('0x0F0A','0x0000')
if UO.GetQuantity('finditem')>0 then
if uo.skillval("Poisoning",1)<1000 then
uo.deletejournal()
LastTimer=UO.Timer()
uo.waittargetobject(dagger,'finditem')
uo.useskill('Poisoning')
repeat
wait(10)
until UO.InJournal("You fail to apply") OR UO.InJournal("You apply the poison") OR (UO.Timer()>LastTimer+200)
else
if uo.weight > 200 then
UO.SetReceivingContainer(Sunduk)
wait(200)
UO.Grab('0','finditem')
wait(200)
UO.UnSetReceivingContainer()
end if
end if
end if

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

Posted: 2005-05-16 12:59:33
by duk
благодарю
щас буду тестить

Posted: 2005-05-16 13:02:04
by Askaneli
duk wrote:благодарю
щас буду тестить

У тебя на шарде не только цвет но и тип бутылки пойзона отличается просто.

Posted: 2005-05-16 13:09:37
by duk
да точно я это только понял после того как ты исправил. я с инжектом пока на вы только не давно юзаю

Такой еще вопрос почему после физла применения пайсона на деггер не хилится бинтом из того же судука или тут дописать надо это

Posted: 2005-05-16 13:22:13
by Askaneli
duk wrote:да точно я это только понял после того как ты исправил. я с инжектом пока на вы только не давно юзаю

Такой еще вопрос почему после физла применения пайсона на деггер не хилится бинтом из того же судука или тут дописать надо это

Мне некогда. Попробуй сам и задавай тут вопросы.
Тем кто сам пытается что то сделать тут помогает очень большое количество народу.

Posted: 2005-05-16 13:41:33
by duk
если бы я знал как написать хотя бы приблизительно то сам бы сидел до упора пока бы не получилось, но я инжой на "ВЫ"
даже не представляю как можно при физле скила пайсон брать бинты из того же сундука что и реги с бутылками ,и хилиться

Posted: 2005-05-16 14:04:19
by Askaneli
duk wrote:если бы я знал как написать хотя бы приблизительно то сам бы сидел до упора пока бы не получилось, но я инжой на "ВЫ"
даже не представляю как можно при физле скила пайсон брать бинты из того же сундука что и реги с бутылками ,и хилиться

Начни. Дописать помогут.

Code: Select all

UO.FindType('0x0F0A','0x0000') 
if UO.GetQuantity('finditem')>0 then
if uo.skillval("Poisoning",1)<1000 then
uo.deletejournal()
LastTimer=UO.Timer()
uo.waittargetobject(dagger,'finditem')
uo.useskill('Poisoning')
repeat
wait(10)
until UO.InJournal("You fail to apply") OR UO.InJournal("You apply the poison") OR (UO.Timer()>LastTimer+200)
if UO.InJournal("You fail to apply") then
uo.bandageself()
wait(3500)
; И так и далее с вариациями
end if
else
if uo.weight > 200 then
UO.SetReceivingContainer(Sunduk)
wait(200)
UO.Grab('0','finditem')
wait(200)
UO.UnSetReceivingContainer()
end if
end if
end if

Posted: 2005-05-16 15:23:10
by duk
благодарю за помощь

Posted: 2005-05-16 15:36:22
by duk
UO.FindType('0x0F0E','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0F0E','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend

UO.FindType('0x0F88','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0F88','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend

UO.FindType('0x0E21','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0E21','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend

uo.deletejournal()
LastTimer=UO.Timer()
uo.usetype('0x0F88','0x0000')
repeat
Wait(10)
until UO.InJournal("You put the") OR UO.InJournal("You toss the failed") OR (UO.Timer()>LastTimer+200)


UO.FindType('0x0F0A','0x0000')
if UO.GetQuantity('finditem')>0 then
if uo.skillval("Poisoning",1)<1000 then
uo.deletejournal()
LastTimer=UO.Timer()
uo.waittargetobject(dagger,'finditem')
uo.useskill('Poisoning')
repeat
wait(10)
until UO.InJournal("You fail to apply") OR UO.InJournal("You apply the poison") OR (UO.Timer()>LastTimer+200)
if UO.InJournal("You fail to apply") then
uo.bandageself()
wait(3500)
; и так далее с вариациями
end if
else
if uo.weight > 200 then
UO.SetReceivingContainer(Sunduk)
wait(200)
UO.Grab('0','finditem')
wait(200)
UO.UnSetReceivingContainer()
end if
end if
end if
[color=green]
[/color]



попробывал добавить чтоб бинты из сундука брал всроде все работает .
теперь не могу понять как сделать что бы грязные бинты скидывать обратно в сундук если их больше 100

Posted: 2005-05-16 15:42:01
by duk
UO.FindType('0x0E20','0x0000',Sunduk)
While UO.GetQuantity('finditem')>100
UO.FindType('0x0E20','0x0000','backpack')
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend



так будет скидывать грязные бинты обратно в сундук ??? если то куда воткнуть надо

Posted: 2005-05-16 15:58:00
by duk
UO.FindType('0x0F0E','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0F0E','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend

UO.FindType('0x0F88','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0F88','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend

UO.FindType('0x0E21','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0E21','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend



if UO.Weight>300 then ;тут вес при кот начинается перекладывание
uo.findtype('0x0E20',-1,'backpack')
uo.moveitem('finditem',0,Sunduk)
endif
wait(2000)
wend






uo.deletejournal()
LastTimer=UO.Timer()
uo.usetype('0x0F88','0x0000')
repeat
Wait(10)
until UO.InJournal("You put the") OR UO.InJournal("You toss the failed") OR (UO.Timer()>LastTimer+200)


UO.FindType('0x0F0A','0x0000')
if UO.GetQuantity('finditem')>0 then
if uo.skillval("Poisoning",1)<1000 then
uo.deletejournal()
LastTimer=UO.Timer()
uo.waittargetobject(dagger,'finditem')
uo.useskill('Poisoning')
repeat
wait(10)
until UO.InJournal("You fail to apply") OR UO.InJournal("You apply the poison") OR (UO.Timer()>LastTimer+200)
if UO.InJournal("You fail to apply") then
uo.bandageself()
wait(3500)

end if
else
if uo.weight > 200 then
UO.SetReceivingContainer(Sunduk)
wait(200)
UO.Grab('0','finditem')
wait(200)
UO.UnSetReceivingContainer()
end if
end if
end if


wend
end sub


вроде все работает

Askaneli благодарю за помащь!!!!!!!!!!!!

Posted: 2005-05-17 22:45:55
by duk
sub Alchemy()
var i=0
uo.useobject('backpack')
uo.cancelmenu()
uo.automenu('What sort of potion do you want to','(last)')

uo.useobject(Sunduk)
wait(1000)
while 1==1

i=i+1
if i==50 then
uo.usetype('0x097B')
wait(1000)
i=0
if uo.skillval("Spirit Speak",1)<1000 then
cheklag()
uo.print("Spirit Speak...")
LastTimer=UO.Timer()
uo.useskill ("Spirit Speak")
uo.deletejournal()
repeat
wait(10)
until UO.InJournal("You establish a connection to the netherworld.") or UO.InJournal("You fail your attempt at contacting the netherworld.") OR (UO.Timer()>LastTimer+200)
end if
end if

UO.FindType('0x0F0E','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0F0E','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend

UO.FindType('0x0F88','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0F88','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend

UO.FindType('0x0E21','0x0000','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0E21','0x0000',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend

uo.deletejournal()
LastTimer=UO.Timer()
uo.usetype('0x0F88','0x0000')
repeat
Wait(10)
until UO.InJournal("You put the") OR UO.InJournal("You toss the failed") OR (UO.Timer()>LastTimer+200)


UO.FindType('0x0F0A','0x0000')
if UO.GetQuantity('finditem')>0 then
if uo.skillval("Poisoning",1)<1000 then
uo.deletejournal()
LastTimer=UO.Timer()
uo.waittargetobject(dagger,'finditem')
uo.useskill('Poisoning')
repeat
wait(10)
until UO.InJournal("You fail to apply") OR UO.InJournal("You apply the poison") OR (UO.Timer()>LastTimer+200)
if UO.InJournal("You fail to apply") then
uo.bandageself()
wait(3500)
end if
else

if uo.weight > 200 then
UO.SetReceivingContainer(Sunduk)
wait(200)
UO.Grab('0','finditem')
wait(200)
UO.UnSetReceivingContainer()
end if
end if
end if

if UO.Weight>300 then ;тут вес при кором будет происходить сброс грязных бинтов в сундук
uo.findtype('0x0E20',-1,'backpack')
uo.moveitem('finditem',0,Sunduk)
wait(2000)
end if
wend

wend
end sub


Askaneli проверь пожалуйсатк корректно но ли я подправил не будет ли скрипт глючить?? имеется ввиду сброс грязных бинтов