Показать сообщение отдельно
Старый 10.07.2010, 19:10   #25
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

delphi Код:
const Name='Glav'; Name1='1'; Name2='2'; Name3='3'; Name4='4'; Name5='EVS'; var NamesArray:array [1..20] of string; panelki:array [1..20] of string; i:integer; nashel,nashel1:boolean; msgg:string; procedure Init; //Вызывается при включении скрипта begin NamesArray[1]:=Name; NamesArray[2]:=Name1; NamesArray[3]:=Name2; NamesArray[4]:=Name3; NamesArray[5]:=Name4; NamesArray[6]:=Name5; nashel:=false; nashel1:=false; end; procedure Free; //Вызывается при выключении скрипта begin end; procedure Say(msg:string); begin   buf:=#$4A;    WriteD(0);   WriteD(3);   WriteS('1');   WriteS(msg);   SendToClient; end; procedure scanpanelki; begin say('начался скан'); for i:=1 to 20 do if (ConnectName=NamesArray[i]) then begin panelki[i]:=pck; nashel:=true; say('сосканил панельку у '+ConnectName+'.'); break; end; if (i=20) and (nashel=false) then begin say('не нашел имя'); break; end; end; //основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin begin if FromServer and (pck[1]=#$45) then begin scanpanelki; end; end; begin if FromClient and (pck[1]=#$49) then begin msgg:=ReadS(2); for i:=1 to 20 do if (NamesArray[i]=msgg) then begin pck:=''; say('я сделаю вам панельку ' + NamesArray[i]+'.'); buf:=panelki[i]; SendToClient; nashel1:=true; break; end; if (i=20) and (nashel1=true) then begin say('че-то хз.'); end; end; end; end.

Добавлено через 1 минуту
PS обрезает пакет и прилывает всего 2 байта, причем второй байт тоже битый

Последний раз редактировалось supernewbie, 10.07.2010 в 19:10. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием