s := str + ' ';
sum:=0;
result:=0;
b:=true;
while b do
begin
result := sum;
k := 0;
k := pos( ' ', s );
if k < 1 then
b:= false;
ds := length ( s ) ;
s1 := copy ( s, 0, k);
s := copy ( s, k + 1 , ds );
for i:=100 downto 1 do
begin
if (pos( ' '+mas[i], ' '+s1 ) > 0) and (length(mas[i])>1) then
begin
sum := sum + i;
s1:='' ;
end
else if i = 1 then
begin
s1:='' ;
end;
end;
end;
end;
// сюда дописывать возможные искажения текста
function preob(msg:string):string;
var
str:string;
c:char;
i:integer;
begin
str:=msg;
for i:=1 to length(str) do
begin
c:=msg[i];
case c of
'a':str[i]:= 'а';
'o':str[i]:= 'о';
'e':str[i]:= 'е';
'c':str[i]:= 'с';
'p':str[i]:= 'р';
end;
end;
result:=str;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
var
Wname : string;
RName: string;
msg : string;
i:integer;
str: string;
begin
if FromServer and (pck[1]=#$FD) then
begin
i:=10;
WName:=ReadS(i);
RName:=ReadS(i);
msg :=ReadS(i);
msg:=preob(msg)+' ';
str:= inttostr(OOP(msg));
if strtoint(str) <> 0 then
begin
buf:=#$CC;
WriteS(str);
WriteS(Rname);
SendToServer;
end;
end;
end.