| Yoko http://forum.yoko.com.ua/ |
|
| Помагите со скриптом на мининг! http://forum.yoko.com.ua/viewtopic.php?f=20&t=5535 |
Page 1 of 1 |
| Author: | user123 [ 2006-02-06 14:06:12 ] |
| Post subject: | Помагите со скриптом на мининг! |
все вроде запускаеться! но чар некапает, все время пишет, что нет руды в пещере! Мне сказали заменить Вары, но как их заменить я недогадался =(! ################## ### Ïåðåìåííûå ### ################################################################################################### var Reconnect=0 ## 1 - Âêëþ÷èòü ðåêîííåêò íà ñåðâåð åñëè âûêèíåò, 0 - îòêëþ÷èòü ðåêîííåêò.(íå ïðîâåðÿë ðàáîòàåò èëè íåò ñ ýòèì ñêðèïòîì) ### var Food=1 ## - Êóøàòü ïîñëå ñáðîñà ðóäû èëè íåò? 1 - äà, 0 - íåò. ### var Status=0 ## - Ñòàòóñ ðóäû, ïîêàçûâàåò ñêîêà íàêîïàëè (äëÿ îïûòíûõ ñêðèïò¸ðîâ) 1 - äà, 0 - íåò. ### var Chest='0x416ED746' ## - ID ñóíäóêà êóäà áóäóò âûãðóæàòüñÿ ðóäó, ãäå äîëæíû ëåæàòü ðåãè è åäà. ### var TypeFood='0x160A' ## - Type åäû êîòîðóþ áóäåì êóøàòü.(ñåé÷àñ ôèøòåéêè) ### var CountReg=50 ## - Êîë-âî ðåãîâ äëÿ ïîäçàðÿäêè. ### var OreQty=600 ## - Ìàêñèìàëüíûé âåñ ïðè êîòîðîì äîìîé ñ ðóäîé ### var maxjamp=8 ## - Äëÿ ðåêîëà (èçìåíÿòü íå íóæíî) var rune=1 ## - Äëÿ ðåêîëà (èçìåíÿòü íå íóæíî) ################################################################################################### ### Wait - Æä¸ò ñîîáøåíèÿ ïîñëå çàìàõà êèðêè, ÷òîáû ïîâòîðèòü. ## ### Fizzle - Åñëè ïðèøëî òàêîå ñîîáøåíèå, òî ïåðåõîäèì íà ñëåä. êëåòêó êîïàòü. ## ################################################################################################### var Wait1="You put" var Wait2="heavy" var Wait3="location" var Wait4="no ore" var Wait5="but fail" var Wait6="far away" var Wait7="in rock" var Wait8="You can't" var Wait9="nothing here" var Wait10="You have found some" ### var Fizzle1="There is nothing here to mine for." var Fizzle2="You can't use the" var Fizzle3="Try mining elsewhere." var Fizzle4="location" ################################################################################################### ################# ### Âêëþ÷àëêà ### ################# sub Start() If UO.GetGlobal('Maningcheck')=='on' Then UO.SetGlobal('Maningcheck','off') UO.Exec('Exec Terminate') Else UO.Exec('Exec Maning') UO.SetGlobal('Maningcheck','on') EndIf End sub ############### ### Ìàéíèíã ### ############### Sub Maning() var Mine=1 UO.print('!!!SELECT YOU PICKAXE!!!') UO.exec('addobject Shovel') while UO.targeting() wait(100) wend wait(1000) UO.print('!!!SELECT YOU RUNE TO HOME!!!') UO.exec('addobject Home') while UO.targeting() wait(100) wend wait(1000) UO.print('SELECT YOU RUNE TO MINE (1)') UO.exec('addobject Mine1') while UO.targeting() wait(100) wend wait(1000) UO.print('SELECT YOU RUNE TO MINE (2)') UO.exec('addobject Mine2') while UO.targeting() wait(100) wend wait(1000) UO.print('SELECT YOU RUNE TO MINE (3)') UO.exec('addobject Mine3') while UO.targeting() wait(100) wend wait(1000) UO.print('SELECT YOU RUNE TO MINE (4)') UO.exec('addobject Mine4') while UO.targeting() wait(100) wend wait(1000) UO.print('SELECT YOU RUNE TO MINE (5)') UO.exec('addobject Mine5') while UO.targeting() wait(100) wend wait(1000) UO.print('SELECT YOU RUNE TO MINE (6)') UO.exec('addobject Mine6') while UO.targeting() wait(100) wend wait(1000) UO.print('SELECT YOU RUNE TO MINE (7)') UO.exec('addobject Mine7') while UO.targeting() wait(100) wend If Reconnect==1 Then UO.Exec('Exec Reconnect') EndIf ############################## ### Êîïàåì ðóäó âîçëå ñåáÿ ### ############################## If Mine==1 Then REPEAT JumpToRune() GetOre() wait(2000) Until UO.Dead() End sub Sub GetOre() var CheckTime var mx, my, mz, i, j mx = UO.GetX("self") my = UO.GetY("self") mz = UO.GetZ("self") for i = mx-2 to mx+2 for j = my-2 to my+2 ToHide() UO.Print("Get Coordinate: "+str(mx-i)+' '+str(my-j)) If UO.waiting() Then UO.canceltarget() EndIf REPEAT If UO.weight >= OreQty Then ToRecall() EndIf ToHide() UO.Waittargettile("1341",str(i),str(j),str(mz)) UO.Useobject("Shovel") CheckTime=UO.Timer() UO.DeleteJournal() REPEAT wait(300) Until UO.InJournal(Wait1) or UO.InJournal(Wait2) or UO.InJournal(Wait3) or UO.InJournal(Wait4) or UO.InJournal(Wait5) or UO.InJournal(Wait6) or UO.InJournal(Wait7) or UO.InJournal(Wait8) or UO.InJournal(Wait9) or UO.InJournal(Wait10) or CheckTime+200<uo.Timer() or UO.Dead() Until UO.InJournal(Fizzle1) or UO.InJournal(Fizzle2) or UO.InJournal(Fizzle3) or UO.InJournal(Fizzle4) or UO.Dead() If UO.weight >= OreQty Then ToRecall() EndIf Next Next End sub ################### ### Ðåêîë äîìîé ### ################### Sub ToRecall() RecallToHome() ToHide() DropOre() CheckReg() If Food==1 Then ToEat() EndIf If Status==1 Then InfoOre() EndIf BackToMine() End sub ######################################################## ### Ñèñòåìà ðåêîëîâ ïî ðóíàì (ñ ïðîâåðêîé íà ïðûæêè) ### ######################################################## Sub JumpToRune() var x=0 var mx, my mx = UO.GetX("self") my = UO.GetY("self") dim runes[7] runes[1]='Mine1' runes[2]='Mine2' runes[3]='Mine3' runes[4]='Mine4' runes[5]='Mine5' runes[6]='Mine6' runes[7]='Mine7' RecallMana() If rune==maxjamp Then rune=1 EndIf UO.Print("Go to Mine: "+str(rune)) UO.Cast('Recall',runes[rune]) Wait(5000) If UO.getx()==mx and UO.gety()==my Then REPEAT x=x+1 RecallMana() UO.Cast('Recall',runes[rune]) Wait(5000) Until UO.getx()<>mx and UO.gety()<>my or (x==2) or UO.Dead() EndIf CheckMark() rune=rune+1 End sub Sub BackToMine() var x=0 var mx, my mx = UO.GetX("self") my = UO.GetY("self") dim runes[7] runes[1]='Mine1' runes[2]='Mine2' runes[3]='Mine3' runes[4]='Mine4' runes[5]='Mine5' runes[6]='Mine6' runes[7]='Mine7' If rune==1 Then rune=2 EndIf rune=rune-1 RecallMana() UO.Print("Go back to Mine: "+str(rune)) UO.Cast('Recall',runes[rune]) Wait(5000) If UO.getx()==mx and UO.gety()==my Then REPEAT x=x+1 RecallMana() UO.Cast('Recall',runes[rune]) Wait(5000) Until UO.getx()<>mx and UO.gety()<>my or (x==2) or UO.Dead() EndIf CheckMark() rune=rune+1 End sub Sub CheckMark() dim runes[7] runes[1]='Mine1' runes[2]='Mine2' runes[3]='Mine3' runes[4]='Mine4' runes[5]='Mine5' runes[6]='Mine6' runes[7]='Mine7' If UO.InJournal('The recall rune is starting to fade') Then UO.print("Mark Rune: "+str(rune)) REPEAT UO.DeleteJournal() MarkMana() UO.Cast('Mark',runes[rune]) wait(5000) Until NOT UO.InJournal('The spell fizzles') or UO.Dead() UO.DeleteJournal() EndIf End sub ####################################################### ### Ðåêîëèìñÿ äîìîé ïî ðóíàì (ñ ïðîâåðêîé íà ïðûæêè) ## ####################################################### Sub RecallToHome() var x=0 var mx, my mx = UO.GetX("self") my = UO.GetY("self") REPEAT x=x+1 RecallMana() UO.Print('Go to Home') UO.Cast('Recall','Home') wait(5000) Until UO.getx()<>mx and UO.gety()<>my or (x==3) or UO.Dead() If UO.InJournal('The recall rune is starting to fade') Then UO.print("Mark Rune") REPEAT UO.DeleteJournal() MarkMana() UO.Cast('Mark','Home') wait(5000) Until NOT UO.InJournal('The spell fizzles') or UO.Dead() UO.DeleteJournal() EndIf End sub #################################### ### Âûêëàäûâàåì ðóäó â êîíòåéíåð ### #################################### Sub DropOre() If UO.waiting() Then UO.canceltarget() EndIf VAR a,Exit 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(Chest) 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 or UO.Dead() Next UO.UnSetReceivingContainer() End sub ##################################### ### Ïðîâåðÿåì êîë-âî ðåãîâ â ïàêå ### ##################################### Sub CheckReg() If UO.MR <= 10 or UO.BM <= 10 or UO.BP <= 10 Then UO.Print("!!!Download Regs!!!") UO.SetReceivingContainer('backpack') UO.UseObject(Chest) wait(5000) UO.FindType('0x0F86','-1',Chest) ; MR UO.Grab(STR(CountReg-UO.MR),'finditem') wait(5000) UO.FindType('0x0F7B','-1',Chest) ; BM UO.Grab(STR(CountReg-UO.BM),'finditem') wait(5000) UO.FindType('0x0F7A','-1',Chest) ; BP UO.Grab(STR(CountReg-UO.BP),'finditem') wait(5000) UO.UnsetReceivingContainer() UO.Print("!!!Download Regs: Done!!!") EndIf End sub ########################################## ### Áåð¸ì õàâêó èç êîíòåéíåðà è êóøàåì ### ########################################## Sub ToEat() UO.UseObject(Chest) wait(5000) UO.FindType(TypeFood,'-1',Chest) If UO.FindCount() > 0 Then UO.SetReceivingContainer('backpack') UO.Grab('25','finditem') wait(2000) REPEAT UO.UseType(TypeFood) wait(1000) Until UO.InJournal('You are simply too full to eat any more!') or UO.Dead() Else UO.print("!!! Not Food !!!") EndIf DropFood() End sub Sub DropFood() var f,Exit dim Food[1] Food[0]=TypeFood If UO.Waiting() Then UO.CancelTarget() EndIf UO.SetReceivingContainer(Chest) for f=0 to 0 Exit=0 repeat UO.FindType(Food[f]) If UO.GetQuantity('finditem') > 0 Then UO.Grab('0','finditem') wait(1500) Else Exit=1 EndIf Until Exit==1 or UO.Dead() next UO.UnsetReceivingContainer() End sub #################################### ### Ïðîâåðÿåì ìàíó ïåðåä êàñòàìè ### #################################### Sub RecallMana() If UO.mana <= 11 Then UO.print('!!!Meditation!!!') UO.Exec('warmode 0') wait(1000) REPEAT UO.UseSkill('Meditation') wait(15000); 15 ñåêóíä ìåäåòèðóåì. Until UO.mana > 50 or UO.Dead() EndIf End sub Sub MarkMana() If UO.mana <= 17 Then UO.print('!!!Meditation!!!') UO.Exec('warmode 0') wait(1000) REPEAT UO.UseSkill('Meditation') wait(15000); 15 ñåêóíä ìåäåòèðóåì. Until UO.mana > 50 or UO.Dead() EndIf End sub ####################### ### Ïðÿ÷èìñÿ â õàéä ### ####################### Sub ToHide() var CheckTime while NOT UO.Hidden() UO.Print('Hidden...') UO.Exec("warmode 0") wait(1000) UO.UseSkill('Stealth') CheckTime=UO.Timer() REPEAT wait(300) Until UO.Hidden() or CheckTime+60<uo.Timer() or UO.Dead() Wend End sub ################################### ### Ñìîòðèì ñêîêà íàêîïàëè ðóäû ### ################################### Sub InfoOre() var LogsTime=PrintTime() UO.FindType('0x1BDD','-1',Chest) UO.TextOpen() UO.TextPrint('#####################') UO.TextPrint('## Âðåìÿ: '+LogsTime+' ##') UO.TextPrint('#####################') UO.TextPrint('Iron Ore: '+STR(GetAmount('0x19B9','0x0000',Chest))) UO.TextPrint('Rose Ore: '+STR(GetAmount('0x19B9','0x0665',Chest))) UO.TextPrint('Golden Ore: '+STR(GetAmount('0x19B9','0x084D',Chest))) UO.TextPrint('Orion Ore: '+STR(GetAmount('0x19B9','0x048A',Chest))) UO.TextPrint('Dwarf Ore: '+STR(GetAmount('0x19B9','0x0488',Chest))) UO.TextPrint('Silver Ore: '+STR(GetAmount('0x19B9','0x0482',Chest))) UO.TextPrint('Shadow Ore: '+STR(GetAmount('0x19B9','0x0770',Chest))) UO.TextPrint('Valorite Ore: '+STR(GetAmount('0x19B9','0x0515',Chest))) UO.TextPrint('Crystal Ore: '+STR(GetAmount('0x19B9','0x0487',Chest))) UO.TextPrint('Magma Ore: '+STR(GetAmount('0x19B9','0x0486',Chest))) UO.TextPrint('Obsidian Ore: '+STR(GetAmount('0x19B9','0x0485',Chest))) UO.TextPrint('Mytheril Ore: '+STR(GetAmount('0x19B9','0x048D',Chest))) UO.TextPrint('#####################') End sub Sub GetAmount(Type, Color, Cont) Var item_amount = 0 UO.IgnoreReset() Repeat UO.FindType(Type, Color, Cont) If UO.FindCount() > 0 Then If UO.GetQuantity('finditem')==0 Then item_amount = item_amount + 1 Else item_amount = item_amount + UO.GetQuantity('finditem') EndIf UO.Ignore('finditem') UO.FindType(Type, Color, Cont) EndIf Until UO.FindCount() < 1 or UO.Dead() UO.IgnoreReset() Return item_amount End sub Sub PrintTime() Var HR = '' Var MIN = '' Var SEC = '' Var CurrentTime = UO.Time() If CurrentTime>99999 Then HR = Mid(STR(CurrentTime),0,2) MIN = Mid(STR(CurrentTime),2,2) SEC = Mid(STR(CurrentTime),4,2) Else If CurrentTime > 9999 Then HR = '0'+Mid(STR(CurrentTime),0,1) MIN = Mid(STR(CurrentTime),1,2) SEC = Mid(STR(CurrentTime),3,2) Else If CurrentTime > 999 Then HR = '00' MIN = Mid(STR(CurrentTime),0,2) SEC = Mid(STR(CurrentTime),2,2) Else If CurrentTime > 99 Then HR = '00' MIN = '0'+Mid(STR(CurrentTime),0,1) SEC = Mid(STR(CurrentTime),1,2) Else If CurrentTime > 9 Then HR = '00' MIN = '00' SEC = STR(CurrentTime) Else HR = '00' MIN = '00' SEC = '0'+STR(CurrentTime) EndIf EndIf EndIf EndIf EndIf UO.TextPrint(STR(CurrentTime )) Return (HR+':'+MIN+':'+SEC) End sub ################## ### ÐÅÊÎÍÅÊÒÎÐ ### ################## Sub Reconnect() var ReconnectTime,rFlag ReconnectTime='0' rFlag=1 repeat while (UO.ObjAtLayer('Bpack')=='') If rFlag Then ReconnectTime=MakeTime() rFlag=0 EndIf wait(20000) UO.Say('') wait(3000) UO.Say('') wait(3000) UO.Say('') wait(3000) UO.LDblClick(357,164) UO.LClick(616,459) wait(3000) wend wait(3000) If (rFlag==0) and (ReconnectTime<>'0') Then UO.TextOpen() UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) rFlag=1 ReconnectTime='0' EndIf Until false End sub Sub MakeTime() var d,t,ret,i ret=str(UO.Time()) t="" for i=0 to Len(ret) t=ret[Len(ret)-i]+t If (i==2) or (i==4) Then t=":"+t EndIf next ret=str(UO.Date()) d="" for i=0 to Len(ret) d=ret[Len(ret)-i] + d If (i==2) or (i==4) Then d="."+d EndIf next ret=t+" @ "+d return ret End sub ############################# ### Âûêëþ÷àåì âñå ñêðèïòû ### ############################# Sub Terminate() UO.Print("Mining script: Off!") UO.DeleteJournal() UO.Exec('terminate all') wait(100) UO.Exec('terminate all') wait(100) UO.Exec('terminate all') wait(100) End sub |
|
| Author: | GimFlex [ 2006-02-06 14:12:19 ] |
| Post subject: | |
viewtopic.php?t=4092 начинай уроки читать если ты не знаешь как переменные менять то сори помочь не смогу надо хоть чтото знать чтоб мы на языке прграмирования общалиь почитай все уроки плз |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|