Ну в общем простенький скрипт, который не пропускает пакет DeleteObject то я написал, и все работает, как надо, но как сделать так, чтобы он не пропускал только тот DeleteObject, который идет после хайда? Ведь насколько я понял данный пакет не только для этого используется.
Грубо говоря хочу написать, но не знаю как, т. к. никогда не писал скрипты для l2phx. Смысл такой: если от сервера приходит пакет с типом 54 (MagicSkillLaunched) и SkillID там 922 (SkillID: Unknown Skill ID:922(039A)), то не пропускать следующий после этого пакет DeleteObject (тип 08), но только 1 раз.
Не пропускание DeleteObject:
Код:
begin
if FromServer and (pck[1]=#$08) then pck:=''
end.
Далее попытался заставить работать этот скрипт только после получения пакета типа 54, но ни вариант:
Код:
begin
if FromServer and (pck[1]=#$54) and (pck[6]=#$9A) and (pck[7]=#$03) and (pck[8]=#$00) and (pck[9]=#$00) then
begin
if FromServer and (pck[1]=#$08) then pck:=''
end;
end.
ни:
Код:
begin
if FromServer and (pck[1]=#$54) then
begin
if FromServer and (pck[1]=#$08) then pck:=''
end;
end.
работать не хотят. Что я не так пишу?))
Специально для проверки сделал:
Код:
begin
if FromServer and (pck[1]=#$54) and (pck[6]=#$9A) and (pck[7]=#$03) and (pck[8]=#$00) and (pck[9]=#$00) then
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS('Hello!!!');
SendToClient;
end;
end.
пашет, как надо, но если вместо "написать Hello!!!" ставлю условие, то нифига не пашет... В чем дело?