Выкладываю скрипт на баффера с возможностью выбора типа Баффа:
delphi Код:
const
RW=1182; //Resist Water
RWi=1189; //Wind
RF=1191; //Fire
Sacr=1392;
USacr=1393;
DWP=1242;
Might=1068;
MShield=1035;
MBarrier=1036;
Shield=1040;
BB=1045;
BS=1048;
Bers=1062;
GMight=1388;
Foc=1077;
Conc=1078;
Acu=1085;
Has=1086;
WW=1204;
Guid=1240;
BShield=1243;
GShield=1389;
var
timer1: TTimer;
TargetID,MyID, MyX, MyY, MyZ, x, DT, i,a: integer;
Paname, NickName,From, Choise: String;
WaitForAnswere, Bissy: Boolean;
procedure SendMsg(Msg,Adress: String);
begin
buf:=#$38;
WriteS(Msg);
WriteD(2);
WriteS(Adress);
SendToServerEX(NickName);
end;
procedure AnswerJoinParty;
begin
buf:=#$2A;
WriteD(1);
SendToServerEx(NickName);
end;
procedure Action;
begin
buf:=#$04;
WriteD(TargetID);
WriteD(MyX);
WriteD(MyY);
WriteD(MyZ);
SendToServerEx(NickName);
end;
procedure ActionMySelf;
begin
buf:=#$04;
WriteD(MyID);
WriteD(MyX);
WriteD(MyY);
WriteD(MyZ);
SendToServerEx(NickName);
end;
procedure UseBuff(buffID:integer);
begin
buf:=#$2f;
WriteD(buffID);
WriteD(0);
WriteC(0);
SendToServerEX(NickName);
end;
procedure OnTimer;
begincase x of1: begin
usebuff(MBarrier); //Начало блока магаinc(x);
Bissy:=true;
end;
2: begin
usebuff(GShield);
inc(x);
end;
3: begin
usebuff(BB);
inc(x);
end;
4: begin
usebuff(Bers);
inc(x);
end;
5: begin// Завершение блока мага
x:=0;
Bissy:=False;
timer1.enabled:=false;
buf:=#$2B;
SendToServerEx(NickName);
ActionMySelf;
a:=0;
end;
6: begin//Начало блока война
usebuff(MShield);
Bissy:=True;
inc(x);
end;
7: begin
usebuff(MBarrier);
inc(x);
end;
8: begin
usebuff(Bers);
inc(x);
end;
9: begin
usebuff(DWP);
inc(x);
end;
10: begin
usebuff(WW);
inc(x);
end;
11: begin
usebuff(BB);
inc(x);
end;
12: begin
usebuff(Gmight);
inc(x);
end;
13: begin
usebuff(Foc);
inc(x);
end;
14: begin
usebuff(Has);
inc(x);
end;
15: begin
usebuff(Might);
inc(x);
end;
16: begin//Завершение блока Война
x:=0;
Bissy:=false;
timer1.enabled:=false;
buf:=#$2B;
SendToServerEx(NickName);
ActionMySelf;
a:=0;
end;
end;
end;
procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединенияbegin
NoFreeOnClientDisconnect;
NoFreeOnServerDisconnect;
end;
procedure OnDisonnect(WithClient: Boolean); //Вызывается при потере соединенияbeginend;
procedure Init;
begin
NoFreeOnClientDisconnect;
NoFreeOnServerDisconnect;
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=false;
timer1.interval:=3000;
x:=0;
NickName:= 'XXX'; // Ник сменить на ник бафераend;
procedure Free; //Вызывается при выключении скриптаbegin
timer1.free;
end;
//основная часть скрипта//вызывается при приходе каждого пакета если скрипт включенbeginif fromserver and(pck[1]=#$04)and(ConnectName=NickName)thenbegin
MyX:= ReadD(2);
MyY:= ReadD(6);
MyZ:= ReadD(10);
MyID:= ReadD(18);
end;
if FromServer and(pck[1]=#$39)and(ConnectName=NickName)thenbegin
PAname:= ReadS(2);
if(PAName = 'XXX')then AnswerJoinParty; // Вместо иксов введите имя чара,//пати которого примет бот.//Можно ввсети много имен через "or"//Внимание чувствителен к регистру.end;
if FromServer and(pck[1]=#$EE)and(ConnectName=NickName)and(a=0)thenbegin
a:=1;
TargetID:=ReadD(6);
SendMsg('Какие бафы Вы желаете получить? 0 - Маг; 1 - Воин. Ответьте в ПМ',Paname);
WaitForAnswere:=true;
end;
if FromServer and(ConnectName=NickName)and(pck[1]=#$4a)thenbeginIf WaitForAnswere thenbegin
i:=10;
From:=ReadS(i);
Choise:=ReadS(i);
If(From = Paname)thenbegincase Choise of'0': beginifnot Bissy thenbegin
WaitForAnswere:=False;
x:=1; // Ссылка на начало блока Мага
Action;
timer1.enabled:=true;
end;
end;
'1': beginifnot Bissy thenbegin
WaitForAnswere:=False;
x:=6; //Ссылка на начало блока война
Action;
timer1.enabled:=true;
end;
end;
end;
end;
end;
end;
end.
Добавлено через 6 минут
Господа есть вопрос... Как реализовать сборку информации об окружающих мобах?? Я имею ввиду не пакеты с которых инфу брать, а как именно осуществить это программно. Если в теме ДА БУДЕТ БОТ есть подобные скрипты прошу указать на какой именно странице, а то нет времени там искать (27страниц) Заранее СПАСИБО
Последний раз редактировалось ChiterEPT, 17.05.2008 в 16:50.
Причина: Исправление кода
За это сообщение ChiterEPT нажился 3 спасибками от:
Выкладываю скрипт на баффера с возможностью выбора типа Баффа:
можно было б.. побольше описаний по своему скрипту сделать, вообще не понятно что он у тебя может и как все это делается)
Добавлено через 24 минуты
в игре вступает в парти пишет в пм лидеру какой бафф хотите, дальше жмешь какой хочу и буффает как то он не меня, а кто с конца вроде в парти или вообще от балды...
Последний раз редактировалось DashKAaa, 17.05.2008 в 14:02.
Причина: Добавлено сообщение
можно было б.. побольше описаний по своему скрипту сделать, вообще не понятно что он у тебя может и как все это делается)
Прошу простить, дело в том, что скрипт я изначально писал для себя и описаний там небыло вообще. Как мне кажется я комментировал ключевые моменты, если что-то именно не понятно спросите, с удовольствием отвечу.
Цитата:
Сообщение от DashKAaa
Добавлено через 24 минуты
в игре вступает в парти пишет в пм лидеру какой бафф хотите, дальше жмешь какой хочу и буффает как то он не меня, а кто с конца вроде в парти или вообще от балды...
Всегда бафался один поэтому незамечал этого косяка, попробую наладить, отпишу здесь.
)) ок, попробую как нить.. а так удобный скрипт) описания поболее добавь малоли алешек в мире много, каждому отвечать устанешь, коль выложил то.. то и описание надо по подробнее) в него еще добавить поддержку от других людей как в буфф за деньги скрипте, т.е пишет тебе кто либо в пм он тя сразу буффает)
Добавлено через 21 минуту
NickName:= 'XXX'; // Ник сменить на ник бафера
тут как я понял надо ник буффера прописать?
if (PAName = 'ХХХ') then AnswerJoinParty; // Вместо иксов введите имя чара
а тут кто дает парти? или кто должен дать парти?
Последний раз редактировалось DashKAaa, 17.05.2008 в 18:00.
Причина: Добавлено сообщение
NickName:= 'XXX'; // Ник сменить на ник бафера
тут как я понял надо ник буффера прописать?
Да, все верно Ник баффера.
Цитата:
Сообщение от DashKAaa
if (PAName = 'ХХХ') then AnswerJoinParty; // Вместо иксов введите имя чара
а тут кто дает парти? или кто должен дать парти?
В этой строке нужно вводить Ники чаров к которым бот будет соглашаться вступить в пати(чувствительно к регистру) если чаров много пишем через or например:
if (PAName = 'ХХХ') or (PAName = 'XXXX) or (PAName = 'XXXXX') then AnswerJoinParty
Добавлено через 4 минуты
Цитата:
Сообщение от DashKAaa
описания поболее добавь малоли алешек в мире много
Да у меня и так код простейший так, как никакого специального образования у меня нету, так чайник самоучка
Добавлено через 1 минуту
Цитата:
Сообщение от DashKAaa
в него еще добавить поддержку от других людей как в буфф за деньги скрипте
Ага и вывеску над головой Я БОТ БАНЬТЕ МЕНЯ
Последний раз редактировалось ChiterEPT, 17.05.2008 в 20:30.
Причина: Добавлено сообщение
а можно немного переделать бота и зациклить так чтобы после того как ему напишеш цифирку с бафом воина или мага он уже больше не спрашивал и ребафал через каждые 17 минут ??? это нужно для того чтобы он роботал с Ботом - локомотив от Alexus
Этот скрипт был написан для ПВП серверов где у каждого есть сабы и поэтому одного и того же чара приходится бафать поразному. У меня есть другой вариант того же бота: он различает чаров по никам и бафает каждого исходя из его имени.
Добавлено через 2 минуты
Цитата:
Сообщение от DashKAaa
da ne prosto... mojno zabacat' pvp script dopystum dl9 clana u t.d)
Легко ... запиши в скрипт Ники всех сокланов которых ты хочешь бафать и поставь бота скажем в клан холл.
Последний раз редактировалось ChiterEPT, 18.05.2008 в 20:58.
Причина: Добавлено сообщение
а можно немного переделать бота и зациклить так чтобы после того как ему напишеш цифирку с бафом воина или мага он уже больше не спрашивал и ребафал через каждые 17 минут ??? это нужно для того чтобы он роботал с Ботом - локомотив от Alexus
жди и все скоро будет )))
а пока можно тупо юзать ворон буфф + какую нить прогу которая на панеле у тебя жмет каждые 1-20минут кнопку по которой активируется вороновский буфф) у меня так все парти буффается))) ну или переделай скрипт Кэта (варкраера) на буфф ПП и СЕ, допустим я переделал вроде работает под ПП и СЕ, буффает каждые 20 минут, но увы только 1 человека пока что...