Подправьте мини скрипт на рекол от пк

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
BbIDLO
Posts: 44
Joined: 2005-04-21 18:29:21

Подправьте мини скрипт на рекол от пк

Post by BbIDLO »

Я знаю что даную функцию можно найти в скриптах вроде майнинга, но дело в том что там используеться другой принцип - во всех добывающих скриптах функция использует проверку журнала на красные ники и если их находит то улетает. Я играю на Оскоме и у нас везде в шахтах ввели красных пауков и мне надо чтобы чар реколился в случае если его бьют(уменьшаеться хп, кастуються негативные спеллы и т.д.)

Хотел реализовать это таким образом:

Code: Select all

If uo.warmode() == 1 Then
If UO.Waiting() Then
UO.CancelTarget()
EndIf
uo.showjournal(10)
UO.Exec("usetype inviz")
UO.Exec('warmode 0')
UO.DeleteJournal()
RecallToHome()


Но почемуто даный фрагмент не срабатует :oops: - может кто-нить помочь с такой функцией ? :roll:
xzxzxz
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Code: Select all

If UO.Life < 150 OR UO.InJournal( 'Kal Vas Flam' ) OR UO.InJournal( 'Cor Por' ) Then
...
...
...
End If


Проверка на жизни чара и на каст магии повреждения (ФС и Кор-Пор. Имхо нет смысла вводить проверку на такие вещи как Харм и Лайт: быстее узнаешь о них по изминениям в ХП)
BbIDLO
Posts: 44
Joined: 2005-04-21 18:29:21

Post by BbIDLO »

В том то и прикол что на Оскоме чего тока не делают чтобы не дать майнеру улететь, кастуют всё подряд, кидают взрывы и одновременно стреляют с арбаля, бьют найтмаром и кастуют паралайз и т.д. Подскажите реально ли сделать типа как у меня с проверкой на вар режим тока чтобы работало ? :(
xzxzxz
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

В твоем случаем майнер будет пытаться улетать только после того, как его уже начнут бить.
А надо улетать как только он находит в поле хрения чужого чара.
BbIDLO
Posts: 44
Joined: 2005-04-21 18:29:21

Post by BbIDLO »

Тогда можно ли как-то в проверку на красные ники, добавить ещё чтобы проверяло кому принадлежит этот ник - игроку или нпс ???
Вот скрипт на проверку:


Code: Select all

var jor,ser,noto
for jor = 0 to 9
ser = uo.JournalSerial(jor)
noto = uo.GetNotoriety(ser)
If noto <> 1 and noto <> 0 and noto <> 3  Then
If UO.Waiting() Then
UO.CancelTarget()
EndIf
uo.showjournal(10)
UO.Exec("usetype inviz")
UO.Exec('warmode 0')
UO.DeleteJournal()
RecallToHome()
xzxzxz
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Ищим вокруг себя чаров.
Проверяем их "Красность".
На монстров не будет реагировать, т.к. мы ищим только типы чаров.
BbIDLO
Posts: 44
Joined: 2005-04-21 18:29:21

Post by BbIDLO »

так а как искать имено чаров ????? :?
xzxzxz
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Code: Select all

UO.FindType( '0x0190', '-1', 'ground' ) ; искать чаров Мужского типа
UO.FindType( '0x0191', '-1', 'ground' ) ; искать чаров Женского типа
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Примерно так делай:

Code: Select all

Sub ControlPK()
; Насчет ПК - будем сканировать вокруг в поисках типов.
; Если появляется - прерываем копку, начинаем убегать и реколлимся на ходу.
;
   VAR MinDistance = val( UO.GetGlobal('MinEnemyDist') )
   VAR MaxDistance = val( UO.GetGlobal('MaxEnemyDist') )
   VAR PKchar1 = '0x0190'
   VAR PKchar2 = '0x0191'
   VAR PKCount = 0, PKSerial = ''
   VAR PKColor, PKDist, PKDistOld, i
   VAR GoOut = 0
   DIM ExcludeChar[5]
   ExcludeChar[0] = '...'
   ExcludeChar[1] = '...'
   ExcludeChar[2] = '...'
   ExcludeChar[3] = '...'
   ExcludeChar[4] = '...'
   ;
   While NOT UO.Dead()
      UO.Ignore( 'self' )
      repeat
         wait(300)
         UO.FindType( PKchar1, '-1', '1' )
         PKCount = UO.FindCount()
         If PKCount == 0 Then
            UO.FindType( PKchar2, '-1', '1' )
            PKCount = UO.FindCount()
         Endif
         If PKCount > 0 Then
            PKSerial = UO.GetSerial( 'finditem' )
            For i = 0 to 5
               If PKSerial == ExcludeChar[i] Then
                  UO.Ignore( 'finditem' )
                  PKCount = 0
               Endif
            Next
         Endif
      until PKCount > 0
      ; Нашли!
      PKDistOld = 15
      PKColor = UO.GetNotoriety( PKSerial )
      WriteLog( 'I found another char. Serial = ' + PKSerial + ', Notoriety = ' + str(PKColor), 0 )
............................................
[действия по обнаружении другого чара слопала цензура]
............................................
BbIDLO
Posts: 44
Joined: 2005-04-21 18:29:21

Post by BbIDLO »

спасибо
завтро с этого буду лепить под себя функцию :shock:
xzxzxz
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Чтоб она подавилась, эта цензура :evil:
Post Reply