Yoko http://forum.yoko.com.ua/ |
|
Помогите написать скрипт на мининг... http://forum.yoko.com.ua/viewtopic.php?f=17&t=15098 |
Page 1 of 1 |
Author: | Reaver [ 2009-09-15 15:00:47 ] |
Post subject: | Помогите написать скрипт на мининг... |
Очень бы хотелось попросить вас о написании скрипта для Мининга. Суть скрипта :Копание происходит в главное шахте города Минок,чтобы чар окапывал всю шахту,постоянно был в хайде(то есть копал из хайда) и выкидывал из пака руду железа.... Заранее благодарен. ЗЫ:Вы уж простите я вообще в скриптовании не соображаю ни капельки..... |
Author: | kostjan [ 2009-09-15 15:17:35 ] |
Post subject: | |
Для чего существует "Поиск" ? - Mining - Мининг! ![]() |
Author: | Reaver [ 2009-09-15 15:21:17 ] |
Post subject: | |
Да я находил тока ничего там не понимаю((((((Там столько этих скриптов,вот и прошу помочь кто бы составил бы мне такой скрипт |
Author: | Reaver [ 2009-09-15 22:35:30 ] |
Post subject: | |
Ну что нету благородных людей готовых оказать помощь нуббу??? |
Author: | kostjan [ 2009-09-20 01:06:34 ] |
Post subject: | |
Quote: Данный скрипт зделан под Миноук шахту. ;Исправленый скрипт Каматоза. ;Были исправлены все баги. ;Исправлен баг с переносом руды в кол-ве (1,2,3) ;Не упустите айди сундука внизу. ; ;Чар бегает по точкам и обкапывает их с нормальной задержкой. ;Сброс в сундук будет доделан в следующей версии. ;Также будет добавлено киляние голема. (300-хп) 5к. простой побег. sub mine() VAR DigDistance, TileNum VAR LastTimer DIM BaseX[7], BaseY[7] VAR BaseZ, WayPoint, WayPoints VAR MaxWeight,MaxDistance VAR i,j,TileY,TileX,DirX,DirY VAR Delta,BeginX,EndX,BeginY,EndY ;Сам скрипт var Reconnect=1 ; 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект. var Status=0 ; 1 - Показывать статус руды, 0 - нет. var Detect=1 ; 1 - Перед началом копки детектим окресности, 0 - нет. MaxWeight=550 ; Максимальный вес WayPoints=7 ; Указываем количество точек копания. BaseX[0]=2559 ; Здесь указываем координаты точек копания. Нужно встать на BaseY[0]=496 ; позицию и посмотреть координаты в инжекте. Их и нужно BaseZ=0 ; подставить вместо моих. Чара ставьте на 2 клетки от стен. BaseX[1]=2562 BaseY[1]=488 BaseX[2]=2569 BaseY[2]=486 BaseX[3]=2565 BaseY[3]=482 BaseX[4]=2569 BaseY[4]=491 BaseX[5]=2565 BaseY[5]=486 BaseX[6]=2567 BaseY[6]=480 BaseX[7]=2571 BaseY[7]=480 If Reconnect==1 Then UO.Exec('Exec Reconnect') EndIf If Detect==1 Then UO.DeleteJournal() UO.UseSkill("Detect Hidden") UO.Print("ПОИСК ВРАГОВ.....") wait(3200) EndIf ;Начало скрипта UO.Print ("Script: Mining. Jericho Server v.2.01 edit by Strike") UO.Print ("Autor: KamaTozz.") UO.Print ("Editor: Strike") uo.print('!!Выбери Кирку!! ') uo.exec('addobject Pickaxe') while uo.targeting() wait(100) sub tohide() wend While NOT UO.Dead() For WayPoint=0 to WayPoints-1 walkn(BaseX[WayPoint],BaseY[WayPoint],"") digitstay(MaxWeight,BaseX[WayPoint],BaseY[WayPoint]) Next wend end sub ;Копка sub digitstay(MaxWeight,BaseX,BaseY) VAR x,y,z='0',TileNum='1339' VAR Last=0,LastTimer, ContFlag=1 VAR MaxTimer=100 var mx, my, mz, i, j, Detect mx = UO.GetX("self") my = UO.GetY("self") mz = UO.GetZ("self") for i = mx-1 to mx+1 ; Расстояние копки for j = my -1 to my+1 ; Расстояние копки UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j)) Repeat CheckLag() ; UO.Waittargettile("1339", str(i), str(j), str(mz)) UO.Useobject("Pickaxe") LastTimer=UO.Timer() Repeat wait(100) until UO.InJournal("Вы положили") OR UO.InJournal("You cannot mine so close to yourself")OR UO.InJournal("You loosen")OR UO.InJournal("That is too far away") OR UO.InJournal("") OR UO.InJournal("") OR UO.InJournal("") OR LastTimer+50<UO.Timer() If NOT UO.InJournal('There is nothing here to mine for')OR UO.InJournal("That is too far away") then Endif If UO.InJournal('You loosen') then repeat wait(500) until UO.InJournal("You put the") OR LastTimer+MaxTimer<UO.Timer() Endif walkn(BaseX,BaseY,"") Else Endif Endif If UO.Weight>=MaxWeight then stop() Endif Until UO.InJournal("There is no") OR UO.InJournal("You cannot mine so close to yourself") OR UO.InJournal("Нет тут больше ничего") OR UO.InJournal("Далеко") OR UO.InJournal("Здесь невозможно копать") OR ContFlag==0 Next Next end sub ;Shared Subs {Не используеться хайд) Ф-ция убрана как таковая.Можно вписат ьесли есть кирка +5. sub tohide() while not UO.Hidden() UO.Warmode("0") # снимаем war режим uo.print("Прячемся...") UO.UseSkill("Hiding") wait(4000) wend end sub ;============================================================== ; CheckLag() ;-------------------------------------------------------------- sub CheckLag() UO.DeleteJournal() UO.Click('backpack') repeat wait(500) until UO.InJournal('backpack') end sub ;---------------- Ходилка ----------------------- ;(Поправлена ходилка) sub GoW() VAR walkwait=300 VAR x,y,dir=6 VAR key=36 ; Home key x=UO.GetX() y=UO.GetY() while UO.GetDir()<>dir UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif wend UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If UO.GetX()+1==x Then return -1 Else return 1 Endif end sub sub GoN() VAR walkwait=300 VAR x,y,dir=0 VAR key=33 ; PgUp x=UO.GetX() y=UO.GetY() while UO.GetDir()<>dir UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif wend UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If UO.GetY()+1==y Then return -1 Else return 1 Endif end sub sub GoE() VAR walkwait=300 VAR x,y,dir=2 VAR key=34 ; PgDown x=UO.GetX() y=UO.GetY() while UO.GetDir()<>dir UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif wend UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If UO.GetX()-1==x Then return -1 Else return 1 Endif end sub sub GoS() VAR walkwait=300 VAR x,y,dir=4 VAR key=35 ; End x=UO.GetX() y=UO.GetY() while UO.GetDir()<>dir UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif wend UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If UO.GetY()-1==y Then return -1 Else return 1 Endif end sub sub GoWN() VAR walkwait=300 VAR x,y,dir=7 VAR key=38 ; UpArrow x=UO.GetX() y=UO.GetY() If UO.GetDir()<>dir Then UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif Endif If UO.GetDir()==dir Then UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If UO.GetDir()==dir Then return -1 Else return UO.GetDir() Endif Else return UO.GetDir() Endif end sub sub GoNE() VAR walkwait=300 VAR x,y,dir=1 VAR key=39 ; RightArrow x=UO.GetX() y=UO.GetY() If UO.GetDir()<>dir Then UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif Endif If UO.GetDir()==dir Then UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If UO.GetDir()==dir Then return -1 Else return UO.GetDir() Endif Else return UO.GetDir() Endif end sub sub GoSE() VAR walkwait=300 VAR x,y,dir=3 VAR key=40 ; DownArrow x=UO.GetX() y=UO.GetY() If UO.GetDir()<>dir Then UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif Endif If UO.GetDir()==dir Then UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If UO.GetDir()==dir Then return -1 Else return UO.GetDir() Endif Else return UO.GetDir() Endif end sub sub GoSW() VAR walkwait=300 VAR x,y,dir=5 VAR key=37 ; LeftArrow x=UO.GetX() y=UO.GetY() If UO.GetDir()<>dir Then UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif Endif If UO.GetDir()==dir Then UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If UO.GetDir()==dir Then return -1 Else return UO.GetDir() Endif Else return UO.GetDir() Endif end sub #============================================================== # WalkN(X,Y,Serial) - char is walking by dX and dY step # sub using Home, End, PgUp, PgDown keys # d'not rebind this key from default action! # walkwait - delay after keypress #-------------------------------------------------------------- sub WalkN(x,y,Target) VAR i VAR dx,dy,Exit=0 While Exit<>1 If Target<>"" Then dx=UO.GetX(Target)-UO.GetX() dy=UO.GetY(Target)-UO.GetY() ; UO.Print("Target locked!") If UO.GetDistance(Target)<2 Then Exit=1 Endif Else dx=x-UO.GetX() dy=y-UO.GetY() If dx==0 AND dy==0 Then Exit=1 Endif Endif If dx<>0 AND dy<>0 Then If dx>0 AND dy>0 Then GoSE() Endif If dx>0 AND dy<0 Then GoNE() Endif If dx<0 AND dy>0 Then GoSW() Endif If dx<0 AND dy<0 Then GoWN() Endif Endif If dx<>0 AND dy==0 Then If dx>0 Then GoE() Endif If dx<0 Then GoW() Endif Endif If dx==0 AND dy<>0 Then If dy>0 Then GoS() Endif If dy<0 Then GoN() Endif Endif Wend end sub sub stop() uo.print("Цикл копки завершён, скрипт остановлен...") ToHide() InfoOre() UO.DeleteJournal() UO.Exec('terminate all') wait(100) UO.Exec('terminate all') wait(100) UO.Exec('terminate all') wait(100) end sub sub InfoOre() var Chest='0x4000B241' ;---------------(Сундук)---------------куда складываем накопанное (ID) var LogsTime=PrintTime() UO.FindType('0x19B9','-1','Chest') UO.FindType('0x19B7','-1','Chest') UO.FindType('0x19BA','-1','Chest') UO.FindType('0x19B8','-1','Chest') UO.TextOpen() UO.TextPrint('#####################') UO.TextPrint('## Время: '+LogsTime+' ##') UO.TextPrint('#####################') UO.TextPrint('Aluminiy Ore: '+STR(GetAmount('0x19B9','0x0964',Chest))) UO.TextPrint('Stone Ore: '+STR(GetAmount('0x19B9','0x0774',Chest))) UO.TextPrint('Copper Ore: '+STR(GetAmount('0x19B9','0x0655',Chest))) UO.TextPrint('Bronze Ore: '+STR(GetAmount('0x19B9','0x06D0',Chest))) UO.TextPrint('Iron Ore: '+STR(GetAmount('0x19B9','0x0000',Chest))) UO.TextPrint('Steel Ore: '+STR(GetAmount('0x19B9','0x0B7F',Chest))) UO.TextPrint('Gold Ore: '+STR(GetAmount('0x19B9','0x0B7A',Chest))) UO.TextPrint('Silver Ore: '+STR(GetAmount('0x19B9','0x0835',Chest))) UO.TextPrint('Adamantin Ore: '+STR(GetAmount('0x19B9','0x0845',Chest))) UO.TextPrint('Crystal Ore: '+STR(GetAmount('0x19B9','0x0B89',Chest))) UO.TextPrint('Meteor Ore: '+STR(GetAmount('0x19B9','0x0AE7',Chest))) UO.TextPrint('Mytheril Ore: '+STR(GetAmount('0x19B9','0x084A',Chest))) 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 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 ;Будет зделана ходилка в банк. ;Ходилка в дома и полная розгрузка чара. ;В новой версии будет дописана ф-ция битвы с элементалем ( 300-хп) ;Ожидайте.Исправил Strike. Quote:
|
Author: | Reaver [ 2009-10-01 23:28:06 ] |
Post subject: | |
Ой спасибо огромное!!!!!!!Буду пытаться разобраться) |
Author: | Reaver [ 2009-10-06 11:15:37 ] |
Post subject: | |
В 77 строке ошибку выдает что-то связанное с переменной вейпоинтс, что делать??? |
Author: | CuHTpoH [ 2009-10-06 11:38:30 ] |
Post subject: | |
ну исправь что-то связанное с переменной вейпоинтс |
Author: | Reaver [ 2009-10-06 14:41:00 ] |
Post subject: | |
Если бы я умел(((((((((((( |
Author: | Gashish379 [ 2009-10-10 16:17:51 ] |
Post subject: | |
Помогите плиз, таже проблема(((( |
Page 1 of 1 | All times are UTC+02:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |