Спарринг-скрипт

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Russian
Posts: 12
Joined: 2004-05-22 23:46:27

Спарринг-скрипт

Post by Russian »

Прислали мне такой замысловатый скрипт под две сессии инжи с использованием EasyUO. Смысл заключается в том, что скрипт отслеживает кол-во хитов у обоих персонажей, и при опускании оных ниже 65 оба чара выключают боевой режим и начинают лечиться. Когда полностью вылечатся - снова начинают драться. Вроде бы все работает... но недолго. То есть спарринг может длиться минут 20, иногда полчаса, в течение которых оба чара исправно лечатся и дерутся. Но почему-то в какой-то момент скрипт перестает замечать прохождение одним из персонажей (или обоими) заветного рубежа (в данном случае - 65 хитов) и один из чаров, как следствие, умирает, поскольку боевой режим не был выключен. В чем может быть проблема? Ситуацию усложнает использование EasyUO, я ее никогда в руках не держал, так что просто поставил, прописал в регистре и запустил. Может быть, ее как-то нужно настроить? Хотя, если ее вообще не запускать, ничего не меняется.

Скрипт такой:

sub sreset()
UO.SetEasyUO(80,"1")
UO.SetEasyUO(90,"1")
end sub

sub sparring()
VAR Char1='0x000A2A07'
VAR Char2='0x000A1790'
VAR Enemy, ESelf, EEnemy


if UO.GetSerial('self')==Char1 then
Enemy=Char2
EEnemy=90
ESelf=80
else
Enemy=Char1
EEnemy=80
ESelf=90
endif

UO.SetEasyUO(ESelf,"0")

while NOT UO.Dead()

repeat
wait(500)
until UO.GetEasyUO(ESelf)=="0" AND UO.GetEasyUO(EEnemy)=="0"

UO.Exec("warmode 1")
UO.Attack(Enemy)

while UO.Life>=65 AND UO.GetEasyUO(EEnemy)=="0"
wait(100)
wend

UO.SetEasyUO(ESelf,"1")
UO.Exec("warmode 0")

while UO.Life<UO.Str
UO.Exec("warmode 0")
healing()
wait(6000)
wend

UO.SetEasyUO(ESelf,"0")

wend

end sub

sub healing()
UO.SetArm('CWeapon')
UO.Exec("bandageself")
wait(600)
UO.Arm('CWeapon')
; UO.Equipt('Rhand','0x13E3')
end sub
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Изя здесь не нужна, нужны только глобальные переменные от нее, прописанные в регистри
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Старая версия. Я уж и не помню в чем там глюк был.

В пак чарам суем вепон одинакого типа и в руки даем образец ну и щит если паринг еще не прокачен. Бандажки и тазик для стирки кровяшек.

Чар запоминает при старте что он держал в руках и будет после лечения поднимать эти вещи.

Code: Select all

sub sreset()
	UO.SetEasyUO(80,"1")
	UO.SetEasyUO(90,"1")
end sub


sub sparring()
	VAR Char1='0x0009267C'
	VAR Char2='0x00068998'
	VAR Enemy, ESelf, EEnemy
	VAR Weapon, Shield, WpnType, ShldType
	VAR TazikType='0x1008',BloodBndg='0x0E20'
	VAR MinLife=60
	

	if UO.GetSerial('self')==Char1 then
		Enemy=Char2
		EEnemy=90
		ESelf=80
	else
		Enemy=Char1
		EEnemy=80
		ESelf=90
	endif

	Weapon=UO.ObjAtLayer('Rhand')
	If Weapon<>"" Then
		WpnType=UO.GetGraphic(Weapon)
	Endif

	Shield=UO.ObjAtLayer('Lhand')
	If Shield<>"" Then
		ShldType=UO.GetGraphic(Shield)
	Endif
	
	UO.SetEasyUO(ESelf,"0")

	while NOT UO.Dead()
	
		repeat
			wait(500)
		until UO.GetEasyUO(ESelf)=="0" AND UO.GetEasyUO(EEnemy)=="0" 
		
		UO.Exec("warmode 1")
		UO.Attack(Enemy)
		
		while UO.Life>=MinLife AND UO.GetEasyUO(EEnemy)=="0" 
			wait(100)
		wend

		UO.SetEasyUO(ESelf,"1")
		UO.Exec("warmode 0")
		wait(1000)
		UO.Exec("warmode 0")

		UO.FindType('0x0E21','0x0000','backpack')
		If UO.GetQuantity('finditem')<20 Then
			UO.FindType('0x0E20','0x0000','backpack')
			UO.WaitTargetType(TazikType)
			UO.UseObject('finditem')
			wait(1000)
		Endif

		while UO.Life<UO.Str
			UO.DeleteJournal()
			UO.BandageSelf()
			Repeat
				wait(500)
			Until UO.InJournal('put') OR UO.InJournal('help') OR UO.InJournal('cure')
		wend

		If Shield<>"" Then
			UO.Equipt('Lhand',ShldType)
			wait(2000)
		Endif

		If Weapon<>"" Then
			UO.Equipt('Rhand',WpnType)
			wait(2000)
		Endif
		
		UO.UseSkill('Spirit Speak')
		wait(3000)
		UO.SetEasyUO(ESelf,"0")
	wend
end sub

Скрипт
Posts: 62
Joined: 2004-04-23 13:50:10

Post by Скрипт »

если можно написать где что нада поменять был бы очень признателен
Russian
Posts: 12
Joined: 2004-05-22 23:46:27

Post by Russian »

Спасибо, Саваж!
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Менять нужно только вот эти строки:
VAR Char1='0x0009267C'
VAR Char2='0x00068998'

то есть задать серийники чаров. скрипт одинаков для обоих клиентов то есть менять местами серийники не надо!!!

Чаров ставим рядом, с одного 1 раз запускаем sreset и на обоих sparring или сразу спарринг а потом второго чара подводим к первому.
Скрипт
Posts: 62
Joined: 2004-04-23 13:50:10

Post by Скрипт »

а что с изи уо делать ? :)
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Запустить вот это:
http://www.jetta.ru/easy.reg
Скрипт
Posts: 62
Joined: 2004-04-23 13:50:10

Post by Скрипт »

без разницы где запускать ?
и он кушает и пьёт рефрешки если чегото мало ?
Скрипт
Posts: 62
Joined: 2004-04-23 13:50:10

Post by Скрипт »

через время чары тупо стояли и смотрели друг на друга после того как я отаканул один просто убил другова
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

1) возможно у тя беда с переключателями: www.jetta.ru/inj-switch.jpg
2)кончились бандажки у какого-то чара
Haxor
Posts: 97
Joined: 2004-06-04 21:04:14

Post by Haxor »

Savage wrote:1) возможно у тя беда с переключателями: www.jetta.ru/inj-switch.jpg
2)кончились бандажки у какого-то чара

a pochemu on ne mojet binti ?
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Очень даже моет, проверь тип тпзика, может у вас другой и процедура помывки у нас - использовать кровяшки и таргет на тазик.
Haxor
Posts: 97
Joined: 2004-06-04 21:04:14

Post by Haxor »

ja vot napisal skript na chistku bintov a to skript ne chistit. no cherez nekotoroe vremja 2 chara tupo vtikajut na drug druga bez war rezhima


sub binta()
while not uo.Dead()
UO.waittargettype('0x1008')
UO.usetype('0x0E20')
wait(20000)
wend
end sub
Haxor
Posts: 97
Joined: 2004-06-04 21:04:14

Post by Haxor »

ne s bintami problema a skript prosto ostonavlivaetsa
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Я этим скриптом около 30-ти чаров прокачал. Х.з. че у тебя не так...
Alamir
Posts: 1
Joined: 2004-06-20 14:49:08

Post by Alamir »

а у меня просто стоят и все..да же биться не начинают...
Post Reply