Lumber/Utopia Shard

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Lumber/Utopia Shard

Post by mustdie7 »

Помогите со скриптом на утопию на ламбер плиз у кого есть. Все уроки прочитал так ниче и не понел. Как писать хз. Плиз люди будьте любезны если не сложно. Неделю уже лазю по форуму разные пробовал скрипты ни один не канает.

Мне надо чтобы рубил реколился складывал в сундук и обратно реколился и рубил.
Last edited by mustdie7 on 2009-10-08 02:14:02, edited 1 time in total.
CuHTpoH
Posts: 287
Joined: 2007-11-01 19:09:30
Location: Moscow
Contact:

Post by CuHTpoH »

готовый скрипт это тоже относительное понятие, все равно надо перетачивать под себя, так что если ты не можешь "готовый" скрипт заточить под себя, тебе никто не сможет помочь, желания все тебе делать за тебя ни у кого нет
**Выставляем отступы в скриптах*** ©Destruction
Feel the Power of Dark Side
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

Mirage wrote:http://forum.yoko.com.ua/viewtopic.php?t=15106
чем не устраивает?


не работает пишет line 88: Function not found - UO.PRIVATEGETTILE
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

нашел скрипт норм помогите сделать чтобы он складывал не в сундук а на пол в определенную точку. там прилоченая кучка у дома. чтобы в кучку в эту складывал и дальше рубил
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

нашел скрипт норм помогите сделать чтобы он складывал не в сундук а на пол в определенную точку. там прилоченая кучка у дома. чтобы в кучку в эту складывал и дальше рубил

Code: Select all

############################################
### Lumberjacking / Ðóáêà äåðåâüåâ       ###
############################################
### Øàðä Dragon World / www.drw.ru       ###
############################################
### Ðåàâòîð ýòîãî ñêðèïòà: BETEPAH       ###
############################################
##################
### Ïåðåìåííûå ###
##################
###################################################################################################
var f=file("C:\trees3.dat") ## - Ïóòü ê ôàéëó â êîòîðîì áóäóò õðàíèòñÿ êîîðäèíàòû äåðåâüåâ.
###
var TryHiding=0 ## 1 - Ïåðåä òåì êàê ðóáèòü äåðåâî, áóäåò ïûòàòüñÿ óéòè â õàéä, 0 - íå áóäåò .
###
var LogsQty=300 ## - Êîëè÷åñòâî ëîãîâ, äîáûâ êîòîðîå íàäî ðåêîëèòüñÿ äîìîé.
###
var GetFromFile=1 ## 1 - Êîîðäèíàòû äåðåâüåâ áóäóò ñ÷èòûâàòñÿ èç ôàéëà, 0 - ñîáèðàòñÿ èç êëèåíòà
### (ñíà÷àëà ñîáåðèòå à ïîòîì ñ÷èòûâàéòå èç ôàéëà).
###
var EatingFood=0 ## 1 - Áóäåì åñòü, 0 - íåò.
###
var SSpeak=0 ## 1 - Áóäåì êà÷àòü è ñïèðèò ñïèê, 0 - íå áóäåì.
###
var TypeFood='0x097B' ## - Òèï åäû êîòîðóþ áóäåì êóøàòü.(ñåé÷àñ ôèøòåéêè)
###
var Chest='0x42B83AD0' ## - ID ñóíäóêà êóäà áóäóò âûãðóæàòüñÿ ëîãè.
###
var Trytodrop=0 ## Áóäåì ïûòàòñÿ ïîäõîäèòü ê ñóíäóêó èëè íåò.
###
var ContX=1679 ##Êîîðäèíàòû X ó ñóíäóêà
###
var ContY=669 ##Êîîðäèíàòû Y ó ñóíäóêà
###
var oldX,oldY,time ## - Äëÿ ðåêîëà.
###
###########
### Êîä ###
###########
sub Lumberjacking()
var i=0,j=0,k=0,r=0,q=0,ii,jj
var TopX=324,TopY=65
dim TreeX[5000], TreeY[5000],TreeT[5000]
dim TreeTile[29]
var flag=0,treeCount=0,clicks=0,flag2=0
########################
### Ãðàôèêà äåðåâüåâ ###
########################
TreeTile[0]=3277
TreeTile[1]=3280
TreeTile[2]=3283
TreeTile[3]=3286
TreeTile[4]=3289
TreeTile[5]=3291
TreeTile[6]=3294
TreeTile[7]=3296
TreeTile[8]=3299
TreeTile[9]=3302
TreeTile[10]=3393
TreeTile[11]=3394
TreeTile[12]=3395
TreeTile[13]=3396
TreeTile[14]=3415
TreeTile[15]=3416
TreeTile[16]=3417
TreeTile[17]=3418
TreeTile[18]=3419
TreeTile[19]=3438
TreeTile[20]=3439
TreeTile[21]=3440
TreeTile[22]=3441
TreeTile[23]=3442
TreeTile[24]=3460
TreeTile[25]=3461
TreeTile[26]=3462
TreeTile[27]=3290
TreeTile[28]=3288

uo.Exec("filterspeech on")
uo.Exec("filterspeech add 'Where do you want to use the pickaxe?'")

uo.Print('Âûáåðè Òîïîð: ')
uo.Exec('addobject Axe')
while uo.Targeting()
wait(100)
wend

#####################################
### Çàãðóæàåì êîîðäèíàòû èç ôàéëà ###
#####################################
if GetFromFile==1 then
uo.Print('Çàãðóæàåì êîîðäèíàòû èç ôàéëà...')
f.open()
treeCount=safe call f.ReadNumber()
for i=1 to treeCount
TreeT[i]=safe call f.ReadNumber()
TreeX[i]=safe call f.ReadNumber()
TreeY[i]=safe call f.ReadNumber()
next
f.close()
else
######################################
### Ñîáèðàåì êîîðäèíàòû èç êëèåíòà ###
######################################
uo.Print('Âûáåðè Êèðêó: ')
uo.Exec('addobject Pickaxe')
while uo.Targeting()
wait(100)
wend
uo.Print('Ñîáèðàåì êîîðäèíàòû äåðåâüåâ â îêðóãå...')
repeat
clicks=0
flag=0
uo.DeleteJournal()
#######################
### Êëèêàåì íà òàéë ###
#######################
uo.UseObject('Pickaxe')
waitForTarget()
uo.DeleteJournal()
WaitForTryRock()
###############################
### Ïðîâåðÿåì äåðåâî ëè ýòî ###
###############################
flag=0
for k=0 to 28
if uo.LastTile(0)==TreeTile[k]+1 then
flag=2
end if
next
if flag==0 then
for k=0 to 28
if uo.LastTile(0)==TreeTile[k] then
flag=1
end if
next
end if
if uo.Lasttile(1)==uo.getX() and uo.Lasttile(2)==uo.gety() then
flag=3
end if
#########################
### Êëèêíóëè íà ñòâîë ###
#########################
if flag==1 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then
flag2=1
end if
next
end if
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
TreeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)
uo.Print('Íàéäåíî äåðåâî '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2))+' '+str(treeCount))
end if
end if
##########################
### Êëèêíóëè ïî ëèñòâå ###
##########################
if flag==2 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then
flag2=1
end if
next
end if
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
TreeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)-1
uo.print('Íàéäåíî äåðåâî '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2)))
end if
end if
until (Flag==3) or (treeCount==500)
uo.Exec("filterspeech off")
uo.Print('Àíàëèç çàêîí÷åí, êîîðäèíàòû äåðåâüåâ çàïèñàíû â ôàéë C:\trees3.dat')
SaveToFile(treeCount,TreeX,TreeY,TreeT)
end if
uo.Print('Äåðåâüåâ íàéäåíî: '+str(treeCount))
wait(2000)
######################################
### Õîäèì ïî ñîáðàííûì êîîðäèíàòàì ###
######################################
while 1==1
if treeCount>0 then
for i=1 to treeCount
end if
if Trytodrop==1 and uo.Count('ZLK')>=LogsQty then
GotoXY(uo.getx(Chest),uo.gety(Chest))
DropLogs()
end if
uo.Print('Èäåì ê äåðåâó '+str(i)+': x='+str(TreeX[i])+' y='+str(TreeY[i]))
InfoLogs()
flag=GotoXY(TreeX[i],TreeY[i])
if flag==1 then
if TryHiding==1 then
ToHide()
end if
GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),str(uo.GetZ()))
end if
next
end if
wend
end sub

Sub GetTree(Type,X,Y,Z)
var i
uo.Print('Íà÷èíàåì ðóáêó äåðåâà...')
for i=0 to 15
if uo.Warmode()==1 then
return 0
end if
wait(200)
uo.DeleteJournal()
uo.WaitTargetTile(Type,X,Y,Z)
uo.UseObject('Axe')
if WaitForChange()==1 then
return 1
end if
next
return 0
end sub

Sub ToHide()
if SSpeak==1 then
UO.Useskill('Spirit Speak')
wait(3000)
endif
while not uo.Hidden()
uo.Print('Ïûòàåìñÿ óéòè â õàéä...')
uo.DeleteJournal()
uo.UseSkill('Stealth')
wait(3000)
wend
wait(100)
end sub


Sub WaitForHide()
var Text1=uo.GetName()+": You have hidden yourself well"
var Text2=uo.GetName()+": You can't seem to hide here."
var mess
for var i=0 to 200
mess=uo.Journal(0)
if uo.Journal(0)==Text1 then
return 1
end if
if uo.Journal(0)==Text2 then
return 0
end if
wait(50)
next
return 0
end sub

Sub WaitForChange()
var Text1=uo.GetName()+': You fail to get any usable wood.'
var Text2="There's not enough wood here to chop."
var Text3="You can't reach this."
var Text4="That is too far away"
var Text5="You can't do much in your current state."
var mess
for var i=0 to 200
mess=uo.Journal(0)
if uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 then
return 1
end if
if uo.Journal(0)==Text1 then
return 0
end if
if mess[0]=='Y' and mess[1]=='o' and mess[2]=='u' and mess[4]=='p' and mess[5]=='u' and mess[6]=='t' then
return 0
end if
wait(50)
next
return 0
end sub

Sub WaitForTryRock()
var Text1="That is too far away."
var Text2="Try mining in rock."
var Text3="There is no ore here to mine."
var Text4="You have no line of sight to that location"
var Text5="You can't see the target"
for var i=0 to 50
if uo.Journal(0)==Text1 or uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 or uo.Journal(0)==Text5 then
return 1
end if
wait(200)
next
return 0
end sub

Sub WaitForTarget()
for var i=0 to 50
if uo.Targeting()==1 then
return 1
end if
wait(200)
next
return 0
end sub

Sub WaitForChangeXY(myX,myY,lastX,lastY)
for var i=1 to 50
if lastX<>myX or lastY<>myY then
return 1
end if
wait(200)
next
return 0
end sub

Sub GotoXY(x,y)
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0
for i=1 to 60
myX=uo.getX();
myY=uo.getY();
if LastX==myX and LastY==myY then
halt=halt+1
else
halt=0
end if
if halt>=10 then
if uo.GetDir()==1 then
for z=0 to 8
uo.Press(40)
next
end if
if uo.GetDir()==3 then
for z=0 to 8
uo.Press(37)
next
end if
if uo.GetDir()==5 then
for z=0 to 8
uo.Press(38)
next
end if
if uo.GetDir()==7 then
for z=0 to 8
uo.Press(39)
next
end if
halt=15
end if
if Numb(x-myX)<=1 and Numb(y-myY)<=2 then
return 1
end if
if x<=myX then
if y<=myY then
for z=0 to 3
uo.Press(38)
next
else
for z=0 to 3
uo.Press(37)
next
end if
else
if y<=myY then
for z=0 to 3
uo.Press(39)
next
else
for z=0 to 3
uo.Press(40)
next
end if
end if
lastX=myX
lastY=myY
wait(200)
next
return 0
end sub

Sub Numb(num)
if num>=0 then
return num
else
return num*(-1)
end if
end sub

Sub SaveToFile(treeCount,TreeX,TreeY,TreeT)
var f=file("C:\trees3.dat")
var s=0,i=0
f.open()
f.create()
s=safe call f.writeln(treeCount)
for i=1 to treeCount
s=safe call f.writeln(str(TreeT[i])+' '+str(TreeX[i])+' '+str(TreeY[i]))
next
f.close()
end sub

sub DropLogs()
uo.say("Âûêëàäûâàþ ëîãè !!! Íå áåñïîêîèòü !!!")
if uo.Waiting() then
uo.CancelTarget()
end if
var a,Exit
dim Logs[1]
Logs[0]=0x1BDD
uo.Print('Âûêëàäûâàåì Ëîãè.')
uo.SetReceivingContainer(Chest)
wait(500)
for a=0 to 0
Exit=0
repeat
uo.FindType(Logs[a])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
GotoXY(ContX,ContY)
else
Exit=1
end if
until Exit==1
next
if EatingFood==1 then
EatingFood()
end if
uo.UnSetReceivingContainer(Chest)
uo.Print('Ëîãè Âûëîæåíû.')
end sub


Sub InfoLogs()
uo.Print('Ó âàñ âñåãî '+str(uo.Count('0x1BDD'))+' ëîãîâ â ñóìêå')
uo.Print('Èç íèõ '+str(uo.Count('0x1BDD','0x0000'))+' ïðîñòûõ è ' +str(uo.Count('0x1BDD')-uo.Count('0x1BDD','0x0000'))+' öâåòíûõ')
end sub

Sub Open(Container)
uo.DeleteJournal()
uo.UseObject(Container)
repeat
wait(500)
until uo.InJournal('Contains')
end sub


Sub EatingFood()
ToEat()
DropFood()
end sub

Sub ToEat()
uo.SetReceivingContainer('backpack')
Open(Chest)
uo.FindType(TypeFood,'-1',Chest)
uo.Grab('50','finditem')
wait(500)
repeat
Checklag()
uo.UseType(TypeFood)
wait(1000)
until uo.InJournal('You are simply too full to eat any more!')
uo.UnsetReceivingContainer()
end sub

Sub DropFood()
if uo.Waiting() then
uo.CancelTarget()
end if
var f,Exit
dim Food[1]
Food[0]=TypeFood
uo.SetReceivingContainer(Chest)
wait(500)
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
end if
until Exit==1
next
uo.UnSetReceivingContainer(Chest)
end sub

Sub CheckLag()
if uo.Waiting()>0 then
uo.Exec('canceltarget')
end if
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
end sub
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

Нашел вроде вот это надо как то вставить в скрипт

Code: Select all

UO.MoveItem("_0x1BDD",-1,"ground.0x1BDD")

Куда вставить не знаю. И с сундуком как быть как убрать чтобы он к нему не шел а шел к прилоченой кучке около дома и скидывал туда логи. Помогите плизззз.
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

Ну что вам сложно подсказать?
CuHTpoH
Posts: 287
Joined: 2007-11-01 19:09:30
Location: Moscow
Contact:

Post by CuHTpoH »

как жу тухло то...

Code: Select all

sub DropLogs()
   uo.say("Âûêëàäûâàþ ëîãè !!! Íå áåñïîêîèòü !!!")
   if uo.Waiting() then
      uo.set('quiet',1)
      uo.CancelTarget()
      uo.set('quiet',0)
   endif
   var a,Exit=0,logs_to_drop
   Logs='0x1BDD'
   uo.Print('Âûêëàäûâàåì Ëîãè.')
   wait(500)
   Exit=0
   GotoXY(ContX,ContY) # хер знает када и куда тебе надо прийти уйти мля
   wait(1000)
   repeat
      uo.FindType(Logs,'0x0000',2)
      if uo.findcount() then
         logs_to_drop=uo.getserial('finditem')
         uo.findtype(logs,'0x0000','ground')
         if uo.findcount() then
            uo.moveitem(logs_to_drop,0,'finditem')
         else
            uo.drophere(logs_to_drop)
         endif
         wait(1500)
      else
         Exit=1
      endif
   until Exit==1
   if EatingFood==1 then
      EatingFood()
   end if
   uo.Print('Ëîãè Âûëîæåíû.')
endsub
**Выставляем отступы в скриптах*** ©Destruction
Feel the Power of Dark Side
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

CuHTpoH wrote:как жу тухло то...

Code: Select all

sub DropLogs()
   uo.say("Âûêëàäûâàþ ëîãè !!! Íå áåñïîêîèòü !!!")
   if uo.Waiting() then
      uo.set('quiet',1)
      uo.CancelTarget()
      uo.set('quiet',0)
   endif
   var a,Exit=0,logs_to_drop
   Logs='0x1BDD'
   uo.Print('Âûêëàäûâàåì Ëîãè.')
   wait(500)
   Exit=0
   GotoXY(ContX,ContY) # хер знает када и куда тебе надо прийти уйти мля
   wait(1000)
   repeat
      uo.FindType(Logs,'0x0000',2)
      if uo.findcount() then
         logs_to_drop=uo.getserial('finditem')
         uo.findtype(logs,'0x0000','ground')
         if uo.findcount() then
            uo.moveitem(logs_to_drop,0,'finditem')
         else
            uo.drophere(logs_to_drop)
         endif
         wait(1500)
      else
         Exit=1
      endif
   until Exit==1
   if EatingFood==1 then
      EatingFood()
   end if
   uo.Print('Ëîãè Âûëîæåíû.')
endsub



Не работает. Пишет Линия 420 LOGS.
CuHTpoH
Posts: 287
Joined: 2007-11-01 19:09:30
Location: Moscow
Contact:

Post by CuHTpoH »

ну а самому подумать? забыл я VAR написать перед LOGS
**Выставляем отступы в скриптах*** ©Destruction
Feel the Power of Dark Side
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

Все равно не выкладывает в кучку подходит постоит и не чего не выложив идет опять рубить (((
CuHTpoH
Posts: 287
Joined: 2007-11-01 19:09:30
Location: Moscow
Contact:

Post by CuHTpoH »

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