Немогу удержатся анонсирую
Сегодня после, после нескольких часов ломания головы реализована новая функция дает возможность взаимодействия между скриптами
что как я считаю переведет програмирование в l2phx на совершенно новый уровень
вот и новинка
delphi Код:
function CallSF(ScriptName:String;FunctionName:String;Params:array of variant):variant;
принцип такой
1. есть скрипт "inventory" - стандартный обработчик инвенторя с ним уже все знакомы
расширяем скрипт inventory - чтобы он следил за инвентарем всех подключенных клиентов
далее есть функция
delphi Код:
// cID - надо передать ConectID
function GetInv(obj,up,down, cID:integer): integer; // up и down не проверяются
var
i: integer;
begin
for i:=0 to ItemMaxCount do
if (Inventory[cID, i,up]=obj) then begin
Result:=Inventory[cID, i,down];
exit;
end;
Result:=-1;
end;
скрипт Inventory - включен постоянно (вами, галочкой около названия)
2. мы создаем новый скрипт в котором хотели бы узнать сколько у нашего чара в количестве к примеру аден ItemID =57
и получаем из второго скрипта обращаемся к скрипту Inventory
delphi Код:
AdenaItemID :=57;
AdenaCount := CallSF ('Inventory', 'GetInv', [AdenaItemID, 2, 3, ConnectIDByName('testChar')]);
результатом будет количество аден у вашего чара, если произойдет ошибка , результат будет '-1': variant
часто придется использовать щункцию
delphi Код:
function VarToStr(v: Variant): String
Перевод variant в строку
Для не расхождения версий, и для повторных тестов исходники отправил
NLObP, ка только все проверим выложим.
ждите новинку