Page 2 of 2
Posted: 2006-11-23 13:41:39
by Nmy
Code: Select all
var sunduk='0x40001AB7' #сумка в банке
sub DropOre()
#############
var i, j
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'
uo.useobject(sunduk)
checklag()
for i=0 to 13
uo.FindType(Ore[i])
while uo.findcount()
j=uo.getserial('finditem')
uo.FindType(Ore[i], -1 ,sunduk)
wait(500)
if uo.findcount() then
uo.move( j , 0 ,'finditem')
else
uo.move( j , 0 ,sunduk)
endif
uo.FindType(Ore[i])
wend
next
uo.print('Done')
end sub
писал в школе, хз как получилось...
вейт забыл
Posted: 2006-11-23 14:22:01
by Mihail
NMY wrote:...
1. где проверка на цвет руды?
2. зачем было заменять
Code: Select all
repeat
..
until uo.findcount()==0
на
while uo.findcount()
..
wend
Posted: 2006-11-23 14:46:58
by omi4
пошагово
Code: Select all
sub DropOre()
; -----------------------
var bank = '0x12345678'
; -----------------------
var ores
var counter = 4
dim ore[counter] ;
ore[0]=0x19B7 ; 1 ore
ore[1]=0x19BA ; 2 ore
ore[2]=0x19B8 ; 3 ore
ore[3]=0x19B9 ; 4 and more ore
for var i = 0 to i > counter
while UO.Count(ore[i]) ; проверим есть руда нужного типа
ores = UO.GetSerial('^' + ore[i]) ; ищем руду в паке, заносим ID в переменную
for var a = 0 to a > counter
UO.FindType(ore[a], UO.GetColor(ores), bank) ; ищем кучу в банке того же цвета
if UO.FindCount() then ; вариант найден
UO.MoveItem(ores, 0, 'finditem') ; нашли, кидаем в нее
a = counter + 1 ; break
else
if a == counter then ; вариантов более небудет
UO.MoveItem(ores, 0, bank) ;нет, кидаем так
endif
endif
next
wend
next
end sub
Posted: 2006-11-23 14:50:18
by Destruction
var counter = 4 - зачем объявлять если потом не используешь ?
UO.MoveItem(ores, 0, bank) ;нет, кидаем так - на многих шардах есть фича, если не просто кидать в банк, а на абсалютно любой предмет, то оно будет забивать банк до 65535 весу

Posted: 2006-11-23 15:02:28
by 098
Destruction, да новерное мы об одном
стачащиеся предметы(тобишь инги , логи и тп) можно сажать другна друга а тогда они в банк залезут,
только я так и ине понял какой мне скрипт юзат

Posted: 2006-11-23 15:20:24
by Destruction
Ну вот например -)
Code: Select all
sub InsertItem()
uo.addObject("item on hands")
while uo.targeting()
wait(100)
wend
uo.addObject("item in bank")
while uo.targeting()
wait(100)
wend
uo.moveitem("item on hands","0","item in bank")
endsub
Posted: 2006-11-23 15:40:48
by omi4
Destruction wrote:var counter = 4 - зачем объявлять если потом не используешь ?
UO.MoveItem(ores, 0, bank) ;нет, кидаем так - на многих шардах есть фича, если не просто кидать в банк, а на абсалютно любой предмет, то оно будет забивать банк до 65535 весу

counter вставил
а второе не фича, а косорукие админы.
Posted: 2006-11-23 15:43:18
by omi4
098 wrote:Destruction, да новерное мы об одном
стачащиеся предметы(тобишь инги , логи и тп) можно сажать другна друга а тогда они в банк залезут,
только я так и ине понял какой мне скрипт юзат

в какой сможешь врубится, или руки
Posted: 2006-11-23 16:02:52
by Destruction
omi4 wrote:Destruction wrote:var counter = 4 - зачем объявлять если потом не используешь ?
UO.MoveItem(ores, 0, bank) ;нет, кидаем так - на многих шардах есть фича, если не просто кидать в банк, а на абсалютно любой предмет, то оно будет забивать банк до 65535 весу

counter вставил
а второе не фича, а косорукие админы.
Да, админы разрабатывают эмулятор Sphere

Posted: 2006-11-23 17:16:55
by omi4
Разрабатывать ничего не нужно.
Есть мега шарды где мега админы пишут с нескрываемой гордостью в новостях что отныне у игроков безразмерный банк(все хлопают). Ограничение по весу снять легко, но разработчики считали, что контроль за весом в этом случае админ напишет сам, гыы наивные.
Posted: 2006-11-23 17:19:56
by 098
если бы был безразмерный банк, то зачем дома??