Блин не знаю где ошибка.Все перечитал- нифига. Вот как посмотрел темку решил со всеми скриптами разобраться.И когда я захожу при этих значениях, юзаю активацию и тогда вылет из серва
Ну я же не экстрасенс по куску кода определять ошибку. Сервер какой?И вообще лучше в скайп пиши, если много вопросов.
ребята вот мой скрипт все работает но проблема в другом СКРИПТ ЛУПИТ САМ ПО СЕБЕ!!!!! Я ЖМУ НА АКТИВИРУЮЩЕЙ СКИЛ ПЕРВЫЙ РАЗ ВСЕ ПРОХОДИТ ОТЛИЧЬНО а потом он лупит как хочет и все кто попадает в таргет получают не серию ударов один за другим а какуюто кашу
ВОПРОС: как зделать чтов все било также как в первый раз и на одном прохождении остановилось?????
тоисть нажал оно з всеми задержками ударело прошло серию и остановилось как???
очь прошу помогите
сори за ошыбки))))
const
name = 'tomi555'; //имя соединения
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte); //Формируем пакет нового скила
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 00 00'); //Начальный пакет на скил
WriteH(SkillID, 6); //Вставляем в начальный пакет ID скила
WriteC(Level, 8); //Всталяем в начальный пакет уровень скила
WriteD(TargetID, 10); //Вставляем в начальный пакет ID таргета
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1; //Шаг
Timer:=TTimer.Create(nil); //выделяем память
Timer.OnTimer:=@OnTimer; //привязываем процедуру к событию
Timer.enabled:=false; //начальное положение выключен(false)
Timer.interval:=500; //интервал(в миллисекундах) как часто таймер срабатывает
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
DoTheSkill(578, 9); //Стремительный удар V
Inc(TimerStep);
end;
2:
begin
DoTheSkill(580, 9); //Рассекающий удар V
Inc(TimerStep);
end;
3:
begin
DoTheSkill(932, 9); //Нанесение древнего клейма III
Inc(TimerStep);
end;
4:
begin
DoTheSkill(2112, 9); //Разрушение клейма V
Inc(TimerStep);
TimerStep:=1; //Переходим на первый шаг
end;
end;
end;
begin
StartSkill := 578; //Стремительный удар V
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true; //включаем таймер
end;
end.
Добавлено через 7 минут
все ребят 4 года учьобы на програмиста не прошло зря))))
нашол сам что здел
над было тут
3:
begin
DoTheSkill(2112, 9); //Разрушение клейма V
Timer.enabled:=false;
Inc(TimerStep);
TimerStep:=1; //Переходим на первый шаг
вписать ето Timer.enabled:=false;
Последний раз редактировалось kikboks; 05.03.2012 в 07:22.
Причина: Добавлено сообщение
Всем привет, сервер awars.net л2пх настроил правильно!!! проверенно скриптом на тп( робит)
вот проблема с ударами написал скрипт а он не работает, либо как то криво через чур( написан правильно)
Мне подсказали что проблема с пакетами на серверами как бы больше 2-ух ударов за 1 сек не сделать, так вот попробывал скрипт с паузами но не получается его написать, кто может сделать скрипт на лука с этими ударами
ссылки:
[Ссылки могут видеть только зарегистрированные пользователи. ] выстрел
[Ссылки могут видеть только зарегистрированные пользователи. ] аркан
если вы настроите и будет работать, сам уже разберусь))) спасибо большое за внимания!
если кто то не понял мне нужно вот это:
2) Как сделать задержку между пакетами чтобы не палиться?
Пример скрипта тут
В строке name = 'borrov'; меняем borrov на свое имя соединения(логин).
В строке Timer.interval:=900; меняем по желанию 900 на любое нужное вам время задержки.
Время задержки между скилами будет одинаковое.А что если мы хотим разное время задержки между скилами.Тогда просто добавляем перед скилом строку Timer.interval:=. Например:
только сделайте мне готовый, а то у меня не выходит)
const
name = 'borrov'; //имя соединения
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte); //Формируем пакет нового скила
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 00 00'); //Начальный пакет на скил
WriteH(SkillID, 6); //Вставляем в начальный пакет ID скила
WriteC(Level, 8); //Всталяем в начальный пакет уровень скила
WriteD(TargetID, 10); //Вставляем в начальный пакет ID таргета
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1; //Шаг
Timer:=TTimer.Create(nil); //выделяем память
Timer.OnTimer:=@OnTimer; //привязываем процедуру к событию
Timer.enabled:=false; //начальное положение выключен(false)
Timer.interval:=900; //интервал(в миллисекундах) как часто таймер срабатывает
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
DoTheSkill(721, 9); //выстрел
Inc(TimerStep);
end;
2:
begin
DoTheSkill(722, 9); //аркан
Timer.enabled:=false; //выключаем таймер
Inc(TimerStep);
TimerStep:=1; //Переходим на первый шаг
end;
end;
end;
begin
StartSkill := 691; //Ядовитая стрела III
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true; //включаем таймер
end;
end.
Активация скилом Ядовитая стрела III
Не забудь в скрипте в строке borrov поменять на свой логин.
happytorn добавься в скаип плиз)) я тебе кинул в личку данные ну или тут на vanek26rus96
Добавлено через 9 минут
не выходит вот смотри
Код:
const
name = 'blaki'; //имя соединения
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte); //Формируем пакет нового скила
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 00 00'); //Начальный пакет на скил
WriteH(SkillID, 6); //Вставляем в начальный пакет ID скила
WriteC(Level, 8); //Всталяем в начальный пакет уровень скила
WriteD(TargetID, 10); //Вставляем в начальный пакет ID таргета
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1; //Шаг
Timer:=TTimer.Create(nil); //выделяем память
Timer.OnTimer:=@OnTimer; //привязываем процедуру к событию
Timer.enabled:=false; //начальное положение выключен(false)
Timer.interval:=900; //интервал(в миллисекундах) как часто таймер срабатывает
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
DoTheSkill(721, 9); //выстрел
Inc(TimerStep);
end;
2:
begin
DoTheSkill(722, 9); //аркан
Timer.enabled:=false; //выключаем таймер
Inc(TimerStep);
TimerStep:=1; //Переходим на первый шаг
end;
end;
end;
begin
StartSkill := 691; //Ядовитая стрела III
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true; //включаем таймер
end;
end.
не чего после ядовитой не идет.
Timer.interval:=900; //интервал(в миллисекундах) как часто таймер срабатывает
пробовал тут заменять на более ниже цифру пишет умение не готово к импользованию (раза 3-4)
Последний раз редактировалось talala; 16.03.2012 в 23:58.
Причина: Добавлено сообщение
const
name = 'borrov'; //имя соединения
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte); //Формируем пакет нового скила
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 E2 01 F9 C3 00 00'); //Начальный пакет на скил
WriteH(SkillID, 6); //Вставляем в начальный пакет ID скила
WriteC(Level, 8); //Всталяем в начальный пакет уровень скила
WriteD(TargetID, 10); //Вставляем в начальный пакет ID таргета
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1; //Шаг
Timer:=TTimer.Create(nil); //выделяем память
Timer.OnTimer:=@OnTimer; //привязываем процедуру к событию
Timer.enabled:=false; //начальное положение выключен(false)
Timer.interval:=900; //интервал(в миллисекундах) как часто таймер срабатывает
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
DoTheSkill(721, 9); //выстрел
Inc(TimerStep);
end;
2:
begin
DoTheSkill(722, 9); //аркан
Timer.enabled:=false; //выключаем таймер
Inc(TimerStep);
TimerStep:=1; //Переходим на первый шаг
end;
end;
end;
begin
StartSkill := 691; //Ядовитая стрела III
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true; //включаем таймер
end;
end.
________________ Gods,give me strength
Последний раз редактировалось happytorn; 15.03.2012 в 22:43.
hey guys, sorry but my russian ist bad >:< i have a problem to put different times betveen the skills.
2:
begin
Timer.interval:=200;
DoTheSkill(577, 1);
Inc(TimerStep);
end;
the Script should use only the one skill "577" in 0,2 sec, and the next one again with 900 (0,9), butafter this, (Timer.interval:=200 it use all other skills in 0.2 sec... whats wrong ?: O
const
name = 'Valera';
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte);
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 00 00');
WriteH(SkillID, 6);
WriteC(Level, 8);
WriteD(TargetID, 10);
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.enabled:=false;
Timer.interval:=600; //Zeit zwischen den Skills (500=0,5 sek)
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
DoTheSkill(873, 9); //Rückenbrecher II
Inc(TimerStep);
end;
2:
begin
Timer.interval:=200;
DoTheSkill(577, 1); //Hingabe I (Buff)
Inc(TimerStep);
end;
3:
begin
DoTheSkill(2126, 1); //Hinterhalt IV
Inc(TimerStep);
end;
4:
begin
Timer.interval:=500;
DoTheSkill(940, 6); //Strahlende Rune I
Inc(TimerStep);
end;
5:
begin
DoTheSkill(2125, 1); //Attentat III
Inc(TimerStep);
end;
6:
begin
DoTheSkill(1987, 1); //Giftangriff I
Inc(TimerStep);
end;
7:
begin
Timer.interval:=200;
DoTheSkill(839, 1); //Folgeschlag I (Buff)
Inc(TimerStep);
end;
8:
begin
DoTheSkill(1990, 1); //Beschleunigter Untergang I
Inc(TimerStep);
end;
9:
begin
Timer.interval:=200;
DoTheSkill(1984, 1); //Sinnesverstärkung I (Buff)
Inc(TimerStep);
end;
10:
begin
Timer.interval:=200;
DoTheSkill(572, 1); //Konzentriertes Ausweichen I (Buff)
Inc(TimerStep);
end;
11:
begin
DoTheSkill(867, 9); //Siegelgravur IV
Inc(TimerStep);
end;
12:
begin
DoTheSkill(875, 5); //Brüllen der Bestie IV
Inc(TimerStep);
end;
13:
begin
DoTheSkill(860, 5); //Tritt der Bestie III
Inc(TimerStep);
end;
14:
begin
DoTheSkill(2110, 4); //Schlag der Bestie V
Inc(TimerStep);
end;
15:
begin
DoTheSkill(853, 8); //Himmelsklinge III
Timer.enabled:=false;
Inc(TimerStep);
TimerStep:=1;
end;
end;
end;
begin
StartSkill := 2280; //Aktivierungsskill!!!!!!
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true;
end;
end.
procedure DoTheSkill(SkillID:word; Level:byte); //Формируем пакет нового скила
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 00 00'); //Начальный пакет на скил
WriteH(SkillID, 6); //Вставляем в начальный пакет ID скила
WriteC(Level, 8); //Всталяем в начальный пакет уровень скила
WriteD(TargetID, 10); //Вставляем в начальный пакет ID таргета
SendToServerEx(name);
end;
const
name = 'Valera';
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte);
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 00 00');
WriteH(SkillID, 6);
WriteC(Level, 8);
WriteD(TargetID, 10);
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.enabled:=false;
//Timer.interval:=600; //Zeit zwischen den Skills (500=0,5 sek)
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
Timer.interval:=600;
DoTheSkill(873, 9); //Rückenbrecher II
Inc(TimerStep);
end;
2:
begin
Timer.interval:=200;
DoTheSkill(577, 1); //Hingabe I (Buff)
Inc(TimerStep);
end;
3:
begin
Timer.interval:=600;
DoTheSkill(2126, 1); //Hinterhalt IV
Inc(TimerStep);
end;
4:
begin
Timer.interval:=500;
DoTheSkill(940, 6); //Strahlende Rune I
Inc(TimerStep);
end;
5:
begin
Timer.interval:=600;
DoTheSkill(2125, 1); //Attentat III
Inc(TimerStep);
end;
6:
begin
Timer.interval:=600;
DoTheSkill(1987, 1); //Giftangriff I
Inc(TimerStep);
end;
7:
begin
Timer.interval:=200;
DoTheSkill(839, 1); //Folgeschlag I (Buff)
Inc(TimerStep);
end;
8:
begin
Timer.interval:=600;
DoTheSkill(1990, 1); //Beschleunigter Untergang I
Inc(TimerStep);
end;
9:
begin
Timer.interval:=200;
DoTheSkill(1984, 1); //Sinnesverstärkung I (Buff)
Inc(TimerStep);
end;
10:
begin
Timer.interval:=200;
DoTheSkill(572, 1); //Konzentriertes Ausweichen I (Buff)
Inc(TimerStep);
end;
11:
begin
Timer.interval:=600;
DoTheSkill(867, 9); //Siegelgravur IV
Inc(TimerStep);
end;
12:
begin
Timer.interval:=600;
DoTheSkill(875, 5); //Brüllen der Bestie IV
Inc(TimerStep);
end;
13:
begin
Timer.interval:=600;
DoTheSkill(860, 5); //Tritt der Bestie III
Inc(TimerStep);
end;
14:
begin
Timer.interval:=600;
DoTheSkill(2110, 4); //Schlag der Bestie V
Inc(TimerStep);
end;
15:
begin
Timer.interval:=600;
DoTheSkill(853, 8); //Himmelsklinge III
Timer.enabled:=false;
Inc(TimerStep);
TimerStep:=1;
end;
end;
end;
begin
StartSkill := 2280; //Aktivierungsskill!!!!!!
if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true;
end;
end.
const
name = 'djagernaut';
var
Timer:TTimer;
TimerStep:integer;
TargetID:integer;
StartSkill:word;
procedure DoTheSkill(SkillID:word; Level:byte); //Формируем пакет нового скила
begin
buf := HStr('D0 00 57 6F FF CC CC DD 00 60 CA 00 00 00 00 79 8D 00 00'); //Начальный пакет на скил
WriteH(SkillID, 6); //Вставляем в начальный пакет ID скила
WriteC(Level, 8); //Всталяем в начальный пакет уровень скила
WriteD(TargetID, 10); //Вставляем в начальный пакет ID таргета
SendToServerEx(name);
end;
procedure Init;
begin
TimerStep:=1; //Шаг
Timer:=TTimer.Create(nil); //выделяем память
Timer.OnTimer:=@OnTimer; //привязываем процедуру к событию
Timer.enabled:=false; //начальное положение выключен(false)
Timer.interval:=900; //интервал(в миллисекундах) как часто таймер срабатывает
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case TimerStep of
1:
begin
DoTheSkill(776, 9); //
Inc(TimerStep);
end;
2:
begin
DoTheSkill(676, 9); //
Inc(TimerStep);
end;
3:
begin
DoTheSkill(706, 9); //
Inc(TimerStep);
end;
4:
begin
DoTheSkill(653, 9); //
Inc(TimerStep);
end;
5:
begin
DoTheSkill(699, 9); //
Inc(TimerStep);
end;
6:
begin
DoTheSkill(679, 9); //
Inc(TimerStep);
end;
7:
begin
DoTheSkill(662, 9); //
Inc(TimerStep);
end;
8:
begin
DoTheSkill(706, 9); //
Inc(TimerStep);
end;
9:
begin
DoTheSkill(779, 9); //
Inc(TimerStep);
end;
10:
begin
DoTheSkill(666, 9); //
Inc(TimerStep);
end;
11:
begin
DoTheSkill(788, 9); //
Timer.enabled:=false; //выключаем таймер
Inc(TimerStep);
TimerStep:=1; //Переходим на первый шаг
end;
end;
end;
begin
StartSkill := 577; //Осторожность І
if (FromClient) and (ReadC(1) = $D0) and (ReadH(12) = StartSkill) then
begin
TargetID := ReadD(10);
Timer.enabled:=true; //включаем таймер
end;
end
StartSkill := 577; //Осторожность І
if (FromClient) and (ReadC(1) = $D0) and (ReadH(12) = StartSkill) then
begin
TargetID := ReadD(10);
t=353124"]http://zhyk.ru/forum/showthread.php?t=353124[/URL] но он палевный.
Попробуй вместо этого вставить if (FromClient) and (ReadC(1) = $D0) and (ReadH(6) = StartSkill) then
мож поможет)
а и попробуй вот это убрать
Цитата:
11:
begin
DoTheSkill(788, 9); //
Timer.enabled:=false; //выключаем таймер
Inc(TimerStep);
TimerStep:=1; //Переходим на первый шаг
end;
end;
end;
а что такие за скилы у лука DoTheSkill(788, 9)?
Последний раз редактировалось chilay07; 25.03.2012 в 17:26.