Надо задать начальное значение для n, тогда этим скриптом вы будете считать количество пакетов что прошли через пакетхак.
n тут просто взял, не планирую считать количество пакетов
Цитата:
Сообщение от SeregaZ
неа. этим ты будешь просто вести учет общего количества пакетов
чтобы блокировать нужно дописать будет:
Код:
pck:='';
вопрос был вот такой:
тоесть, сервер отправляет пакет pck, а этот pck залетает в l2ph, и если я с этим пакетом ниче не делаю, пакет дальше идет к клиенту.
в обратном направлении тоже самое
или если я поменяю пакет, и не буду отправлять. то это не блокировка?
В переменной pck находится пакет который пришел в пакетхак. Чтобы заблокировать пакет, надо очистить переменную pck (pck:='', соответственно из пакетхака выйдет пустая переменная, тоесть ничего.
Чтобы что-то изменить пакете, надо изменить переменную pck. В любом случаи содержимое этой переменной выйдет из пакетхака, отправлять ее не надо.
__________________
В любом из нас спит гений. И с каждым днем все крепче.
Не работает подмена пакетов, тоесть надо писать ЦЕЛЫЙ пакет чтоб он заменился, а по первому байту - хрен, тоесть
(pck[1]=#$56) - это соц действие, нифига не заменяет, а если написать конкретное
(pck=HStr('56 0C....')) то всё ок
в чем может быть проблема???
//J-Fobos: Какая версия пакетхака? Что-то схожее уже было. Подождите немного, разберусь и отвечу...
Последний раз редактировалось J-Fobos, 09.04.2012 в 11:52.
Не работает данный скрипт на интерлюд серверах. Phx коннектится свободно, скрипт на автовставку лсов работает.
const
nik='xxxxx';
Enchant=13;
var
SubID, SkillID, SkillLvl, CurrEnch: integer;
procedure Init; //Вызывается при включении скрипта
begin
end;
procedure OnTimer01(Sender: TObject);
begin
end;
procedure Free; //Вызывается при выключении скрипта
begin
CurrEnch:=0;
end;
procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединения
begin
end;
procedure OnDisonnect(WithClient: Boolean); //Вызывается при потере соединения
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$62) then case pck[2] of
#$A0: //точнулся
if CurrEnch<Enchant then
begin
CurrEnch:=CurrEnch+1;
Buf:=#$D0;
WriteH(SubID);
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);
end;
#$A1: //не точнулся
begin
CurrEnch:=1;
все хотят быть супер читорами, но никто не хочет учить теорию хотя я сам такой-же... хочу стать крутым радиоэлектронщиком, но теорию нихера не читаю - мне сразу схемы готовые подавай, которые я потом паять буду
Gidentix, даже на примере этого своего скрипта уже можно понять многие вещи. ты главное пойми как построить простейшую конструкцию "если" - IF. по сути это и есть самая главная хрень во всех языках программирования.