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

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