PDA

Просмотр полной версии : Скрипт на бафера с выбором типа баффа.


ChiterEPT
17.05.2008, 03:27
Выкладываю скрипт на баффера с возможностью выбора типа Баффа:


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;
begin
case x of
1: 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); //Вызывается при потере соединения
begin
end;
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;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin


if fromserver and (pck[1]=#$04) and (ConnectName=NickName) then begin
MyX:= ReadD(2);
MyY:= ReadD(6);
MyZ:= ReadD(10);
MyID:= ReadD(18);
end;
if FromServer and (pck[1]=#$39) and (ConnectName=NickName) then begin
PAname:= ReadS(2);
if (PAName = 'XXX') then AnswerJoinParty; // Вместо иксов введите имя чара,
//пати которого примет бот.
//Можно ввсети много имен через "or"
//Внимание чувствителен к регистру.
end;

if FromServer and (pck[1]=#$EE) and (ConnectName=NickName) and (a=0) then begin
a:=1;
TargetID:=ReadD(6);
SendMsg('Какие бафы Вы желаете получить? 0 - Маг; 1 - Воин. Ответьте в ПМ',Paname);
WaitForAnswere:=true;
end;
if FromServer and (ConnectName=NickName) and (pck[1]=#$4a) then begin
If WaitForAnswere then begin
i:=10;
From:=ReadS(i);
Choise:=ReadS(i);
If (From = Paname) then begin
case Choise of
'0': begin
if not Bissy then begin
WaitForAnswere:=False;
x:=1; // Ссылка на начало блока Мага
Action;
timer1.enabled:=true;
end;
end;
'1': begin
if not Bissy then begin
WaitForAnswere:=False;
x:=6; //Ссылка на начало блока война
Action;
timer1.enabled:=true;
end;
end;
end;
end;
end;
end;

end.


Добавлено через 6 минут
Господа есть вопрос... Как реализовать сборку информации об окружающих мобах?? Я имею ввиду не пакеты с которых инфу брать, а как именно осуществить это программно. Если в теме ДА БУДЕТ БОТ есть подобные скрипты прошу указать на какой именно странице, а то нет времени там искать (27страниц) Заранее СПАСИБО :)

NLObP
17.05.2008, 04:44
Можно здесь посмотреть Бот - локомотив от Alexus (http://coderx.ru/showthread.php?t=334)

DashKAaa
17.05.2008, 14:02
Выкладываю скрипт на баффера с возможностью выбора типа Баффа:

можно было б.. побольше описаний по своему скрипту сделать, вообще не понятно что он у тебя может и как все это делается)

Добавлено через 24 минуты
в игре вступает в парти пишет в пм лидеру какой бафф хотите, дальше жмешь какой хочу и буффает как то он не меня, а кто с конца вроде в парти или вообще от балды...

ChiterEPT
17.05.2008, 16:50
можно было б.. побольше описаний по своему скрипту сделать, вообще не понятно что он у тебя может и как все это делается)

Прошу простить, дело в том, что скрипт я изначально писал для себя и описаний там небыло вообще. Как мне кажется я комментировал ключевые моменты, если что-то именно не понятно спросите, с удовольствием отвечу.

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

Добавлено через 1 минуту
Можни здесь посмотреть Бот - локомотив от Alexus (http://coderx.ru/showthread.php?t=334)

Спасибо как раз то, что надо :)

Добавлено через 1 час 33 минуты
Вроде исправил ... Дашка пробуй

DashKAaa
17.05.2008, 18:00
)) ок, попробую как нить.. а так удобный скрипт) описания поболее добавь малоли алешек в мире много, каждому отвечать устанешь, коль выложил то.. то и описание надо по подробнее) в него еще добавить поддержку от других людей как в буфф за деньги скрипте, т.е пишет тебе кто либо в пм он тя сразу буффает)

Добавлено через 21 минуту
NickName:= 'XXX'; // Ник сменить на ник бафера
тут как я понял надо ник буффера прописать?
if (PAName = 'ХХХ') then AnswerJoinParty; // Вместо иксов введите имя чара
а тут кто дает парти? или кто должен дать парти?

ChiterEPT
17.05.2008, 20:30
NickName:= 'XXX'; // Ник сменить на ник бафера
тут как я понял надо ник буффера прописать?

Да, все верно Ник баффера.

if (PAName = 'ХХХ') then AnswerJoinParty; // Вместо иксов введите имя чара
а тут кто дает парти? или кто должен дать парти?

В этой строке нужно вводить Ники чаров к которым бот будет соглашаться вступить в пати(чувствительно к регистру) если чаров много пишем через or например:
if (PAName = 'ХХХ') or (PAName = 'XXXX) or (PAName = 'XXXXX') then AnswerJoinParty

Добавлено через 4 минуты
описания поболее добавь малоли алешек в мире много
Да у меня и так код простейший так, как никакого специального образования у меня нету, так чайник самоучка :)

Добавлено через 1 минуту
в него еще добавить поддержку от других людей как в буфф за деньги скрипте

Ага и вывеску над головой Я БОТ БАНЬТЕ МЕНЯ :)

DashKAaa
18.05.2008, 00:07
Ага и вывеску над головой Я БОТ БАНЬТЕ МЕНЯ :)

da ne prosto... mojno zabacat' pvp script :) dopystum dl9 clana u t.d)

ботоводик
18.05.2008, 14:03
а можно немного переделать бота и зациклить так чтобы после того как ему напишеш цифирку с бафом воина или мага он уже больше не спрашивал и ребафал через каждые 17 минут ??? это нужно для того чтобы он роботал с Ботом - локомотив от Alexus

ChiterEPT
18.05.2008, 20:58
Этот скрипт был написан для ПВП серверов где у каждого есть сабы и поэтому одного и того же чара приходится бафать поразному. У меня есть другой вариант того же бота: он различает чаров по никам и бафает каждого исходя из его имени.

Добавлено через 2 минуты
da ne prosto... mojno zabacat' pvp script dopystum dl9 clana u t.d)

Легко ... запиши в скрипт Ники всех сокланов которых ты хочешь бафать и поставь бота скажем в клан холл.

DashKAaa
19.05.2008, 09:25
а можно немного переделать бота и зациклить так чтобы после того как ему напишеш цифирку с бафом воина или мага он уже больше не спрашивал и ребафал через каждые 17 минут ??? это нужно для того чтобы он роботал с Ботом - локомотив от Alexus
жди и все скоро будет )))
а пока можно тупо юзать ворон буфф + какую нить прогу которая на панеле у тебя жмет каждые 1-20минут кнопку по которой активируется вороновский буфф) у меня так все парти буффается))) ну или переделай скрипт Кэта (варкраера) на буфф ПП и СЕ, допустим я переделал вроде работает под ПП и СЕ, буффает каждые 20 минут, но увы только 1 человека пока что...