По мне так проще добавить пару функций для работы с pck - это если какой-то большой скрипт. А для маленьких можно обойтись и побайтным изменением пакета.
В моем представлении, чем раньше пакет покинет скрипт, тем лучше. А в случае с заменой pck на buf - так я вообще не возьмусь утверждать, что этот пустой пакет так и не выйдет за пределы л2пнх. Кто знает, может его осколки все-таки долетят до сервера, а мне такой флуд не к чему. Впрочем, тут уже вопрос к разрабочтику: как обрабатываются пустые пакеты?
Вот так мне больше нравится:
Код:
if (pck[1]=#$2E) and FromClient then
begin
buf:=pck; //копируем пришедший пакет 2E 00 00 00 79 34 15 00 22 05 11 48
//формат команды вставки данных WriteD(data, index: integer), по умолчанию index=0, index увеличивается на длину данных
WriteC($99, 5); //заменяем 79 на 99
WriteD($11111111, 9); //заменяем 22051148 на 11111111
pck:=buf; //записываем в pck нужный пакет
exit;
end;