нашел это в интернети но сам не смог сделать)может у когото получется 1часть: В соответствии с п. 3.1. Правил сервера администрация предоставляет в пользование игроков официальный торговый бот сервера, предназначенный для торговли и крафта. Напомним, что говорится в данном пункте Правил: «…Исключение из данного пункта Правил составляет использование специального бота для торговли и крафта, распространяемого Администрацией сервера…».
Скачать торгового бота можно здесь: http://www.l2server.ru/files/Tradebot.exe
Чтобы прописать IP вашего сервера зайдите в файл конфигурации bot в корневой папке с ботом и пропишите в строке Host="…" адрес вашего сервера. Для сервера х10-2 – это 83.222.15.85. Для сервера х10-1 – 83.222.15.114. Порт оставьте без изменения.
У представленного бота две функции:
Торговля
Крафт
Вход (логин) на сервер:
Откройте вкладку Servers в меню слева. Выберите l2server правой кнопкой мыши и нажмите NewAccount. После чего введите логин и пароль к вашему игровому аккаунту. Ждите, пока не появится содержимое в правой части окна. После этого вверху нажмите Login, выберите сервер и персонажа. Кроме того, логин и пароль можно ввести в файле конфигурации (bot).
Торговля:
Чтобы начать торговлю, зайдите персонажем через клиент и приведите его в нужное место. Войдите ботом. С помощью левой кнопки мыши перетащите из вкладки «Инвентарь» предмет, который вы хотите продать в окошко «Продажа». Так можно переместить несколько предметов. Затем выделите только что перетащенный предмет левой кнопкой мыши и одинарным щелчком кликните по цифре в столбце количество и введите число продаваемых предметов, аналогично установите и цену на предмет. В текстовое поле над списком введите сообщение для вашего магазина (private store) и соответственно жмите «Продавать» или «Покупать».
Крафт:
Пример скрипта (крафт Soulshot: C-grade):
Code
var
ItemCount:cardinal;
begin
while true do
begin
CraftOnce('Soulshot: C-grade');
Delay(2000);
ItemCount:=GetAmount('Soulshot: C-grade');
if ItemCount>=9000 then
begin
NPCTalk('Taurin');
Delay(2000);
DepositItemPrivate('Soulshot: C-grade',ItemCount);
end;
ItemCount:=GetAmount('Soul Ore');
if ItemCount<1000 then
begin
NPCTalk('Taurin');
Delay(2000);
GetItemPrivate('Soul Ore',1000);
end;
end;
end.
Добавлено (11.02.2011, 20:34)
---------------------------------------------
2 часть: Скрипты загружаются через вкладку Script, кнопку Load.
В боте присутствует также книга рецептов, меню производства, основные чаты
Синтаксис PascalScript:
Program -> [PROGRAM Ident ';']
[UsesClause]
Block '.'
UsesClause -> USES (String/,)... ';'
Block -> [DeclSection]...
CompoundStmt
DeclSection -> ConstSection
-> VarSection
-> ProcedureDeclSection
ConstSection -> CONST (ConstantDecl)...
ConstantDecl -> Ident '=' Expression ';'
VarSection -> VAR (VarList ';')...
VarList -> Ident/','... ':' TypeIdent [InitValue]
TypeIdent -> Ident
-> Array
Array -> ARRAY '[' ArrayDim/','... ']' OF Ident
ArrayDim -> Expression..Expression
-> Expression
InitValue -> '=' Expression
Expression -> SimpleExpression [RelOp SimpleExpression]...
SimpleExpression -> ['-'] Term [AddOp Term]...
Term -> Factor [MulOp Factor]...
Factor -> Designator
-> UnsignedNumber
-> String
-> '(' Expression ')'
-> NOT Factor
-> '[' SetConstructor ']'
SetConstructor -> SetNode/','...
SetNode -> Expression ['..' Expression]
RelOp -> '>'
-> '<'
-> '<='
-> '>='
-> '<>'
-> '='
-> IN
-> IS
AddOp -> '+'
-> '-'
-> OR
-> XOR
MulOp -> '*'
-> '/'
-> DIV
-> MOD
-> AND
-> SHL
-> SHR
Designator -> ['@'] Ident ['.' Ident | '[' ExprList ']' | '(' ExprList ')']...
ExprList -> Expression/','...
Statement -> [SimpleStatement | StructStmt]
StmtList -> Statement/';'...
SimpleStatement -> Designator
-> Designator ':=' Expression
-> BREAK | CONTINUE | EXIT
StructStmt -> CompoundStmt
-> ConditionalStmt
-> LoopStmt
-> TryStmt
-> WithStmt
CompoundStmt -> BEGIN StmtList END
ConditionalStmt -> IfStmt
-> CaseStmt
IfStmt -> IF Expression THEN Statement [ELSE Statement]
CaseStmt -> CASE Expression OF CaseSelector/';'... [ELSE Statement] [';'] END
CaseSelector -> SetConstructor ':' Statement
LoopStmt -> RepeatStmt
-> WhileStmt
-> ForStmt
RepeatStmt -> REPEAT StmtList UNTIL Expression
WhileStmt -> WHILE Expression DO Statement
ForStmt -> FOR Ident ':=' Expression ToDownto Expression DO Statement
ToDownto -> (TO | DOWNTO)
TryStmt -> TRY StmtList (FINALLY | EXCEPT) StmtList END
WithStmt -> WITH (Designator/,..) DO Statement
ProcedureDeclSection -> ProcedureDecl
-> FunctionDecl
ProcedureDecl -> ProcedureHeading ';'
Block ';'
ProcedureHeading -> PROCEDURE Ident [FormalParameters]
FunctionDecl -> FunctionHeading ';'
Block ';'
FunctionHeading -> FUNCTION Ident [FormalParameters] ':' Ident
FormalParameters -> '(' FormalParam/';'... ')'
FormalParm -> [VAR | CONST] VarList
Структура скрипта
Структура PascalScript почти такая же, как и у Object Pascal:
#language PascalScript // опционально
program MyProgram; // опционально
uses 'unit1.pas', 'unit2.pas';
// раздел uses должен быть перед любыми другими разделами
// v1.2 changes: Внимание! Теперь подключаемые модули НЕ вставляются в текст главного модуля.
// Таким образом, они могут иметь секции 'program', 'uses' и должны иметь секцию 'main procedure'.
var // раздел var
i, j: Integer;
const // раздел const
pi = 3.14159;
procedure p1; // процедуры и функции
var
i: Integer;
procedure p2; // вложенная процедура
begin
end;
begin
end;
begin // главный исполняемый модуль.
end.
Типы данных
FastScript работает с типом Variant и основан на нём. Тем не менее, вы можете использовать следующие предопределённые типы в ваших скриптах:
Byte | целочисленные
Word |
Integer |
Longint |
Cardinal |
TColor |
Boolean | логический
Real | расширенный (с плавающей запятой)
Single |
Double |
Extended |
Currency |
TDate |
TTime |
TDateTime |
Char | символьный
String | строковый
Variant | Variant (вариантный тип)
Pointer |
Array | массив