sub Heal_Medit() var mana=uo.mana ,life=uo.life ,k, i var item='0x153E' #Type of curse var wash='0x402D878C' var bloody='0x0E20' #Type of a bloody bandage var food='0x097B' #Type something to eat while not uo.Dead() && uo.SkillVal('Meditation',2) <= 1010 && uo.SkillVal('Healing',2) <= 1010 uo.FindType(item,'-1','backpack') if uo.FindCount() then uo.UseObject('finditem') repeat wait(250) CheckLag() until uo.life <= life -1 && uo.mana <= mana-1 uo.UnDress() repeat k = 0 if uo.life <> life && uo.mana <> mana then uo.CancelTarget() uo.BandageSelf() else if uo.life <> life && uo.mana == mana then uo.BandageSelf() wait(3500) end if end if CheckLag() if uo.mana <> mana then uo.UseSkill('Meditation') uo.DeleteJournal() repeat wait(100) k = k + 1 until uo.InJournal('You are') || uo.InJournal('you lose') || (k>50) end if until uo.life == life && uo.mana == mana uo.FindType(bloody,'-1','backpack') if uo.FindCount() && uo.GetQuantity('finditem') >= 180 then uo.WaitTargetObject(wash) uo.UseObject('finditem') CheckLag() for i = 0 to 10 uo.UseType(food) wait(1000) next end if else if not uo.FindCount() then uo.CloseUo() else wait(500) end if end if wend end sub
sub CheckLag() uo.DeleteJournal('backpack') uo.Click('backpack') repeat wait(100) until uo.InJournal('backpack') end sub
sub Heal_Medit() var p = 1 ; поправка к статам, чтобы было что лечить и медитировать var curse = '0x153E' ; Type of curse
repeat UO.UseObject('_' + curse) ; Почему тут нет CheckLag? ; По тому что поиск ведет инжа у себя в памяти ; При любых лагах все проидет зачепятельно if not UO.FindCount() then ; выход по фатальной ошибке UO.Print("ERROR: !!! curse !!!") return 1 endif ; разрушаем свой организьм repeat ; пока ждем можно пожрать, постирать или просто вайт util() until UO.HP < UO.MaxHP - p && UO.MANA < UO.INT - p UO.UnDress()
while heal() && meditation() wait(200) wend
; Поправил, у автора там хз что until UO.Dead() || (UO.SkillVal('Meditation',1) == 1000 && UO.SkillVal('Healing',1) == 1000) end sub
; ПОЧЕМУ ТУТ НЕ ТИП? var wash='0x402D878C'; ; разьве есть шарды где тип иной? var bloody='0x0E20' #Type of a bloody bandage ; это едят все, в крайнем случае все стоя на скриптах var food='0x097B' #Type something to eat ; нафиг тогда переменные?
sub Heal_Medit() var p = 1 ; поправка к статам, чтобы было что лечить и медитировать var curse = '0x153E' ; Type of curse
repeat UO.UseObject('_' + curse) ; Почему тут нет CheckLag? ; По тому что поиск ведет инжа у себя в памяти ; При любых лагах все проидет зачепятельно if not UO.FindCount() then ; выход по фатальной ошибке UO.Print("ERROR: !!! curse !!!") return 1 endif ; разрушаем свой организьм repeat ; пока ждем можно пожрать, постирать или просто вайт util() until UO.HP < UO.MaxHP - p && UO.MANA < UO.INT - p UO.UnDress()
while heal() && meditation() wait(200) wend
; Поправил, у автора там хз что until UO.Dead() || (UO.SkillVal('Meditation',1) == 1000 && UO.SkillVal('Healing',1) == 1000) end sub
; ПОЧЕМУ ТУТ НЕ ТИП? var wash='0x402D878C'; ; разьве есть шарды где тип иной? var bloody='0x0E20' #Type of a bloody bandage ; это едят все, в крайнем случае все стоя на скриптах var food='0x097B' #Type something to eat ; нафиг тогда переменные?
=\
1. На шарде Форест Варс к примеру нет корыта в котором мыть бинты( когда я играл) -там приходилось мыть в деревянном корыте, из которых "пьют лошадки".
2. Бинты... ммм. Не задумывался об этом-но не вижу здесь каких то недочётов.
3. Еда. Мммм... еда бывает разная. Все едят фишстейки?! -Возможно, но могу вспомнить к примеру мёд на цитадели(если не ошибаюсь).
Зачем переменные -думаю теперь понятно. Ведь не всем так просто читать код и находить,-поэтому все используемые объекты которые могут быть изменены вынес в начало скрипта. Разве что разность макс. жизни и той с которой начинаем лечиться.
sub Heal_Medit() # Edited: # 1.mana and life -had been changed to STR and INT for more safety. # var STR=195 # You STR withour curse var INT=60 # You INT without curse var item='0x153E' #Type of curse var wash='0x402D878C' #ID where to clean bandage var bloody='0x0E20' #Type of bloody bandage var food='0x097B' # Type of anything to eat var k, i while not uo.Dead() && uo.SkillVal('Meditation',1) < 1000 && uo.SkillVal('Healing',1) < 1000 if uo.life < STR && uo.mana < INT then goto Begin end if uo.FindType(item,'-1','backpack') if uo.FindCount() then uo.UseObject('finditem') repeat wait(250) CheckLag() until uo.life <= STR -1 && uo.mana <= INT-1 Begin: uo.UnDress() repeat k = 0 if uo.life <> STR && uo.mana <> INT then uo.CancelTarget() uo.BandageSelf() else if uo.life <> STR && uo.mana == INT then uo.BandageSelf() wait(3500) end if end if CheckLag() if uo.mana <> INT then uo.UseSkill('Meditation') uo.DeleteJournal() wait(150) repeat wait(100) k = k + 1 until uo.InJournal('You are') || uo.InJournal('you lose') || (k>50) end if until uo.life == STR && uo.mana == INT uo.FindType(bloody,'-1','backpack') if uo.FindCount() && uo.GetQuantity('finditem') >= 180 then uo.WaitTargetObject(wash) uo.UseObject('finditem') CheckLag() for i = 0 to 10 uo.UseType(food) wait(1000) next end if else if not uo.FindCount() then uo.CloseUo() uo.exec('terminate all') else wait(500) end if end if wend end sub
sub MeditationTrain() var INT=60 #Your INT withour curse var item='0x153E' #Type of curse var food='0x097B' #Type of something to eat var k, i, l l=0 while not uo.Dead() && uo.SkillVal('Meditation',1) < 1000 if uo.mana < INT then goto BeginMedit end if uo.FindType(item,'-1','backpack') if uo.FindCount() then uo.UseObject('finditem') repeat wait(150) CheckLag() until uo.mana <= INT-1 BeginMedit: uo.UnDress() repeat k = 0 CheckLag() if uo.mana <> INT then uo.UseSkill('Meditation') uo.DeleteJournal() wait(150) repeat wait(100) k = k + 1 until uo.InJournal('You are') || uo.InJournal('you lose') || (k>50) end if until uo.mana == INT l=l+1 if l>100 then for i=0 to 10 uo.UseType(food) wait(1000) next l=0 end if else if not uo.FindCount() then uo.CloseUo() uo.exec('terminate all') else wait(500) end if end if wend end sub
sub Healing() var STR=195 #Your STR withour curse var item='0x153E' #Type of curse var wash='0x402D878C' #ID where to clean bandage var bloody='0x0E20' #Type of bloody bandage var food='0x097B' #Type of something to eat var k, i while not uo.Dead() && uo.SkillVal('Healing',1) < 1000 if uo.life < STR then goto BeginHeal end if uo.FindType(item,'-1','backpack') if uo.FindCount() then uo.UseObject('finditem') repeat wait(250) CheckLag() until uo.life <= STR -1 BeginHeal: uo.UnDress() repeat k = 0 if uo.life <> STR then uo.BandageSelf() wait(3500) end if until uo.life == STR uo.FindType(bloody,'-1','backpack') if uo.FindCount() && uo.GetQuantity('finditem') >= 180 then uo.WaitTargetObject(wash) uo.UseObject('finditem') CheckLag() for i = 0 to 10 uo.UseType(food) wait(1000) next end if else if not uo.FindCount() then uo.CloseUo() uo.exec('terminate all') else wait(500) end if end if wend end sub
Last edited by Scripts Writer on 2006-12-03 13:31:39, edited 2 times in total.
while not uo.Dead() && uo.SkillVal('Meditation',2) <= 1010 && uo.SkillVal('Healing',2) <= 1010
Синтакс: number uo.SkillVal(skill,[case]) -------------------------------------------------------------------------------- Возвращает величину умения skill в десятых процента, т.е. 12.3%=123. Если задано значение параметра case то можно получить такие значения:
case=0: величина умения skill в десятых процента case=1: величина умения skill в десятых процента (real) case=2: увеличение skill с момента загрузки или сброса в десятых процента case=3: статус skill (открыт, закрыт, уменьшается)
чтобы из выйти цикла нужно иметь все скиллы 110 и быть мертвым
&& это AND
while not uo.Dead() -цикл выполняется while uo.SkillVal('Meditation',1) < 1000 -цикл не выполняется while not uo.Dead() && uo.SkillVal('Meditation',1) < 1000 -цикл не выполняется while not uo.Dead() && uo.SkillVal('Meditation',1) < 1001 -цикл выполняется