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

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