
Хочу найти в инвентаре кирку (0x0e85) или лопату (0x0f39), скопировать найденный объект в новосозданный объект Shovel (который все уже не раз видели

Изначально задумывалось что-то типа
Code: Select all
uo.findtype('0x0f39', -1, 2) # search Shovel into backpack
If UO.FindCount() > 0 Then
#сохраним айдишник найденой лопаты в Shovel
endif
uo.findtype('0x0e85', -1, 2) # search Pickaxe into backpack
If UO.FindCount() > 0 Then
#сохраним айдишник найденой кирки в Shovel
endif
***
UO.Useobject('Shovel')
Решил проблему во время написании вопроса


Коль проблема решена, а я просил помощи - приведу тут рабочий код:
Code: Select all
uo.findtype('0x0f39', -1, 2) # search Shovel into backpack
If UO.FindCount() > 0 Then
UO.Useobject(UO.GetSerial('finditem'))
uo.Print('Shovel is found')
else
uo.findtype('0x0e85', -1, 2) # search Pickaxe into backpack
If UO.FindCount() > 0 Then
UO.Useobject(UO.GetSerial('finditem'))
uo.Print('Pickaxe is found')
endif
endif
Однако, все равно интересно, как сохранить определенный объект(да и меня это решение не совсем удовлетворяет: проверку приходится делать каждый раз перед началом копания). Пробовал uo.set(), но это только для параметров. Нету ничего типа UO.CopyObject(), или что-то в этом роде.
Пробовал также извращение с
Code: Select all
uo.findtype('0x0f39', -1, 2) # search Shovel into backpack
If UO.FindCount() > 0 Then
uo.exec('addobject Shovel')
uo.targeting() # возможно, тут стоило попробовать waitfortarget, но извратом этот подход быть не перестает
wait(500)
uo.Click('finditem')