Тема: L2PacketHack 3.5.x
Показать сообщение отдельно
Старый 21.09.2008, 23:42   #177
Местный
 
Аватар для wanick
 
Регистрация: 20.09.2008
Сообщений: 133
Сказал Спасибо: 32
Имеет 54 спасибок в 22 сообщенях
wanick пока неопределено
По умолчанию

Немогу удержатся анонсирую
Сегодня после, после нескольких часов ломания головы реализована новая функция дает возможность взаимодействия между скриптами
что как я считаю переведет програмирование в 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, ка только все проверим выложим.

ждите новинку

Последний раз редактировалось wanick, 22.09.2008 в 01:13. Причина: Добавлено сообщение
wanick вне форума   Ответить с цитированием
За это сообщение wanick нажился спасибкой от: