Тема: AionPacketHack
Показать сообщение отдельно
Старый 04.12.2010, 12:29   #62
Новичок
 
Аватар для RayTraceR
 
Регистрация: 18.07.2008
Сообщений: 7
Сказал Спасибо: 7
Имеет 3 спасибок в 3 сообщенях
RayTraceR пока неопределено
По умолчанию

Ну тогда на основе этого вот тебе пример:

Код:
const
	MaxValue = 60;			// Определенное значение, по достижении которого 4-й байт в пакете будет обнуляться
	TimerInterval = 1000;	// Интервалл в милисекундах для таймера 

var
   Timer1: TTimer;
   tmpint: integer;
   intbyte: string;  

procedure Init;
begin
   Timer1:=TTimer.Create(nil);		// создаем объект таймер
   Timer1.OnTimer:=@OnTimer1;		// привязываем к нашему объекут процедуру OnTimer1
   Timer1.enabled:=true;			// включаем запуск таймера при старте скрипта
   Timer1.interval:=TimerInterval;	// устанавливаем интервал в милисекундах (в нашем случае интревла равен 1 секунде) 
   tmpint:=0;						// Устанавливаем переменную по умолчанию
end;

procedure OnTimer1(Sender: TObject);
begin
    tmpint:=tmpint+1;				// суммируем счетчик через кажддую секунду
	if(tmpint <= MaxValue) then		// Если счетчик меньше или равно MaxValue, то продолжаем работать
	begin
		// Тут мы отправляем пакет, в котором четвертый байт будет равен счетчику, т.е. от 1 до 60
		buf:='';
		WriteC(tmpint);
		intbyte:=copy(buf,1,(length(buf)));		// переводим Ineger to Hex
		buf:=HStr('5d5e5f') + HStr(intbyte);	// intbyte - значение четвертого байта
		SendToServer;
	end else						// Иначе, т.е. если счетчик больше MaxValue то обнуляем его
	begin
		tmpint:=0;	
	end;
end;

procedure Free;
begin
	Timer1.Free;					// Освобождаем память занятую таймером
end;

begin

end.

Последний раз редактировалось RayTraceR, 05.12.2010 в 17:27.
RayTraceR вне форума   Ответить с цитированием
За это сообщение RayTraceR нажился спасибкой от: