Ну вот кусочек:
delphi Код:
//Say2
if FromClient and (pck[1]=#$38) then //если от клиента пакет #$38 (это пакет сообщения НО для ц4, на других хрониках - другой номер будет) то:
begin
Cmd:=ReadS(2); //в переменную Cmd записать string-блок из пакета, начинающийся со 2го байта пакета
if (Cmd[1]='-') then // если первый символ блока - "-" то выполнять:
begin
Cmd:=Copy(Cmd,2,Length(Cmd)-1); //Cmd=считать из(Cmd, начать со 2го символа, слово длинной на 1 меньше чем Cmd) т.е. например если было 12345 - станет 2345
case Cmd of //блок выбора: если в Cmd находится
'follow':FollowLeader; //follow - то вызвать процедуру FollowLeader
'heal':Heal('Vark'); // если heal - то вызвать проц-ру Heal передав в нее 'Vark'
'spoil':Spoil('Gnom'); // если spoil то проц-ру Spoil передав в нее 'Gnom'
'sweep':Sweep('Gnom'); // аналогично
'attack': //если в CMD было аттак то вызвать проц-ру аттак
begin
Attack('Vark');
Attack('Gnom');
end;
end;
pck:=''; // тут тот самый пакет, в котором было написан текст - удаляется, чтоб не идти на сервер и не вызывать лишних подозрений по поводу странных диалогов в чате.
end;
end
ну а дальше смотри процедуры сами что делают.