подскажите как сделать подсчет руды в скрипте на мининг :)

Anything and all.

Moderators: Murderator+, Murderator

Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Для записи можно посмотреть в сторону глобальных переменных и псевдомассивов.
dmitrykit
Posts: 247
Joined: 2005-06-12 22:12:15

Post by dmitrykit »

a heshi tak vobwe otli4no podojdut :)
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

одним словом миха чето никак не врубиться :)
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

может быть :) но все еще не работает..
ну сделал я все как тут говорят -
выкопали руду - записали - выкопали-записали - появился элемент - вытащил руду - записываем - если значение текущего кол-ва руды < ее глобальной записи, тогда не записываем

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

но тогда возникает неточность - если руды в паке < чем было в глобальной переменной он не будет складывать новую выкопаную руду пока не достигнет значения глобальной переменной..
короче
плииииз оформите кто-нить в код я наверное реально не догоняю:)
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

так тока я в общих чертах на примере одной руды

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
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

вот потести:

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
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

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
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

ну какая разница.. просто у меня отдельным скриптом подсчет - смысл в том что такая схема НЕ работает (работает но неправильно)
ну млин напрягите моск тут легко! :) вон даже дешифратор случайных чисел из гамов придумали как-то а тут на такую фигню фантазии не хвататает :)
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

Mihail wrote:ну какая разница.. просто у меня отдельным скриптом подсчет - смысл в том что такая схема НЕ работает (работает но неправильно)
ну млин напрягите моск тут легко! :) вон даже дешифратор случайных чисел из гамов придумали как-то а тут на такую фигню фантазии не хвататает :)

я уже свое написал вроде работает он считает только число выкапанного этого достаточно что ты еще хочешь не знаю
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

блин число выкопанного я итак знал.. ладно - забей я хз как это объяснить :) - слишком сложно чтобы объяснить на форуме :)
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

Mihail wrote:блин число выкопанного я итак знал.. ладно - забей я хз как это объяснить :) - слишком сложно чтобы объяснить на форуме :)


ну смотри у нас в паке айрон допустим чар капает перед капанием очередного тайла мы узнаем кол-во айрона в паке потом как выкопали айрон узнаем кол-во айрона потом из второго вычитаем первое и записываем в переменную потом по ходу капания наращиваем эту переменную потом как разгружаемся то пишем- всего айрона накопал наша переменная, донес айрона узнаем кол-во айрона в паке, потерял айрона- ну тут сам догадайся :)
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

ты забыл самое главное..
ВЫЛЕЗАЮТ ЭЛЕМЕНТАЛИ И ЗАБИРАЮТИ ИЗ ПАКА РАНДОМНОЕ КОЛИЧЕСТВО ЛЮБОЙ РУДЫ
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

если елементаль молча крадет руду , а ты будешь сравнивать руду только после "You put", то ничего не получится , поскольку тебе нада знать значение каждой руды то придется ставиь проверку в цикл .(
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

да можно - тока сложно:)

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

примерно это.. только исправить надо
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

Mihail wrote:ты забыл самое главное..
ВЫЛЕЗАЮТ ЭЛЕМЕНТАЛИ И ЗАБИРАЮТИ ИЗ ПАКА РАНДОМНОЕ КОЛИЧЕСТВО ЛЮБОЙ РУДЫ


а причем тут это? пусть забирают, на разность количеств это не повлияет
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

потести свой скрипт :)
положи в пак любую стопку предметов и попробуй повыкидывать позакидывать некоторое количество обратно - результат тебя разочарует
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

Mihail wrote:потести свой скрипт :)
положи в пак любую стопку предметов и попробуй повыкидывать позакидывать некоторое количество обратно - результат тебя разочарует


в общем надо быть в ситуации чтоб помочь тебе так просто на словах трудно надо смотреть что и как в самом процессе на твоем шарде так что чем смог помог :)
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

ладно в итоге сделал что считает просто количество руды доставленной домой :)
Post Reply