Ребят ,пытаюсь исправить скрипт но что то не выходит ,помогите
function Parse(str: string): integer;
var
s: string;
k, i: byte;
mas: array[1..100] of string;
begin
mas[1]:='один';
mas[2]:='два';
mas[3]:='три';
mas[4]:='четыре';
mas[5]:='пять';
mas[6]:='шесть';
mas[7]:='семь';
mas[8]:='восемь';
mas[9]:='девять';
mas[10]:='десять';
mas[11]:='одиннадцать';
mas[12]:='двенадцать';
mas[13]:='тринадцать';
mas[14]:='четырнадцать';
mas[15]:='пятнадцать';
mas[16]:='шестнадцать';
mas[17]:='семнадцать';
mas[18]:='восемнадцать';
mas[19]:='девятнадцать';
mas[20]:='двадцать';
mas[30]:='тридцать';
mas[40]:='сорок';
mas[50]:='пятьдесят';
mas[60]:='шестьдесят';
mas[70]:='семьдесят';
mas[80]:='восемьдесят';
mas[90]:='девяносто';
mas[100]:='сто';
k:=pos('?', str);
str:=lowercase(copy(str, 0, k-1)+' ');
delete(str, 0, 12);
while true do
begin
k:=pos(' ', str);
if (k<1) then break;
s:=copy(str, 0, k-1);
str:=copy(str, k+1, length(str));
i:=length(mas);
while (i<>0) do
begin
if (clear(mas)=s) then
begin
result:=result+i;
break;
end;
if (i<21) then i:=i-1;
if (i<200) and (i>20) then i:=i-10;
end;
end;
end;
function clear(str: string): string;
var
i: integer;
begin
i:=length(str);
while i<>0 do
begin
case str of
'c':begin
str:='с';
end;
'p':begin
str:='р';
end;
'ь':begin
delete(str, i, 1);
i:=i+1;
end;
'о':begin
delete(str, i, 1);
i:=i+1;
end;
'o':begin
delete(str, i, 1);
i:=i+1;
end;
'я':begin
delete(str, i, 1);
i:=i+1;
end;
'а':begin
delete(str, i, 1);
i:=i+1;
end;
'a':begin
delete(str, i, 1);
i:=i+1;
end;
'э':begin
delete(str, i, 1);
i:=i+1;
end;
'е':begin
delete(str, i, 1);
i:=i+1;
end;
'e':begin
delete(str, i, 1);
i:=i+1;
end;
'и':begin
delete(str, i, 1);
i:=i+1;
end;
'ы':begin
delete(str, i, 1);
i:=i+1;
end;
end;
i:=i-1;
end;
result:=str;
end;
var
name: string;
msg: string;
i, answ: integer;
begin
if FromServer and (pck[1]=#$FD) then
begin
i:=6;
ReadS(i);
name:=ReadS(i);
msg:=clear(ReadS(i));
answ:=Parse(msg);
if (answ<>0) and (name='Bot catcher system') then
begin
buf:=#$CC;
WriteS(inttostr(answ));
WriteS(name);
SendToServer;
end;
end;
end.
var
s: string;
k, i: byte;
mas: array[1..100] of string;
begin
mas[1]:='один';
mas[2]:='два';
mas[3]:='три';
mas[4]:='четыре';
mas[5]:='пять';
mas[6]:='шесть';
mas[7]:='семь';
mas[8]:='восемь';
mas[9]:='девять';
mas[10]:='десять';
mas[11]:='одиннадцать';
mas[12]:='двенадцать';
mas[13]:='тринадцать';
mas[14]:='четырнадцать';
mas[15]:='пятнадцать';
mas[16]:='шестнадцать';
mas[17]:='семнадцать';
mas[18]:='восемнадцать';
mas[19]:='девятнадцать';
mas[20]:='двадцать';
mas[30]:='тридцать';
mas[40]:='сорок';
mas[50]:='пятьдесят';
mas[60]:='шестьдесят';
mas[70]:='семьдесят';
mas[80]:='восемьдесят';
mas[90]:='девяносто';
mas[100]:='сто';
k:=pos('?', str);
str:=lowercase(copy(str, 0, k-1)+' ');
delete(str, 0, 12);
while true do
begin
k:=pos(' ', str);
if (k<1) then break;
s:=copy(str, 0, k-1);
str:=copy(str, k+1, length(str));
i:=length(mas);
while (i<>0) do
begin
if (clear(mas)=s) then
begin
result:=result+i;
break;
end;
if (i<21) then i:=i-1;
if (i<200) and (i>20) then i:=i-10;
end;
end;
end;
function clear(str: string): string;
var
i: integer;
begin
i:=length(str);
while i<>0 do
begin
case str of
'c':begin
str:='с';
end;
'p':begin
str:='р';
end;
'ь':begin
delete(str, i, 1);
i:=i+1;
end;
'о':begin
delete(str, i, 1);
i:=i+1;
end;
'o':begin
delete(str, i, 1);
i:=i+1;
end;
'я':begin
delete(str, i, 1);
i:=i+1;
end;
'а':begin
delete(str, i, 1);
i:=i+1;
end;
'a':begin
delete(str, i, 1);
i:=i+1;
end;
'э':begin
delete(str, i, 1);
i:=i+1;
end;
'е':begin
delete(str, i, 1);
i:=i+1;
end;
'e':begin
delete(str, i, 1);
i:=i+1;
end;
'и':begin
delete(str, i, 1);
i:=i+1;
end;
'ы':begin
delete(str, i, 1);
i:=i+1;
end;
end;
i:=i-1;
end;
result:=str;
end;
var
name: string;
msg: string;
i, answ: integer;
begin
if FromServer and (pck[1]=#$FD) then
begin
i:=6;
ReadS(i);
name:=ReadS(i);
msg:=clear(ReadS(i));
answ:=Parse(msg);
if (answ<>0) and (name='Bot catcher system') then
begin
buf:=#$CC;
WriteS(inttostr(answ));
WriteS(name);
SendToServer;
end;
end;
end.