Yoko

All sides of Injection
It is currently 2024-04-18 09:52:17

All times are UTC+02:00




Post new topic  Reply to topic  [ 27 posts ]  Go to page 1 2 Next
Author Message
 Post subject: Lumberjacking
PostPosted: 2013-05-27 11:45:24 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Помогите оптимизировать скрипт ветерана с разметкой, хочу вырезать все лишнее, убрать лишние функции и нужные вставить в тело основного скрипта, например вместо отдельной программы
Code:
ub WaitForChange()
  var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'
  var Text2='There are no logs left here to chop.'
  var Text3="You can't reach this."
  var Text4="That's too far away to chop."
  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

сделать покороче текст там откуда он вызывается и чтобы использовал проверку сообщений типа
Code:
while not uo.injournal("pull|quick|fail|far away|no fish|no line|Try fishing|destroyer")

А так же чтобы он использовал ходилку бейондера вместо
Code:
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

Вот повырезал лишнее(рекол, хайд, разгрузка, части если нужно копать а не рубить), помогите допилить, так же там есть проверка кликнул ты на ствол или на листву, их бы тоже объеденить чтобы проверял только кликнул на то что можно рубить или на другое, то что не нужно.
Code:
var f = file("C:\trees.dat")
var read = 0

sub Lumberjacking()
  var i = 0, j = 0, k = 0, r = 0, q = 0, ii, jj, hatchet = 0x0000
  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
 
  if read == 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('Собираем координаты из клиента...')
    repeat
      clicks = 0
      flag = 0
      uo.deletejournal()
      uo.usetype('hatchet')
      while uo.targeting()
        wait(100)
      wend
      uo.deletejournal()
      ###############################
      ### Проверяем дерево ли это ###
      ###############################
      flag = 0
      for k = 0 to 28
        if uo.lasttile(0) == TreeTile[k] + 1 then
          flag = 2
        endif
      next
      if flag == 0 then
        for k = 0 to 28
          if uo.lasttile(0) == TreeTile[k] then
            flag = 1
          endif
        next
      endif
      if uo.lasttile(1) == uo.getx() and uo.lasttile(2) == uo.gety() then
        flag = 3
      endif
      #########################
      ### Кликнули на ствол ###
      #########################
      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
            endif
          next
        endif
        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))
        endif
      endif
      ##########################
      ### Кликнули по листве ###
      ##########################
      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
            endif
          next
        endif
        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)))
        endif
      endif
    until (flag == 3) or (treecount == 5000)
    uo.print('Координаты деревьев записаны в файл C:\trees.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
        uo.print('Идем к дереву '+str(i)+': x='+str(TreeX[i])+' y='+str(TreeY[i]))
        flag = GotoXY(TreeX[i],TreeY[i])
        if flag == 1 then
          GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),str(uo.GetZ()))
        endif
      next
    endif
  wend
endsub

sub GetTree(Type,X,Y,Z)
  var i
  uo.print('Начинаем рубку дерева...')
  for i = 0 to 15
    uo.deletejournal()
    uo.waittargettile(Type,X,Y,Z)
    uo.type('hatchet')
    if WaitForChange() == 1 then
      return 1
    endif
  next
  return 0
endsub

sub WaitForChange()
  var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'
  var Text2='There are no logs left here to chop.'
  var Text3="You can't reach this."
  var Text4="That's too far away to chop."
  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 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:\trees.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 MakeTime()
  var d,t,ret,i
  ret=str(uo.Time())
  t=""
  for i=0 to Len(ret)
    t=ret[Len(ret)-i]+t
    if (i==2) or (i==4) then
      t=":"+t
    end if
  next
  ret=str(uo.Date())
  d=""
  for i=0 to Len(ret)
    d=ret[Len(ret)-i] + d
    if (i==2) or (i==4) then
      d="."+d
    end if
  next
  ret=t+" @ "+d
  return ret
end sub

_________________
CodeSweeper


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-05-28 15:05:50 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Вырезал и переделал всё лишнее, проверил, скрипт стабильно работает. Только не знаю как сделать чтобы использовал вместо родной ходилки, ходилку от бейондера. Помогите кто шарит.

Code:
sub Lumberjacking()
  var read = 1, flag, treecount = 0, clicks, TopX = 324, TopY = 65, i = 0, j = 0, k = 0, r = 0, q = 0, ii, jj, circle, timer, f = file("C:\trees.dat")
  dim TreeX[5000], TreeY[5000], TreeT[5000]
  dim TreeTile[29]
  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
  if read == 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("Собираем координаты из клиента...")
    repeat
      clicks = 0
      flag = 0
      uo.deletejournal()
      uo.usetype("0x0F43")
      while not uo.targeting()
        wait(100)
      wend
      while uo.targeting()
        wait(100)
      wend
      uo.deletejournal()
      #####################
      # Проверяем дерево ли это #
      ###################
      flag = 0
      for k = 0 to 28
        if uo.lasttile(0) == TreeTile[k] then
          flag = 1
        end if
      next
      if uo.lasttile(1) == uo.getx() and uo.lasttile(2) == uo.gety() then
        flag = 2
      end if
      if flag == 1 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
    until (flag == 2) or (treecount == 5000)
    uo.print("Координаты деревьев записаны в файл C:\trees.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
        uo.print("Идем к дереву "+str(i)+": x="+str(TreeX[i])+" y="+str(TreeY[i]))
        flag = GotoXY(TreeX[i], TreeY[i])
        if flag == 1 then
          uo.print("Начинаем рубку дерева...")
          circle = 0
            repeat
              uo.deletejournal()
              uo.waittargettile(TreeT[i], TreeX[i], TreeY[i], uo.GetZ())
              uo.usetype("0x0F43")
              timer = uo.timer()
              while not uo.injournal("You hack|no logs|far away|log in your|logs in your") and not uo.timer() > timer + 60
                wait(100)
              wend
              if uo.injournal("log in your|logs in your") then
                circle = circle + 1
              end if
            until uo.injournal("no logs|far away") or circle > 2
        end if
      next
    end if
  wend
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:\trees.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

_________________
CodeSweeper


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-05-28 16:06:01 
Offline
Expert!
User avatar

Joined: 2005-09-14 15:31:58
Posts: 2152
Location: Latvia
Code:
flag = GotoXY(TreeX[i], TreeY[i])


функция GotoXY
ретурн 1 если дошел, 0 - если нет

_________________
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-05-28 16:11:25 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Да, поковырялся и дошло flag = Walker(TreeX[i], TreeY[i], 3)
Работает отлично, пользуйтесь.

_________________
CodeSweeper


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-05-28 17:27:24 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Вот, готовая версия
Code:
sub Lumberjacking()
  var read = 1, flag, treecount = 0, clicks, TopX = 324, TopY = 65, i = 0, j = 0, k = 0, r = 0, q = 0, ii, jj, circle, timer, f = file("C:\Program Files\UltimaOnline\Injection\trees.dat")
  dim TreeX[5000], TreeY[5000], TreeT[5000]
  dim TreeTile[29]
  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
  if read == 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("Собираем координаты из клиента...")
    repeat
      clicks = 0
      flag = 0
      uo.deletejournal()
      uo.usetype("0x0F43")
      while uo.targeting()
        wait(100)
      wend
      uo.deletejournal()
      #####################
      # Проверяем дерево ли это #
      ###################
      flag = 0
      for k = 0 to 28
        if uo.lasttile(0) == TreeTile[k] then
          flag = 1
        end if
      next
      if uo.lasttile(1) == uo.getx() and uo.lasttile(2) == uo.gety() then
        flag = 2
      end if
      if flag == 1 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
    until (flag == 2) or (treecount == 5000)
    uo.print("Координаты деревьев записаны в файл C:\Program Files\UltimaOnline\Injection\trees.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
        uo.print("Идем к дереву "+str(i)+": x="+str(TreeX[i])+" y="+str(TreeY[i]))
        flag = Walker(TreeX[i], TreeY[i], 3)
        if flag == 1 then
          uo.print("Начинаем рубку дерева...")
          circle = 0
            repeat
              uo.deletejournal()
              uo.waittargettile(TreeT[i], TreeX[i], TreeY[i], uo.GetZ())
              uo.usetype("0x0F43")
              timer = uo.timer()
              while not uo.injournal("You hack|no logs|far away|log in your|logs in your") and not uo.timer() > timer + 60
                wait(100)
              wend
              if uo.injournal("log in your|logs in your") then
                circle = circle + 1
              end if
            until uo.injournal("no logs|far away") or circle > 2
        end if
      next
    end if
  wend
end sub

sub SaveToFile(treecount, TreeX, TreeY, TreeT)
  var f=file("C:\Program Files\UltimaOnline\Injection\trees.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

_________________
CodeSweeper


Last edited by Incorrect User on 2015-11-10 17:51:16, edited 1 time in total.

Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-05-28 21:48:31 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Code:
      while not uo.targeting()
        wait(100)
      wend
      while uo.targeting()
        wait(100)
      wend
Что за Адская конструкция?


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-05-28 23:49:51 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Её уже нет, у меня там стоит проверка на антимакрос под наш шард, а так, первое это ожидание таргета, вместо статичной задержки, не люблю терять время, даже 100мс, а на лагах таргеты могут появлятся с большим разбросом времени. А второе это когда появился таргет то просто ждем, пока не кликнешь на дерево, когда кликнул он записывает его в список. Еще я не знаю, удалил ли я или так и было, но если кликнуть на одно и то же дерево еще раз или несколько раз то оно запишется в список как новое а не будет пропущенно как уже существующее.

_________________
CodeSweeper


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-06-27 20:57:39 
Offline
User avatar

Joined: 2012-12-31 00:17:09
Posts: 93
Incorrect User
забыл в финальную версию добавить
Code:
var f = file("C:\trees.dat")
var read = 0


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-06-27 21:02:03 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Может это оно? :roll:
Code:
var read = 1, f = file("C:\Program Files\UltimaOnline\Injection\trees.dat")

_________________
CodeSweeper


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-06-27 21:32:40 
Offline
User avatar

Joined: 2012-12-31 00:17:09
Posts: 93
не заметил, сорри )


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-07-29 00:08:52 
Offline
User avatar

Joined: 2012-12-22 19:14:29
Posts: 125
Code:
auto target cancelled
no item found


Добавьте пожалуйста ещё хайд сюда..


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 15:05:28 
Offline

Joined: 2013-05-17 10:38:53
Posts: 62
Не работает. Какая дистанция до дерева, которое пытается вырубить?


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 15:15:37 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Так ты же скрипт тестируешь - посчитай пальцем по экрану.
В последнем примере
flag = Walker(TreeX[i], TreeY[i], 3)
обычно это означает что от точки TreeX[i], TreeY[i] до чара 3 тайла. На 56 сфере и новом клиенте это всего скорее слишком далеко. Особенно по диагонали. на старой сфере и 203 клиенте - нормально.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 16:36:23 
Offline

Joined: 2013-05-17 10:38:53
Posts: 62
а можно к этому скрипту добавить функцию, чтобы он останавливался и убивал рипера, резал и лутал?


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 17:04:47 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
можно, только дорого.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 17:48:05 
Offline

Joined: 2013-05-17 10:38:53
Posts: 62
Mirage wrote:
можно, только дорого.
местный троль?


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 18:08:30 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Модератор. Который ответил на заданный вопрос.
И ты уже получал этот ответ в разделе Scripts Market.

PS как вы любите халявить, нарушать правила и хамить в ответ - просто жесть. Если ты не можешь написать скрипт (сложность которого выше среднего - автоматический бот + охотник), нет желания искать - плати и тебе помогут. И опять же смысл писать бесплатно для сервера где это даже продать не получится - потому что запрещено. Моего тестового чара посадят, тебя забанят по IP - охренительная выгода и окупаемость потраченному времени.

PPS мне вот интересно - на бесте совсем пропали скриптеры с моим уходом с сервера или тебя там просто так сильно все любят? :mrgreen: <=== троллинг

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 18:29:16 
Offline

Joined: 2013-05-17 10:38:53
Posts: 62
Mirage wrote:
PPS мне вот интересно - на бесте совсем пропали скриптеры с моим уходом с сервера или тебя там просто так сильно все любят? :mrgreen: <=== троллинг
все прекрасно там копают, просто теперь сильвер кирка не нуби, осталось куча старых топоров, которые были куплены про запас. а ты как всегда всех посылаешь учить скрипты. никто на бесте ничего не дает и не даст, никому не нужна конкуренция! ломят цены за логи по 30 гп и айрон по 22. наверно ты кому-то уже написал там и он рубит и копает как проклятый!


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 18:46:30 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
скрипт для города Мирный я раньше делал, но Хосе его убрал на новом клиенте. Правил для рубки в Бриттании, но в ГЗ сейчас вроде не рубятся деревья. Можно было в одном месте рубить на 2 экранах с доходом около 50К логов за сутки. Но и ту локацию пофиксили. Бида.
А те кто сейчас копают и рубят - либо сами написали либо купили. Я туда очень редко захожу.
И опять же - наличие сильвер кирки не отменяет запрета на автономную добычу так что вот так.

Я не заставляю учить скрипты :roll: Я за коммуникабельность и бартерные сделки.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Lumberjacking
PostPosted: 2013-08-08 19:22:49 
Offline

Joined: 2013-05-17 10:38:53
Posts: 62
Mirage wrote:
И опять же - наличие сильвер кирки не отменяет запрета на автономную добычу так что вот так.
Лучше бы ты не писал ничего про БЕСТ, если туда не заходишь. Буквально сегодня создали топик http://www.bestuo.ru/index.php?do=forum&showtopic=8308&cstart=1#post-120843 2-о сообщение. Рубят и копают там все, но никто не дает скрипты, а если ты напишешь и выложишь для всех, то те кто там жирует сразу заплачут. Раньше сильвер инструмент был нуби, ловили бота у него в паке сразу 20 шт этих кирок было, но теперь такое не прокатит, они не нубайные!

Бартерные сделки, мне написали в личку 3000 руб за скрипт, который даже не будет обходить антимакрос. За 3000 я куплю себе кредитов на этом же бесте, куда важнее будет и дальше буду копать на скрипте Ревенанта.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 27 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited