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

Code: Select all

    Walk(0,0,ser)

Posted: 2009-02-10 21:28:03
by Bangbuss
Savage wrote:

Code: Select all

    Walk(0,0,ser)


непонятно же.

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
В кавычках, это уже не переменная а объект из вкладки объектов инжи.