Показать сообщение отдельно
Старый 28.08.2008, 11:10   #211
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Хроники Камаель
Столкнулся с тем что команда в пакете RequestBypassToServer все время разная, и передается в предыдущем пакете от сервера NpcHtmlInfo. Вот сваял процедуру запоминающую содержимое и количество этих команд.
delphi Код:
const name=''; var kolvocmd,j,x:integer;                  //-kolvocmd- итоговое количество команд  j,x- вспомогательные переменные CmdNpc:array[1..50] of string;         //массив с командами, 50 - взято с большим запасом                      // у телепортеров обычно примерно всего 20 команд findt,oldpck:string;                   //вспомогательные переменные //--------------------- procedure SendMsg(msg:string); begin   buf:=#$4A;   WriteD(0);   WriteD(10);   WriteS('');   WriteS(msg);   SendToClientEx(Name); end; //--------------------- procedure CmdNpcParc; Begin kolvocmd:=0; for j:=1 to 50 do begin                 // предварительная очистка массива CmdNpc[j]:=''; end; for j:=1 to length(oldpck) do  begin    //  побуквенная проверка строки oldpck     for x:=0 to 9 do begin         findt:=findt+oldpck[j+x];     end;     if findt='bypass -h ' then begin        for x:=10 to 25 do begin            CmdNpc[kolvocmd+1]:=CmdNpc[kolvocmd+1]+oldpck[j+x];        end;        kolvocmd:=kolvocmd+1;     end;     findt:=''; end; end; //--------------------------------- begin if fromserver and (pck[1]=#$19) then    begin                                          //  в процедуру передается содержимое пакета NpcHtmlInfo         oldpck:=ReadS(6);         CmdNpcParc;         SendMsg('Количество- '+inttostr(kolvocmd));            for j:=1 to kolvocmd do begin               SendMsg(inttostr(j)+'ая- '+CmdNpc[j]);            end;    end; end.

Не зная точно команд работы с частью строки сделал все через циклы, может как то подправить\сократить?
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 28.08.2008 в 16:28.
Breadfan вне форума   Ответить с цитированием
За это сообщение Breadfan нажился спасибкой от: