Page 1 of 1

Hex2Int

Posted: 2004-11-25 11:58:33
by Fon Gewisson
Тащим деньги из сумки на полу в свой бакпэк.
Потом начинаем их считать.

Code: Select all

var i ='0', w='0'   
UO.FindType(0x0EED, 0x0000, 0x4028B5A8)
  while UO.FindCount('finditem')>0
        UO.MoveItem('finditem','-1', 'backpack')
    wait(1000)
    UO.FindType(0x0EED,'-1',0x4028B5A8)
  wend
w=  UO.Count(0x0EED)
i=  uo.Hex2Int(w)
uo.textprint(w)
uo.textprint(i)


Вроде все правильно и должно переводить. Ан нет. пишет 0х0 и хоть ты тресни. Ну а в хексах все замечательно выходит. Что не так?
Кстати...еще вопрос на засыпку. UO.Count работает только в багпэке? В других контейнерах это как реализовать?

Re: Hex2Int

Posted: 2004-11-25 11:59:50
by Sfagnum
мляяя.... робяты не забываем про кавычки/аппострофы

Posted: 2004-11-25 12:20:02
by AGRS
i= uo.Hex2Int(w)
следует заменить на
i= STR(w)

Разумеется после того как кавычки проставишь :)

Re: Hex2Int

Posted: 2004-11-25 13:13:28
by AlexeyVorotnikov
Fon Gewisson wrote:Тащим деньги из сумки на полу в свой бакпэк.
Потом начинаем их считать.

Code: Select all

var i ='0', w='0'   
UO.FindType(0x0EED, 0x0000, 0x4028B5A8)
  while UO.FindCount('finditem')>0
        UO.MoveItem('finditem','-1', 'backpack')
    wait(1000)
    UO.FindType(0x0EED,'-1',0x4028B5A8)
  wend
w=  UO.Count(0x0EED)
i=  uo.Hex2Int(w)
uo.textprint(w)
uo.textprint(i)


Вроде все правильно и должно переводить. Ан нет. пишет 0х0 и хоть ты тресни. Ну а в хексах все замечательно выходит. Что не так?
Кстати...еще вопрос на засыпку. UO.Count работает только в багпэке? В других контейнерах это как реализовать?

IMHO, правильнее так:

Code: Select all

var i ='0', w=0   
UO.FindType('0x0EED', '0x0000', '0x4028B5A8')
  while UO.FindCount('finditem')>0
        UO.MoveItem('finditem','-1', 'backpack')
    wait(1000)
    UO.FindType('0x0EED','-1','0x4028B5A8')
  wend
w =  UO.Count('0x0EED')
i =  uo.Int2Hex(w)
uo.textprint(STR(w))
uo.textprint(i)

Правда я не понял, зачем нужен был [yhlp_Hex2Int]. Эта функция нужна для распарсивания текстовой строчки, содержащей число в 16-ричной системе счисления, в число. [yhlp_Count] сразу возвращает число. Если ты хочешь увидеть это число 16-ричной системе счисления, надо использовать [yhlp_Int2Hex].

По второму вопросу: [yhlp_Count] считает предметы в рюкзаке и подсумках. Чтобы подсчитать количество предметов в произвольном контейнере надо использовать комбинацию [yhlp_findtype] и [yhlp_FindCount].

Re: Hex2Int

Posted: 2004-11-25 15:34:28
by Yoko
AlexeyVorotnikov wrote:Чтобы подсчитать количество предметов в произвольном контейнере надо использовать комбинацию [yhlp_findtype] и [yhlp_FindCount].

а ещё [yhlp_ignore], [yhlp_ignorereset], [yhlp_GetQuantity]

Posted: 2004-12-02 08:51:14
by Fon Gewisson
Все это здорово...
только вот непонятно как подсчитать общее количество денег находящихся вне собственного пэка, а с контейнере находящемся на полу. Count тут не поможет. GetQuantity требует конкретный объект а не тип объекта. Как быть?

Posted: 2004-12-02 09:09:16
by Fon Gewisson
чтобы было понятнее чего я добиваюсь:
цель -
1.подщет денег в одном контейнере вне пэка.
2.из другого контейнера перетаскиваем в первый. без перекладывания в свой пэк.
3.Подсчет сколько стало в первом.

Posted: 2004-12-02 09:57:24
by Fon Gewisson
Прошу прощения за панику.
Нашел способ реализации
http://yoko.netroof.net/forum/viewtopic ... F%EA%E0%F5

Posted: 2004-12-02 14:40:10
by Edred
Когда-то Саваж, кажись еще на старом форуме, публиковал именно такой скрипт. Подсчет денег в контейнере со всеми вложениями.

Posted: 2004-12-02 19:37:35
by AGRS
Он наверняка есть в его последнем автолоаде.