скрипт на алхимию (cure) тестируйте :)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
EARNEST
Posts: 13
Joined: 2006-02-01 20:36:10

скрипт на алхимию (cure) тестируйте :)

Post by EARNEST »

:D вот мой первый скрипт. взял за основу скрипты Асканели и Ветерана.
если заметите неточности или ошибки-скажите, попробуй исправить :)
алхимию+спирит спик+подкормка чара и реконект!
## created EARNEST (material was taken from Askaneli's and BETEP's scripts. Thanks for help to Ven) Shard DRW
## This script should be used for making the Cure potions. Whether or not, you can change a subject, but be careful with ID and colour of it. Take care! Enjoy your alchemy :D
VAR Reg=20 ## Reagents
VAR BOT=15 ## Bottles
VAR LastTimer,p
VAR LastTimer2
VAR box1='ID' ## box with reagents and bottles
VAR box2='ID' ## box where we should put created potions
sub alchemy()
## <-- Filters and Reconnector
uo.Exec("filterspeech clear")
uo.Exec("filterspeech on")
uo.Exec("filterspeech add 'guards'")## You can add anything you want, except the words cure, stuffed etc which are closed familiar to UO.Journal commands
uo.Exec('terminate Reconnector')
wait(1000)
uo.Exec('exec Reconnector')
wait(1000)
## --->
uo.useobject('backpack')
Cheklag()
uo.useobject(box1)
Cheklag()
uo.useobject(box2)
Cheklag()
wait(1000)
UO.DeleteJournal()
LastTimer=uo.Timer()
Eda()
while not uo.dead()
ToHide()
if uo.Timer()>(LastTimer+3000) then
if uo.skillval("Spirit Speak",1)<1000 then
uo.print("Spirit Speak...")
p=0
repeat
p=p+1
uo.useskill("Spirit Speak")
uo.deletejournal()
repeat
wait(10)
until uo.InJournal("netherworld") or uo.InJournal("You must wait to perform another action") or uo.dead()
until (uo.InJournal("You establish a connection to the netherworld.")) or (p>=10) or uo.dead()
end if
Eda()
LastTimer=uo.Timer()
end if

if uo.count('0x0F0E','0x0000')< 10 then
uo.FindType('0x0F0E','0x0000',box1)
cheklag()
uo.moveitem('finditem',STR(BOT),'backpack')
wait(1000)
cheklag()
end if
if uo.count('0x0F84','0x0000')<15 then
uo.FindType('0x0F84','0x0000',box1)
cheklag()
uo.moveitem('finditem',STR(Reg),'backpack')
wait(1000)
cheklag()
end if
if uo.count('0x0F0E','0x09A6')>30 then
uo.FindType('0x0F0E','0x09A6','backpack')
cheklag()
uo.moveitem('finditem',-1,box2)
wait(1000)
cheklag()
end if
LastTimer2=UO.Timer()
UO.DeleteJournal()

UO.UseType('0x0F84')
UO.WaitMenu('What','(2)')
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()>=LastTimer2+100
Else
EndIf
wend
end sub
Sub Eda()
if uo.count('0x097B','0x0000')<20 then ## Жрачка, кушаем до изнеможения
uo.findtype('0x097B','0x0000',0x402FB6A5)
if uo.findcount()>0 then
Cheklag()
uo.moveitem('finditem',STR(50-uo.count('0x097B','0x0000')),'backpack')
wait(1000)
end if
end if

uo.deletejournal()
repeat
if uo.count('0x097B','0x0000')==0 then
return
end if
uo.usetype('0x097B','0x0000')
wait(1000)
until uo.injournal("You are stuffed!") or uo.injournal("You can't think of a way to use that item.")
end sub


Sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (uo.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(70000) # WorldSave Protection
uo.Say('')
Wait(5000)
uo.Say('')
Wait(5000)
uo.Say('')
Wait(5000)
uo.LDblClick(357,164)
uo.LClick(616,459)
Wait(5000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
uo.TextOpen()
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
uo.RClick(196,193)
wait(2000)
uo.RClick(196,193)
wait(2000)
uo.useobject('self')
wait(2000)
uo.useobject('backpack')
wait(2000)
uo.Exec('terminate alchemy')
wait(5000)
uo.Exec('exec alchemy')
wait(5000)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

Sub MakeTime()
VAR D, T, Ret, i
Ret = STR(uo.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(uo.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub

Sub ToHide()
while not uo.hidden()
uo.exec("warmode 0")
uo.DeleteJournal()
uo.useskill("Hiding")
repeat
wait(10)
until uo.InJournal("You have hidden yourself well") or uo.InJournal("You can't seem to hide here.") or uo.InJournal("You are preoccupied with thoughts of battle.")
if uo.InJournal("You are preoccupied with thoughts of battle.") then
uo.exec("warmode 0")
end if
wend
end sub
Sub cheklag()
uo.deletejournal()
uo.click('backpack')
repeat
wait(10)
until uo.InJournal("backpack")
end sub
Last edited by EARNEST on 2006-03-08 23:25:42, edited 1 time in total.
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

А написан красиво, меня порадовал. :P
Ща попробую испытать.
А подсказки делать на русском, на то они и подсказки, или ты расчитываешь на англоязычную аудиторию?
EARNEST
Posts: 13
Joined: 2006-02-01 20:36:10

Post by EARNEST »

ну как? были проблемки? кстате, обнови скрипт, я в реконекте запарился, написал alchemmy а надо с одной m , проблемы будут, отредактировал.
Post Reply