Yoko

All sides of Injection
It is currently 2025-12-08 03:04:42

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2007-03-20 16:41:28 
Offline
User avatar

Joined: 2006-12-18 11:33:01
Posts: 44
Code:
############################################################################# 
####################  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


Можете пожалуйста помочь почему когда запускаю скрипт поставив Var RejimSC=2 тоесть кастер он становится в стелс а далше всё стоит!


Top
   
 Post subject:
PostPosted: 2007-03-20 19:11:45 
Offline
User avatar

Joined: 2006-12-18 11:33:01
Posts: 44
Ну помогите плиз :cry:


Top
   
 Post subject:
PostPosted: 2007-03-20 20:08:36 
Offline
Expert!
User avatar

Joined: 2005-09-14 15:31:58
Posts: 2152
Location: Latvia
Code:
Sub ChekArcher()
var i
Dim Archers[5]

Archers[1]=''
Archers[2]=''
Archers[3]=''
Archers[4]=''
Archers[5]=''

_________________
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net


Top
   
 Post subject:
PostPosted: 2007-03-20 20:35:31 
Offline
User avatar

Joined: 2006-12-18 11:33:01
Posts: 44
спс ! токо терь когда он хочет запесать в лог пишет линия 77 function not founde UO.asmGetDate
Code:
   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))


Top
   
 Post subject:
PostPosted: 2007-03-20 21:00:01 
Offline
Expert!
User avatar

Joined: 2005-09-14 15:31:58
Posts: 2152
Location: Latvia
стери
Code:
      UO.asmLogAdd('Training.txt', UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" - "+"Упс. Ребут типа !!!") 

или поставь асм себе

_________________
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net


Top
   
 Post subject:
PostPosted: 2007-03-20 21:03:20 
Offline
User avatar

Joined: 2006-12-18 11:33:01
Posts: 44
Что за асм


Top
   
 Post subject:
PostPosted: 2008-09-22 08:07:19 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
бгг. весёлый скрипт. помню всю корпу, тфу гильду собрали и заставили качатся )))

_________________
Сделал дело - флуди смело !!!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited