не знаю как ты делал, но вот это простейшее и работать должно.
главное правильно задавать ключевые фразы которые бы были присущи только этому диалогу и соблюдать регистр.
delphi Код:
var
npcoid : integer;
html, cmd : string;
Timer:ttimer;
procedure init;
begin
useforconnectname := 'ИмяСоединения';
timer := ttimer.create(nil);
timer.enabled := false;
timer.interval := 300;
timer.ontimer := @TimerHandler;
end;
procedure free;
begin
timer.free;
end;
procedure TimerHandler(Sender:tobject);
begin
timer.enabled := false;
buf := #$23;
writes(cmd);
sendtoserver;
end;
begin
if fromserver and (pck[1] = #$19) then
begin
npcoid := readd(2);
html := reads(6);
if (pos('Trader Silvia', html)>0) and (pos('Buy Accessories', html)>0) then
begin
cmd:= format('npc_%d_Buy 3000300',[npcoid]);
timer.enabled := true;
exit;
end;
if pos('Ключевая фраза', html)>0 then
begin
cmd := format('действие_%d_действие',[npcoid]);
timer.enabled := true;
exit;
end;
end;
end.