From Stealth Client

Jump to: navigation, search


C

CalcDir

function CalcDir(Xfrom, Yfrom, Xto, Yto: Integer): Byte

Возвращает направление для шага из точки (Xfrom, Yfrom) в точку (Xto, Yto). Если Xfrom=Xto и Yfrom=Yto функция вернет 100.

Пример 1:

Step(CalcDir(GetX(Self), GetY(Self), GetX(Self)+1, GetY(Self)), True);

Пример 2:

Повернутся к объекту.

a := CalcDir(GetX(Self), GetY(Self), GetX(Object), GetY(Object));
if a <> GetDirection(Self) then
Step(a,false);

CancelMenu

procedure CancelMenu

отмена всех установленных ловушек на меню

CancelTarget

procedure CancelTarget

Сбрасывает таргет.

Пример:

if targetpresent then
   begin
   canceltarget;
   end;

CancelTrade

procedure CancelTrade(TradeNum : Byte)

CancelWaitTarget

procedure CancelWaitTarget

Отменяеться ловушка на прицел. Не путайте с CancelTarget.


See also: Doc:RU/Api/CancelTarget

Cast

procedure Cast(Spell : String)

кроме обычных спеллов умеет кастовать и заклинания из мистик-буки:

  • nether bolt
  • healing stone
  • pure magic
  • enchant
  • sleep
  • eagle strike
  • animated weapon
  • stone form
  • spell trigger
  • mass sleep
  • cleansing winds
  • bombard
  • spell plague
  • hail storm
  • nether cyclone
  • rising colossus

Пример:

Cast('Cure');

CastToObj

function CastToObject( SpellName : String; ObjectID : Cardinal ): Boolean

Кинуть заклинание с названием SpellName на объект ObjectID.

См Doc:RU/Api/Cast

ChangeProfile

function ChangeProfile(ProfileName : String) : Integer

Эта функция позволяет изменить текущий профиль, те выбрать другого персонажа. Для ее успешной работы необходимо выполнение следующих условий:

  • Текущий чар должен быть отключен
  • У него должен выполнятся только один скрипт
  • Указанный профиль должен существовать. Важно - название профиля чувствительно к регистру.

В случае успешной смены профиля, функция вернет 0, иначе вернет код ошибки:

  • -1 - Внутренняя ошибка
  • -2 - Чар подключен или находится в процессе подключения
  • -3 - Выполняется больше одного скрипта
  • -4 - Указанного профиля не существует


CharName

function CharName() : String

Возвращает параметр чара - имя (Name).

В случае, если отсутствует соединение с UO сервером - вернет пустую строку ().

Пример 1:

if (CharName = 'MyChar') then
begin
  ''Do something
end;

Пример 2:

AddToSystemJournal('Имя чара: ' + CharName);


CharTitle

function CharTitle : string;

Возвращает параметр чара - Титул.

Пример:

  AddToSystemJournal(CharTitle);

CheckLOS

Проверка прямой видимости между двумя точками.

def CheckLOS(xf, yf, zf, xt, yt, zt, WorldNum : Integer) -> Boolean


Для того, чтобы CheckLos работало - надо перед вызовом ОБЯЗАТЕЛЬНО установить тип сервера уо в переменной:

losOptions (losTypeRunUO, losTypeSphere, losTypeSphereAdv, losTypeRunUO);

Пример:

Program Check1;
 
function CheckLosToTarget(Target : Cardinal) : Boolean;
begin
   Result := False;
   losOptions := losTypeRunUO;
   if CheckLos(GetX(self), GetY(self), GetZ(self), GetX(Target), GetY(Target), GetZ(Target), WorldNum) then
      Result := True;
end;
 
begin
  if CheckLosToTarget($0000025B) then
    AddToSystemJournal('True')
  else
    AddToSystemJournal('False');
end.

CheckLag

function CheckLag(timeoutMS : Integer) : Boolean;

CheckLagBegin

procedure CheckLagBegin;

CheckLagEnd

function CheckLagEnd : Boolean;


ClearBadLocationList

procedure ClearBadLocationList

Очищает список непроходимых точек, сформированный:

 - в результате работы функции SetBadLocation 
 - если 3 попытки шагнуть на одну и ту же точку - неудачны.


ClearBadObjectList

procedure ClearBadObjectList

Очищает список непроходимых объектов, сформированный:

 - в результате работы функции SetBadObject 
 - если 3 попытки шагнуть на одну и ту же точку - неудачны.

ClearChatUserIgnore

procedure ClearChatUserIgnore(Str : String)

ClearContextMenu

procedure ClearContextMenu

Очищает содержимое контекстного меню. После вызова этой процедуры Doc:RU/Api/GetContextMenu будет возвращать пустой TStringList, пока не появится новое меню.

RemoveFigure

procedure ClearFigures;

Удаляет все добавленные ранее фигуры.

ClearGumpsIgnore

procedure ClearGumpsIgnore;

ClearInfoWindow

def ClearInfoWindow() -> None

Новое в версии 6.1.5.0

ClearJournal

procedure ClearJournal

очистить журнал

ClearJournalIgnore

procedure ClearJournalIgnore

ClearShopList

procedure ClearShopList

ClickOnObject

procedure ClickOnObject(ObjectID: Cardinal)

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

Пример:

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

ClientPrint

procedure ClientPrint(Text : String)

Вывод текст Text в клиент Ultima Online. Не передавая его серверу.

Пример:

ClientPrint('Script loaded :)');

ClientPrintEx

procedure ClientPrintEx(SenderID: Cardinal; Color: Word; Font: Word; Text: String);

Вывод текст Text в клиент Ultima Online. Не передавая его серверу. Более функциональная альтернатива ClientPrint

ClientRequestObjectTarget

Используется перед вызовом Doc:RU/Api/ClientTargetResponse.

def ClientRequestObjectTarget() -> None

Просит целевой курсор.

See also: Doc:RU/Api/ClientTargetResponsePresent и Doc:RU/Api/ClientTargetResponse

ClientRequestTileTarget

def ClientRequestTileTarget() -> None


See also: Doc:RU/Api/ClientRequestObjectTarget, Doc:RU/Api/ClientTargetResponsePresent and Doc:RU/Api/ClientTargetResponse

ClientTargetResponse

Используется после вызова Doc:RU/Api/ClientRequestObjectTarget.

def ClientTargetResponse() -> Dictionary

Возвращает словарь, содержащий ключи ['Tile', 'X', 'Z', 'Y', 'ID'].

See also: Doc:RU/Api/ClientTargetResponsePresent

ClientTargetResponsePresent

def ClientTargetResponsePresent() -> Boolean

Возвращает False в то время как курсор находится мишенью курсор.

See also: Doc:RU/Api/ClientTargetResponse


CloakLayer

function CloakLayer() : Byte

Возвращает номер слоя 0x14 - Плащ (Cloak).

Пример 1:

if ObjAtLayer(CloakLayer) > 0 then 
  AddToSystemJournal('Cloak ID: '+IntToStr(ObjAtLayer(CloakLayer)));

Пример 2:

{Если на слое чтото есть, то снимаем}
if ObjAtLayer(CloakLayer) <> 0 then
  begin
    unequip(CloakLayer);
    wait(1000);
  end;

CloseClientGump

def CloseClientGump( ID : Integer) -> None

CloseMenu

def CloseMenu() -> None

CloseSimpleGump

procedure CloseSimpleGump(GumpIndex : Word)

Закрывает "простой" гамп с индексом GumpIndex

Закрывает спец. путем, без нажатия каких-либо кнопок на них - как это происходит в клиенте при нажатии правой кнопки мыши.

Пример:

If IsGump then
  if IsGumpCanBeClosed(GetGumpsCount-1) then
    CloseSimpleGump(GetGumpsCount-1);


ColdResist

function ColdResist() : Word

Возвращает параметр чара - сопротивление холоду (Cold Resist).

Работает только начиная с версии клиента Samurie Empire + на сервере должен быть включен режим расширенных статов,отсылаемых клиенту, иначе вернет 0.


В случае, если отсутствует соединение с UO сервером - вернет 0.

Пример 1:

if ColdResist> 0 then
begin
  ''do something, like go home, or drop, etc.
end;

Пример 2:

  AddToSystemJournal('Текущий Cold Resist: ' + IntToStr(ColdResist))

ConfirmTrade

procedure ConfirmTrade(TradeNum : Byte)


Connect

procedure Connect

Подключает текущего чара к серверу

Пример 1: {{page>:examples:connect&nofooter}}

См. также


Connected

function Connected : boolean

Статус соединения с UO сервером: True - чар подключен, False - не подключен

Пример 1: {{page>:examples:connect&nofooter}}

См. также


ConnectedTime

function ConnectedTime() : TDateTime

Возвращает параметр чара - Время последнего подключения к серверу (ConnectedTime).

возвращает время последнего удачного коннекта к серверу.

В случае, если отсутствует соединение с UO сервером - вернет '30.12.1899' без времени. в формате даты это есть эквивалент нуля.

Пример:

  AddToSystemJournal('Последнее удачное подключение было в (Last Connect Time): ' + DateTimeToStr(ConnectedTime))

ConsoleEntryReply

procedure ConsoleEntryReply(Text : String)

ConsoleEntryUnicodeReply

procedure ConsoleEntryUnicodeReply(Text : String)

Функция используется для вывода текста в консоль Клиента. Например это может быть использовано для переименования Bulk Order Book (Python):

SetContextMenuHook(book_to_rename_ID, 0)  # ставим ловушку на автовыбор "Name Book"
RequestContextMenu(book_to_rename_ID)     # вызываем контекстное меню книги
Wait(1500)                                # немного ждем на всякий случай
ConsoleEntryUnicodeReply(("New book name"+"\r")) # вводим новое название книги

Note! Не забываем "\r"- символ перевода строки в конце введенного текста.

ConvertIntegerToFlags

function ConvertIntegerToFlags(group : byte; I : LongWord) : TTileDataFlagSet

Перевод числового значения флагов в набор флагов


Count

function Count(ObjType : Word) : Word

Ищем вещи в бекпаке по типу и в результате возвращаем FindFullQuantity.


CountEx

function CountEx(ObjType,Color : Word; Container : Cardinal) : Word

Ищем вещи в контейнере (Container) по типу (ObjType) и цвету (Color). В результате возвращаем FindFullQuantity найденных вещей.


CountGround

function CountGround(ObjType : Word) : Word

Ищем вещи на земле по типу и в результате возвращаем FindFullQuantity.

PauseCurrentScript

function CurrentLine : Integer;

Возвращает номер текущей строки в скрипте.

Пример:

 if something_wrong_happens then
   AddToSystemJournal('Problem in line ' + CurrentLine.ToString);

CurrentScriptPath

function CurrentScriptPath: String;

Возвращает путь к папке, в которой находится исполняемый скрипт.

Пример:

AddToSystemJournal(CurrentScriptPath());

Результат:

22:50:48:546 [CharName]: V:\Stealth Client\Scripts\