Page 1 of 1

Хелпаните с реколом в готов скрипте.

Posted: 2005-06-09 03:55:18
by Qualis Eram
Привет

Не допонял чего то я? Вот тут лежит полностью этот скрипт: http://yoko.netroof.net/forum/viewtopic ... 1185#11185

Вот в нем есть система реклов и там всего 7 рун........а надо чтобы было больше!

Code: Select all

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 (7)')
UO.exec('addobject Mine7')
while UO.targeting()
wait(100)
wend

If Reconnect==1 Then
UO.Exec('Exec Reconnect')
EndIf
#
#
#
#
#
#
###################
### Рекол домой ###
###################
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

Это изначально так в скрипте

Code: Select all

Sub Maning() 
var Mine=1
#
#
#
wait(500)
UO.print(('SELECT YOU RUNE TO MINE (1)')
UO.exec('addobject Mine1')
while UO.targeting()
wait(100)
wend
#
#
#
wait(500)
UO.print(('SELECT YOU RUNE TO MINE (15)')
UO.exec('addobject Mine15')
while UO.targeting()
wait(100)
wend
#
#
#
########################################################
### Система реколов по рунам (с проверкой на прыжки) ###
########################################################
Sub JumpToRune()
var x=0
var mx, my
mx = UO.GetX("self")
my = UO.GetY("self")
dim runes[15]
runes[1]='Mine1'
runes[2]='Mine2'
runes[3]='Mine3'
runes[4]='Mine4'
runes[5]='Mine5'
runes[6]='Mine6'
runes[7]='Mine7'
runes[8]='Mine8'
runes[9]='Mine9'
runes[10]='Mine10'
runes[11]='Mine11'
runes[12]='Mine12'
runes[13]='Mine13'
runes[14]='Mine14'
runes[15]='Mine15'
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[15]
runes[1]='Mine1'
runes[2]='Mine2'
runes[3]='Mine3'
runes[4]='Mine4'
runes[5]='Mine5'
runes[6]='Mine6'
runes[7]='Mine7'
runes[8]='Mine8'
runes[9]='Mine9'
runes[10]='Mine10'
runes[11]='Mine11'
runes[12]='Mine12'
runes[13]='Mine13'
runes[14]='Mine14'
runes[15]='Mine15'
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[15]
runes[1]='Mine1'
runes[2]='Mine2'
runes[3]='Mine3'
runes[4]='Mine4'
runes[5]='Mine5'
runes[6]='Mine6'
runes[7]='Mine7'
runes[8]='Mine8'
runes[9]='Mine9'
runes[10]='Mine10'
runes[11]='Mine11'
runes[12]='Mine12'
runes[13]='Mine13'
runes[14]='Mine14'
runes[15]='Mine15'
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

Вот я сделал так и почему-то доходит до 7 руны и а потом опять на первую делает Рекол! Хелпаните парни плиз?

Posted: 2005-06-09 07:01:07
by Solaire
У тебя наверное maxjamp семи равно, а не 15.

Posted: 2005-06-09 07:39:01
by Qualis Eram
Solaire wrote:У тебя наверное maxjamp семи равно, а не 15.

Code: Select all

##########################
Var OreQty=525      ## Ìàêñèìàëüíûé âåñ ïðè êîòîðîì ×àð áóäåò äåëàòü Recall
##########################
Var maxjamp=8          ## [!] Íå èçìåíÿòü
Var rune=1             ## [!] Íå èçìåíÿòü 
Вот тут в самом начале нашел супер теперь вопрос почему написано 8 а хотя рун то 7 в скрипте изначально (может из-за того что еще один джам по руне это рекол домой на выгруз руды?)? по аналогии если у меня рун 15 то мне надо будет ставить maxjump=16 а вот эту фигню не трогать Var rune=1? И как сделать в этот скрипт проверку на лаги?

Posted: 2005-06-09 10:17:58
by Solaire
Qualis Eram wrote:
Solaire wrote:У тебя наверное maxjamp семи равно, а не 15.

Code: Select all

##########################
Var OreQty=525      ## Ìàêñèìàëüíûé âåñ ïðè êîòîðîì ×àð áóäåò äåëàòü Recall
##########################
Var maxjamp=8          ## [!] Íå èçìåíÿòü
Var rune=1             ## [!] Íå èçìåíÿòü 
Вот тут в самом начале нашел супер теперь вопрос почему написано 8 а хотя рун то 7 в скрипте изначально (может из-за того что еще один джам по руне это рекол домой на выгруз руды?)? по аналогии если у меня рун 15 то мне надо будет ставить maxjump=16 а вот эту фигню не трогать Var rune=1? И как сделать в этот скрипт проверку на лаги?

maxjamp и должен быть на 1 больше, так как у тебя в скрипте после рекола стоит rune=rune+1. Так что делай 16. Var rune=1 не трогай. Функция CheckLag() есть почти в каждом скрипте на этом форуме. Возьми ее из какого-нибудь и повставляй в свой скрипт в проблемные места.)

Posted: 2005-06-10 07:54:58
by Qualis Eram
Хелпаните еще чуток:

Code: Select all

Sub Maning() 
var Mine=1
#
#
#
wait(500)
UO.print(('SELECT YOU RUNE TO MINE (1)')
UO.exec('addobject Mine1')
while UO.targeting()
wait(100)
wend
#
#
#
wait(500)
UO.print(('SELECT YOU RUNE TO MINE (15)')
UO.exec('addobject Mine15')
while UO.targeting()
wait(100)
wend
#
#
#
########################################################
### Система реколов по рунам (с проверкой на прыжки) ###
########################################################
Sub JumpToRune()
var x=0
var mx, my
mx = UO.GetX("self")
my = UO.GetY("self")
dim runes[15]
runes[1]='Mine1'
runes[2]='Mine2'
runes[3]='Mine3'
runes[4]='Mine4'
runes[5]='Mine5'
runes[6]='Mine6'
runes[7]='Mine7'
runes[8]='Mine8'
runes[9]='Mine9'
runes[10]='Mine10'
runes[11]='Mine11'
runes[12]='Mine12'
runes[13]='Mine13'
runes[14]='Mine14'
runes[15]='Mine15'
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[15]
runes[1]='Mine1'
runes[2]='Mine2'
runes[3]='Mine3'
runes[4]='Mine4'
runes[5]='Mine5'
runes[6]='Mine6'
runes[7]='Mine7'
runes[8]='Mine8'
runes[9]='Mine9'
runes[10]='Mine10'
runes[11]='Mine11'
runes[12]='Mine12'
runes[13]='Mine13'
runes[14]='Mine14'
runes[15]='Mine15'
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[15]
runes[1]='Mine1'
runes[2]='Mine2'
runes[3]='Mine3'
runes[4]='Mine4'
runes[5]='Mine5'
runes[6]='Mine6'
runes[7]='Mine7'
runes[8]='Mine8'
runes[9]='Mine9'
runes[10]='Mine10'
runes[11]='Mine11'
runes[12]='Mine12'
runes[13]='Mine13'
runes[14]='Mine14'
runes[15]='Mine15'
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
Вот макрос прошу вас сделайте так чтобы он реколился по руне к банку (типо руна домой) писал банк и реколился по руне в банке как раз на дроп руды.......Заранее благодарен