Page 1 of 1

Помгите с проблемои

Posted: 2006-12-05 11:36:35
by slonik123
у меня есть скрипт на миниг где чар продает аирон , но трабла в том что бегают крысы и тырят все гп что чар накопал кто нить знает способ избавиться от етои проблемы чтобы чар там гп в мешок кидал или на весу как бы их держал

Помогите плиз очень прошу

Заранее огромное спасибо!!

Posted: 2006-12-05 15:53:12
by DerMeister =)
Вобщем то можно пак с деньгами постоянно перекладывать... Еще можно голду хранить в виде огромного кол-ва кучек, например, по 50гп.

Posted: 2006-12-05 15:55:38
by Savage
А гвардов звать уже не модно? Если тырят НПС то ниче не поможет.

Posted: 2006-12-05 16:03:52
by DerMeister =)
Savage wrote:А гвардов звать уже не модно? Если тырят НПС то ниче не поможет.
Когда вор в стелсе? Какой смысл? НПЦ вряд ли тырят... первый раз про такое слышу.

Posted: 2006-12-05 16:28:07
by slonik123
ну ворует игрок гвардов звать незя вот и хочу както избавиться от етого

Posted: 2006-12-05 16:28:08
by Savage
Я уже не раз сталкивался с тем, что на каждом серваке свои правила игры. Автор лишь указал суть проблемы, поэтому предложенные решения могут быть и неподходящими для него :)

Posted: 2006-12-05 16:29:00
by Savage
А самому прятаться?

Posted: 2006-12-05 16:30:07
by slonik123
нет там небольшая шахта для ньюбов для прокачки мининга до 80 некоторые прошареные или тем коме нечего делать просто тупо воруют все из пака , раньше была фишки типа чар кидал все в мешок и мешок держал на весу тоесть вор залазиет а в паке 0 итемов все в мешке , вот собственно и хотелося бы че нить типа того а то все старое утеряно !!

Posted: 2006-12-05 16:30:53
by slonik123
самому прятаться не помогает проверено!

Posted: 2006-12-05 16:31:41
by Savage
Веселый у вас шард, таскать деньги на весу :)

Posted: 2006-12-05 16:32:50
by slonik123
хочешь жить умеи вертеться :)

Posted: 2006-12-05 17:21:08
by Nmy

Code: Select all

sub gp()
VAR gp = "0x0000"
VAR bag = "0x0000000"
uo.findtype(gp)
while uo.findcount()
UO.moveitem('finditem','10', bag ,44,121,0 ) #тут прописать кординаты в каком углу кидать гп(мешочек) менять только Х(44) и У(121)
wait(200)
uo.findtype(gp)
wend
endsub
если нестырят весь мешок, пусть по 10 гп берут :)

Posted: 2006-12-05 17:24:06
by slonik123
ок спасибо попробуем:)


если кто еше может предложить варианты всегда буду рад просто с мешком наврятли будет эффективно , но серавно всем спасибо за помощь!

Posted: 2006-12-06 14:32:52
by slonik123
не помагает с мешком по 10 гп воруют сразу мешок мож еще кто что подскажет??

могу если надо будет скрипт выложить!

Posted: 2006-12-08 16:11:35
by slonik123
ну че никто не поможет чтоль? :( :( :(

Posted: 2006-12-08 16:42:52
by Dimage
Давайте попостим.
Вот скрипт:

Code: Select all

sub Mining()
    UO.AddObject('Catch_Bag')
    UO.Print('Укажите на мешёк куда будет руда складываться...') 
   while UO.Targeting() 
    wait(10)
   wend
    UO.SetReceivingContainer('Catch_Bag')
    UO.SetCatchBag('Catch_Bag')
    UO.MoveItem('Catch_Bag','1','backpack','1','250','1')
    
    MineArea(2);
endsub

sub MineArea(Dist) ; Капание
    var PX, PY, PZ, Ix,Iy, rx, ry, DistArea, Done, Circle
     
    PX=0
    PY=0
    Done=0
    Circle=0
    DistArea=(Dist*Dist+1)
    DistArea=DistArea*DistArea
    UO.Print("Yoko Injection(C) 2005.")
    UO.DeleteJournal()
              
 Start_Mine_Area:
    For Iy = -Dist to Dist
      For Ix = -Dist to Dist
      if ((PX <> UO.GetX()) or (PY <> UO.GetY())) then 
         if (PX <> 0) or (PY <> 0) then
            UO.Print("Have moved, mining ore on circle again")
         endif
         PX = UO.GetX()
         PY = UO.GetY()
         PZ = UO.GetZ()      
         Done=0
         GOTO Start_Mine_Area
      endif
      if UO.Weight < (UO.Str*4) then
         UO.Print("Mine point: "+Str(PX+Ix)+","+Str(PY+Iy))
        while not UO.InJournal('There is no ore') and not UO.InJournal("You have no line") and not UO.InJournal("That is to far away") and not UO.InJournal("You can't think") and not UO.InJournal("You have no line of") and not UO.InJournal("too far away") and not UO.InJournal("mining in rock.")
         UO.DeleteJournal()
         UO.WaitTargetTile(-1,Str(PX+Ix),Str(PY+Iy),Str(PZ))
         UO.UseType("0x0E85")
         while not UO.InJournal("You put the") and not UO.InJournal("You loosen some") and not UO.InJournal("You can't think") and not UO.InJournal("That is to far away") and not UO.InJournal("There is no ore") and not UO.InJournal("You have no line of") and not UO.InJournal("too far away") and not UO.InJournal("mining in rock.")
          Wait(100)
         wend
         if UO.InJournal('peek into your backpack') then
           UO.Sayu("Слыш чукча - отвали!")
         endif  
        wend
        if ((PX == UO.GetX()) and (PY == UO.GetY())) then
           UO.Print("There were "+Str(DistArea-Done)+" more cells")
        endif
      else
        UO.Print("Warning of heavy wieght...");
      endif   
        Done=Done+1
        UO.DeleteJournal()
      next
    next
     Done=0
     if UO.Weight >= (UO.Str*4) then
	Sell ()
	wait (8000)
        UO.Print("Moving smelt ore(s)...")
        GotoXY(5180, 1176)
        if UO.SkillVal('Mining') < 1000 then   
          repeat
           UO.usetype('0x19B9')
           Wait(200);
           UO.findtype('0x19B9', '-1', 'my') ; Ищем большой кусок руды, больше 3-х в куче
          Until UO.FindCount() == 0
          repeat
           UO.usetype('0x19B8')
           Wait(200);
           UO.findtype('0x19B8', '-1', 'my') ; Ищем средний кусок руды, 3и в куче
          Until UO.FindCount() == 0
          repeat
           UO.usetype('0x19BA')
           Wait(200);
           UO.findtype('0x19BA', '-1', 'my') ; Ищем средний кусок руды, 2е в куче
          Until UO.FindCount() == 0
          repeat
           UO.usetype('0x19B7')
           Wait(200);
           UO.findtype('0x19B7', '-1', 'my') ; Ищем средний кусок руды, одна
          Until UO.FindCount() == 0
        else
           UO.UnSetReceivingContainer()
           UO.UnSetCatchBag()
           Smelt();
           UO.SetReceivingContainer('Catch_Bag')
           UO.SetCatchBag('Catch_Bag')
        endif 
      endif   
    repeat   
     rx = ((PX-10) + UO.random(20))
     ry = ((PY-10) + UO.random(20))
    until (rx < 5208) and (rx > 5186) and (ry < 1182) and (ry > 1153)
     UO.Print("Moving to new point: "+Str(rx)+","+Str(ry));
     GotoXY(rx,ry)
  if UO.Weight < (UO.Str*4) then  
     GOTO Start_Mine_Area
  else
     UO.Print("Script Stoped.");
     UO.Print("Not have a weight for mine.");
  endif
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 abs(x-myX) <= 1 and abs(y-myY) <= 1 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 abs(num)
 if num >= 0 then 
    return num 
 else 
    return num*(-1) 
 endif 
end sub 

sub Sell() 
if (uo.weight>10)then
  UO.Say(".sell") 
  UO.Waittargettype('0x19b9',0x0000) 
  wait(1000) 
  UO.LClick(343,317)   
  wait(300)

  UO.Say(".sell") 
  UO.Waittargettype('0x19b9',0x0488) 
  wait(1000) 
  UO.LClick(343,317)   
  wait(300)
  
  UO.Say(".sell") 
  UO.Waittargettype('0x19b9',0x0482) 
  wait(1000) 
  UO.LClick(343,317)   
  wait(300)
  
  UO.Say(".sell") 
  UO.Waittargettype('0x19b9',0x0514) 
  wait(1000) 
  UO.LClick(343,317)   
  wait(300)
  
  UO.Say(".sell") 
  UO.Waittargettype('0x19b9',0x0487) 
  wait(1000) 
  UO.LClick(343,317)   
  wait(300)  

  UO.Say(".sell") 
  UO.Waittargettype('0x19b9',0x0481) 
  wait(1000) 
  UO.LClick(343,317)   
  wait(300)  

endif
end sub

Система такая: Копает , продаёт список руд командой .sell, всё что не продал идёт плавит и копает дальше.

Хотелось бы спросить как прикрутить вот эту функцию сюда:

Code: Select all

sub DropOre() 
var o,exit 
dim Ore[14] 
Ore[0]=0x19B9 
Ore[1]=0x19B7 
Ore[2]=0x19BA 
Ore[3]=0x19B8 
Ore[4]=0x0F11 
Ore[5]=0x0F16 
Ore[6]=0x0F18 
Ore[7]=0x0F15 
Ore[8]=0x0F10 
Ore[9]=0x0F0F 
Ore[10]=0x0F26 
Ore[11]=0x1F4C 
Ore[12]=0x0EED 
Ore[13]=0x0F20 
ToHide() 
if uo.Waiting() then 
uo.CancelTarget() 
end if 
uo.useobject(' id ') #id каробки 
wait(500) 
for o=0 to 13 
exit=0 
repeat 
uo.FindType(Ore[o]) 
if uo.GetQuantity('finditem')>0 then 
uo.moveitem('finditem', -1 ,'ид банка') 
wait(500) 
else 
exit=1 
end if 
until exit==1 
next 

end sub
Отвечающую за выкладку в банк оставшихся после плавки ингов + добавить туда ещё и выкладку денег.

Пы.сы. Ещёб былобы круто чтоб в хайде копал.

Пы.сы.2 Помогите чем сможете...любой совет это +

Вот идеальное решение для этого шарда)

Posted: 2006-12-10 01:03:07
by Dimage
никто не поможет прикрутить?