Page 1 of 1

Каст со скроллов.

Posted: 2011-08-01 20:08:37
by golod
Пожалуйста! Измените что бы из сундука брал определенное кол-во скроллов Magic Arrow и кастовал с них, а не с реагентов.
Если много переделывать, может есть уже похожий скрипт на форуме, подскажите.

Code: Select all

#©]daRk[::c00pEr::
VAR eda = '0x097B'        #Тип еды.
VAR Sunduk = '0x4006149F' #ID Сундука с регами.
VAR obj = '0x000140BC'    #ID чара куклы.
VAR Kushaem = 1           #Если кушаем, то 1.
VAR cnt = 0

sub strelka()
   VAR NS='0x0F88' ; Тип Nighshade.
   VAR BP='0x0F7A' ; Тип Black Pearls.
   VAR LastTimer
   
   UO.Exec('terminate Reconnector')
   wait(1000)
   UO.Exec('exec Reconnector')
   wait(1000)
   UO.UseObject(Sunduk)
   wait(1000)
   If Kushaem == 1 then
      Eda()
   endif
 
   while not uo.dead()

      If Kushaem == 1 then
         If cnt == 100 then
            Eda()
            cnt = 0
         end if
      endif
      cnt = cnt + 1

     
      If UO.NS < 10 Then
         wait(1000)
         UO.FindType(NS, '-1', Sunduk)
         wait(100)
         UO.MoveItem('finditem', '200', 'backpack')
         wait(1000)
      Endif
     
      If UO.BP < 10 Then
         wait(1000)
         UO.FindType(BP, '-1', Sunduk)
         wait(100)
         UO.MoveItem('finditem', '200', 'backpack')
         wait(1000)
      Endif
     
      if uo.mana > 15 then
         cheklag()
         UO.Cast('Magic Arrow', obj)
         wait(2000)
      else
         UO.Say('no mana')
         While UO.Mana < UO.Int
            UO.DeleteJournal()
            UO.WarMode(0)
            wait(1000)
            UO.Useskill('Meditation')
            Repeat
               wait(100)
            until UO.InJournal("You are") OR UO.InJournal("You lose")
         Wend         
      endif
   wend
end sub

Sub cheklag()
   uo.deletejournal()
   uo.click('backpack')
   repeat
      wait(10)
   until uo.InJournal("backpack")
end sub

Sub Eda()
   if uo.count(eda,'0x0000') < 20 then ## Жрачка, кушаем до изнеможения
      uo.findtype(eda, '0x0000', sunduk)
      Cheklag()
      uo.moveitem('finditem',STR(20-uo.count(eda,'0x0000')),'backpack')
      wait(1000)
   end if
   uo.deletejournal()
   repeat
      uo.usetype(eda,'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(40000) # WorldSave Protection
         UO.Say('')
         Wait(13000)
         UO.Say('')
         Wait(13000)
         UO.Say('')
         Wait(13000)
         UO.LDblClick(357,164)
         UO.LClick(616,459)
         Wait(13000)
      WEnd
      Wait(13000)
      if (RFlag == 0) and (ReconnectTime <> '0') Then
         UO.Exec('terminate strelka')
         UO.Exec('exec strelka')
         UO.TextOpen()
         UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
         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

Re: Каст со скроллов.

Posted: 2011-08-01 23:37:10
by Mirage
переделать несколько строк.

Code: Select all

#©]daRk[::c00pEr::
VAR eda = '0x097B'        #Тип еды.
VAR Sunduk = '0x4006149F' #ID Сундука с регами.
VAR obj = '0x000140BC'    #ID чара куклы.
VAR Kushaem = 1           #Если кушаем, то 1.
VAR cnt = 0
VAR Scroll = 'ТИП свитка'   ;  <===== НЕ ЗАБЫТЬ ПРОПИСАТЬ ТИП СВИТКА
sub strelka()
   VAR LastTimer
   UO.Exec('terminate Reconnector')
   wait(1000)
   UO.Exec('exec Reconnector')
   wait(1000)
   UO.UseObject(Sunduk)
   wait(1000)
   If Kushaem == 1 then
      Eda()
   endif
   while not uo.dead()
      If Kushaem == 1 then
         If cnt == 100 then
            Eda()
            cnt = 0
         end if
      endif
      cnt = cnt + 1
      If uo.count(Scroll) < 1 Then
         wait(1000)
         UO.FindType(Scroll, '-1', Sunduk)
         wait(100)
         UO.MoveItem('finditem', '200', 'backpack')
         wait(1000)
      Endif
      if uo.mana > 15 then
         cheklag()
         uo.waittargetobject( obj )
         uo.UseType( Scroll )
         wait(2000)
      else
         UO.Say('no mana')
         While UO.Mana < UO.Int
            UO.DeleteJournal()
            UO.WarMode(0)
            wait(1000)
            UO.Useskill('Meditation')
            Repeat
               wait(100)
            until UO.InJournal("You are") OR UO.InJournal("You lose")
         Wend         
      endif
   wend
end sub
Sub cheklag()
   uo.deletejournal()
   uo.click('backpack')
   repeat
      wait(10)
   until uo.InJournal("backpack")
end sub
Sub Eda()
   if uo.count(eda,'0x0000') < 20 then ## Жрачка, кушаем до изнеможения
      uo.findtype(eda, '0x0000', sunduk)
      Cheklag()
      uo.moveitem('finditem',STR(20-uo.count(eda,'0x0000')),'backpack')
      wait(1000)
   end if
   uo.deletejournal()
   repeat
      uo.usetype(eda,'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(40000) # WorldSave Protection
         UO.Say('')
         Wait(13000)
         UO.Say('')
         Wait(13000)
         UO.Say('')
         Wait(13000)
         UO.LDblClick(357,164)
         UO.LClick(616,459)
         Wait(13000)
      WEnd
      Wait(13000)
      if (RFlag == 0) and (ReconnectTime <> '0') Then
         UO.Exec('terminate strelka')
         UO.Exec('exec strelka')
         UO.TextOpen()
         UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
         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


Re: Каст со скроллов.

Posted: 2011-08-02 08:01:27
by golod
Работает скрипт, спасибо огромное!!

Re: Каст со скроллов.

Posted: 2011-08-02 11:00:13
by golod
Чел кому кастую...хелица только когда я медетирую...в итоге он умирает тк кастов больше чем с регов когда кидаю стрелку.

Можно ли сделать что бы чар останавливался пока не будет у того полное хп?

проверку на хп сделать или как это.?)

Re: Каст со скроллов.

Posted: 2011-08-02 12:26:44
by ZeroDX

Code: Select all

#©]daRk[::c00pEr::
VAR eda = '0x097B'        #Тип еды.
VAR Sunduk = '0x4006149F' #ID Сундука с регами.
VAR obj = '0x000140BC'    #ID чара куклы.
VAR Kushaem = 1           #Если кушаем, то 1.
VAR cnt = 0
VAR Scroll = 'ТИП свитка'   ;  <===== НЕ ЗАБЫТЬ ПРОПИСАТЬ ТИП СВИТКА
sub strelka()
   VAR LastTimer
   UO.Exec('terminate Reconnector')
   wait(1000)
   UO.Exec('exec Reconnector')
   wait(1000)
   UO.UseObject(Sunduk)
   wait(1000)
   If Kushaem == 1 then
      Eda()
   endif
   while not uo.dead()
      If Kushaem == 1 then
         If cnt == 100 then
            Eda()
            cnt = 0
         end if
      endif
      cnt = cnt + 1
      If uo.count(Scroll) < 1 Then
         wait(1000)
         UO.FindType(Scroll, '-1', Sunduk)
         wait(100)
         UO.MoveItem('finditem', '200', 'backpack')
         wait(1000)
      Endif
      if uo.mana > 15 then
                              if UO.GetHP(obj) >= UO.GetHP(obj) / 5 then
         cheklag()
         uo.waittargetobject( obj )
         uo.UseType( Scroll )
         wait(2000)
                            else
                             wait(100)
                          endif
      else
         UO.Say('no mana')
         While UO.Mana < UO.Int
            UO.DeleteJournal()
            UO.WarMode(0)
            wait(1000)
            UO.Useskill('Meditation')
            Repeat
               wait(100)
            until UO.InJournal("You are") OR UO.InJournal("You lose")
         Wend         
      endif
   wend
end sub
Sub cheklag()
   uo.deletejournal()
   uo.click('backpack')
   repeat
      wait(10)
   until uo.InJournal("backpack")
end sub
Sub Eda()
   if uo.count(eda,'0x0000') < 20 then ## Жрачка, кушаем до изнеможения
      uo.findtype(eda, '0x0000', sunduk)
      Cheklag()
      uo.moveitem('finditem',STR(20-uo.count(eda,'0x0000')),'backpack')
      wait(1000)
   end if
   uo.deletejournal()
   repeat
      uo.usetype(eda,'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(40000) # WorldSave Protection
         UO.Say('')
         Wait(13000)
         UO.Say('')
         Wait(13000)
         UO.Say('')
         Wait(13000)
         UO.LDblClick(357,164)
         UO.LClick(616,459)
         Wait(13000)
      WEnd
      Wait(13000)
      if (RFlag == 0) and (ReconnectTime <> '0') Then
         UO.Exec('terminate strelka')
         UO.Exec('exec strelka')
         UO.TextOpen()
         UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
         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


Re: Каст со скроллов.

Posted: 2011-08-02 12:45:09
by Mirage
ZeroDX лодырь, у меня же в подписи отступлялка есть :lol: .

Re: Каст со скроллов.

Posted: 2011-08-02 14:17:54
by ZeroDX
Она пробелы между функциями не ставит :lol:

Re: Каст со скроллов.

Posted: 2011-08-12 18:42:48
by rusa
а что нужно поменять чтобы я в себя эту стрелку кастовал???
точнее пойзан

Re: Каст со скроллов.

Posted: 2011-08-12 22:37:18
by Mirage
Лучше всего прочитать уроки - там все написано.
А так

Code: Select all

         uo.waittargetobject( obj )
         uo.UseType( Scroll )

кастует скрол в объект. Соответственно прописать свой ID в

Code: Select all

VAR obj = '0x000140BC'    #ID чара куклы.