Показать сообщение отдельно
Старый 22.08.2010, 12:50   #336
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Цитата:
Сообщение от Azhole Посмотреть сообщение
Раз на то пошло, основы программирования у меня есть но только на языке C++.
Многие функции я просто не перевариваю(здесь нужна помошь, где мне получить эту базу епрст).Что то я находил но там явно не для новичков гайд.
В прикрепленных темах есть вся нужная информация. Конечно она сделана не в виде гайдов, а как справочник. Вот тот прокоментирую тот скрипт что вы скинули:
Код:
const
   nik='xxxx';  //константа с именем чара
   Enchant=16; //константа с желаемым уровнем заточки

var
   Useitem2:string; //переменная в скрипте не используется. Кажется автор скрипта просто забыл ее убрать, строку вообще можно удалить
   UseItem, SelectItem, EnchantItem: string;//обьявляем переменные , которые будут изьяты и потока строкой 
   CurrentEnch: integer;//уровень заточки предмета в данный момент 
   key: boolean;//так как вы и написали, либо тру, либо фелс
   Timer01, Timer02: TTimer;    //два таймера

procedure Init; //это не главный модуль скрипта, это процедура которая выполняется при старте скрипта. В данном случаи в ней задаются парамерты работы 2-х таймеров.
begin
   Timer01:=TTimer.Create(nil);
   Timer01.OnTimer:=@OnTimer01;
   Timer01.enabled:=false;  //таймер сначала выключен
   Timer01.interval:=3000;

   Timer02:=TTimer.Create(nil);
   Timer02.OnTimer:=@OnTimer02;
   Timer02.enabled:=false; //таймер сначала выключен
   Timer02.interval:=500;

end;

procedure OnTimer01(Sender: TObject); //процеруда которая вылняется первым таймером
begin
   case key of
      false: begin
         buf:=UseItem;//переменная buf испоьзуется для отправки пакета, что в этой переменной бубет находится то и отправится на сервер/клиент
         SendToServerEx(nik);  //   отправка  buf на сервер
         Timer02.enabled:=true;   //вклчюаем второй таймер
         end; 
      true: begin
         buf:=EnchantItem;
         SendToServerEx(nik);//отправка  buf на сервер
         end;
   end;
         key:=not(key); // меняем значение переменной, с тру на фелс или с фелс на тру
end;

procedure OnTimer02(Sender: TObject);    //процеруда которая вылняется первым таймером
begin
         buf:=SelectItem;
         SendToServerEx(nik);      
         Timer02.enabled:=false;   //выклчюем второй таймер
end;

procedure Free; //процедура которая выполняется при остановке скрипта, в данном случаи освобождаем память от таймеров
begin
  Timer01.free;
  Timer02.free;
  CurrentEnch:=0; //не нужная строка, при закрытии скрипта переменная исчезнет
  key:=false;   //не нужная строка, при закрытии скрипта переменная исчезнет
end;


//все ниже написанные строки будут выполнятся при перхвате каждого пакета
//это значит что за секунду они будут выпонятся раз 20-30, в зависимости от количества пакетов что придут от сервера и которые отправит клиент

//материал есть и не спрятанный. абсолютно вся нужная информация находится в закреплнных темах этого и соседних разделов, а также в справке к программе 

begin
    if FromServer and (pck[1]=#$87) then case ReadD(2) of
       0: begin
          CurrentEnch:=CurrentEnch+1;
          if CurrentEnch=Enchant then Timer01.enabled:=false;
          end;
       3: CurrentEnch:=0;
       end;
    if FromClient and (pck[1]=#$19) then UseItem:=pck;
    if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
    if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
    if FromClient and (pck[1]+pck[2]=#$56#$0C) then
       begin
          pck:='';
          Timer01.enabled:=not(Timer01.enabled);
       end;
end.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился 3 спасибками от: