PDA

Просмотр полной версии : помогите со скриптом на заточку скиллов


Valer4ik
31.08.2010, 12:40
я уже 4 дня пытаюсь справится с этим скриптом.
как никрутил его всё равно выбивает с игри после 2-3 заточек а если заточка непроходит то скрипт остонавливаеца.
народ помогите пожалуйста найти РАБОЧИЙ скрипт для заточки скиллов!!!! хроники Gracia Epilogue, надо задержку между точками 2-3 сек, чтобы начиналась заточка заново после неудачной заточки.
ОЧЕНь надо!!
зарание ОГРОМНОЕ спасибо.


SCRIPT
const
nik='tangence';
Enchant=10;

var
SubID, SkillID, SkillLvl, CurrEnch: integer;

procedure Init; //Вызывается при включении скрипта
begin

end;

procedure OnTimer01(Sender: TObject);
begin

end;

procedure Free; //Вызывается при выключении скрипта
begin
CurrEnch:=0;
end;

procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединения
begin

end;

procedure OnDisonnect(WithClient: Boolean); //Вызывается при потере соединения
begin

end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$62) then case pck[2] of
#$A0: //точнулся
if CurrEnch<Enchant then
begin
CurrEnch:=CurrEnch+1;
Buf:=#$D0;
WriteH(SubID);
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);
end;
#$A1: //не точнулся
begin
CurrEnch:=1;

Buf:=#$D0;
WriteH(SubID);
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);

end;
end;

if FromClient and (pck[1]=#$D0) then
begin
SubID:=ReadH(2);
SkillID:=ReadD(4);
SkillLvl:=ReadD(8)-1;
CurrEnch:=1;
end;
end.

kolr
01.09.2010, 15:48
const
nik='OutSpace'; //olololololo
Enchant=20;

var
SkillID, SkillLvl, CurrEnch: integer;
timer:Ttimer;

procedure SendMsg2(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;


procedure OnTimer01(Sender: TObject);
begin

end;

procedure Init; //Вызывается при включении скрипта
begin
end;

procedure Free; //Вызывается при выключении скрипта
begin
CurrEnch:=0;
end;


begin
if FromServer and (pck[1]=#$62) then case pck[2] of
#$A0: //точнулся
if CurrEnch<Enchant then
begin
SendMsg2('Точим + '+IntToStr(CurrEnch)+'');
CurrEnch:=CurrEnch+1;
Buf:=HStr('D0 0F 00');
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);
delay(100);
Buf:=HStr('A6');
SendToServerEx(nik);
delay(100);
Buf:=HStr('D0 46 00 00 00 00 00');
WriteD(SkillID);
WriteD(SkillLvl+CurrEnch);
SendToServerEx(nik);
delay(100);
end;
#$A1: //не точнулся
begin
CurrEnch:=1;
SendMsg2('Слом начинем сначала');
Buf:=HStr('D0 46 00 00 00 00 00');
WriteD(SkillID);
WriteD(100+CurrEnch);
SendToServerEx(nik);
delay(100);
Buf:=HStr('D0 0F 00');
WriteD(SkillID);
WriteD(101);
SendToServerEx(nik);
delay(100);
Buf:=HStr('A6');
SendToServerEx(nik);
delay(100);
Buf:=HStr('D0 46 00 00 00 00 00');
WriteD(SkillID);
WriteD(100+CurrEnch);
SendToServerEx(nik);
delay(100);
SkillLvL:=100;
end;
end;
if FromClient and (pck[1]=#$D0) and (pck[2]=#$0F) then
begin

SkillID:=ReadD(4);
SkillLvl:=ReadD(8)-1;

CurrEnch:=1;
end;
end.


ЗЫ: писал под себя, там взависимости на что ты хочеш скил точить нада скиллвл менять

Valer4ik
02.09.2010, 18:45
vopervih ogromnoe spasibo!!!!!
kak ia uznaiu na chto imenno meniat' skill lvl, esli naprimer zahoviu tochnut' Hurivane na silu...??

kolr
02.09.2010, 19:17
точиш скил на один и сотриш его скил лвл

Valer4ik
02.09.2010, 19:40
ia pomenial skill lvl. stalo perehodit na nujnii tip zatochki
vot tolko posle etogo kak skill lomaeca zatocha ostonavlevaeca na +1!
gde beda?
spasibo za terpenie!

Добавлено через 4 минуты
korl
gde mojno s toboi online popobshiaca?
mne OCHEN' nujna v etom pomosh'!

kolr
02.09.2010, 19:53
вобщем я хз в чом там у тебя проблема, я выложил тибе робочий скрипт сиди розбирайся. Удачи

Valer4ik
02.09.2010, 19:58
esli ia nichigo nemeniaiu to vsio tochica i posle togo kak lomaeca.
a esli meniaiu " SkillLvL:=100; " i " WriteD(101); " na skajem 601 to posle togo kak lomaeca tochica na +1 i vstaiot!

Добавлено через 1 минуту
skaji mne gde konkretno v skripte nado menia esli SkillLvL 601?
tak pomeniat' chtobi tochilos' posle togo kak lomaeca.

kolr
02.09.2010, 20:04
WriteD(600+CurrEnch);
WriteD(600+CurrEnch);
SkillLvL:=600;
WriteD(601); Както так...

NLObP
03.09.2010, 11:14
Valer4ik, пиши русскими буквами!

DrakonX
17.10.2010, 23:23
Так вопрос я этот скрипт юзаю на фреи ява сервак вот пвп ставлю 20 заточку и происходит следующие он точить но счетчик бежит с удвоенной скоростью да и если он достиг желаемого результата то он берет и ломает скил даже если ставить на +2 соровну ломает и заново точит как это исправить