BuyItem(Название предмета[ID=**],#;Название предмета[ID=**],#)
//Покупает за раз более одного предмета
(можно указать много предметов через точку с запятой).
SellItem(Название предмета[ID=**],#)
//Продает предмет
SellItem(Название предмета[ID=**],#;Название предмета[ID=**],#)
//Продает за раз более одного предмета
(можно указать много предметов через точку с запятой).
SellItem(*)
//Продает все предметы которые отмеченны в настройках бота как Sell.
SaveItem(Название предмета[ID=**],#)
//Помещает предмет в хранилище (Warehouse).
SaveItem(Название предмета[ID=**],#;Название предмета[ID=**],#)
//Помещает несколько предметов в хранилище (Warehouse).
SaveItem(*)
//Помещает в хранилище (Warehouse) все предметы которые отмеченны в настройках бота как Store.
LoadItem(Название предмета[ID=**],#)
//Забрать предмет из хранилища.
LoadItem(Название предмета[ID=**],#;Название предмета[ID=**],#)
//Забрать несколько предметов из хранилища.
.
NPC:
NPCSEL(Имя NPC[ID=**])
//Выбрать NPC.
NPCDLG(Имя NPC[ID=**])
//Открыть диалог с NPC.
DLGSEL(Текст)
//Выбрать пункт диалога [пример: DLGSEL(Buy)]
StrInDlg(Диалог)
{
Скрипт
}
//Проверяет присутствует ли фраза в диалоге. (например, Thank You!)
Если присутствует, то исполняется скрипт в фигурных скобках.
StrNotInDlg(Текст)
//Проверяет отсутствует ли фраза в диалоге. (например, Thank You!)
Если отсутствует, то исполняется скрипт в фигурных скобках.
Параметры персонажа:
ChangeWaitType(x)
//сменить положение
ChangeWaitType(0) // сесть.
ChangeWaitType(1) // встать.
CharStatus([CHP|CMP|HP|MP|WEIGHT|LV|SP|RACE|STAND],[>=|>|==|!=|<|<=],число)
{
Скрипт
}
CHP = Здоровье персонажа в единицах
CMP = Мана персонажа в единицах
HP = Здоровье в (%)
MP = Мана в (%)
WEIGHT = Загрузка рюкзака в (%)
LV = Уровень вашего перса
SP = SP вашего перса
RACE = проверяет рассу (human=0, Demon=1,Dark Elf=2, Elf=3, Dwarf=4)
для чего проверять рассу мне непонятно
STAND = Проверка сидишь или стоишь
CharStatus(STAND,==,0) Сидишь
CharStatus([STAND,==,1) Стоишь
Ориентация на местности:
PosInRange(x,y,z,дистанция)
{
Скрипт
}
//Проверка находится ли заданная точка в пределах досягаемости. Если да, то выполняется кусок скрипта в фигурных скобках {}.
PosOutRange(x,y,z,дистанция)
{
Скрипт
}
//Проверка находится ли заданная точка все досягаемости. Если да, то выполняется кусок скрипта в фигурных скобках {}.
SET(FIGHTSTART)
//Начать бой.
SET(FIGHTSTOP)
//Останавить бой.
GOHOME()
//если чар умер то возвратиться в ближайщий город
SAY(Сообщение)
//написать в общий чат
MSG(Текст)
//написать Текст в поле SYS
очень удобно при тестировании скрипта
================================================== =
З.Ы. ПАРУ ПРИМЕРОВ
================================================== =
Вот несколько примеров использования команд в скрипте:
скрипт на быстрый запуск СОЕ (это чтобы неискать его в рюкзаке когда там много всего )
LABEL(start) // ставим метку начала скрипта
USEITEM(Scroll of Escape[ID=736]) //использовать Scroll of Escape
MSG(СОЕ использовал) // выдаст надпись в поле SYS "СОЕ использовал"
EXIT() // выход из скрипта
скрипт на путь на место кача с последующим возвратом (ну это если помер)
LABEL(start) // начало скрипта
CharStatus(STAND,==,0) // проверка сидит перс или стоит
{
MSG(Хоре сидеть) // ну это так от себя
ChangeWaitType(1) // команда бота ВСТАТЬ
DELAY(1500) // ожидание пока бот встанет
JMP(Go) // перепригиваем на метку LABEL(Go)
}
это надо на случай если после смерти у бота было мало ХП и в настройках бота стоит содиться. Просто если бот сидит то он побежать несможет
работает так: проверяем на сидит-ли бот, если сидит то выполняем скрипт в фигурных скобках, если несидит перепрыгиваем на метку LABEL(Go)
MSG(НЕ СИЖУ!) // а это чтобы знать что скрипт сработал и бот несидел
LABEL(Go) // начало пути на место кача
MSG(Побежал) // ну и так понятно
MOVETO(x,y,z)
MOVETO(x,y,z) // может быть сколько угодно в зависимости как далеко бежим
MOVETO(x,y,z)
MSG(На место кача пришел) // ну сказать что бот на месте кача
SET(FIGHTSTART) // аналог нажатия в боте BeginCombat
LABEL(Death_Check) // ставим метку для проверки то что бот жив или уже несовсем
CHARSTATUS(CHP,<=,0) // проверка ХП
{
SET(FIGHTSTOP) // останавливем бой (аналог нажатия в боте EndCombat)
DELAY(5000) // 5-и секундная задежка, ну так чобы было
GOHOME() // вернутсья в город (аналог нажатия в игре To Nearest Village)
DELAY(10000) // задержка 10 сек для того чтобы небыло палева, просто когда играешь из клиента то пока прогрузятся текстуры и место положение то проходит некоторое время
JMP(start) // переходим на метку LABEL(start) тобиш в начало скрипта, и бот начинает опять бежать на кач
}
JMP(Death_Check) тут проверяем ХП бота, если ХП меньше нуля (а это и есть смерть) то выполняется скрипт из фигурных скобок, если бот жыв то сразу идет команда JMP(Death_Check), и опять проверка ХП, тобиш в этом месте скрипт зацикливается на проверке ХП пока бот в это вемя мочит мобов повыщая уровень