From Stealth Client

Jump to: navigation, search

Объект

ClickOnObject

procedure ClickOnObject(ObjectID: Cardinal)

Одиночный клик на объект.

Пример:

ClickOnObject(FindType($0DE1,Ground));


GetColor

function GetColor(ObjID : Cardinal) : Word

параметр объекта: цвет


GetDex

function GetDex(ObjID : Cardinal) : Integer

параметр объекта: Dex


GetDirection

function GetDirection(ObjID : Cardinal) : Byte

параметр объекта: направление


GetDistance

function GetDistance(ObjID : Cardinal) : Integer

параметр объекта: дистанция


GetHP

function GetHP(ObjID : Cardinal) : Integer

параметр объекта: HP


GetInt

function GetInt(ObjID : Cardinal) : Integer

параметр объекта: INT


GetMana

function GetMana(ObjID : Cardinal) : Integer

параметр объекта: Mana


GetMaxHP

function GetMaxHP(ObjID : Cardinal) : Integer

параметр объекта: MaxHP


GetMaxMana

function GetMaxMana(ObjID : Cardinal) : Integer

параметр объекта: MaxMana


GetMaxStam

function GetMaxStam(ObjID : Cardinal) : Integer

параметр объекта: MaxStam

GetName

function GetName(ObjID : Cardinal) : String

параметр объекта: имя

Возвращает имя объекта в следующих случаях:

1. Объект это "живой" персонаж, т.е. такой, у которого IsNPC(ObjID) = true

2. "Не живой" объект, на который кликнули в клиенте или сделали вызов ClickOnObject(ObjID). Как только вы кликнули на объект, вы запросили от сервера "подсказку" отображаемый hint с текстом описания объекта. Stealth вырезает из текста подсказки непосредственно имя и запоминает его до тех пор, пока объект в зоне видимости IsObjectExists(ObjId) = True.

Важно заметить, что GetName с "не живыми" объектами работает не на всех клиентах. Это объясняется тем, что сервер может вообще не присылать имя. Это, как правило проходит в UO Client версий 4 и выше. В таких случаях имя объекта можно получить используя GetCliloc или GetTooltip.

3. Есть ряд случаев, когда сервер присылает имя объекта самостоятельно. В основном это ситуации когда объект отображается в гампе. Характерный пример - окно торговли с NPC.

Если имя объекта сервером не возвращалось, то Stealth задает объекту условное имя 'NoName', которое и возвращает эта функция.

Пример:

function GetSrvName(Id: Cardinal): String;
var _HighJournal, _Timer : Integer;
begin
  Result := GetCliloc(Id); // Для клиентов версии >4.x.x.x
  if Result = '' then begin  // Для старых клиентов <4.x.x.x
    Result := GetName(Id);
    if Result = 'NoName' then begin // Если имя сразу выяснить не удалось
      _HighJournal := HighJournal; // Запоминаем последнюю строку журнала
      ClickOnObject(Id); // Кликаем, чтобы получить ответ от сервера
      _Timer := Timer+15000; // Задаем максимальное время ожидания ответа 
      while (Timer < _Timer) and (_HighJournal = HighJournal) do Wait(100); // Ждем, когда измениться журнал
      Result := GetName(Id); // Если имя можно узнать, то оно будет возвращено
    end;
  end;
end;


GetNotoriety

function GetNotoriety(ObjID : Cardinal) : Byte

параметр объекта: злобность (notoriety)


GetParent

function GetParent(ObjID : Cardinal) : Cardinal

параметр объекта: ID контейнера, содержащего данный объект


Пример использования на Python 3.3. Модуль определения полного "пути" предмета во вложенных сумках:

def FullParentPath(p):
    if type(p)!=list or not p: p=[p]
    if not p[-1]: return p[1:-1]
    return FullParentPath(p+[GetParent(p[-1])])

p-ObjID

Возвращает list: [BagID1, BagID2, BagIDpreGround], где BagID1 - сумка в которой лежит ObjID, BagIDpreGround - последняя перед землей (если искали в одежде или рюкзаке чара - вернет ID чара).


GetQuantity

function GetQuantity(ObjID : Cardinal) : Integer

параметр объекта: кол-во в стопке


GetStam

function GetStam(ObjID : Cardinal) : Integer

параметр объекта: Stamina


GetStr

function GetStr(ObjID : Cardinal) : Integer

параметр объекта: STR


GetType

function GetType(ObjID : Cardinal) : Word

параметр объекта: type


GetZ

function GetZ(ObjID : Cardinal) : Byte

параметр объекта: Z координата


IsContainer

function IsContainer(ObjID : Cardinal) : Boolean

параметр объекта: container?


IsDead

function IsDead(ObjID : Cardinal) : Boolean

параметр объекта: dead


IsFemale

function IsFemale(ObjID : Cardinal) : Boolean

параметр объекта: пол


IsHidden

function IsHidden(ObjID : Cardinal) : Boolean

параметр объекта: hidden?


IsMovable

function IsMovable(ObjID : Cardinal) : Boolean

параметр объекта: movable?


IsNPC

function IsNPC(ObjID : Cardinal) : Boolean

параметр объекта: вещь или персонаж?


IsPoisoned

function IsPoisoned(ObjID : Cardinal) : Boolean

параметр объекта: poisoned?


IsRunning

function IsRunning(ObjID : Cardinal) : Boolean

параметр объекта: бег


IsWarMode

function IsWarMode(ObjID : Cardinal) : Boolean

параметр объекта: war режим


IsYellowHits

function IsYellowHits(ObjID : Cardinal) : Boolean

параметр объекта: yellowhits?

UseFromGround

function UseFromGround(ObjType : Word;Color : Word) : Cardinal;

Найти на земле предмет по типу и использовать его. Возвращает ИД использованного обьекта.

Пример:

ObjectID := UseFromGround($0DE1,$0000);

UseObject

procedure UseObject(ObjectID: Cardinal)

Использовать объект (двойной клик на него).

Пример:

while not Dead do
   begin
   UseObject(FindType($0DE1,Ground));
   wait(3000);
   end;

Примечание: В случае, если объект не существует, то Stealth клиент проигнорирует выполнение данной комманды и зафиксирует это в System журнале.

UseType

function UseType(ObjType : Word;Color : Word) : Cardinal;

Найти в рюкзаке предмет по типу и использовать его. Возвращает ИД использованного обьекта.

Пример:

ObjectID := UseType($0DE1,$0000);