Добавлено: PartyAction SetScriptSpeed PosStr PartyRoom SAVETEXT MoveToTarget TargetID NetTimer ClearTimer PMTEXT/PMNICK CastleTax Msg теперь аналогична HistoryMsg Изменено: TargetIS LOADSCRIPT Say UseSkill2 Action(-1) - телепорт из портала QuitMentor Исправлено: LastResult2 +Возможно использование локальных переменных в параметрах команд. пример: Setval(Количество,5) Setval(ИД,1060) MSG(Количество) //Выводим значение переменной на экран MSG(Бутылок имеем: ItemCount:1060) DeleteItem(ИД,Количество) //Удаляем 5 мелких бутылок hp MSG(Бутылок стало: ItemCount:1060) Пример обмена данными между персонажами: Скрипт у 1 персонажа(в цикле): SetVal2(FAS_Tank_Name, MyName) // помещаем в глобальную переменную свой ник SetVal2(FAS_Tank_H, HP) // помещаем в глобальную переменную свое НР Скрипт у 2 персонажа, например у хилера (в цикле): ValToVal(Tank_Name, FAS_Tank_Name) // Чиитаем из переменной ник первого персонажа ValToVal(Tank_Name, FAS_Tank_HP) // Чиитаем из переменной ник первого персонажа HistoryMsg(Tank_Name) // Распечатываем значение переменной HistoryMsg(Tank_HP) // Распечатываем значение переменной GetVal(Tank_HP,<,80) { Target(Tank_Name) UseSkill2(ID) } Для автосоздания чаров из своего списка имен необходимо поместить текстовые имена в файлы File\DBName\name_eng.txt File\DBName\name_ru.txt содержимое файлов такое nick1 nick2 nick3 ..... ***************************************** Наставничество *************************************************************************************************************** MentorCount - Проверка кол-ва учеников для команды ChartStatus2 InviteMentor(Имя игрока) - Отправлять приглашение стать учеником заданному персонажу. QuitMentor(Список игроков или LVL) - Исключить заданного персонажа из списка учеников или наставников Пример: QuitMentor(85) - Исключит всех учеников, достигших 85 лвл Пример: QuitMentor(Вая|Маня|Настя) - Исключит этих учеников(если имеются) SetAcceptMentorList(Имена игроков) - Автоматически принимать приглашение стать учеником от заданных лиц, если * - от всех. ники писать через пробел или разделитель | GetVal(S, MYMENTEE1) - получить имя первого ученика ***************************************** ******************************************************************************************************************************* CastleTax(Ид города) - проверка налога. CastleTax(1) - Замок Глудио, CastleTax(2) - Замок Диона, CastleTax(3) Замок Гирана, CastleTax(4) Замок Орена, CastleTax(5) Замок Адена, CastleTax(6) Замок Иннадрила, CastleTax(7) Замок Годдарта, CastleTax(8) Замок Руны, CastleTax(9) Замок Шутгарта Execute(Путь, Параметры) - Запускать файл или программу, параметр можно не указывать InstZone: InstZone(ИД проверяемой зоны) - проверка доступности временной зоны. ИД текущей зоны можно узнать командой HistoryMsg(Info) AcceptFestival - Принятие приглашения Фестиваля Хаоса INSTANCEZONE - проверка временных.зон. Unstuck - телепорт GetBonusItem(ID, Count) - получение призового бонуса у витамин менеджера. (*) - получить все бонусы у витамин менеджера SkillCheck(Ид скила) - проверка, скил существует и доступен. EDITSET: EDITSET(Имя сета, Раздел, название параметра, значение) - Задать настройки бота из скрипта(после изменений нужен LoadConfig). Пример: EditSet(Default.ini,PARTY, szTeam_HeadRequestTeam_Name, Manka;Froska;) // впишет ники в ф-ю автоприглашения пати LoadConfig(Default.ini) PartyAction: PartyAction(State, Znak, Value, MemberList, SkillID, NoTarget, MinMP) - многофункциональная патийная ф-я. Использует умение SkillID на члена пати, если выполняются заданные условия. State: ID1|ID2|... - Ид проверяемых бафов HP - в процентах MP - в процентах CP - в процентах HP = 0 - проверка умершего чл. пати MemberList: * - для всех PETS - только петы PLAYERS - только игроки NICK1|NICK2|,... - конкретные игроки [NICK1]|[NICK2]|,... - конкретные петы(ники владельцев пета) NoTarget: 1 - без таргета. 0 - таргет. MinMP: 0..100 - минимальное кол-во МР для срабатывания Примеры: partyaction(HP, <, 50, *, Ид хила) - хил любого пати мембера, если у того НР < 50%. partyaction(HP, <, 30, PLAYERS, Ид хила, 0, 50) - хил всех игроков, если у того НР < 30%. Но при условии что наше MP >= 50%. таргет - нужен. partyaction(HP, <, 10, PETS, Ид хила, 0, 30) - хил всех петов, если НР < 10%. Но при условии что наше MP >= 30%. таргет - нужен. partyaction(HP, ==, 0, *, Ид воскрешения) - Воскрешение любого чл пати, если тот умер partyaction(11524, <, 30, VASYA|KIRILL|ALEX, 11524) - баф гармонии для конкретных игроков, если оставшееся время < 30 сек partyaction(11524, <, 30, [VASYA]|[KIRILL], 11524) - баф гармонии для петов конкретных игроков, если оставшееся время < 30 сек HEALPARTY(ID скила, минимальное НР срабатывания) - хил члена пати командой, если НР ниже указанного значения. HEALPARTYPET(ID скила, минимальное НР срабатывания) - хил пета или самона в пати командой, если НР ниже указанного значения. PartyBuffTime(Имя сопартийца, Ид бафа, Условие, время до окончания бафа) - Проверка времени до окончания бафа сопартийца в секундах PARTYPETBUFFTIME(Ид бафа, Условие, время до окончания бафа) - Проверка времени до окончания бафа на пете в пати PetBuffTime(Ид бафа, Условие, время до окончания бафа) - Проверка времени до окончания бафа пета в секундах PmSay(ник, текст) - написать пм игроку PmSay(Last, текст) - написать последнему, писавшему пм игроку Say: Say(Текст) - написать сообщение в общий чат Say(Текст, Shout) - Написать сообщение в шаут чат Say(Текст, TRADE) - Написать сообщение в трейд чат Say(Текст, PARTY) - Написать сообщение в групповой чат Say(Текст, CLAN) - Написать сообщение в клан чат Say(Текст, ALLI) - Написать сообщение в алли чат AttributeLvl: AttributeLvl(ИД вещи, Тип атрибута, условие, значение) - проверка лвл определенного атрибута в итеме. Тип атрибута: FIRE, WATER, WIND, EARTH, HOLY, UNHOLY - проверка доспехов по типу стихий. Тип атрибута: WP - проверка оружия. WHItemCount: WHItemCount(Ид,условие,кол-во) - проверка кол-ва итемов на складе (перед проверкой необходимо открыть диалоговое окно склада). Regeneration: Команда для перерождение чара. BuffTime(Ид бафа, Условие, время до окончания бафа) - Проверка времени до окончания бафа в секундах ======================================== Аукцион ================================================================================================================ MItemCount: MItemCount(xxx[ID=],Условие,Значение) - Проверка кол-ва поставленых на продажу итемов у посредника(Аукцион). (*,Условие,Значение) - Проверка сколько всего лотов стоит на продаже (максимум 10). MBuyItem: MBuyItem(Имя предмета[ID=XXX],Максимальное кол-во,Максимальная цена за 1 итем) - Покупка итемов у посредника(Аукцион). Пример: MBuyItem(Заряд Души[ID=1464],10000,20) - Если есть лот, то купит пакет соулшотов С грейда, в количестве не более 10000 по минимальной цене за итем, но не дороже 20 за шт. MBuyItem(Заряд Души[ID=1464],10000,20, 1) - Если есть лот, то купит пакет соулшотов С грейда, в количестве не более 10000 по фиксированной цене за итем(20) MSellItem: MSellItem(Имя предмета[ID=XXX],Кол-во,Цена за 1 итем) - Постановка итема посреднику на продажу(Аукцион). Пример: MSellItem(Заряд Души: Ранг С[ID=1464],10000,18) - Ставим на продажу 10000 соулшотов С грейда по 18 аден за шт, на 1 день (если нужно на 3 5 или 7, то указываем четвертым параметром). Имя итема обязательно писать точно такое же как в системе торговли, по нему будут искать итем. MCancelItem: MCancelItem(ID) - Снять с продажи указанный предмет =================================================================================================================================================================== CheckMSG(ID Список сообщений) - проверка системных сообщений чата по их ИД (Узнать можно через HistoryMsg(Info), выдаст последние 5 ИД). (ID Список сообщений, Время актуальностив секундах) - Пример использования 1: ClearMSG //Очистка старых сообщений EnterChat(/InstanceZone) //Запрос в чат Delay(1500) //Ожидаем прихода сообщения в чат CheckMSG(2229) //Проверка сообщения, ИД которого = 2229 { HistoryMsg(Все Инстзоны доступны) } Пример использования2: CheckMSG(2229,5) //Проверка сообщения, ИД которого = 2229, приходившего в течении последних 5 сек { HistoryMsg(Все Инстзоны доступны) } Target: Target(Имя/Ид/[Title] список) - выделяет в таргет ближайшего нпс по его ID/[Title] или игрока по имени (Ид мобов, Исключения) - Учитывается надпись над мобом. (Ид мобов, Исключения, Ограничение высоты) - С ограничением по высоте относительно себя. (Ид, Исключения, Ограничение высоты, 1) - Выделить чужого пета (Ид, Исключения, Ограничение высоты, 0, 1) - Выделять только живых (PET1/PET4) - Выделить своего пета Target(MYNAME) - выделить нпц с титулом как у юзера Target2: Target2(X,Y,R,Ид моба, Исключения, Ограничение высоты, Только живых) TargetBuffs(ID скила) - проверка бафа таргета Target(PartyN) - выделить члена пати по его номеру N TargetIS(NPC/PLAYER) - проверка таргет НПЦ или игрок, цель жива TargetIS(NPC/PLAYER,1) - проверка таргет НПЦ или игрок, цель мертва В качестве параметров можно указывать ID1|ID2... нпс или имена игроков !TargetIS обратная к TargetIS TargetID(ID1|ID2|....IDN) - проверка ид цели в таргете, цель жива и входит в список TargetID(ID1|ID2|....IDN, 1) - цель мертва и входит в список !TargetID - обратная к TargetID Assist(Имя) - асист UseSkill2(ИД умения) - Использовать умение. Полное описание параметров: (ИД умения, Метод использования, Ограничитель МР, Цель). примеры: (ИД умения, 1) - Принудительно(зажатый Ctrl) использовать умение (ИД умения, 2) - Использовать умение без ожидания завершения каста (ИД умения, 3) - Принудительно использовать умение без ожидания завершения каста (ИД умения, 0, 50) - Использовать скилл, если МР >= 50%. (ИД умения, 0, 0, Name) - Использовать скилл с применением таргета. Name - ник персонажа, ИД НПЦ, или PET1..PET3 (ИД специального умения, 4) - Использовать умения такого типа как "Отравляющее облако" и т п. Кастует на цель, если нет то возле себя. (ИД специального умения, 5, 0, Self) - Кастует только возле себя. Без ожидания завершения каста. Attack: Attack - атаковать того кто в таргете Attack(1) - принудительно атаковать AddPrivateBuyItem(ИД итема, кол-во, цена) - Добавить в буфер итемы на скупку PrivateBuy: PrivateBuy(Текст) - посадить на скупку PrivateBuy(Текст,кол-во слотов) - с учетом ограничения слотов (по умолчанию = 4) AddPrivateSellItem(ИД итема, кол-во, цена) - Добавить в буфер итемы на продажу PrivateBuy: PrivateSell(Текст) - посадить на продажу PrivateSell(Текст, кол-во слотов) - с учетом ограничения слотов (по умолчанию = 4) PrivateSell(Текст, кол-во слотов, 1) - продажа упаковок Attacked :Attacked - проверка прицепившехся мобов Attacked(Range) - проверка атакующих мобов в радиусе Attacked(Range,1) - проверка атакующих мобов в радиусе, проверка работает и для петов ====================================== Квесты ======================================================================================== //ИД Квестов, ИД Квестовых Итемов в инвентаре, ИД Квестовых Марок, ИД Диалогов, ИД мобов //смотреть через хоткей Ctrl + I(информация отобразится в истории МА) UseQuestion(Ид квеста) - Нажать кнопку вопроса(встречается при прохождении квеста) QuestStage: QuestStage(ИД квеста, условие, стадия квеста) - Считает степень прохождения текущего квеста. QuestMarkCount: QuestMarkCount(ИД квестовой марки, условие ,количество) - проверка количества набитых квестовых марок QuestMarkCount(ИД квестового итема, условие ,количество) - проверка количества набитых квестовых итемов в инвентаре AbortQuest: AbortQuest(ИД квеста): Отменяет принятый квест по его ИД. AbortQuest(*) : Отменяет все принятые квесты. ====================================================================================================================================================== ENCHANTATTRIBUTE(ИД предмета, ИД атрибута) - Улучшить способность предмета с помощью атрибута.Использовать с осторожностью, проверок на наличие уже установленых атрибут нет! SetAcceptPartyList(Имена игроков) - Автоматически принимать пати от заданных лиц, если * - от всех. ники писать через пробел или разделитель | SetAcceptDlgList(Имена игроков) - Автоматически принимать запросы от заданных лиц, если * - от всех. SetAcceptTradeList(Имена игроков) - Автоматически принимать трейд от заданных лиц, если * - от всех. Invite: Invite(Имя игрока) - Автоматически запрашивать в пати. Invite(*,x,y,R) - Автоматически запрашивать в пати всех игроков в заданном радиусе, если х=0 у=0 то берутся свои координаты. SetInviteText: SetInviteText(Text) - Будет кидать пати в ответ, если игроку написать в пм Text FindGroup(0) - Отключить автопоиск группы. MoveToTarget: MoveToTarget - подойти к цели MoveToTarget(300) - подойти на дистанцию 300 MoveToTarget(300, 1) - ф-я выполняется без ожидания завершения команды MoveTo2 - аналог обычного, но со сглаживанием движения при переходе от точки в точку. MoveTo2(x, y, z, d) d - дистанция плавного переключения на следующую команду (т.е не добегая расстояния d до XYZ). по умолчанию d = 70. MoveToObj:MoveToObj (Имя/Ид) - подбегает к ближайшему нпс(по ИД) или игроку(по имени) (Ид,Надпись над головой) - подбегает к ближайшему нпс с учетом его надписи над головой. (ИД,MYNAME) - надпись будет приравнена к вашему имени (Применять например при хотьбе за Ищейкой(квест)). (ИД,MYNAME,Z) - с учетом высоты AddBuyItem(ИД,Количество) - Добавить итемы в буфер для покупки BuyItemShop(Adena) - Купить итемы в магазине, в параметрах можно указать необходимый остаток по адене. AddSellItem(ИД,Количество) - Добавить итемы в буфер для продажи AddSellItem2(ИД,Остаток) - Добавить итемы в буфер с учетом остатка SellItemShop : SellItemShop - Продать итемы из буфера в магазин SellItemShop(Имя конфига) - загрузит список итемов в буфер на продажу из конфига чара и выполнит продажу. SellItemShop2(ИД1|ИД2...) - продать все итемы, кроме указанных PartyStatus : PartyStatus(Имя сопартийца,Статус,условие,значение) Статус: Race,Class,Sex,CCP,CP,CHP,HP,CMP,MP,Lv,PetCount MakeChar:MakeChar(Race,Class,Sex) - Сделать нового персонажа и войти им. если вместо параметра стоит RND, то MakeChar(RND, RND, RND) - Сделать рандомного персонажа. Restart: Restart - Выход в меню выбора персонажа и возврат в игру на активного чара. Restart(пауза) - Выход в меню выбора персонажа и возврат в игру через указанный промежуток времени(миллисекунды). Restart(Пауза, Slot) - Выход в меню выбора персонажа и вход на указанный слот. Slot - номер игрока в списке (1..7). Logout: Logout(X) - Выйти на панель выбора персонажа и войти через X секунд Disconnect: Disconnect(sec) - Прервать связь, sec - задержка в секундах до повторного входа(если включен авторелогин) InFight - проверка акканута в бою. SetRandomMoveTo(dx,dy) - задает погрешность координатам х y при выполнении команды MoveTo(x,y,z). пример: SetRandomMoveTo(10,10). по умолчанию стоит SetRandomMoveTo(5,5) STRINDLG2 - аналог валкеровской STRNOTINDLG2 - аналог валкеровской ClientOffline: проверка на дисконенкт MonCount: MonCount(нпс ид лист, радиус, условие, количество) - Проверка количества мобов в радиусе. Если нпс ид лист = *, то он не учитывается. (нпс ид лист, радиус, условие, количество, Z range) - Проверка количества мобов в радиусе, с учетом высоты MonInRange: MonInRange(нпс ид лист, x ,y, радиус, ограничение высоты, условие, количество) - Проверка количества мобов в точке с радиусом, если х=0,у=0 то считать будет от своих координат. ManagerName(Имя) - проверка имени аккаунта. если Имя входит в его название в менеджере то условие сработает. Так же есть обратная команда !ManagerName. ServerName(Имя) - Проверка сервера аккаунта. Имя сервера должно быть как в менеджере аккаунтов. !ServerName - обратная команда. SETSERVER: - SETSERVER(Имя сервера) - установить сервер в МА. (Номер в списке) - Установка сервера по порядковому номеру (NEXT) - установка следующего сервера по списку Pickup: Полное описание: Pickup(Радиус, фильтр, Подбирать весь дроп, ограничение по Z). По умолчанию дроп собирается только свой или пати, Z лимит = 500 (Радиус) - поднимает все итемы в заданном радиусе, дроп других игроков игнорируется (Радиус,ИтемИД|ИтемИД2|...|ИтемИДN) - поднимает конкретные итемы в заданном радиусе, дроп других игроков игнорируется (Радиус,ИтемИД|ИтемИД2|...|ИтемИДN,1) - поднимает конкретные итемы в заданном радиусе, дроп других подбирается (Радиус,,1)- поднимает все итемы в заданном радиусе Pickup2: Pickup2(x, y, Радиус, фильтр, Подбирать весь дроп, ограничение по Z) поднимает все итемы относительно точки, дроп других игроков игнорируется. Все остальное аналогично Pickup GameWindow: GameWindow(параметры), в качестве параметров могут быть: Show:развернуть окно Hide:свернуть окно Flash:мигать окном, заданное время, время указывается в секундах вторым параметром IcqMsg:IcqMsg(UIN,Текст сообщения). Посылка icq сообщений на указанный номер. Icq в менеджере должна быть онлайн. HistoryMsg:HistoryMsg(Текст сообщения) - посылка информационного сообщения в менеджер аккаунтов. HistoryMSG(ITEMCOUNT:ID) - отобразить количество итемов. пример HistoryMSG(Аден:ITEMCOUNT:57) HistoryMSG(Info) - отобразить ИД Квестов, ИД Квестовых Итемов в инвентаре, ИД Квестовых Марок, ИД Диалогов, ИД мобов MSG: MSG(сообщение) - послать сообщение себе в чат. Например комментарии в скриптах. MSG(ITEMCOUNT:ID) - отобразить количество итемов. пример MSG(Аден:ITEMCOUNT:57) Action: Action(Идентификатор действия): Выполнить действие. Нужный идентификатор можно посомтреть в ActionId.txt (Идентификатор действия, 1): Выполнить действие с зажатым Ctrl Action(-1) - Использовать прыжковый телепорт (Рамуны) DispelSkill: DispelSkill(Ид скила) - отменяет эффект скила на персонаже. DropItem : DropItem(ИтемИД,Количество) - выбрасывает на землю итемы (ИтемИД,RND,левая граница, правая граница) - выбрасывает на землю рандомное число итемов в заданном диапазоне значений. пример: DropItem(Itemid,Rnd,3,10) CONFIRMDLG: - подтверждение диалога(например при воскрешении) Enchant(Ид предмета,Ид заточки, требуемый уровень) - Точит все предметы с указанным ид в инвентаре до указанного уровня. ====================================================== Переменные ================================================================================= ClearVal: сброс всех переменных ClearTimer: сброс всех таймеров SetVal: SetVal(Имя переменной,значение) - Инициализирует переменную и присваивает ей значение SetVal(Имя переменной,значение,Inc) - Увеличить переменную на заданное значение SetVal(Имя переменной,значение,Dec) - Уменьшить переменную на заданное значение SetVal(Имя переменной,значение,DIV) - Деление SetVal(Имя переменной,значение,MUL) - Умножение SetVal(Имя переменной,Rnd,граница1,граница2) - задать рандомное значение переменной SetVal(Имя переменной,Любые статы персонажа из Charstatus2 например НР) SetVal(Имя переменной,FILENAME_Имя_файла_с_именами) - задать переменной рандомное значение из списка имен, файл должен лежать в папке File SetVal - поддерживает строковые значения пример: SetVal(s,Вася) Invite(s) - пригласит Васю в пати GetVal: GetVal(Имя переменной,условие,значение) - проверить значение переменной Условие: >=, >, ==, !=, <, <= SetVal2: - внешняя переменная, значение сохраняется после рестарта окна. Для каждого аккаунта назначается своя переменная. SetVal2(FA_Имя, значение) - глобальнвя переменная для всех персонажей в пределах ПК SetVal2(FAS_Имя, значение) - глобальнвя переменная для всех персонажей в пределах текущего сервера GetVal2: получает знчеиня внешних переменных, описание как и у GetVal. ClearVal(2) - Очистка внешних переменных GetTimer: GetTimer(Имя переменной для хранения время, условие, значение) - Таймер. Применение: в различных целях. Например если нужно выполнять какое то действие или проверку с определенным интервалом, не останавливая при этом скрипт (командой Delay) Если условие: >= - независимо от интервала первый вызов таймера будет попадать в скобки. > - будет попадать в скобки после истечения заданного интервала пример: label(start) GETTIMER(T1,>,10000) { Say(Вывод сообщения раз в 10 сек) } GETTIMER(T2,>,5000) { Say(Вывод сообщения раз в 5 сек) } jmp(start) NetInit(Имя) - задать имя каталога в котором будут хранится все переменные на сервере. имя желательно делать уникальным, что бы не совпал с другими пользователями. команду достаточно вызвать 1 раз в начале скрипта. NetSetVal(Имя переменной, значение) - Параметры те же самые, что и у обычной команды NetGetVal(Имя переменной, условие, значение) - Параметры те же самые, что и у обычной команды NetValToVal(простая переменная, сетевая переменная) - присвоить обычной переменной значение сетевой NetTimer - По использованию аналогичен GetTimer NetSetVal(Имя таймера, 0, TMR) - сбросить таймер (изначальное состояние) NetSetVal(Имя таймера, 1, TMR) - установить таймер (время срабатывания увеличится на проверяемый интервал) пример: NetInit(GSO25G17Q4D) NetSetVal(test, 1) NetValToVal(x, test) HistoryMsg(x) пример2: NetInit(GSO25G17Q4D) NetTimer(NTLoca1, >=, 300000) // на локации 1 никого нет { //маршрут на локацию и кач //в основном цикле боя, пока на фарме, обновляем таймер, что бы другие окна не заняли его NetSetVal(NTLoca1, 1, TMR) } ==================================================================================================================================================== NewTarget: NewTarget - условие срабатывает при смене цели(моба) NewTarget(ИдМоба1|ИдМоба2|....) - условие срабатывает только на перечисленных мобах { } DlgSel2: DlgSel2(имя диалога) - аналог валкеровской DlgSel, DlgSel2(порядковый номер) - выбор диалога по порядковому номеру в списке, начало с 1го, сверху списка. Порядковый номер или номер телепортов можно посомтреть с помощью Ctrl+I (должна быть включена опция). RandomDelay: RandomDelay(Msec) - рандомная задержка выполнения скрипта. RandomDelay(min,max): рандомная задержка выполнения скрипта в диапазоне min..max, в миллисекундах. AutoDlvl: AutoDlvl(1) - включить в меню бота ф-ю автоатаки нпс AutoDlvl(0) - отключить CharStatus2 - Отображает состояние персонажа: CP, CCP - CP персонажа HP, CHP - HP персонажа MP, CMP - MP персонажа LV - Уровень персонажа SP - SP персонажа EXP - Количество опыта. Таблица опыта http://www.imperium-la2.ru/forum/index.php?showtopic=3341 или http://www.la2exchange.ru/tableexp EXP2 - Количество опыта в процентах INV - Количество итемов в инвентаре Class - начальная профессия персонажа CClass - текущая профессия персонажа WEIGHT - Вес инвентаря INV - Кол-во итемов в инвентаре RACE - Расса персонажа Trade - узнать состояние персонажа 1 - стоит 2 - продает 3 - открыта лавка продажи 4 - скупает 5- открыта лавка скупки PM - проверка времени прихода последнего пм сообщения в минутах PA - проверка ПА. 1- есть. 0 - нет. PK - проверка кармы <0 значит мы ПК, >0 - зеленый ник. PVP - проверка пвп флага, 1 - мы в пвп, ник розовый. AGATHIONID - проверка агатиона. 0 - нет. если есть, результат = ИД агатиона. CHARSLOT - Позиция персонажа в панеле выбора чара CHARCOUNT - Кол-во персонажей на аккаунте PETCOUNT - Кол-во призваных петов ALIVE - 1 - Чар жив, 0 - умер. {0|1} DEATHTIME - Сколько времени в мс. прошло с момента смерти чара. 0 - чар жив. EXPTIME - Время с момента получения последнего EXP в секундах. MEMBERCOUNT- Кол-во игроков в пати MEMBERDEADCOUNT - Кол-во погибших игроков в пати LEADER - Проверка лидер пати POSX,POSY,POSZ - проверка своих кординат TRANSFORMATIONID - Проверка трансформации PosX - Позиция по Х PosY - Позиция по Y PosZ - Позиция по Z Moved - Статус движения чара {0|1} WindowTime - Время жизни окна в секундах PMTEXT - Сравнивает заданый текст с последним пм, если совпало то выполнит скобки 1 раз и поместит в переменную PMNICK ник персонажа, который прислал пм сообщение Clan - Проверка клана. 1 - клан существует. 0 - нет. BADFISH - Количество неудачных попыток рыбалки FISHING - 0 - Рыбалка завершена. 1 - Ожидание поклева. 2 - Подсекать. 3 - Тянуть. FISHHP - HP рыбы FISHTIME - Время NpcInRange: Npc{In,Out}Range(Список искомых NPC ID|[Title], Range, исключениия ID|[Title]|PVPONLY|PKONLY|NOPARTY, Zlimit, Live = 1) - Проверка нпс в радиусе NpcInRange2: Npc{In,Out}Range2(X, Y, Список искомых NPC ID|[Title], Range, исключениия ID|[Title]|PVPONLY|PKONLY|NOPARTY, Zlimit, Live = 1) - Проверка нпс в радиусе в конкретной точке LastResult - В переменную помещается ид найденного нпц LastResult2 - Количествой найденныйх нпц NpcInPoly: NpcInPoly(X, Y, Список искомых NPC ID|[Title], Range, исключениия ID|[Title]|PVPONLY|PKONLY|NOPARTY, Zlimit, Live = 1) - Проверка нпс в полигоне PlayerInRange:Полное описание: Player{In,Out}Range(Имя игрока(или список через|), радиус, фильтр, Z ограничение, Только живых = 1) - Проверка игрока в радиусе PlayerInRange(*, радиус) - Проверка ближайшего игрока в радиусе PlayerInRange(*, радиус, игрок1|игрок2|...) - Проверка ближайшего игрока в радиусе. игрок1,иигрок2... игнорируются. PlayerInRange(*, радиус, PVPONLY|PKONLY|игрок1|игрок2|...) - находит только PVP и PK игроков, игрок1|игрок2 игнорируются тоже. PlayerInRange(*, радиус, Кого пропускать, Z limit) - Проверка ближайшего игрока в радиусе, с учетом высоты. LastResult - В переменную помещается ник найденного игрока LastResult2 - Количествой найденныйх игроков PlayerInRange2:PlayerInRange2(X,Y,Z,*,Радиус,Кого пропускать,Ограничение высоты) - Проверка игрока в радиусе в конкретной точке(если кординаты = 0, то ищет относительно своих). Распечатывает найденых игроков. PlyerInRange2(....высоты, 1) - искать только живых Константы фильтра: PVPONLY - Искать Пвп PKONLY - Искать ПК NOPARTY - Исключать свое пати PlayerInPoly:PlayerInPoly(X,Y,Z,*,Радиус,Кого пропускать,Ограничение высоты) - Проверка игрока в многоугольнике(задается точками POLYPOINTS). Распечатывает найденых игроков. X,Y,Z можно сделать нулевыми(т.е свои). Относительно этих нее будет считаться огр. высоты. PlayerInPoly(Self) - проверка себя в многоугольнике POLYPOINTS: POLYPOINTS(x,y) - Задать точку многоугольника POLYPOINTS(Clear) - Очистить точки EquipItem: EquipItem(Ид вещи/краски, Equip) (командой возможно нанесение тату, указав ид краски) Equip=1: Одеть вещь Equip=0: Снять вещь IsEquipped: IsEquipped(ИтемИд) - Проверка итема, вещь на персонаже или питомце. !IsEquipped:!IsEquipped(ИтемИд) - Проверка итема, вещь не на персонаже или питомце. AddTradeItem: Составление списка итемов для команды RequestTrade. Список достаточно составить 1 раз AddTradeItem(Итемид) - будут передаваться все итемы AddTradeItem(ИтемИД,Остаток) - передаем с учетом остатка AddTradeItem(Итемид,Остаток,количество) - передаем с учетом остатка и количества. AddTradeItem(Clear) - очистка буфера RequestTrade: RequestTrade(Ник игрока) - Запрашиваем трейд и передаем список итемов игроку. У второго игрока должен быть включен автоприем трейда. Если список большой, то увеличить задержку автоприема в L2Walker Команды взаимодействия окон(Актуально в пределах 1 ПК!): SetEvent: SetEvent(Имя события) - создает именнованое событие, проверить можно командой CheckEvent. CheckEvent: CheckEvent(Имя события) - проверяем событие. Этой же коммандой можно проверить некоторые игровые события. в качестве параметра могут быть { (EntryWorld) - проверка входа в игровой мир (например после релогина) } (Teleport) - проверка телепортировался ли наш персонаж ========================================== Почта ======================================================================================================================================================================================================= ClearMail: ClearMail(макс число за раз) - очистка принятых прочитаных писем. MaxCount - максимальное кол-во очищаемых писем за раз, по умолчанию 10шт. CancelMail: CancelMail(макс число за раз) - отмена отправленых писем (макс число за раз, Name) - отмена отправленых писем определенному адресату AddMailItem: AddMailItem(ИтемИД1,Количество итемов) - Добавляем в список итемы .. AddMailItem(ИтемИД8,Количество итемов) AddMailItem2:AddMailItem2(ИтемИД1,Остаток итемов) - Добавляем в список все итемы, кроме указанного остатка .. AddMailItem2(ИтемИД8,Остаток итемов) SendMailItem:SendMailItem(Ник игрока) - Отправка списка итемов игроку (перед вызовом команды создать список итемов командой AddMailItem или AddMailItem2) SendMailItem(Ник игрока, Название темы) - Задать свое название темы (например для безопасной сделки) SendMailItem(Ник игрока, Название темы, Сумма безопасной сделки) - Для безопасной сделки указать сумму в третьем параметре GetMailItem: GetMailItem - Получение всех почтовых итемов. GetMailItem(макс количество) - получение итемов с ограничением по количеству. GetMailItem(макс количество, макс загрузка инвентаря в процентах) - с учетом загрузки инвентаря (0-100) GetMailItem(макс количество, макс загрузка инвентаря в процентах, тема письма отправителя) MSCount(ник, знак, кол-во) - подсчет отправленных писем на указаннй ник. ========================================================================================================================================================== ============================================= Дата ============================================================================================================= DayInRange,: Day{In,Out}Range(д,д) - проверка дня недели д: 1 - понедельник, 2- вторник,..., 7- воскресенье пример: DayInRange(2,4) { //вт-чт } TimeInRange: Time{In,Out}Range(ч:м:с,ч:м:с) - Согласование времени. пример: TimeInRange(12:00:00,19:00:00) { } DateInRange: Date{In,Out}Range(д.м.г,д.м.г) - Согласование даты пример: DateInRange(01.10.2010,02.11.2010) { } ========================================================================================================================================================== PlaySound: PlaySound(имя файла.wav) - Проиграть звук в скрипте. файл должен лежать в папке "snd". Пример: PlaySound(Good.wav) TargetMyPet: - Выделить своего пета PetCallBack: - Отозвать своего пета EnterChat: EnterChat(/комманда) - Использование игрового чата Команда ввода в игровой чат PetStatus: PetStatus(PET1..PET4,Параметр,Условие,Значение) - Условное выражение для определения параметров питомца PET1,PET2,PET3,PET4 - Пет, статус которого проверяем Параметр: CHP - Текущее значение HP CMP - Текущее значение HP CFD - Текущее значение еды HP - HP в процентах MP - MP в процентах FD - Значение еды в процентах LV - Уровень пета WEIGHT - Загрузка инвентаря в процентах NPCID - Ид пета TYPE - Тип пета: 1- саммон, 2 - пет COUNT - Проверка кол-ва призваных петов Условие: >=, >, ==, !=, <, <= PetItemCount: PetItemCount(ИтемИД,Условие,Значение) ИтемИД: Ид предмета в инвентаре питомца Условие: >=, >, ==, !=, <, <= GetItemPet: GetItemPet(ИтемИД,Количество) - Забирает у пета итемы GiveItemPet: GiveItemPet(ИтемИД,Количество) - Передает пету итемы PetUseItem: PetUseItem(ИтемИД) - Использовать итем пета UseItem2: UseItem2(ИтемИД) - Использовать итем PetForceAttack: PetForceAttack - Атаковать петом TargetPlayer: TargetPlayer(Ник игрока) - Выделить игрока (Self) - Выделить себя // полное описание: TargetPlayer(Ник игрока, R, Filter, Alive, InPoly) Alive, InPoly принимают значение 1 или 0 AttackPlayer: AttackPlayer(Ник игрока) - Атака игрока. ProtectTP: ProtectTP(Режим,Интервал в сек) Комманда детекта телепортов. Использовать по месту прибытия на спот. Отключать при телепортах. Режимы: DC(дисконнектить на заданный интервал, релогин сработает если включена ф-я в программе), DS(откл.бота на заданный интервал), EX(отключение окна на заданный интервал, для перезапуска контроль в менеджере должен работать) False(отключение детектора) ProtectMB: ProtectTP(Режим,Интервал в сек) - Детектор телепортов мобов, Режимы такие же как и в ProtectTP EndTrade: Снять с трейда торговца BuyItemPlayer: BuyItemPlayer(ID итема,Имя игрока,количество) - Покупка у игрока трейдера предметов. (*,Имя игрока,*) - купить все итемы у игрока SellItemPlayer: SelltemPlayer(ID итема,Имя игрока,количество) - Продажа игроку трейдеру предметов (*,Имя игрока,*) - продать все итемы игроку, которые есть у вас в инвентаре и которые скупаются игроком (ID,Имя игрока,*,остаток) - продать итем игроку, с учетом остатка MultiSell: MultiSell(ID предмета, количество) - Обмен купонов на теневые итемы, применим так же в люксоре, рыбной лавке.. (Порядковфый номер в списке, количество) - Обмен на итемы по номеру в списке * вместо количества - обмен на все имеющиеся предметы AutoSoulshot: AutoSoulshot(D-S,TRUE-FALSE) - Более безопасное включение сосок (ID,TRUE-FALSE) - включение по ид SS CrystalItem: CrystalItem(ID итема,количество) - Кристализация итемов (ID итема,*) - кристализовать все указанные итемы (*) - кристализовать все итемы в инвентаре DeleteItem: DeleteItem(ID итема,количество) - Удалить итем в инвентаре. (ID итема,*) - удалить все указанные итемы (*) - удалить все итемы в инвентаре LoadScript: LoadScript(имя.SEC) - Перезагрузка скрипта Если вызвать без параметров, перезапустит текущий скрипт UseKey: UseKey(Key) - Нажать клавишу. Key=F1,F2..,F12 LearnSkill : LearnSkill(ID скила) - Изучить умение ID LearnSkill(*) - Изучить все умения LearnSkill2 : LearnSkill2(ID скила) - Изучить умение(для NPC) LearnSkill2(ID скила, MsxLvl) - Изучить умение(для NPC), MsxLvl - максимальный уровень скила. SaveAndReplace: SaveAndReplace(Sec) - сохранит аккаунт в файл 'AutoReplace.txt', заменит на новый (возьмет из списка автозамены) и перезапустит его StopAccount: StopAccount(sec) - отключение окна в менеджере аккаунтов на заданный интервал StopAccount(H:M) - отключение окна в менеджере аккаунтов до заданного времени StopAccount - отключение окна в менеджере (равносильна ExitProcess только без перезапуска) StopAccount(MAName) - отключение одного или нескольких окон в менеджере по имени MAName(или вхождению), в пределах текущего сервера. StopAccount(MAName, sec) - отключение одного или нескольких окон в менеджере по имени MAName(или вхождению), в пределах текущего сервера на заданный интервал sec. StartAccount(MAName, sec) - Запуск аккаунта с именем в менеджере MAName(или вхождением). sec - пауза перед запуском. StartAccount(NEXT) - запуск следующего аккаунта в пределах сервера StartAccount(NEXTALL) - запуск следующего аккаунта StartAccount(NEXTLOOP) - запуск следующего аккаунта, в пределах сервера, по кругу в списке StartAccount(NEXTLOOPALL) - запуск следующего аккаунта, по кругу в списке (здесь можно задать вторым параметром паузу до запуска) StartAccount(NEXTNEW) - запуск следующего нового аккаунта в пределах сервера StartAccount(NEXTNEWALL) - запуск следующего нового аккаунта MarkAccount(1) - Отметить аккаунт в менеджере аккаунтов. 0 - снять отметку. AccountOnline(Index,==,1) - Узнаем работает ли аккаунт в МА. Index - порядковый номер аккаунта в МА. { } ExitProcess: Закрыть окно SetStoreMsg: SetStoreMsg(ИД, Кол-во, Текст надписи) - посадить на продажу итема. ItemCount2: Аналог ItemCount2, но с корректным подсчетом нестопковых предметов. LoadConfig(Имя) - загрузка настроек для бота. SAVETEXT: SAVETEXT(текст) - сохраняет текст в файл \File\ScriptLog.txt SAVETEXT(text1, text2, text3) - сохранит text1..text3 через таб SAVETEXT(Time, text1, text2, text3) - сохранит и укажет время записи SAVETEXT(Clear) - очистка PartyRoom: PartyRoom(Title, MaxMember, MinLvl, MaxLvl) - Создать объявление в поиске пати SetIP(IP Port User Pass) - смена ип SaveAndReplace - сохранит аккаунт в текстовом файле и заменит на новый из списка автозамены PosStr(Str1,Str2,Условие,Значение) Пример: PosStr(123,FHKF123,==,5) { MSG(подстрока 123 содержится в строке FHKF123KJJD, начиная с 5 символа) } SetScriptSpeed: SetScriptSpeed(Delay, DisableDebugString) - Задает скорость обработки команд в скрипте. Delay - Значение: 0..127. по умолчанию равен 50мс. Пауза после каждой обработанной строки в скрипте. DisableDebugString - Значение: 1 - запрещает выводить отладочную строку(отображение исполняемой строки в скрипте). 0 - Возвращает в первоначальное состояние. Рекоммендуется использовать когда Delay менее 50мс, будет меньше нагрузка на ЦП. Delay = 100+ мс можно использовать например когда идет отладка скрипта. Delay < 50 мс можно использовать когда важна скорость обработки комманд, например в пвп(значение желательно делать не менее 5-10мс). Этот режим нужно использовать с осторожностью, особенно если Delay равен 0 (в циклах без паузы возрастет нагрузка на ЦП). ///////////////////////// Работа с кланом //////////////////////////////////////////////////////////////////////////////////////////// MakeClan: MakeClan(Name) - создание клана с именем Name ClanInvite: ClanInvite(Name) - приглашает в клан персонажа с именем Name SetAcceptClanList: SetAcceptClanList(Имена игроков) - Автоматически принимать запрос на вступление в клан от заданных лиц, если * - от всех. CharStatus2(Clan,==,1) - Проверка существования клана //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////