Page 1 of 1

Народ памагите плззззззз оч прошу

Posted: 2006-11-25 18:59:46
by Plesen
Народ искал подходящий скрипт на таминг не чё не нашол напишите плз скрипт на таминг у меня на шарде прежде чем затамить надо покармить животное и тамиться без палки просто на скил мне нужен скрипт чтоб он бегал искал любое животное перед тем как затамить кармил патом тамил патом убивал и искал следущеее это вобще реальнО?

Posted: 2006-11-25 19:08:51
by omi4
Фантазия админов безгранична, писать под каждый чудной случай никто не будет. Ищи готовый и правь.

Posted: 2006-11-25 19:39:03
by Scripts Writer
Надо всего добавить небольшой цикл на подкормку с проверкой сообщений + изменить строку после ловушки на животное. Не очень сложно: автор, -разбирайся.

2Человек в ответе за тех, кого он приручил ...а ты убивать собрался ...

Posted: 2006-11-25 19:49:56
by slonopotam
Автор если сам пытался переделать какой скрипт, то выложи его и тебе будет оказана помощь.

Posted: 2006-11-25 20:29:34
by Plesen
вот нашёл скрипт переделайте его чтоб кармил животных и тамил

Posted: 2006-11-25 20:51:59
by slonopotam
Пробуй:

Code: Select all

var animal='0х0000' # тип животного
var fruit='0х0000' # чем кормим животину
var food='0х0000' # тип того что сами едим 

sub taming() 
var an 
uo.set('finddistance','14') 
while not uo.dead() 
uo.findtype(animal,'-1','ground') 
if uo.findcount()<=0 then 
wait(5000) 
uo.print("no animals, wait...") 
else 
an=uo.getserial('finditem') 
eat(an)
wait(1000)
tame(an) 
wait(1000) 
uo.warmode(1) 
wait(1000) 
uo.attack(an) 
while uo.gethp(an)>0 
GotoXY(getx(an),gety(an)) 
wait(100) 
wend 
uo.warmode(0) 
endif 
wend 
endsub 

sub eat(ani) 
if UO.Timer()>(Timer+1200) then
UO.SetReceivingContainer('animal') 
wait(500) 
UO.FindType(fruit) 
if UO.GetQuantity('finditem')>0 then 
UO.Grab('5','finditem') 
wait(500) 
end if 
UO.UnSetReceivingContainer('Animal') 
wait(500) 
UO.UseType(food) 
Timer=UO.Timer() 
end if 
UO.Msg('Камон бэйби')
endsub

sub tame(ani) 
repeat 
uo.deletejournal() 
uo.waittargetobject(ani) 
wait(50) 
uo.useskill('Animal Taming')
repeat 
wait(10) 
until uo.injournal("You fail to tame the creature.") or uo.injournal("It seems to accept you as master.") or uo.injournal("You can't see the creature.") or uo.injournal("You can't see the target") 
GotoXY(getx(ani),gety(ani)) 
until uo.injournal("It seems to accept you as master.") 
endsub 

Sub GotoXY(x,y) 
VAR i,j,m 
VAR dir,ldir,rdir,key,olddir 
VAR dx,dy,Exit=0 
VAR CacheLimit=9,CacheIndex="Text" 
DIM CacheX[10], CacheY[10] 

CacheX[0]="Test" 
While Exit<>1 

for j=-1 to 1 
for m=-1 to 1 
dx=x-UO.GetX() 
dy=y-UO.GetY() 
If dx==j AND dy==m Then 
Exit=1 
Endif 
next 
next 

If dx<>0 AND dy<>0 Then 
If dx>0 AND dy>0 Then ; GoSE 
dir=3 
ldir=2 
rdir=4 
key=40 ; DownArrow 
olddir=UO.GetDir() 
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then 
If olddir==2 Then ; GoNE 
dir=1 
ldir=0 
rdir=1 
key=39 ; RightArrow 
While UO.GetDir()<>1 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Else ; GoSW 
dir=5 
ldir=5 
rdir=6 
key=37 ; LeftArrow 
While UO.GetDir()<>5 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Endif 
Endif 
Endif 

If dx>0 AND dy<0 Then ; GoNE 
dir=1 
ldir=0 
rdir=2 
key=39 ; RightArrow 
olddir=UO.GetDir() 
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then 
If olddir==0 Then ; GoWN 
dir=7 
ldir=6 
rdir=7 
key=38 ; UpArrow 
While UO.GetDir()<>7 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Else ; GoSE 
dir=3 
ldir=3 
rdir=4 
key=40 ; DownArrow 
While UO.GetDir()<>3 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Endif 
Endif 
Endif 

If dx<0 AND dy>0 Then ; GoSW 
dir=5 
ldir=4 
rdir=6 
key=37 ; LeftArrow 
olddir=UO.GetDir() 
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then 
If olddir==6 Then ; GoWN 
dir=7 
ldir=7 
rdir=0 
key=38 ; UpArrow 
While UO.GetDir()<>7 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Else ; GoSE 
dir=3 
ldir=2 
rdir=3 
key=40 ; DownArrow 
While UO.GetDir()<>3 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Endif 
Endif 
Endif 

If dx<0 AND dy<0 Then ; GoWN 
dir=7 
ldir=6 
rdir=0 
key=38 ; UpArrow 
olddir=UO.GetDir() 
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then 
If olddir==0 Then ; GoNE 
dir=1 
ldir=1 
rdir=2 
key=39 ; RightArrow 
While UO.GetDir()<>1 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Else ; GoSW 
dir=5 
ldir=4 
rdir=5 
key=37 ; LeftArrow 
While UO.GetDir()<>5 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Endif 
Endif 
Endif 
Endif 

If dx<>0 AND dy==0 Then 
If dx>0 Then ; GoE 
dir=2 
key=34 ; PgDown 
olddir=UO.GetDir() 
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then 
If olddir==2 Then ; GoSE 
dir=3 
ldir=3 
rdir=4 
key=40 ; DownArrow 
While UO.GetDir()<>3 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Else ; GoNE 
dir=1 
ldir=1 
rdir=0 
key=39 ; RightArrow 
While UO.GetDir()<>1 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Endif 
Endif 
Endif 

If dx<0 Then ; GoW 
dir=6 
key=36 ; Home key 
olddir=UO.GetDir() 
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then 
If olddir==0 Then ; GoWN 
dir=7 
ldir=7 
rdir=0 
key=38 ; UpArrow 
While UO.GetDir()<>7 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Else ; GoSW 
dir=5 
ldir=4 
rdir=5 
key=37 ; LeftArrow 
While UO.GetDir()<>5 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Endif 
Endif 
Endif 
Endif 

If dx==0 AND dy<>0 Then 
If dy>0 Then ; GoS 
dir=4 
key=35 ; End 
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then 
If olddir==2 Then ; GoSE 
dir=3 
ldir=2 
rdir=3 
key=40 ; DownArrow 
While UO.GetDir()<>3 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Else ; GoSW 
dir=5 
ldir=6 
rdir=5 
key=37 ; LeftArrow 
While UO.GetDir()<>5 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Endif 
Endif 
Endif 

If dy<0 Then ;GoN 
dir=0 
key=33 ; PgUp 
olddir=UO.GetDir() 
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then 
If olddir==2 Then ; GoNE 
dir=1 
ldir=1 
rdir=2 
key=39 ; RightArrow 
While UO.GetDir()<>1 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Else ; GoWN 
dir=7 
ldir=7 
rdir=6 
key=38 ; UpArrow 
While UO.GetDir()<>7 
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) 
Wend 
Endif 
Endif 
Endif 
Endif 
endif 
Wend 
end sub 


Sub StepEdit(x,y,dir,key) 
VAR walkwait=300 
VAR ErrLevel=0 
If UO.GetDir()<>dir Then 
UO.Press(key) 
wait(walkwait) 
If UO.GetDir()<>dir Then 
CheckLag() 
Endif 
Endif 
UO.Press(key) 
wait(walkwait) 
If x==UO.GetX() AND y==UO.GetY() Then 
CheckLag() 
If x==UO.GetX() AND y==UO.GetY() Then 
ErrLevel=1 
Endif 
Endif 
Return ErrLevel 
end sub 


Sub StepArrow(x,y,dir,ldir,rdir,key) 
VAR walkwait=300 
VAR ErrLevel=0 
If UO.GetDir()<>dir Then 
UO.Press(key) 
wait(walkwait) 
If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then 
CheckLag() 
Endif 
Endif 

If UO.GetX()==x AND UO.GetY()==y Then 
UO.Press(key) 
wait(walkwait) 
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then 
CheckLag() 
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then 
ErrLevel=1 
Endif 
Endif 
Endif 
Return ErrLevel 
end sub 

Sub CheckLag() 
UO.DeleteJournal() 
UO.Click('backpack') 
repeat 
wait(50) 
until UO.InJournal('backpack') 
end sub