Yoko

All sides of Injection
It is currently 2025-10-16 17:57:46

All times are UTC+02:00




Post new topic  Reply to topic  [ 10 posts ] 
Author Message
PostPosted: 2009-09-15 15:00:47 
Offline

Joined: 2009-09-10 17:05:10
Posts: 12
Очень бы хотелось попросить вас о написании скрипта для Мининга.
Суть скрипта :Копание происходит в главное шахте города Минок,чтобы чар окапывал всю шахту,постоянно был в хайде(то есть копал из хайда) и выкидывал из пака руду железа....
Заранее благодарен.
ЗЫ:Вы уж простите я вообще в скриптовании не соображаю ни капельки.....


Top
   
 Post subject:
PostPosted: 2009-09-15 15:17:35 
Offline
User avatar

Joined: 2009-03-06 21:52:25
Posts: 89
Для чего существует "Поиск" ? - Mining - Мининг! :idea:


Top
   
 Post subject:
PostPosted: 2009-09-15 15:21:17 
Offline

Joined: 2009-09-10 17:05:10
Posts: 12
Да я находил тока ничего там не понимаю((((((Там столько этих скриптов,вот и прошу помочь кто бы составил бы мне такой скрипт


Top
   
 Post subject:
PostPosted: 2009-09-15 22:35:30 
Offline

Joined: 2009-09-10 17:05:10
Posts: 12
Ну что нету благородных людей готовых оказать помощь нуббу???


Top
   
 Post subject:
PostPosted: 2009-09-20 01:06:34 
Offline
User avatar

Joined: 2009-03-06 21:52:25
Posts: 89
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:


Top
   
 Post subject:
PostPosted: 2009-10-01 23:28:06 
Offline

Joined: 2009-09-10 17:05:10
Posts: 12
Ой спасибо огромное!!!!!!!Буду пытаться разобраться)


Top
   
 Post subject:
PostPosted: 2009-10-06 11:15:37 
Offline

Joined: 2009-09-10 17:05:10
Posts: 12
В 77 строке ошибку выдает что-то связанное с переменной вейпоинтс, что делать???


Top
   
 Post subject:
PostPosted: 2009-10-06 11:38:30 
Offline
User avatar

Joined: 2007-11-01 19:09:30
Posts: 287
Location: Moscow
ну исправь что-то связанное с переменной вейпоинтс

_________________
**Выставляем отступы в скриптах*** ©Destruction
Feel the Power of Dark Side


Top
   
 Post subject:
PostPosted: 2009-10-06 14:41:00 
Offline

Joined: 2009-09-10 17:05:10
Posts: 12
Если бы я умел((((((((((((


Top
   
 Post subject:
PostPosted: 2009-10-10 16:17:51 
Offline

Joined: 2009-10-06 11:59:24
Posts: 6
Помогите плиз, таже проблема((((


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 10 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited