подскажите как сделать подсчет руды в скрипте на мининг :)
Moderators: Murderator+, Murderator
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
может быть
но все еще не работает..
ну сделал я все как тут говорят -
выкопали руду - записали - выкопали-записали - появился элемент - вытащил руду - записываем - если значение текущего кол-ва руды < ее глобальной записи, тогда не записываем
но тогда возникает неточность - если руды в паке < чем было в глобальной переменной он не будет складывать новую выкопаную руду пока не достигнет значения глобальной переменной..
короче
плииииз оформите кто-нить в код я наверное реально не догоняю:)

ну сделал я все как тут говорят -
выкопали руду - записали - выкопали-записали - появился элемент - вытащил руду - записываем - если значение текущего кол-ва руды < ее глобальной записи, тогда не записываем
Code: Select all
if not uo.getglobal('ore')<uo.getquantity('finditem') then
uo.setglobal('ore',uo.getglobal('ore')+[uo.getquantity('finditem')-uo.getdlobal('ore')])
end if
но тогда возникает неточность - если руды в паке < чем было в глобальной переменной он не будет складывать новую выкопаную руду пока не достигнет значения глобальной переменной..
короче
плииииз оформите кто-нить в код я наверное реально не догоняю:)
так тока я в общих чертах на примере одной руды
Code: Select all
sub oreinfo()
var ms1="Iron"
var p=0,iron=0,m=0
m=uo.getquantity('твой айрон')
#тут чар капает юзанул кирку на таил и ждет допустим пока не выкапал
if uo.injournal(ms1) then
p=uo.getquantity('твой айрон')
iron=(p-m)+iron
endif
endsub
вот потести:
Code: Select all
sub a()
var p,m
p=uo.getquantity('0x404DAB5D')
m=val(uo.getglobal('iron'))
uo.setglobal('iron',str(p-m+val(uo.getglobal('iron'))))
uo.print(uo.getglobal('iron'))
end sub
Mihail wrote:вот потести:Code: Select all
sub a()
var p,m
p=uo.getquantity('0x404DAB5D')
m=val(uo.getglobal('iron'))
uo.setglobal('iron',str(p-m+val(uo.getglobal('iron'))))
uo.print(uo.getglobal('iron'))
end sub
зачем глобал переменные?
Mihail wrote:ну какая разница.. просто у меня отдельным скриптом подсчет - смысл в том что такая схема НЕ работает (работает но неправильно)
ну млин напрягите моск тут легко!вон даже дешифратор случайных чисел из гамов придумали как-то а тут на такую фигню фантазии не хвататает
я уже свое написал вроде работает он считает только число выкапанного этого достаточно что ты еще хочешь не знаю
Mihail wrote:блин число выкопанного я итак знал.. ладно - забей я хз как это объяснить- слишком сложно чтобы объяснить на форуме
ну смотри у нас в паке айрон допустим чар капает перед капанием очередного тайла мы узнаем кол-во айрона в паке потом как выкопали айрон узнаем кол-во айрона потом из второго вычитаем первое и записываем в переменную потом по ходу капания наращиваем эту переменную потом как разгружаемся то пишем- всего айрона накопал наша переменная, донес айрона узнаем кол-во айрона в паке, потерял айрона- ну тут сам догадайся

если елементаль молча крадет руду , а ты будешь сравнивать руду только после "You put", то ничего не получится , поскольку тебе нада знать значение каждой руды то придется ставиь проверку в цикл .(
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
да можно - тока сложно:)
примерно это.. только исправить надо
Code: Select all
sub count(n)
# 0 total; 1 home; 2 loose
var i, j, q, loose
DIM Ore[13], typeOre[4]
#Ore[numb]='[цвет] [отображаемое название]'
Ore[0]='0x0000 Iron Ore'
Ore[1]='0x0641 Cooper Ore'
Ore[2]='0x0400 Agapite Ore'
Ore[3]='0x0770 Shadow Ore'
Ore[4]='0x048A Orion Ore'
Ore[5]='0x07D1 Verite Ore'
Ore[6]='0x0488 Dwarf Ore'
Ore[7]='0x0515 Valorite Ore'
Ore[8]='0x084D Golden Ore'
Ore[9]='0x0482 Silver Ore'
Ore[10]='0x0487 Crystal Ore'
Ore[11]='0x0486 Magma Ore'
Ore[12]='0x0485 Obsidian Ore'
typeOre[0]='0x19B9' ; 4 and more ore
typeOre[1]='0x19B7' ; 1 ore
typeOre[2]='0x19BA' ; 2 ore
typeOre[3]='0x19B8' ; 3 ore
uo.ignorereset()
if n<>2 then
for i=0 to 12
q=0
for j=0 to 3
repeat
uo.findtype(typeOre[j],left(Ore[i],6),'backpack')
if uo.findcount() then
if n==0 then
q=q+uo.getquantity('finditem')-val(uo.getglobal(Right(Ore[i],len(Ore[i])-7)))
if q>0 then
uo.setglobal(Right(Ore[i],len(Ore[i])-7),str(q+val(uo.getglobal(Right(Ore[i],len(Ore[i])-7)))) )
else
if q<>val( uo.getglobal(Right(Ore[i],len(Ore[i])-7)+'error')) then
uo.setglobal(Right(Ore[i],len(Ore[i])-7)+'error',str(q+val( uo.getglobal(Right(Ore[i],len(Ore[i])-7)+'error'))))
end if
end if
end if
if n==1 then
q=q+uo.getquantity('finditem')
uo.setglobal(Right(Ore[i],len(Ore[i])-7)+'home',str(q+val(uo.getglobal(Right(Ore[i],len(Ore[i])-7)+'home'))))
end if
uo.ignore('finditem')
end if
until uo.findcount()==0
next
next
end if
if n==2 then
uo.textclear()
uo.textopen()
uo.textprint('До дома руды доставлено:')
for i=0 to 12
uo.textprint(Right(Ore[i],len(Ore[i])-7)+': '+uo.getglobal(Right(Ore[i],len(Ore[i])-7)+'home'))
next
uo.textprint()
uo.textprint('Потери:')
for i=0 to 12
loose=val(uo.getglobal(Right(Ore[i],len(Ore[i])-7)+'home'))-val(uo.getglobal(Right(Ore[i],len(Ore[i])-7)+'error'))-val(uo.getglobal(Right(Ore[i],len(Ore[i])-7)))
uo.setglobal(Right(Ore[i],len(Ore[i])-7)+'error','0')
uo.setglobal(Right(Ore[i],len(Ore[i])-7),'0')
if loose<0 then
loose=loose*-1
end if
uo.textprint(Right(Ore[i],len(Ore[i])-7)+': ['+str(loose)+']')
next
uo.textprint()
uo.textprint('Время: '+time(uo.time(),':')+' ('+date(uo.date(),'.')+')')
uo.print('Произведен полный отчет.')
end if
uo.ignorereset()
end sub
sub date(jor,n)
var ser=str(jor), t=''
if len(ser)==5 then
ser='0'+ser
end if
t=right(ser,2)+n+mid(ser,2,2)+n+left(ser,2)
return t
end sub
sub time(jor,n)
var i, t=''
var ser=str(jor)
for i=0 to len(ser)-2 step 2
t=t+mid(ser,i,2)+n
next
t=left(t,len(ser)+2)
return t
end sub
примерно это.. только исправить надо
Mihail wrote:потести свой скрипт
положи в пак любую стопку предметов и попробуй повыкидывать позакидывать некоторое количество обратно - результат тебя разочарует
в общем надо быть в ситуации чтоб помочь тебе так просто на словах трудно надо смотреть что и как в самом процессе на твоем шарде так что чем смог помог
