LastCorpse > 3

Ask for help

Moderators: Murderator+, Murderator

Post Reply
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

LastCorpse > 3

Post by tcl70 »

kak sdelat' script na proverku skolko v trupe veshej ? :) , pomogite kto mozet atu ja dazhe neznaju s 4ego na4at'
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Code: Select all

uo.findtype(-1, -1, "lastcorpse")
uo.print(str(uo.findcount()))
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

sposiba bolshoe :D

PS: kak mne skript po4enit' ? tak 4tob on zdal poka trup otkroetca i ne4ego 4tob bolshe ne delal ? :) i topom po o4eredi po scriptam prohodil ? :)

Code: Select all

sub cheaker()
   while true
      uo.findtype("-1","-1","lastcorpse")
      uo.Waiting("lastcorpse")
      if uo.FindCount() > 3 then
         loot()
         else
         wait(1000)
      endif
      if uo.FindCount() <= 3 then
         sac()
         else
         wait(1000)
      endif   
   wend
endsub

sub loot()
    UO.waittargetobject("lastcorpse");
    UO.emptycontainer("550", "lastcorpse");
    wait(3000)
    sac()
endsub

sub sac()
   uo.waittargetobject("lastcorpse")
   uo.sayu(".sac")
   wait(1000)
   cheaker()
endsub
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

труп считается открытым когда lastcontainer == lastcorpse
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Grin wrote:труп считается открытым когда lastcontainer == lastcorpse


Ну, наверное, не всегда? Вполне вероятно, что пока ты открываешь труп, рядом появится еще один и тогда ласткотейнер не будет равен ласткорпс.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

ja zaputalsja :? s skriptom mne nado 4tob mne ktota v asku postu4al i pomog :-/
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Edred wrote:
Grin wrote:труп считается открытым когда lastcontainer == lastcorpse


Ну, наверное, не всегда? Вполне вероятно, что пока ты открываешь труп, рядом появится еще один и тогда ласткотейнер не будет равен ласткорпс.

Естественно... А есле быть внимательным то я гдет ос пару месяцев назад выкладывал версию инжекта с маленьким фиксом...
Я выкинуд возможность устанавливать lasttarget за менил его на lastcontainer и народ меня не понял%))

tcl70 кидай сюда скрипт...
Если ты открываешь труп который только что упал или ыты его нашел через файнд тайп, то ничего страшного нет. Если труп только что упал то его ИД лутше сохранить, что бы избежать случия описаного эдредом.
тоесть

Code: Select all

corpse=uo.GetSerial("lastcorpse")
if uo.GetDistanse(corpse) < 3 then
    uo.useobject(corpse)
    while corpse <> uo.GetSerial("lastcontainer")
        wait(100)
    wend
end if

через файнд дтайп без всяких сохранений...
А вообще выкладывай свой скрипт.
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

Sposiba vam oboim , no serial trupika mne nenuzhen potomu kak sak delaju trup is'shezaet i 4erez 3secundi spawnitca novim mob , i ego jaa tak bistro ne ubevaju :)
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

зато может убить ктонибудь другой... + поблизости могут когото убить...
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

Grin wrote:зато может убить ктонибудь другой... + поблизости могут когото убить...


somnevajus' 4to ktonit' hot' mima projdet :)) , tam krome menja nekogo bolshe i netu uzhe nedelu :)

Image
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

u menja script ne lutaet i govorit wrong grafic type :-/ iza 4ego eto mozet bit' ? pomogite esli vam ne zalko

Code: Select all

sub test()
   var WaitTime=800
   dim iTake[2]
   iTake[0]=0x0EED ; gold
   iTake[1]=0x1422 ; tix
   var l
   var corpse = uo.getserial("lastcorpse")
   if UO.GetDistance(corpse) < 3 then
      uo.useobject(corpse)
      while corpse <> uo.GetSerial("lastcontainer")
         wait(100)
      wend
   end if
   wait(550)
   For l = 0 To 1
      repeat
      if UO.FindCount("finditem") >= 1 then
         UO.FindType(iTake[l], "-1", "lastcontainer" )
         UO.MoveItem( "finditem" )
         wait( 1000 )
         UO.FindType(iTake[l], "-1", "lastcontainer" )
      endif   
      until UO.FindCount("finditem") <= 1
   next
   UO.Print(UO.Count(corpse))
endsub
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Code: Select all

sub test()
   var WaitTime=800
   var l
   var corpse = uo.getserial("lastcorpse")
   dim iTake[2]
   iTake[0]=0x0EED ; gold
   iTake[1]=0x1422 ; tix
   if UO.GetDistance(corpse) < 3 then
      uo.useobject(corpse)
      while corpse <> uo.GetSerial("lastcontainer")
         wait(100)
      wend
      For l = 0 To 1
         repeat
            UO.FindType(iTake[l], "-1", corpse)
            if uo.FindCount() then
               UO.grab("finditem")
               wait(1000)
            end if
         until UO.FindCount() <= 1
      next
   end if
   UO.Print(UO.GetGraphic(corpse))
end sub
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

Grin sposiba tebe snova za pomosh no uo.grab 4et na tom servake nepashet kak nado , tolko precel vilezaet i vse :-/

PS: script zarabotal kogda grab na moveitem smenil :D
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

UO.grab(0, "finditem")
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

sposiba bolshoe rabotaet super teper' :)
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

kak sdelat' tak 4tob script dozhidalsja trupa i ne4ego ne delal poka on ne otkroetca ?

Code: Select all

##Cheaker##
sub iLook()
   while true
      uo.findtype("-1","-1","lastcorpse")
      if uo.FindCount() >= 3 then
         iLoot()
         else
         iTake()
         wait(1000)
      endif
   wend
end sub

##Looter##
sub iLoot()
   var WaitTime=800
   var l
   var corpse = uo.getserial("lastcorpse")
   dim iTake[2]
   iTake[0]=0x0EED ; gold
   iTake[1]=0x1422 ; tix
   if UO.GetDistance(corpse) < 3 then
      uo.useobject(corpse)
      while corpse <> uo.GetSerial("lastcontainer")
         wait(100)
      wend
     UO.SetReceivingContainer(0x40004DD6)
      For l = 0 To 1
         repeat
            UO.FindType(iTake[l], "-1", corpse)
            if uo.FindCount() then
               UO.grab(0, "finditem")
               wait(1000)
            end if
         until UO.FindCount() <= 1
      next
   end if
   UO.UnSetReceivingContainer()
   UO.Print(UO.GetGraphic(corpse))
   wait(3000)
   iSac()
end sub

##Loot all items##
sub iTake()
   UO.waittargetobject("lastcorpse");
   UO.emptycontainer("550", "lastcorpse");
   wait(3000)
   iSac()
end sub

##Corpse .sac script##
sub iSac()
   uo.waittargetobject("lastcorpse");
   uo.sayu(".sac");
   wait(2000)
   iLook()   
end sub
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Code: Select all

##Cheaker## 
sub iLook()
   var corpse
   while true
      uo.findtype("0x2006","-1","ground")
      wait(500)
      if uo.FindCount() then
         corpse=uo.GetSerial("finditem")
         uo.findtype("-1","-1",corpse)
         if uo.findcount()>=3 then
            iLoot(corpse)
         else
            iTake(corpse)
            wait(1000)
         end if
         uo.ignore(corpse)
      endif
   wend
end sub

##Looter##
sub iLoot(corpse)
var WaitTime=800
var l
dim iTake[2]
iTake[0]=0x0EED ; gold
iTake[1]=0x1422 ; tix
if UO.GetDistance(corpse) < 3 then
uo.useobject(corpse)
while corpse <> uo.GetSerial("lastcontainer")
wait(100)
wend
UO.SetReceivingContainer(0x40004DD6)
For l = 0 To 1
repeat
UO.FindType(iTake[l], "-1", corpse)
if uo.FindCount() then
UO.grab(0, "finditem")
wait(1000)
end if
until UO.FindCount() <= 1
next
end if
UO.UnSetReceivingContainer()
UO.Print(UO.GetGraphic(corpse))
wait(3000)
iSac(corpse)
end sub

##Loot all items##
sub iTake(corpse)
UO.waittargetobject(corpse);
UO.emptycontainer("550", corpse);
wait(3000)
iSac(corpse)
end sub

##Corpse .sac script##
sub iSac(corpse)
uo.waittargetobject(corpse);
uo.sayu(".sac");
wait(2000)
end sub
tcl70
Posts: 13
Joined: 2006-05-11 15:28:15
Contact:

Post by tcl70 »

Sposiba tebe OGROMNOE Image

PS: ja ne Gay
Post Reply