Спарринг-скрипт
Moderators: Murderator+, Murderator
Спарринг-скрипт
Прислали мне такой замысловатый скрипт под две сессии инжи с использованием 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
Скрипт такой:
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
-
- Expert!
- Posts: 1205
- Joined: 2004-04-04 11:13:54
- Location: Балаково, Саратовская обл.
- Contact:
Старая версия. Я уж и не помню в чем там глюк был.
В пак чарам суем вепон одинакого типа и в руки даем образец ну и щит если паринг еще не прокачен. Бандажки и тазик для стирки кровяшек.
Чар запоминает при старте что он держал в руках и будет после лечения поднимать эти вещи.
В пак чарам суем вепон одинакого типа и в руки даем образец ну и щит если паринг еще не прокачен. Бандажки и тазик для стирки кровяшек.
Чар запоминает при старте что он держал в руках и будет после лечения поднимать эти вещи.
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
-
- Expert!
- Posts: 1205
- Joined: 2004-04-04 11:13:54
- Location: Балаково, Саратовская обл.
- Contact:
Менять нужно только вот эти строки:
VAR Char1='0x0009267C'
VAR Char2='0x00068998'
то есть задать серийники чаров. скрипт одинаков для обоих клиентов то есть менять местами серийники не надо!!!
Чаров ставим рядом, с одного 1 раз запускаем sreset и на обоих sparring или сразу спарринг а потом второго чара подводим к первому.
VAR Char1='0x0009267C'
VAR Char2='0x00068998'
то есть задать серийники чаров. скрипт одинаков для обоих клиентов то есть менять местами серийники не надо!!!
Чаров ставим рядом, с одного 1 раз запускаем sreset и на обоих sparring или сразу спарринг а потом второго чара подводим к первому.
-
- Expert!
- Posts: 1205
- Joined: 2004-04-04 11:13:54
- Location: Балаково, Саратовская обл.
- Contact:
Запустить вот это:
http://www.jetta.ru/easy.reg
http://www.jetta.ru/easy.reg
-
- Expert!
- Posts: 1205
- Joined: 2004-04-04 11:13:54
- Location: Балаково, Саратовская обл.
- Contact:
1) возможно у тя беда с переключателями: www.jetta.ru/inj-switch.jpg
2)кончились бандажки у какого-то чара
2)кончились бандажки у какого-то чара
Savage wrote:1) возможно у тя беда с переключателями: www.jetta.ru/inj-switch.jpg
2)кончились бандажки у какого-то чара
a pochemu on ne mojet binti ?