Page 1 of 1
podbezhat' k monstru.
Posted: 2009-02-08 12:00:59
by Bangbuss
Vobshem stoju ja v komnate gde vso reme pojavlaetsa novie monstri, mne nado tak 6to pri zhurnale ''is attacking you'' ja sam podbezhal k monstru i attakaval ego. takim sposobom gm budet vidit' 6to ja ne afk i nestanet somnoj razgovarivat'. Nashet hodilok ja neznaju nechego, tut nashel mnoga versij no ja nekogda nepolzavalsa i neznaju kakaja budet ludshe v etoj sitaciji.
vot nashel skriptik katorij dastanet id monstra. tam naverno vozle uo.Attack(ser) nado eshe postavit 6tob podbezal k monstru. Budu rad esli ktota pomozhet, obichno starajus' sam no tut slishkom slozhna dla menja.
Code: Select all
sub FuckOff()
var ser=""
while not uo.Dead()
if uo.InJournal('is attacking') then
ser=(uo.JournalSerial(uo.InJournal("is")-1))
wait(1000)
uo.Attack(ser)
end if
wait(500)
wend
end sub
Posted: 2009-02-10 20:00:29
by Bangbuss
Kakto tak poluchilos, no nerabotaet.
Code: Select all
sub killmob()
var ser=""
while not uo.Dead()
if uo.InJournal('is attacking') then
ser=(uo.JournalSerial(uo.InJournal("is")-1))
wait(1000)
uo.Attack(ser)
wait(100)
Walk(0,0,'ser')
end if
wait(500)
wend
end sub
sub Walk(X,Y,Target)
var Targeting=''
var Result
var DX,DY,GLX,GLY
var DirW=0
var exit=0
while exit<>1
if Target<>'' then
Targeting=Target
DX=uo.GetX(Target)-uo.GetX()
DY=uo.GetY(Target)-uo.GetY()
if uo.GetDistance(Target)<2 then
exit=1
end if
else
DX=X-uo.GetX()
DY=Y-uo.GetY()
GLX=DX
GLY=DY
if DX==0 and DY==0 then
exit=1
end if
end if
if exit==0 then
if DX>0 and DY>0 then
DirW=9
end if
if DX>0 and DY<0 then
DirW=7
end if
if DX<0 and DY>0 then
DirW=3
end if
if DX<0 and DY<0 then
DirW=5
end if
if DX<>0 and DY==0 then
if DX>0 then
DirW=8
else
DirW=4
end if
end if
if DX==0 and DY<>0 then
if DY>0 then
DirW=2
else
DirW=6
end if
end if
Result=Go(DirW)
if Result==0 then
Result=Go(DirW-2)
if Result==0 then
Result=Go(DirW+2)
end if
end if
end if
wend
end sub
sub Go(dir)
var WalkWait=100
var Targeting=''
var X,Y,GLX,GLY
var check=1
var StartingDir=uo.GetDir()
X=uo.GetX()
Y=uo.GetY()
dim MoveKey[12]
MoveKey[0]=34
MoveKey[1]=40
MoveKey[2]=35
MoveKey[3]=37
MoveKey[4]=36
MoveKey[5]=38
MoveKey[6]=33
MoveKey[7]=39
MoveKey[8]=34
MoveKey[9]=40
MoveKey[10]=35
MoveKey[11]=37
dim StartDir[12]
StartDir[0]=2
StartDir[1]=3
StartDir[2]=4
StartDir[3]=5
StartDir[4]=6
StartDir[5]=7
StartDir[6]=0
StartDir[7]=1
StartDir[8]=2
StartDir[9]=3
StartDir[10]=4
StartDir[11]=5
while uo.GetDir()<>StartDir[dir]
uo.Press(MoveKey[dir])
wait(WalkWait)
if uo.GetDir()==StartingDir then
end if
if (Targeting<>'' and uo.GetDistance(Targeting)<2) or (GLX==0 and GLY==0) then
return 1
end if
wend
uo.Press(MoveKey[dir])
wait(WalkWait)
if X==uo.GetX() and Y==uo.GetY() then
uo.Press(MoveKey[dir])
wait(WalkWait)
wait(100)
end if
if X==uo.GetX() and Y==uo.GetY() then
return 0
else
return 1
end if
end sub
[/code]
Posted: 2009-02-10 20:30:01
by Savage
Posted: 2009-02-10 21:28:03
by Bangbuss
непонятно же.
Code: Select all
Walk(0,0,'ser')
sub Walk(X,Y,Target)
разве не так? но не работает ...
Posted: 2009-02-10 22:30:44
by Successful
Code: Select all
uo.Attack(ser)
wait(100)
Walk(0,0,'ser')
на строчку выше глянь )
с переменных кавычки убери
Posted: 2009-02-11 08:28:55
by Savage
В кавычках, это уже не переменная а объект из вкладки объектов инжи.