собственно вот какие скрипты
Code: Select all
1-Скрипт на прокачку арчери на вольтексах( с инструкциеей)
2-скрипт на раскладку карт по кообдинатам ( по местам)
если захотите оставляйте свои аськи договоримся
Moderators: Murderator+, Murderator
Code: Select all
1-Скрипт на прокачку арчери на вольтексах( с инструкциеей)
2-скрипт на раскладку карт по кообдинатам ( по местам)
sub CartSort()
VAR Exit, Exit2, Buffer, Buffer2, i, Line, MapX, MapY
VAR Index=1, MapSerial, BagSerial, MatchFound
VAR StepRound=300 ; razbros koordinat
VAR WaitTime=500 ; pauza
; VAR f=file("maps.txt")
DIM X[255],Y[255],Bag[255]
uo.exec('set injectecho 1')
; f.Create()
; f.Open()
UO.Print('Vibery meshok s kartamy!')
UO.AddObject('SourceBag')
While UO.Targeting()==2
wait(500)
Wend
UO.UseObject('SourceBag')
UO.Print('Vibery portfel dlya kart!')
UO.AddObject('ReceiveBag')
While UO.Targeting()==2
wait(500)
Wend
UO.UseObject('ReceiveBag')
UO.Print('Vibery portfel s pustimi meshkami i runami!')
UO.AddObject('SkladBag')
While UO.Targeting()==2
wait(500)
Wend
UO.UseObject('SkladBag')
UO.IgnoreReset()
Exit=0
While Exit<>1
UO.FindType('0x0E76',-1,'ReceiveBag') ; meshok
IF UO.GetQuantity('finditem')>0 Then
Bag[Index]=UO.GetSerial('finditem')
UO.UseObject(Bag[Index])
wait(WaitTime)
UO.FindType('0x1F14',-1,Bag[Index]); runa
IF UO.GetQuantity('finditem')>0 Then
UO.DeleteJournal()
UO.Click('finditem')
Repeat
Wait(500)
Until UO.InJournal("rune for")
Line=UO.InJournal("rune for")-1
Buffer=UO.Journal(Line)
Buffer2=""
Exit2=0
i=8
While Exit2<>1
If Buffer[i]<>":" Then
Buffer2=Buffer2+Buffer[i]
Else
Exit2=1
Endif
i=i+1
Wend
MapX=VAl(Buffer2)
Buffer2=""
Exit2=0
While Exit2<>1
If Buffer[i]<>"" Then
Buffer2=Buffer2+Buffer[i]
Else
Exit2=1
Endif
i=i+1
Wend
MapY=VAl(Buffer2)
X[Index]=MapX
Y[Index]=MapY
UO.Ignore(Bag[Index])
Else
UO.MoveItem(Bag[Index],'1','SkladBag')
wait(WaitTime)
Index=Index-1
Endif
Index=Index+1
Else
Exit=1
Endif
Wend
Exit=0
While Exit<>1
UO.FindType('0x14EB',-1,'SourceBag')
If UO.GetQuantity('finditem')>0 Then
UO.DeleteJournal()
UO.MoveItem('finditem','1','backpack')
wait(WaitTime)
UO.UseObject('finditem')
MapSerial=UO.GetSerial('finditem')
Repeat
wait(500)
Until UO.InJournal("Map opened")
Line=UO.InJournal("Map opened")-1
Buffer=UO.Journal(Line)
Buffer2=""
Exit2=0
i=15
While Exit2<>1
If Buffer[i]<>":" Then
Buffer2=Buffer2+Buffer[i]
Else
Exit2=1
Endif
i=i+1
Wend
MapX=VAl(Buffer2)
Buffer2=""
Exit2=0
While Exit2<>1
If Buffer[i]<>"" Then
Buffer2=Buffer2+Buffer[i]
Else
Exit2=1
Endif
i=i+1
Wend
MapY=VAl(Buffer2)
i=1
Exit2=0
MatchFound=0
While i<Index AND Exit2<>1
If X[i]-StepRound<MapX AND X[i]+StepRound>MapX Then
If Y[i]-StepRound<MapY AND Y[i]+StepRound>MapY Then
BagSerial=Bag[i]
MatchFound=1
Exit2=1
Endif
EndIf
i=i+1
Wend
If MatchFound Then
UO.MoveItem(MapSerial,'1',BagSerial)
wait(WaitTime)
Else
UO.FindType('0x0E76',-1,'SkladBag') ; meshok
IF UO.GetQuantity('finditem')>0 Then
UO.MoveItem('finditem','1','ReceiveBag')
Bag[Index]=UO.GetSerial('finditem')
X[Index]=MapX
Y[Index]=MapY
wait(WaitTime)
UO.FindType('0x1F14',-1,'SkladBag'); runa
IF UO.GetQuantity('finditem')>0 Then
UO.MoveItem('finditem','1','backpack') ; runa to pack
wait(WaitTime)
UO.UseObject('finditem')
Repeat
Wait(500)
Until UO.InJournal("enter a")
UO.Say(STR(MapX)+":"+STR(MapY))
wait(WaitTime)
UO.MoveItem('finditem','1',Bag[Index]) ; runa to meshok
wait(WaitTime)
UO.MoveItem(MapSerial,'1',Bag[Index])
wait(WaitTime)
Else
Exit=1
UO.Print("Error! Kon4ilis pustie runy!")
Endif
Index=Index+1
Else
Exit=1
UO.Print("Error! Kon4ilis pustie sumki!")
Endif
Endif
; UO.Print(STR(MapX)+" "+STR(MapY))
; f.WriteLn(STR(MapX)+" "+STR(MapY))
wait(WaitTime)
Else
Exit=1
Endif
Wend
; f.Close()
UO.Print("Done!!!")
end sub
Monti wrote:Вот тебе подача парни тут скрипт на расклудку картЫЫ (автор непомню с этого форума) я злой человек
sub CartSort()
VAR Exit, Exit2, Buffer, Buffer2, i, Line, MapX, MapY
VAR Index=1, MapSerial, BagSerial, MatchFound
VAR StepRound=300 ; razbros koordinat
VAR WaitTime=500 ; pauza
; VAR f=file("maps.txt")
DIM X[255],Y[255],Bag[255]
uo.exec('set injectecho 1')
; f.Create()
; f.Open()
UO.Print('Vibery meshok s kartamy!')
UO.AddObject('SourceBag')
While UO.Targeting()==2
wait(500)
Wend
UO.UseObject('SourceBag')
UO.Print('Vibery portfel dlya kart!')
UO.AddObject('ReceiveBag')
While UO.Targeting()==2
wait(500)
Wend
UO.UseObject('ReceiveBag')
UO.Print('Vibery portfel s pustimi meshkami i runami!')
UO.AddObject('SkladBag')
While UO.Targeting()==2
wait(500)
Wend
UO.UseObject('SkladBag')
UO.IgnoreReset()
Exit=0
While Exit<>1
UO.FindType('0x0E76',-1,'ReceiveBag') ; meshok
IF UO.GetQuantity('finditem')>0 Then
Bag[Index]=UO.GetSerial('finditem')
UO.UseObject(Bag[Index])
wait(WaitTime)
UO.FindType('0x1F14',-1,Bag[Index]); runa
IF UO.GetQuantity('finditem')>0 Then
UO.DeleteJournal()
UO.Click('finditem')
Repeat
Wait(500)
Until UO.InJournal("rune for")
Line=UO.InJournal("rune for")-1
Buffer=UO.Journal(Line)
Buffer2=""
Exit2=0
i=8
While Exit2<>1
If Buffer[i]<>":" Then
Buffer2=Buffer2+Buffer[i]
Else
Exit2=1
Endif
i=i+1
Wend
MapX=VAl(Buffer2)
Buffer2=""
Exit2=0
While Exit2<>1
If Buffer[i]<>"" Then
Buffer2=Buffer2+Buffer[i]
Else
Exit2=1
Endif
i=i+1
Wend
MapY=VAl(Buffer2)
X[Index]=MapX
Y[Index]=MapY
UO.Ignore(Bag[Index])
Else
UO.MoveItem(Bag[Index],'1','SkladBag')
wait(WaitTime)
Index=Index-1
Endif
Index=Index+1
Else
Exit=1
Endif
Wend
Exit=0
While Exit<>1
UO.FindType('0x14EB',-1,'SourceBag')
If UO.GetQuantity('finditem')>0 Then
UO.DeleteJournal()
UO.MoveItem('finditem','1','backpack')
wait(WaitTime)
UO.UseObject('finditem')
MapSerial=UO.GetSerial('finditem')
Repeat
wait(500)
Until UO.InJournal("Map opened")
Line=UO.InJournal("Map opened")-1
Buffer=UO.Journal(Line)
Buffer2=""
Exit2=0
i=15
While Exit2<>1
If Buffer[i]<>":" Then
Buffer2=Buffer2+Buffer[i]
Else
Exit2=1
Endif
i=i+1
Wend
MapX=VAl(Buffer2)
Buffer2=""
Exit2=0
While Exit2<>1
If Buffer[i]<>"" Then
Buffer2=Buffer2+Buffer[i]
Else
Exit2=1
Endif
i=i+1
Wend
MapY=VAl(Buffer2)
i=1
Exit2=0
MatchFound=0
While i<Index AND Exit2<>1
If X[i]-StepRound<MapX AND X[i]+StepRound>MapX Then
If Y[i]-StepRound<MapY AND Y[i]+StepRound>MapY Then
BagSerial=Bag[i]
MatchFound=1
Exit2=1
Endif
EndIf
i=i+1
Wend
If MatchFound Then
UO.MoveItem(MapSerial,'1',BagSerial)
wait(WaitTime)
Else
UO.FindType('0x0E76',-1,'SkladBag') ; meshok
IF UO.GetQuantity('finditem')>0 Then
UO.MoveItem('finditem','1','ReceiveBag')
Bag[Index]=UO.GetSerial('finditem')
X[Index]=MapX
Y[Index]=MapY
wait(WaitTime)
UO.FindType('0x1F14',-1,'SkladBag'); runa
IF UO.GetQuantity('finditem')>0 Then
UO.MoveItem('finditem','1','backpack') ; runa to pack
wait(WaitTime)
UO.UseObject('finditem')
Repeat
Wait(500)
Until UO.InJournal("enter a")
UO.Say(STR(MapX)+":"+STR(MapY))
wait(WaitTime)
UO.MoveItem('finditem','1',Bag[Index]) ; runa to meshok
wait(WaitTime)
UO.MoveItem(MapSerial,'1',Bag[Index])
wait(WaitTime)
Else
Exit=1
UO.Print("Error! Kon4ilis pustie runy!")
Endif
Index=Index+1
Else
Exit=1
UO.Print("Error! Kon4ilis pustie sumki!")
Endif
Endif
; UO.Print(STR(MapX)+" "+STR(MapY))
; f.WriteLn(STR(MapX)+" "+STR(MapY))
wait(WaitTime)
Else
Exit=1
Endif
Wend
; f.Close()
UO.Print("Done!!!")
end sub
Code: Select all
арчери
Code: Select all
#############################################################################
#################### Train Archery crafted by Askaneli ####################
#################### Шард DRW (http://www.drw.ru) ####################
#################### Отдельное спасибо за наводку Guesst ####################
#################### Отдельное спасибо за модули Sfagnum ####################
#############################################################################
Var RejimSC=2 ; Режим работы скрипта, 1 - арчер, 2 - кастующий
Var Sunduk='0x4029B845' ; ИД сундука где все ресурсы, луки и стрелы, реги для вортекса или скролы для вортекса, кормёжка для чаров
Var xVortex='1255',yVortex='745',zVortex='251' ; Координаты куда кастуем вортекса, не далее 2х тайлов от берега, а то стрелы не достаёт упавшие
Var TBow='0x13B1' ; Тип оружия которое будем использовать, лук типа сча
## Запускаемый модуль
sub main()
uo.exec("filterspeech clear")
uo.exec("filterspeech off")
uo.exec("set finddistance 3")
uo.sayu(".detail 0")
uo.useobject(Sunduk)
uo.useobject('backpack')
wait(1000)
uo.exec("exec main0"+STR(RejimSC))
uo.Exec('terminate Reconnector')
wait(1000)
uo.Exec('exec Reconnector')
wait(1000)
end sub
## Модуль арчера
Sub main01()
var Vortex='0x40043143',check = false
var arN,arT,arE,qV = 0
var sk=uo.skillval("Archery",1)
uo.exec("warmode 1")
arN = uo.count('0x0F3F','0x0000')
arE = arN
while not uo.dead()
if uo.IsNPC(Vortex) then ## Есть вортекс, просто следим за количеством стрел и наличием лука
if uo.skillval("Archery",1) == 1000 then
uo.asmLogAdd('Training.txt', UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" YES!!! GM Archery!!!")
uo.closeuo()
end if
if uo.count('0x0F3F','0x0000')<50 then ; Стрелы, пополняем из сундука
arT = uo.count('0x0F3F','0x0000')
uo.findtype('0x0F3F','0x0000',Sunduk)
Cheklag()
uo.moveitem('finditem','100','backpack')
wait(1000)
arE = arE + uo.count('0x0F3F','0x0000')-arT
end if
if uo.GetGraphic(uo.ObjAtLayer('Lhand'))<>TBow then ; Оружие в руке, при отсутствии берём из сундука
uo.findtype(TBow,'-1','backpack')
if uo.findcount()>0 then
uo.usetype(TBow)
wait(1000)
else
uo.findtype(TBow,'-1',Sunduk)
Cheklag()
uo.moveitem('finditem','1','backpack')
wait(1000)
uo.usetype(TBow)
wait(1000)
end if
end if
if not check then
check = true
qV = qV + 1
end if
else ## Нету вортекса, ищем следующего, попутно подбираем стрелы в пак с земли. Пишем отчётик о состоянии скила в лог. Кушаем до полного.
if check then
if sk <> uo.skillval("Archery",1) then
uo.asmLogAdd('Training.txt', UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" ::на поднятие скила потратил " + str(arE-ArN) + ", потребовалось " + str(qV) + " вортексов, состояние скила арчери - "+STR(uo.skillval("Archery",1)/10))
arN = uo.count('0x0F3F','0x0000')
arE = arN
qV = 0
sk = uo.skillval("Archery",1)
end if
Eda()
check = false
end if
uo.findtype('0x000D','0x000D','ground')
if uo.findcount()>0 then
Vortex=uo.getserial('finditem')
UO.attack(Vortex)
end if
end if
wait(1000) ; Опрос состояния каждую секунду
if uo.injournal('SkokaAR') then
uo.deletejournal()
uo.say(STR(uo.skillval("Archery",1)/10))
end if
wend
uo.closeuo()
end sub
## Модуль кастующего
Sub main02()
var Vortex=''
var i
dim ResursCast[5]
ResursCast[1]='0x1F66' ## Energy Vortex Scroll
ResursCast[2]='0x0F7B' ## BM
ResursCast[3]='0x0F7A' ## BP
ResursCast[4]='0x0F86' ## MR
ResursCast[5]='0x0F88' ## NS
uo.exec("warmode 0")
uo.findtype('0x000D','0x000D','ground') ; Стартовый поиск вортекса, на всякий случай ...
if uo.findcount()>0 then
Vortex=uo.getserial('finditem')
end if
while not uo.dead()
if not uo.IsNPC(Vortex) then ## Нету вортекса, кастуем его что бы был , если есть кому качать арчери, ну и реги за одно пополняем и кушаем, чёб голодным не был чар
if ChekArcher() then
while not castuni(40,'0x1F66','Energy Vortex')
for i=2 to 5
if uo.count(ResursCast[i],'0x0000')==0 then
uo.findtype(ResursCast[i],'0x0000',Sunduk)
Cheklag()
if uo.findcount()>0 then
uo.moveitem('finditem',str(10-uo.count(ResursCast[i],'0x0000')),'backpack')
wait(1000)
end if
end if
next
wend
uo.findtype('0x000D','0x000D','ground')
if uo.findcount()>0 then
Vortex=uo.getserial('finditem')
for i=2 to 5
if uo.count(ResursCast[i],'0x0000')<10 then
uo.findtype(ResursCast[i],'0x0000',Sunduk)
Cheklag()
if uo.findcount()>0 then
uo.moveitem('finditem',str(10-uo.count(ResursCast[i],'0x0000')),'backpack')
wait(1000)
end if
end if
next
Eda()
ToMedit()
end if
end if
end if
wait(1000) ; Опрос состояния каждую секунду
if uo.mana==uo.int then
ToHide()
end if
if uo.injournal('Stop Aaz 3472') then
uo.deletejournal()
uo.closeuo()
end if
uo.findtype('0x0F3F','0x0000','ground')
if uo.findcount()>0 then
##Cheklag()
uo.moveitem('finditem','-1',Sunduk)
wait(1000)
end if
wend
uo.closeuo()
end sub
## Вспомогательные модули
Sub ChekArcher()
var i
Dim Archers[5]
Archers[1]=''
Archers[2]=''
Archers[3]=''
Archers[4]=''
Archers[5]=''
for i=1 to 5
if uo.IsNPC(Archers[i]) then
if Archers[i]<>uo.getserial('self') then
return true
end if
end if
next
return false
end sub
Sub Eda()
if uo.count('0x097B','0x0000')<50 then ## Жрачка, кушаем до изнеможения
uo.findtype('0x097B','0x0000',Sunduk)
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 Cheklag()
UO.DeleteJournal()
UO.Click('backpack')
Repeat
Wait(10)
Until UO.InJournal("backpack")
end sub
Sub ToMedit()
while uo.mana<40
uo.warmode(0)
uo.deletejournal()
uo.useskill('Meditation')
repeat
wait(10)
until uo.injournal("You lose your concentration") or uo.injournal("You are at peace.") or uo.mana>40
wend
end sub
Sub ToHide()
while not uo.hidden()
uo.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.") or uo.dead()
if UO.InJournal("You are preoccupied with thoughts of battle.") then
uo.warmode(0)
end if
if uo.dead() then
return
end if
wend
end sub
Sub castuni(minMANA,sType,cName)
var t = UO.Timer(),m = UO.MANA
uo.exec("warmode 0")
repeat
UO.FindType(sType,-1,'my')
If UO.findcount()>0 then
if uo.mana<(minMANA/2) then
ToMedit()
end if
m = UO.MANA
uo.DeleteJournal()
uo.waittargettile('400',xVortex,yVortex,zVortex)
UO.UseObject('finditem')
else
if uo.mana<minMANA then
ToMedit()
end if
m = UO.MANA
uo.DeleteJournal()
uo.waittargettile('400',xVortex,yVortex,zVortex)
uo.cast(cName)
end if
t = UO.Timer()
repeat
wait(10)
until IsMyOwn('You have interrupted') or IsMyOwn(uo.getname()+': The spell fizzles.') or IsMyOwn('You lack') or t+200<uo.Timer() or m > UO.MANA
wait(500)
if IsMyOwn('You lack') then
return false
end if
until not (IsMyOwn('You have interrupted') or IsMyOwn(uo.getname()+': The spell fizzles.'))
return true
end sub
Sub IsMyOwn(msgSTR)
if not UO.InJournal(msgSTR) then
return false
end if
if msgSTR == Left(UO.Journal(UO.InJournal(msgSTR)-1),len(msgSTR)) then
return true
else
return false
end if
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(110000) # 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.asmLogAdd('Training.txt', UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" - "+"Упс. Ребут типа !!!")
uo.Exec('terminate main01')
uo.Exec('terminate main02')
wait(5000)
uo.RClick(196,193)
wait(2000)
uo.RClick(196,193)
wait(2000)
uo.RClick(196,193)
wait(2000)
uo.RClick(196,193)
wait(2000)
uo.Exec('exec main')
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
ню-ню...Lasas wrote:Продам скрипты за гп , шард ДРВ , без кидалова , честно
Sfagnum wrote:ню-ню...Lasas wrote:Продам скрипты за гп , шард ДРВ , без кидалова , честно
кого интересуют скрипты на одновременную прокачку обоих чаров боевухе и нормальный производственный скрипт на расшифровку/раскладку карт.
и всё это от авторов скриптов (наши с Аском совместные работы).
в ЛС велкам.
ЗЫ не забудьте что мы своё время ценим высоко.