Помогите поправить скрипт автолута

Ask for help

Moderators: Murderator+, Murderator

Post Reply
caban
Posts: 7
Joined: 2008-10-02 20:50:15

Помогите поправить скрипт автолута

Post by caban »

Вот такой код луталки, подскажите(помогите) что мне подправить или как лучше переписать скрипт, чтобы:
1. Сейчас он лутит указанный шмот, а мне нужно чтобы он лутил все кроме указанных конкретных итемов.
2. При луте каждого нового итему нужна задержка 0,5секунды.

Реально написать скрипт с такими требованиями, или нужно будет вбивать в этот скрипт все нужные для лута итемы?

Code: Select all

sub Loot()
var t,l
t=1200
uo.UseObject('lastcorpse')
wait(t)
dim LootingItem[38]
uo.Print('Лутим...')
LootingItem[1] = 0x0F7B  
LootingItem[2] = 0x0F8D  
LootingItem[3] = 0x0F8C  
LootingItem[4] = 0x0F88  
LootingItem[5] = 0x0F7A  
LootingItem[6] = 0x0F84  
LootingItem[7] = 0x0F86  
LootingItem[8] = 0x0F85  
LootingItem[9] = 0x1F14  
LootingItem[10] = 0x0F0C 
LootingItem[11] = 0x0F0B 
LootingItem[12] = 0x1412 
LootingItem[13] = 0x1411 
LootingItem[14] = 0x1410 
LootingItem[15] = 0x1414 
LootingItem[16] = 0x1B76 
LootingItem[17] = 0x1413 
LootingItem[18] = 0x1406 
LootingItem[19] = 0x1404 
LootingItem[20] = 0x13B9 
LootingItem[21] = 0x13B5 
LootingItem[22] = 0x1F03 
LootingItem[23] = 0x1515 
LootingItem[24] = 0x1517 
LootingItem[25] = 0x171C 
LootingItem[26] = 0x1539 
LootingItem[27] = 0x152E 
LootingItem[28] = 0x2136 
LootingItem[29] = 0x2137 
LootingItem[30] = 0x0EED 
LootingItem[31] = 0x0E76 
LootingItem[32] = 0x0E75 
LootingItem[33] = 0x0E21 
LootingItem[34] = 0x13B1 
LootingItem[35] = 0x0F4F 
LootingItem[36] = 0x13FC 
LootingItem[37] = 0x0F3F 
LootingItem[38] = 0x1BFB 
uo.Print('Закончен.')
for l=1 to 38
uo.FindType(LootingItem[l],"-1","lastcorpse")
if uo.FindCount()>0 and uo.GetDistance("lastcorpse")<=2 then
uo.Grab(1,"finditem")
uo.Print('предмет: '+str(uo.findcount()))
wait(t)
end if
next
end sub
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

После команды uo.Grab(1,"finditem") воткни команду wait(500), в массивах нумерацияя элементов начинается с нуля, так что в твоей луталке надо как минимум dim LootingItem[38] заменить на dim LootingItem[39], а по поводу ненужных предметов, перед uo.FindType(LootingItem[l],"-1","lastcorpse") поставь метку, например poisk: , после команды if uo.FindCount()>0 and uo.GetDistance("lastcorpse")<=2 then нужно втыкать проверку

Code: Select all

if uo.GetGraphic('finditem')==тип and uo.GetColor('finditem')==цвет then
  uo.ignore('finditem')
  goto poisk 
endif
и для каждого ненужного предмета такое условие, тип и цвет предмета можно посмотреть, набрав в клиенте ,info и ткнуть в предмет, с включонной инжей, естественно. В конце луталки, после next, воткни команду uo.ignorereset(). Не люблю команду goto, но здесь, похоже, без неё не обойтись. Инжа игнорит по серийнику, и на случай, если в трупаке несколько одинаковых ненужнных предметов, надо все найти и переигнорить, вот.
Post Reply