Fon Gewisson wrote:
Тащим деньги из сумки на полу в свой бакпэк.
Потом начинаем их считать.
Code:
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:
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].