Нужно чтобы при появлении ПК пил инвизку и при выцкладке руды вставал в хайд, а остальное все также.ПЛЗ
Code: sub maning() #BETEP™# var mx, my, mz, i, j, jor, ser, noto Uo.exec("set norbcheck 1"); для рекола uo.exec("set norbcalc 1"); тоже
uo.print('!!Выбери Лопату!! ') uo.exec('addobject Shovel') while uo.targeting() wait(100) wend uo.print('!!Выбери Руну ДОМОЙ !! ') uo.exec('addobject runeHome') while uo.targeting() wait(100) wend
uo.print('!!Выбери Руну В ПЕЩЕРУ !! ') uo.exec('addobject runeCave') while uo.targeting() wait(100) wend
na4alo: mx = UO.GetX("self") my = UO.GetY("self") mz = UO.GetZ("self") UO.DeleteJournal() for i = mx-4 to mx+4 for j = my -4 to my+4 while not UO.Hidden() UO.Warmode("0") uo.print("Прячемся...") UO.UseSkill("Hiding") wait(4000) wend UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j)) while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore") UO.DeleteJournal() if uo.waiting() then uo.canceltarget() endif UO.Waittargettile("1341", str(i), str(j), str(mz)) UO.Useobject("Shovel") while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock") wait (500) if uo.injournal("heavy") or uo.dead() then pwav() Pause() endif for jor = 0 to 9 ser = uo.journalserial(jor) noto = uo.getnotoriety(ser) if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then if uo.waiting() then uo.canceltarget() endif Save() pwavw() wait(180000) ; время в секундах при ожидании пока уйдет ПК loot() wait(3000) goto reccal endif next wend if uo.weight > 300 then ; Максимальный вес при котором домой с рудой goto end endif wend UO.DeleteJournal() next next goto na4alo end: if uo.waiting() then uo.canceltarget() endif uo.waittargetobject('runeHome') ; домой wait(500) uo.cast('Recall') wait(8000) loot() wait(3000) reccal: uo.deletejournal() if uo.waiting() then uo.canceltarget() endif uo.waittargetobject('runeCave') ; в шахту wait(500) uo.cast('Recall') mx = UO.GetX("self") my = UO.GetY("self") wait(10000) if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then goto reccal endif goto na4alo end sub
sub loot() ; перекладка руды в сундук if uo.waiting() then uo.canceltarget() endif VAR a,Exit VAR UnloadCont='0x401d2dbd' ; АЙДИ сундука для руды DIM Ore[5] Ore[0]=0x19B9 ; 4 and more ore Ore[1]=0x19B7 ; 1 ore Ore[2]=0x19BA ; 2 ore Ore[3]=0x19B8 ; 3 ore UO.SetReceivingContainer(UnloadCont) wait(500) For a=0 to 3 Exit=0 repeat UO.FindType(Ore[a]) if UO.GetQuantity('finditem')>0 then UO.Grab('0','finditem') wait(1500) Else Exit=1 endif until Exit==1 Next UO.UnSetReceivingContainer() end sub
sub Save() ; Реколл от ПК при их появлении (в паке рунка в безопасное место и реги) var mx, my reccal: uo.deletejournal() if uo.waiting() then uo.canceltarget() endif mx = UO.GetX("self") my = UO.GetY("self") UO.DeleteJournal() uo.waittargetobject('runeHome') ; домой wait(500) uo.cast('Recall') wait(4000) if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then goto reccal endif end sub
sub pwav() ; звук при выкапывании ЭЛЕМЕНТАЛА uo.playwav("E:\UO\inject\SOUND\chanting sound 01.wav") endsub
sub pwavw(); звук при появлении ПК uo.playwav("E:\UO\inject\SOUND\chanting sound 01.wav") endsub
sub Pause() ; Пауза скрипта если выкопали Элема (продолжить сказав GO ) UO.DeleteJournal() REPEAT WAIT(3000) UO.Print("!!!СКРИПТ НА ПАУЗЕ!!!!") UNTIL UO.InJournal('GO') UO.Print("!!!СКРИПТ ПРОДОЛЖЕН!!!!") endif end sub
|