Repository navigation
RU API UO CountEx
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.CountEx(object? objType, object? color, object? container);Возвращает количество единиц предметов непосредственно в контейнере; вложенные сумки не обходит. Для земли также учитывает подходящих персонажей/NPC, по единице на каждого. FindDistance, FindVertical и Ignore продолжают действовать. Не изменяет FindItem, FindCount, FindFullQuantity или GetFoundItems.
objType — графика/type, а не serial. color — оттенок. Значение -1 или 0xFFFF означает любой type/оттенок. container — ID контейнера, UO.Backpack() для рюкзака или UO.Ground() для земли. Результат int: сумма max(1, Amount), 0 — совпадений нет. Учитываются только уже полученные данные; автоматического открытия сумок нет.
int goldUnits = UO.CountEx(0x0EED, -1, UO.Backpack());
UO.Print(goldUnits.ToString());UO.FindTypeEx(0x0EED, -1, UO.Backpack(), false);
int previousFoundItem = UO.FindItem();
int bandages = UO.CountEx(0x0E21, -1, UO.Backpack());
bool searchPreserved = UO.FindItem() == previousFoundItem;
UO.Print($"{bandages}; {searchPreserved}");int units = CountBackpackUnits(0x0EED);
UO.Print(units.ToString());
int CountBackpackUnits(int graphic)
{
return UO.CountEx(graphic, -1, UO.Backpack());
}var counter = new InventoryCounter(UO);
UO.Print(counter.CountGold().ToString());
class InventoryCounter(ClassicUO.CSharp.CSharpGameApi api)
{
public int CountGold() => api.CountEx(0x0EED, -1, api.Backpack());
}ClassicUOInjectionApiBridge.CountDirectItems → MatchesFindIdentity / MatchesFindContainer / MatchesFindMobile.
ClassicUO — Bad Newbie & C# Scripts IDE