Page 1 of 1
Спарринг-скрипт
Posted: 2004-06-02 12:28:28
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
Posted: 2004-06-03 13:52:38
by Edred
Изя здесь не нужна, нужны только глобальные переменные от нее, прописанные в регистри
Posted: 2004-06-03 17:34:43
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
Posted: 2004-06-03 20:00:29
by Скрипт
если можно написать где что нада поменять был бы очень признателен
Posted: 2004-06-04 10:42:23
by Russian
Спасибо, Саваж!
Posted: 2004-06-04 14:17:37
by Savage
Менять нужно только вот эти строки:
VAR Char1='0x0009267C'
VAR Char2='0x00068998'
то есть задать серийники чаров. скрипт одинаков для обоих клиентов то есть менять местами серийники не надо!!!
Чаров ставим рядом, с одного 1 раз запускаем sreset и на обоих sparring или сразу спарринг а потом второго чара подводим к первому.
Posted: 2004-06-07 12:31:47
by Скрипт
а что с изи уо делать ?

Posted: 2004-06-07 15:37:29
by Savage
Posted: 2004-06-07 16:51:19
by Скрипт
без разницы где запускать ?
и он кушает и пьёт рефрешки если чегото мало ?
Posted: 2004-06-07 17:59:13
by Скрипт
через время чары тупо стояли и смотрели друг на друга после того как я отаканул один просто убил другова
Posted: 2004-06-08 19:40:58
by Savage
1) возможно у тя беда с переключателями:
www.jetta.ru/inj-switch.jpg
2)кончились бандажки у какого-то чара
Posted: 2004-06-09 19:24:12
by Haxor
a pochemu on ne mojet binti ?
Posted: 2004-06-09 19:26:21
by Savage
Очень даже моет, проверь тип тпзика, может у вас другой и процедура помывки у нас - использовать кровяшки и таргет на тазик.
Posted: 2004-06-10 16:41:12
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
Posted: 2004-06-10 22:54:47
by Haxor
ne s bintami problema a skript prosto ostonavlivaetsa
Posted: 2004-06-11 18:56:54
by Savage
Я этим скриптом около 30-ти чаров прокачал. Х.з. че у тебя не так...
Posted: 2004-06-20 14:53:59
by Alamir
а у меня просто стоят и все..да же биться не начинают...