PDA

Просмотр полной версии : Скрипт на заточку [Gracia]


HeoH
26.02.2009, 16:04
Здраствуйте, у меня возникла тут небольшая проблема, сделал скрипт для заточки, и он все правильно, начинает точить, но не останавливается, когда нужно, подскажите что делать.

const
Name='MyNick';
var
timer:TTimer;
procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=200;
timer.OnTimer:=@fireTimer;
timer.enabled:=false;
end;
procedure Free;
begin
timer.Free;
end;
procedure fireTimer(Sender: TObject);
begin
buf:=hstr('0C 27 10 07 10 00 00 00 00'); - пакет на выбор самой точки
SendToServer;
buf:=hstr('43 4F 00 6D DC 2E 10'); - пакет, собственно, для самой точки
SendToServer;
end;
begin

if pck='' then exit;

if FromClient and (ConnectName=Name) and (pck=HStr('5A 06 00 00 00')) then begin - Социалка "ДА" для начала скрипта.

timer.enabled:=true;
end;

if FromClient and (ConnectName=Name) and (pck=HStr('5A 05 00 00 00')) then begin - Социалка "Нет" для его завершения.

timer.enabled:=false;
end;
if FromClient and (ConnectName=Name) and (pck = HStr('87 07 00 00 00 00 00 00 00 00 00 00 00')) then begin - а ето вот тот пакет, который приходит, когда точится на7, ну так вот он приходит, а скрипт почему то не офф.
timer.enabled:=false;

end;
end.

PS: Пользуюся l2pbx 3.4.1.83

QaK
26.02.2009, 16:17
а ето вот тот пакет, который приходит, когда точится на7откуда приходит: от клиента или сервера? и вообще лучше уровень заточки проверять через инвентарь ...

Добавлено через 45 секунд
в смысле - мониторить изменения параметров конкретной вещи, если атрибут EnchantValue станет равным 7 у конкретной весчи - тогда прекратить скрипт.

HeoH
26.02.2009, 17:32
откуда приходит: от клиента или сервера? и вообще лучше уровень заточки проверять через инвентарь ...

Добавлено через 45 секунд
в смысле - мониторить изменения параметров конкретной вещи, если атрибут EnchantValue станет равным 7 у конкретной весчи - тогда прекратить скрипт.

Извени, я в этом не очень разбираюся, немог бы ты поподробнее написать? Зараннее спасибо.:D

QaK
26.02.2009, 19:07
, сделал скрипт для заточки,сам делал?

HeoH
26.02.2009, 23:48
сам делал?
Тут в Теме нашел одной, тока заполнил его.

QaK
27.02.2009, 08:19
HeoH, запомнил и сделал - 2 разные вещи. Посмотри файлик PacketsT1.ini - там формат пакетов описан. А вообще - какие у тебя знания по темам: скриптописание для ПНХ, что такое пакет, принцип работы ПНХ, основы PASCAL'я.

YssurTiger
07.03.2009, 05:19
const
Name='DeskJet'; //без этого не останавливал timer.enabled:=false;

var
timer:TTimer;

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=1000;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
buf:=hstr('0C 63 01 09 10 00 00 00 00 '); //пакет открытия заточки
SendToServer;
buf:=hstr('43 4F 00 2F C4 18 10 '); //пакет оружия
SendToServer;
end;

begin
if FromServer and (ConnectName=Name) and (pck = HStr('87 14 00 00 00 00 00 00 00 00 00 00 00')) then begin ///////пакет на всех грациях одинаковый...14 ур заточки.измеряется в байтах..
timer.enabled:=false;
end;
end.
подправь под свой сервак,и мб я чет лишнее удалил посмотри,прост у мну скрипт под мой сервак был оч большой.т.к. было сразу покупка вещей заточек и т.д.

newbie61
13.03.2009, 13:25
00 00 00 00 00 00 00 00')) then begin ///////пакет на всех грациях одинаковый...14 ур заточки.измеряется в байтах..
timer.enabled:=false;
end;
end.
подправь под свой сервак,и мб я чет лишнее удалил посмотри,прост у мну скрипт под мой сервак был оч большой.т.к. было сразу покупка вещей заточек и т.д.

При проверки на синтаксис подсвечивает "end." В чём может быть проблема?

QaK
13.03.2009, 14:10
newbie61, или где-то лишний end или где-то нехватает end

oNly^^
20.03.2009, 10:54
пробывал юзать скрипт YssurTiger тагже подсечивает красным and

NLObP
20.03.2009, 13:25
пробывал юзать скрипт YssurTiger тагже подсечивает красным and

Скрипт исправил. Не было секции begin ... end.