Подскажите как правильно сделать проверку на колличество !

Anything and all.

Moderators: Murderator+, Murderator

derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Подскажите как правильно сделать проверку на колличество !

Post by derevo »

допустим я хочу класть в каждый мешок именно по 100 итемов! +- несколько штук. предметы однотипные ! тоесть мне нужно именно определения количества итемов в сумке.
Благодарю
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

,massmove 1000 100
1000 - задержка
100 - количество

запускаешь команду и из ящика с предметами перетаскиваешь в мешок 1 штуку.
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

Не то вот смотри

UO.DeleteJournal()
UO.Click(MeshSer)
wait(500)
if UO.InJournal('100') then
goto ff
end if

repeat
UO.FindType(Map, -1, 1 )
If UO.GetQuantity('finditem')> 0 then
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( ' perelozhena' )
End if
UO.FindType(Map,'0x0000','my')
If UO.GetQuantity('finditem')>0 then
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( ' perelozhena' )
goto task
Else
goto dal
end if
dal:



Нарезка из одно из скриптов мной порезанного под чистое перетаскивание! В этой части я сделал проверку от болды
UO.DeleteJournal()
UO.Click(MeshSer)
wait(500)
if UO.InJournal('100') then
goto ff
end if
Тоесть кликает на мешочек куда кладёт! если в журнале видит "100" то прыгаем на новый мешочек!... но это не стабильно! может повиснуть там на курсоре или ещё что ! будет 101 и уже не сработает. Как быть? спасибо

и ещё одно!
UO.FindType(Map, -1, 1 )
If UO.GetQuantity('finditem')> 0 then
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( ' perelozhena' )
Не видит итемы на земле((( что я не так сделал?
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

А да чар второй в перегрузе продолжает в это время делать итемы! так что мас мув не прёть(
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

1. если ты перекладываешь скриптом то достаточно организовать счетчик перекладываний - очень стабильно.

2. -1 - типа пофиг где искать (не прверял).
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

И наверное полезно будет заигнорить мешок в который перекладываешь а то он вечно их перекладывать будет.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Много чего не правельно делаешь;)
На сортировку такого рода была куча скриптов.
И колво итемов в сумке лутше не через журнал смотреть

Code: Select all

uo.FindType(-1, -1, container)
uo.FindCount()

Файнд коунт дас колво итемов в сумке.
Дальше ... Не у спел Саваж уже написал;)
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

Savage wrote:И наверное полезно будет заигнорить мешок в который перекладываешь а то он вечно их перекладывать будет.


проблема в том что на оскоме фри котором я играю имеется проблема ! итемы при перекладке часто зависают на курсоре! просто зависают и всё. что бы скинуть проверка на итемы у меня даже дёргает левые в паке)
в общем я к тому что счёткик не получится(
Last edited by derevo on 2006-07-15 22:48:47, edited 1 time in total.
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

можно сделать с опен контейнером ... тоесть дабл кликал что бы на этот мешок! тогда будет в журнале запись типа Contains: 121 items
но как это правильно использовать,,,
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Я играл на оскоме, все там нормально перекладывается, паузы не забывай ставить.
У меня чар делал робы и прыгал их продавал, потом в банк выкладывал деньги м все поновой. Или когда продавать не надо было скидывал их в мешки.
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

Grin wrote:И колво итемов в сумке лутше не через журнал смотреть

Code: Select all

uo.FindType(-1, -1, container)
uo.FindCount()

Файнд коунт дас колво итемов в сумке.
;)

брр не совсем понял! вот отрезок крипта у мну. ищет на земле робу(Map) и в паке у себя( на случай завиания на курсоре ) На земле кстать совсем не ищет((( или просто не перекладывает сразу с земли в сумку (в контейнере)
Тоесть логически может кинуть он за раз и два итема( за цикл) как я по твоему примеру могу реализовать проверку?
Парни вы ток не серчайте что может простого не понимаю . Я на инже скриптом занимаюсь пару дней)
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Объясни в деталях, что ты делаешь скриптом. Типа шаг первый ищем то-то, там то, шаг второй...
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

Savage wrote:Я играл на оскоме, все там нормально перекладывается, паузы не забывай ставить.
У меня чар делал робы и прыгал их продавал, потом в банк выкладывал деньги м все поновой. Или когда продавать не надо было скидывал их в мешки.

Раньше у мну тоже перекладывал отлично. А теперь зависает на курсоре часто. Паузу если имееш ввиду простой вейт так он там везде стоит 2000 . ещё и чек лаг есть.

А вот кстать можно сделать в самой команде UO.MoveItem Задержку на перетаскивание? у мен подозрение что просто унсп (или что там) блокирует моментальный дроп
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Дерево мой пост прочти;)
ставь вейты перед использованием дропов...
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

sub teilorperekladka()

wait(1000)

VAR Sunduk1 = '0x4093C6A4' ; Ñåðèàë ñóíäóêà ñ ïóñòûìè ìåøêàìè
VAR Sunduk2 = '0x4151EBC1' ; Ñåðèàë ïóñòîãî ñóíäóêà
VAR Meshok = '0x0E76' ; Òèï ìåøêà

VAR Map = '0x1EFF' ; Òèï êàðòû
VAR MeshSer, j,ShkurSer
var LastTimer=0
var Exit=0


ff:



UO.DeleteJournal()
UO.FindType( Meshok, -1,Sunduk1) ; ???? ????? ? ??????? 1
MeshSer = UO.GetSerial('finditem')
UO.Grab( '1', 'finditem' )
UO.FindType('0x0F09',-1,'backpack') ; shit

UO.Grab('1','finditem')

prov:
wait( 2000 )
UO.MoveItem( MeshSer, 0,Sunduk2)
wait( 2000 )
wait (1000)

UO.FindType('0x0F09',-1,'backpack') ; shit

UO.Grab('1','finditem')

wait (2000)
wait (1000)
UO.FindType(Meshok,'0x0000','backpack') ;
if UO.GetQuantity('finditem')> 0 then
wait (1000)
goto prov
end if
dro:
wait (1000)


task:
UO.DeleteJournal()
UO.Click(MeshSer)
wait(500)
if UO.InJournal('100') then
goto ff
end if

repeat
UO.FindType(Map,'Ground', 1 )
If UO.GetQuantity('finditem')> 0 then
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( 'Udochka perelozhena' )
End if
UO.FindType(Map,'0x0000','my')
If UO.GetQuantity('finditem')>0 then
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
UO.Print( 'Udochka perelozhena' )
goto task
Else
goto dal
end if
dal:





goto task

wend
end sub



sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(50)
until UO.InJournal('backpack')
end sub

sub ToEat()

wait(500)
repeat
uo.UseType('0x097B')
wait(1000)
until uo.InJournal('You are simply too full to eat any more!')
end sub



Чар номер один щьёт! отллично щьёт.(но из за зависаний на курсоре производительность его падает! как выход крафт в перегрузе. А вот хватает итемы как раз второй чар с земли выше указанным макромсом!

В паке робы видит ,,,, на земле нет... плюс проверку на колличество немогу сообразить
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

UO.FindType('0x0F09',-1,'backpack') ; shit

UO.Grab('1','finditem')

wait (2000)

Вот это как раз моя защита от зависаний на курсоре! в бекпаке лежат несколько бутылок стилок он их дёргает из бекпака обратно в бекпак после каждого действий) соответственно нужная вещ падает так же в пак .


Весь скрипт! стандартная часть ищет мешок берёт мешок дропает мешок в другой сундук, запоменает сериал. Дальше перекладывание с земли однотипов в этот мешок .. там же с бекпака на случай зависания на курсоре...

Вопрос проверка бага на кол во итемов. и собственно ЧЁ ОН У МЕНЯ С ЗЕМЛИ НЕ БЕРЁТ )))))
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Можно ничего никуда не перекладывать просто вначале скрипта даешь команду uo.setreceivingcontainer('meshok-serial') и чар сам кидает туда крафт если не в перегрузе.
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

Savage wrote:Можно ничего никуда не перекладывать просто вначале скрипта даешь команду uo.setreceivingcontainer('meshok-serial') и чар сам кидает туда крафт если не в перегрузе.

Пробовал! тоже самое! так же виснет на курсоре. почему без понятия!
Причём самое интересное на оскоме 1 виснет! на оскоме 2 всё путём)
derevo
Posts: 34
Joined: 2004-12-14 14:55:12

Post by derevo »

Скажите мне лучше как правильно написать кусок с поиском на земле
UO.FindTyp('0x1EFF','0x0000', 'Ground' )
If UO.GetQuantity('finditem')> 0 then
UO.MoveItem( 'finditem', 0, MeshSer )
wait( 2000 )
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

ground - с маленкой буквы...
Скрипт похорошему надо переписать... всякие лишни репиты и венды весячие...
Post Reply