PDA

Просмотр полной версии : radar + packetHack


DashKAaa
12.05.2008, 11:04
как совместить пакет хак и радар? что бы клиент при логине не вылетал?

радар запускает клиент ла2 сам, запускаешь еще пакет хак и логинишься и бац.. крит еррор(

по одиночке все работает на ура...

PanAm
12.05.2008, 13:34
Может в настройках поставить перехватывать радар, а линейку убрать?

DashKAaa
12.05.2008, 15:04
не помогало( уже пробовал....

Faust
12.05.2008, 21:16
А зачем и то и то если можно сделать на основе l2phx сделать радар

DashKAaa
12.05.2008, 21:58
того я и гляжу как можно сделать До сих пор люди на вары скрипт написать не может, + поедание сп в с6 нормально а не от базовых ХП,

APXAHGEJI
12.05.2008, 22:02
а в чем проблема с ЦП?

DashKAaa
13.05.2008, 09:28
в том что реализовать сложно ЦП в с6 поедание.

APXAHGEJI
13.05.2008, 11:20
По подробнее можно.
Что в С6 отменили пакеты UserInfo и StatusUpdate, которыми мониторится ЦП или UseItem, которым можно использовать ГЦП? Вроде нет.
Если надо могу выложить рабочий скрипт со всей этой фигней под ИЛ.
Или может я тебя не понял и ты о чем то другом говоришь.

DashKAaa
13.05.2008, 12:27
Ну выложи посмотрим как оно работает то под с6

nezabudkin
13.05.2008, 12:27
Если надо могу выложить рабочий скрипт со всей этой фигней под ИЛ.

Выложи плизззз. Чето у меня не получается рассчитать смещение данных по ЦП в пакете юзеринфо под ИЛ.

QaK
13.05.2008, 15:42
Чето у меня не получается рассчитать смещение данных по ЦП в пакете юзеринфо под ИЛ.В смысле, не получается? Берешь лог - смотришь в нем пакет, структуру и ручками высчитываешь.

APXAHGEJI
13.05.2008, 19:06
Прошу, мне не жалко, это старая версия моего ПВП скрипта.
Правда комментариев почти нет, но переменные сами за себя говорят.
И да кстати, С6 не существует, хроники заканчиваются либо на 4 либо 5.
Const
Name='ник';
Health= 80;
ResCP= 35;
GCP= 5592;//Greater CP Potion
GHP= 1539;//Greater Healing Potion
SHP= 1061;

Var
NSHP, NGCP, NGHP, CharID, OidSHP, OidGHP, OidGCP,
MaxHP, CurHP, MaxCP, CurCP, FirTargID, SecTargID, i, HP: Integer;
TimerHP, TimerCP: TTimer;
PressCTRL, Res, Switch: boolean;

//************************************************** ****************************
// Вызывается при включении скрипта
//************************************************** ****************************
procedure Init;
begin
PressCTRL:= False;
Res:= False;
Switch:= False;
FirTargID:= 0;
SecTargID:= 0;
NGCP:= 0;
NGHP:= 0;
NSHP:= 0;
MaxHP:= 1;
MaxCP:= 1;
HP:= Round ((MaxHP/100)*Health);
TimerHP:=TTimer.Create(nil);
TimerHP.OnTimer:=@OnTimerHP;
TimerHP.enabled:= False;
TimerHP.interval:=15000;
TimerCP:=TTimer.Create(nil);
TimerCP.OnTimer:=@OnTimerCP;
TimerCP.Enabled:= False;
TimerCP.Interval:= 1000;
buf:=#$0F;
SendToServerEx(Name);
Say ('Cпам ЦП и ХП выключен');
Say ('ПВП режим не активен');
end;
//************************************************** ****************************

//************************************************** ****************************
// Вызывается при выключении скрипта
//************************************************** ****************************
procedure Free;
begin
TimerHP.Free;
TimerCP.Free;
end;
//************************************************** ****************************

//************************************************** ****************************
// Посылаем сообщение, которое видно только в окне бота
//************************************************** ****************************
Procedure Say(msg:string);
begin
buf:=hstr('4A 00 00 00 00');
WriteD(2);
WriteS(Name);
WriteS(msg);
SendToClientEx(Name);
end;
//************************************************** ****************************

//************************************************** ****************************
// Использование Вещей
//************************************************** ****************************
Procedure UseItem(OID: Integer);
begin
buf:= #$14;
WriteD(OID);
WriteD(00);
SendToServerEx(Name)
end;
//************************************************** ****************************

//************************************************** ****************************
// Востановление ХП
//************************************************** ****************************
Procedure OnTimerHP(Sender: TObject);
begin
if Switch then begin
UseItem (OidGHP);
Dec (NGHP);
end else begin
UseItem (OidSHP);
Dec (NSHP);
end;
end;
//************************************************** ****************************

//************************************************** ****************************
// Востановление ЦП
//************************************************** ****************************
Procedure OnTimerCP(Sender: TObject);
begin
UseItem (OidGCP);
Dec (NGCP);
end;
//************************************************** ****************************


//************************************************** ****************************
// Вызывается при приходе каждого пакета, если скрипт включен
//************************************************** ****************************
Begin

//************************************************** **************************
//************************************************** **************************
//Не обрабатываем пустые пакеты
If pck='' then exit;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Обрабатываем пакеты от сервера
If FromServer and (ConnectName=Name) then begin

//************************************************** ************************
//Если от сервака принят пакет UserInfo.
If (pck[1]=#$04) then begin
CharID:= ReadD(18);
i:= 2*(Length(Name))+ 72;
MaxHP:= ReadD(i);
CurHP:= ReadD(i);
MaxCP:= ReadD(length(pck)-49);
CurCP:= ReadD(length(pck)-45);
end;
//************************************************** ************************

//************************************************** ************************
//Если от сервака принят пакет StatusUpdate.
if (pck[1]=#$0E) and (pck[6]=#$04)then begin
CurHP:=ReadD(14);
MaxHP:=ReadD(22);
CurCP:=ReadD(30);
MaxCP:=ReadD(38);
end;
//************************************************** ************************

//************************************************** ************************
//Записываем ObjectID всех нужных предметов
if pck[1]=#$1B then begin
for i:= 0 to round(length(pck)/36) do begin
if (ReadH(i*36+4+8) = GCP) then begin
OidGCP:= ReadD(i*36+8);
NGCP:= ReadH(i*36+4+4+8);
end;
if (ReadH(i*36+4+8) = GHP) then begin
OidGHP:= ReadD(i*36+8);
NGHP:= ReadH(i*36+4+4+8);
end;
if (ReadH(i*36+4+8) = SHP) then begin
OidSHP:= ReadD(i*36+8);
NSHP:= ReadH(i*36+4+4+8);
end;
end;
end;
//************************************************** ************************

end;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Обрабатываем пакеты от клиента
If FromClient and (ConnectName=Name) then begin

//************************************************** ************************
//Уменьшеньки счетчика банок при использовании в игре
if (pck[1]= #$14) then begin
case ReadD(2) of
OidGCP: Dec(NGCP);
OidGHP: Dec(NGHP);
OidSHP: Dec(NSHP);
end;
end;
//************************************************** ************************

//************************************************** ************************
//Авто CTRL
if PressCTRL then begin
If(pck[1]=#$2F) then pck[6]:=#$01;
If (pck[1]= #$04) or (pck[1]= #$0A) then begin
FirTargID:= SecTargID;
SecTargID:= ReadD(2);
if (FirTargID = SecTargID) and (FirTargID<> 0) then pck[1]:=#$0A;
end;
end;
//************************************************** ************************

//************************************************** ************************
//Управление
if (pck[1]=#$38) and (pck[10]=#$03) then begin
case ReadS(2) of
'234': if Switch then begin
Say ('Врубили маленькие бутылки');
Switch:= False;
end else begin
Say ('Врубили большие бутылки');
UseItem(OidGHP);
Switch:= True;
end;
'123': if Res then begin
Say ('Cпам ЦП и ХП выключен');
TimerHP.Enabled:= False;
TimerCP.Enabled:= False;
Res:= False;
end else begin
Say ('Cпам ЦП и ХП включен');
Res:= True;
end;
end;
pck:='';
exit;
end;
//************************************************** ************************

//************************************************** ************************
//Активация ПВП режима
if (pck[1]=#$57) then begin
if PressCTRL then begin
PressCTRL:= False;
Say ('ПВП режим не активен');
end else begin
PressCTRL:= True;
Say ('ПВП режим активен');
end;
pck:='';
exit;
end;
//************************************************** ************************

//************************************************** ************************
//Уменьшеньки счетчика банок при использовании в игре
if (pck[1]= #$14) then
case ReadD(2) of
OidGCP: Dec(NGCP);
OidGHP: Dec(NGHP);
OidSHP: Dec(NSHP);
end;
//************************************************** ************************

end;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Условия начала востановления, запуск вотсановления

//************************************************** **************************
If Res then begin
//************************************************** ************************
//Активация востановления ЦП
if PressCTRL then begin
If (((CurHP+CurCP)/(MaxHP+MaxCP)*100)<= ResCP) then
if (CurCP>0) and (NGCP>0) then begin
if not TimerCP.Enabled then begin
TimerCP.Enabled:= True;
UseItem (OidGCP);
Dec (NGCP);
end;
end;
If (CurCP>=(MaxCP-200)) then
if TimerCP.Enabled then TimerCP.Enabled:= False;
end;
//************************************************** ************************

//************************************************** ************************
//Активация востановления ХП
if (CurHP <= HP) and (CurHP>0) then begin
if (not TimerHP.Enabled) then
if Switch then begin
if (NGHP>0) then begin
TimerHP.Enabled:= True;
UseItem (OidGHP);
Dec (NGHP);
end;
end else
if (NSHP>0) then begin
TimerHP.Enabled:= True;
UseItem (OidSHP);
Dec (NSHP);
end;
end else If TimerHP.Enabled then TimerHP.Enabled:= False;
//************************************************** ************************
end;
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************

End.
//************************************************** ****************************

Добавлено через 7 минут
А да чуть не забыл.
Управление:
123 в пати чат включение/выключение слежения за ЦП иХП
234 опять же в пати чат переключение между обычными НР и GHP банками (всё можно забить в макрос для удобства)
Клавиша B активация ПВП режима (не надо CTRL нажимать)

nezabudkin
13.05.2008, 19:48
MaxCP:= ReadD(length(pck)-49);
CurCP:= ReadD(length(pck)-45);

Вот это самое интересное место!!!
APXAHGEJI респект тебе!

DashKAaa
13.05.2008, 20:04
Прошу, мне не жалко, это старая версия моего ПВП скрипта.
Правда комментариев почти нет, но переменные сами за себя говорят.
И да кстати, С6 не существует, хроники заканчиваются либо на 4 либо 5.
Const
Name='ник';
Health= 80;
ResCP= 35;
GCP= 5592;//Greater CP Potion
GHP= 1539;//Greater Healing Potion
SHP= 1061;

Var
NSHP, NGCP, NGHP, CharID, OidSHP, OidGHP, OidGCP,
MaxHP, CurHP, MaxCP, CurCP, FirTargID, SecTargID, i, HP: Integer;
TimerHP, TimerCP: TTimer;
PressCTRL, Res, Switch: boolean;

//************************************************** ****************************
// Вызывается при включении скрипта
//************************************************** ****************************
procedure Init;
begin
PressCTRL:= False;
Res:= False;
Switch:= False;
FirTargID:= 0;
SecTargID:= 0;
NGCP:= 0;
NGHP:= 0;
NSHP:= 0;
MaxHP:= 1;
MaxCP:= 1;
HP:= Round ((MaxHP/100)*Health);
TimerHP:=TTimer.Create(nil);
TimerHP.OnTimer:=@OnTimerHP;
TimerHP.enabled:= False;
TimerHP.interval:=15000;
TimerCP:=TTimer.Create(nil);
TimerCP.OnTimer:=@OnTimerCP;
TimerCP.Enabled:= False;
TimerCP.Interval:= 1000;
buf:=#$0F;
SendToServerEx(Name);
Say ('Cпам ЦП и ХП выключен');
Say ('ПВП режим не активен');
end;
//************************************************** ****************************

//************************************************** ****************************
// Вызывается при выключении скрипта
//************************************************** ****************************
procedure Free;
begin
TimerHP.Free;
TimerCP.Free;
end;
//************************************************** ****************************

//************************************************** ****************************
// Посылаем сообщение, которое видно только в окне бота
//************************************************** ****************************
Procedure Say(msg:string);
begin
buf:=hstr('4A 00 00 00 00');
WriteD(2);
WriteS(Name);
WriteS(msg);
SendToClientEx(Name);
end;
//************************************************** ****************************

//************************************************** ****************************
// Использование Вещей
//************************************************** ****************************
Procedure UseItem(OID: Integer);
begin
buf:= #$14;
WriteD(OID);
WriteD(00);
SendToServerEx(Name)
end;
//************************************************** ****************************

//************************************************** ****************************
// Востановление ХП
//************************************************** ****************************
Procedure OnTimerHP(Sender: TObject);
begin
if Switch then begin
UseItem (OidGHP);
Dec (NGHP);
end else begin
UseItem (OidSHP);
Dec (NSHP);
end;
end;
//************************************************** ****************************

//************************************************** ****************************
// Востановление ЦП
//************************************************** ****************************
Procedure OnTimerCP(Sender: TObject);
begin
UseItem (OidGCP);
Dec (NGCP);
end;
//************************************************** ****************************


//************************************************** ****************************
// Вызывается при приходе каждого пакета, если скрипт включен
//************************************************** ****************************
Begin

//************************************************** **************************
//************************************************** **************************
//Не обрабатываем пустые пакеты
If pck='' then exit;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Обрабатываем пакеты от сервера
If FromServer and (ConnectName=Name) then begin

//************************************************** ************************
//Если от сервака принят пакет UserInfo.
If (pck[1]=#$04) then begin
CharID:= ReadD(18);
i:= 2*(Length(Name))+ 72;
MaxHP:= ReadD(i);
CurHP:= ReadD(i);
MaxCP:= ReadD(length(pck)-49);
CurCP:= ReadD(length(pck)-45);
end;
//************************************************** ************************

//************************************************** ************************
//Если от сервака принят пакет StatusUpdate.
if (pck[1]=#$0E) and (pck[6]=#$04)then begin
CurHP:=ReadD(14);
MaxHP:=ReadD(22);
CurCP:=ReadD(30);
MaxCP:=ReadD(38);
end;
//************************************************** ************************

//************************************************** ************************
//Записываем ObjectID всех нужных предметов
if pck[1]=#$1B then begin
for i:= 0 to round(length(pck)/36) do begin
if (ReadH(i*36+4+8) = GCP) then begin
OidGCP:= ReadD(i*36+8);
NGCP:= ReadH(i*36+4+4+8);
end;
if (ReadH(i*36+4+8) = GHP) then begin
OidGHP:= ReadD(i*36+8);
NGHP:= ReadH(i*36+4+4+8);
end;
if (ReadH(i*36+4+8) = SHP) then begin
OidSHP:= ReadD(i*36+8);
NSHP:= ReadH(i*36+4+4+8);
end;
end;
end;
//************************************************** ************************

end;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Обрабатываем пакеты от клиента
If FromClient and (ConnectName=Name) then begin

//************************************************** ************************
//Уменьшеньки счетчика банок при использовании в игре
if (pck[1]= #$14) then begin
case ReadD(2) of
OidGCP: Dec(NGCP);
OidGHP: Dec(NGHP);
OidSHP: Dec(NSHP);
end;
end;
//************************************************** ************************

//************************************************** ************************
//Авто CTRL
if PressCTRL then begin
If(pck[1]=#$2F) then pck[6]:=#$01;
If (pck[1]= #$04) or (pck[1]= #$0A) then begin
FirTargID:= SecTargID;
SecTargID:= ReadD(2);
if (FirTargID = SecTargID) and (FirTargID<> 0) then pck[1]:=#$0A;
end;
end;
//************************************************** ************************

//************************************************** ************************
//Управление
if (pck[1]=#$38) and (pck[10]=#$03) then begin
case ReadS(2) of
'234': if Switch then begin
Say ('Врубили маленькие бутылки');
Switch:= False;
end else begin
Say ('Врубили большие бутылки');
UseItem(OidGHP);
Switch:= True;
end;
'123': if Res then begin
Say ('Cпам ЦП и ХП выключен');
TimerHP.Enabled:= False;
TimerCP.Enabled:= False;
Res:= False;
end else begin
Say ('Cпам ЦП и ХП включен');
Res:= True;
end;
end;
pck:='';
exit;
end;
//************************************************** ************************

//************************************************** ************************
//Активация ПВП режима
if (pck[1]=#$57) then begin
if PressCTRL then begin
PressCTRL:= False;
Say ('ПВП режим не активен');
end else begin
PressCTRL:= True;
Say ('ПВП режим активен');
end;
pck:='';
exit;
end;
//************************************************** ************************

//************************************************** ************************
//Уменьшеньки счетчика банок при использовании в игре
if (pck[1]= #$14) then
case ReadD(2) of
OidGCP: Dec(NGCP);
OidGHP: Dec(NGHP);
OidSHP: Dec(NSHP);
end;
//************************************************** ************************

end;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Условия начала востановления, запуск вотсановления

//************************************************** **************************
If Res then begin
//************************************************** ************************
//Активация востановления ЦП
if PressCTRL then begin
If (((CurHP+CurCP)/(MaxHP+MaxCP)*100)<= ResCP) then
if (CurCP>0) and (NGCP>0) then begin
if not TimerCP.Enabled then begin
TimerCP.Enabled:= True;
UseItem (OidGCP);
Dec (NGCP);
end;
end;
If (CurCP>=(MaxCP-200)) then
if TimerCP.Enabled then TimerCP.Enabled:= False;
end;
//************************************************** ************************

//************************************************** ************************
//Активация востановления ХП
if (CurHP <= HP) and (CurHP>0) then begin
if (not TimerHP.Enabled) then
if Switch then begin
if (NGHP>0) then begin
TimerHP.Enabled:= True;
UseItem (OidGHP);
Dec (NGHP);
end;
end else
if (NSHP>0) then begin
TimerHP.Enabled:= True;
UseItem (OidSHP);
Dec (NSHP);
end;
end else If TimerHP.Enabled then TimerHP.Enabled:= False;
//************************************************** ************************
end;
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************

End.
//************************************************** ****************************

Добавлено через 7 минут
А да чуть не забыл.
Управление:
123 в пати чат включение/выключение слежения за ЦП иХП
234 опять же в пати чат переключение между обычными НР и GHP банками (всё можно забить в макрос для удобства)
Клавиша B активация ПВП режима (не надо CTRL нажимать)

ну как и ожидалось не пашет, оно под с6 по твоему в интерлюде! коль с6 не существует

APXAHGEJI
13.05.2008, 20:50
А я говорю пашет)))
Я тестил его уже не раз. Спокойно выжирает ЦП банки.
Может не были выполнены условия начала использования ЦП.
За это отвечает константа ResCP. Мона поставить больше.
А можно изменить условия, это в самом конце под заголовком "Активация востановления ЦП".
Да и к тому же мониторинг ЦП и ХП по умолчанию выключены, для активации нужно в пати чат отправить 123

Добавлено через 1 минуту
Упс забыл, еще обязаловкой надо ПВП режим активировать 234 в пати чат))))

DashKAaa
14.05.2008, 09:10
А я говорю пашет)))
Я тестил его уже не раз. Спокойно выжирает ЦП банки.
Может не были выполнены условия начала использования ЦП.
За это отвечает константа ResCP. Мона поставить больше.
А можно изменить условия, это в самом конце под заголовком "Активация востановления ЦП".
Да и к тому же мониторинг ЦП и ХП по умолчанию выключены, для активации нужно в пати чат отправить 123

Добавлено через 1 минуту
Упс забыл, еще обязаловкой надо ПВП режим активировать 234 в пати чат))))

Никуя се просветил насчет 234, и 234 и 123 все пробовал ХП пьет цп не пьет, на каком сервере у тебя работаеТ? пади с4 какая нить сборка

APXAHGEJI
14.05.2008, 11:04
А ты прям таки на офе гамаешь, может это у тя С4 сборка.(тьфу на офе же камаэлька давно)))
Кароче можешь скока угодно залупаться и базарить о том что не рабоает, но если после определения в скрипте MaxCP и CurCP как из пакета UserInfo так и StatusUpdate поставишь
Say(IntToStr(MaxCP));
Say(IntToStr(CurCP));
И эта хрень будет выводить значеня твоего ЦП то значит скрипт не активирован или не достигнуты условия начала использования ЦП.
Пакет UserInfo приходит при нажатии Tab вместе с инвентарем так что эти значени должы вывестись сразу, а со StatusUpdate надо еще как то убавить значение ЦП.
И очень интересен такой вопрос, я не думаю что ты там что то переделывал(а) в мое скрипте связанное с ХП, а там у меня баг,
и хп то вот как раз использоваться никак не должно)) удивительно))

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

Добавлено через 1 минуту
Тока что проверил еще раз. ЦП работает.

Добавлено через 1 минуту
В моих условиях использования банок ЦП начинается если нету всего ЦП, и больше половины ХП

DashKAaa
14.05.2008, 12:10
А ты прям таки на офе гамаешь, может это у тя С4 сборка.(тьфу на офе же камаэлька давно)))
Кароче можешь скока угодно залупаться и базарить о том что не рабоает, но если после определения в скрипте MaxCP и CurCP как из пакета UserInfo так и StatusUpdate поставишь
Say(IntToStr(MaxCP));
Say(IntToStr(CurCP));
И эта хрень будет выводить значеня твоего ЦП то значит скрипт не активирован или не достигнуты условия начала использования ЦП.
Пакет UserInfo приходит при нажатии Tab вместе с инвентарем так что эти значени должы вывестись сразу, а со StatusUpdate надо еще как то убавить значение ЦП.
И очень интересен такой вопрос, я не думаю что ты там что то переделывал(а) в мое скрипте связанное с ХП, а там у меня баг,
и хп то вот как раз использоваться никак не должно)) удивительно))

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

Добавлено через 1 минуту
Тока что проверил еще раз. ЦП работает.

Добавлено через 1 минуту
В моих условиях использования банок ЦП начинается если нету всего ЦП, и больше половины ХП

и правду удивительно с ХП, а оно работает фантастика?? оОо а цп не работает,
да и на оффе уже давно не камаэль... умник)

APXAHGEJI
14.05.2008, 13:45
Ды мне пох че на оффе.
С хп сам(а) написал(а) что работает, а не должно.
Такое ощущение ты вообщемто уже и не хочешь что бы заработало.
Повторяю самое главное это чтобы поступала инфа о о состоянии ЦП, все остальное мона переделать без проблем, а чтобы узнать поступает ли она втавь в скрипте:
Say(IntToStr(MaxCP));
Say(IntToStr(CurCP)); хотя нафиг тя, лучше сам напишу.
Const
Name='Ник';
Health= 101;
ResCP= 101;
GCP= 5592;//Greater CP Potion
GHP= 1539;//Greater Healing Potion
SHP= 1061;

Var
NSHP, NGCP, NGHP, CharID, OidSHP, OidGHP, OidGCP,
MaxHP, CurHP, MaxCP, CurCP, FirTargID, SecTargID, i, HP: Integer;
TimerHP, TimerCP: TTimer;
PressCTRL, Res, Switch: boolean;

//************************************************** ****************************
// Вызывается при включении скрипта
//************************************************** ****************************
procedure Init;
begin
PressCTRL:= False;
Res:= False;
Switch:= False;
FirTargID:= 0;
SecTargID:= 0;
NGCP:= 0;
NGHP:= 0;
NSHP:= 0;
MaxHP:= 1;
MaxCP:= 1;
TimerHP:=TTimer.Create(nil);
TimerHP.OnTimer:=@OnTimerHP;
TimerHP.enabled:= False;
TimerHP.interval:=15000;
TimerCP:=TTimer.Create(nil);
TimerCP.OnTimer:=@OnTimerCP;
TimerCP.Enabled:= False;
TimerCP.Interval:= 1000;
buf:=#$0F;
SendToServerEx(Name);
Say ('Cпам ЦП и ХП выключен');
Say ('ПВП режим не активен');
end;
//************************************************** ****************************

//************************************************** ****************************
// Вызывается при выключении скрипта
//************************************************** ****************************
procedure Free;
begin
TimerHP.Free;
TimerCP.Free;
end;
//************************************************** ****************************

//************************************************** ****************************
// Посылаем сообщение, которое видно только в окне бота
//************************************************** ****************************
Procedure Say(msg:string);
begin
buf:=hstr('4A 00 00 00 00');
WriteD(2);
WriteS(Name);
WriteS(msg);
SendToClientEx(Name);
end;
//************************************************** ****************************

//************************************************** ****************************
// Использование Вещей
//************************************************** ****************************
Procedure UseItem(OID: Integer);
begin
buf:= #$14;
WriteD(OID);
WriteD(00);
SendToServerEx(Name)
end;
//************************************************** ****************************

//************************************************** ****************************
// Востановление ХП
//************************************************** ****************************
Procedure OnTimerHP(Sender: TObject);
begin
if Switch then begin
UseItem (OidGHP);
Dec (NGHP);
end else begin
UseItem (OidSHP);
Dec (NSHP);
end;
end;
//************************************************** ****************************

//************************************************** ****************************
// Востановление ЦП
//************************************************** ****************************
Procedure OnTimerCP(Sender: TObject);
begin
UseItem (OidGCP);
Dec (NGCP);
end;
//************************************************** ****************************


//************************************************** ****************************
// Вызывается при приходе каждого пакета, если скрипт включен
//************************************************** ****************************
Begin
//************************************************** **************************
//************************************************** **************************
//Не обрабатываем пустые пакеты
If pck='' then exit;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Обрабатываем пакеты от сервера
If FromServer and (ConnectName=Name) then begin

//************************************************** ************************
//Если от сервака принят пакет UserInfo.
If (pck[1]=#$04) then begin
CharID:= ReadD(18);
i:= 2*(Length(Name))+ 72;
MaxHP:= ReadD(i);
CurHP:= ReadD(i);
MaxCP:= ReadD(length(pck)-49);
CurCP:= ReadD(length(pck)-45);
Say(inttostr(MaxCP));
Say(inttostr(CurCP));
HP:= Round ((MaxHP/100)*Health);
end;
//************************************************** ************************

//************************************************** ************************
//Если от сервака принят пакет StatusUpdate.
if (pck[1]=#$0E) and (pck[6]=#$04)then begin
CurHP:=ReadD(14);
MaxHP:=ReadD(22);
CurCP:=ReadD(30);
MaxCP:=ReadD(38);
Say(inttostr(MaxCP));
Say(inttostr(CurCP));
end;
//************************************************** ************************

//************************************************** ************************
//Записываем ObjectID всех нужных предметов
if pck[1]=#$1B then begin
for i:= 0 to round(length(pck)/36) do begin
if (ReadH(i*36+4+8) = GCP) then begin
OidGCP:= ReadD(i*36+8);
NGCP:= ReadH(i*36+4+4+8);
end;
if (ReadH(i*36+4+8) = GHP) then begin
OidGHP:= ReadD(i*36+8);
NGHP:= ReadH(i*36+4+4+8);
end;
if (ReadH(i*36+4+8) = SHP) then begin
OidSHP:= ReadD(i*36+8);
NSHP:= ReadH(i*36+4+4+8);
end;
end;
end;
//************************************************** ************************

end;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Обрабатываем пакеты от клиента
If FromClient and (ConnectName=Name) then begin

//************************************************** ************************
//Уменьшеньки счетчика банок при использовании в игре
if (pck[1]= #$14) then begin
case ReadD(2) of
OidGCP: Dec(NGCP);
OidGHP: Dec(NGHP);
OidSHP: Dec(NSHP);
end;
end;
//************************************************** ************************

//************************************************** ************************
//Авто CTRL
if PressCTRL then begin
If(pck[1]=#$2F) then pck[6]:=#$01;
If (pck[1]= #$04) or (pck[1]= #$0A) then begin
FirTargID:= SecTargID;
SecTargID:= ReadD(2);
if (FirTargID = SecTargID) and (FirTargID<> 0) then pck[1]:=#$0A;
end;
end;
//************************************************** ************************

//************************************************** ************************
//Управление
if (pck[1]=#$38) and (pck[10]=#$03) then begin
case ReadS(2) of
'234': if Switch then begin
Say ('Врубили маленькие бутылки');
Switch:= False;
end else begin
Say ('Врубили большие бутылки');
UseItem(OidGHP);
Switch:= True;
end;
'123': if Res then begin
Say ('Cпам ЦП и ХП выключен');
TimerHP.Enabled:= False;
TimerCP.Enabled:= False;
Res:= False;
end else begin
Say ('Cпам ЦП и ХП включен');
Res:= True;
end;
end;
pck:='';
exit;
end;
//************************************************** ************************

//************************************************** ************************
//Активация ПВП режима
if (pck[1]=#$57) then begin
if PressCTRL then begin
PressCTRL:= False;
Say ('ПВП режим не активен');
end else begin
PressCTRL:= True;
Say ('ПВП режим активен');
end;
pck:='';
exit;
end;
//************************************************** ************************

//************************************************** ************************
//Уменьшеньки счетчика банок при использовании в игре
if (pck[1]= #$14) then
case ReadD(2) of
OidGCP: Dec(NGCP);
OidGHP: Dec(NGHP);
OidSHP: Dec(NSHP);
end;
//************************************************** ************************

end;
//************************************************** **************************
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************
//Условия начала востановления, запуск вотсановления

//************************************************** **************************
//If Res then begin
//************************************************** ************************
//Активация востановления ЦП
//if PressCTRL then begin
If (((CurHP+CurCP)/(MaxHP+MaxCP)*100)<= ResCP) then
if (CurCP>0) and (NGCP>0) then begin
if not TimerCP.Enabled then begin
TimerCP.Enabled:= True;
UseItem (OidGCP);
Dec (NGCP);
end;
end;
If (CurCP>=(MaxCP-200)) then
if TimerCP.Enabled then TimerCP.Enabled:= False;
//end;
//************************************************** ************************

//************************************************** ************************
//Активация востановления ХП
if (not TimerHP.Enabled) then begin
if (CurHP <= HP) and (CurHP>0) then
if Switch then begin
if (NGHP>0) then begin
TimerHP.Enabled:= True;
UseItem (OidGHP);
Dec (NGHP);
end;
end else
if (NSHP>0) then begin
TimerHP.Enabled:= True;
UseItem (OidSHP);
Dec (NSHP);
end;
end else if (CurHP=MaxHP) then TimerHP.Enabled:= False;
//************************************************** ************************
//end;
//************************************************** **************************

//************************************************** **************************
//************************************************** **************************

End.
//************************************************** ****************************

DashKAaa
14.05.2008, 14:28
Ды мне пох че на оффе.

тогда не умничай насчет что такое с6 и что такое камаэль

APXAHGEJI
14.05.2008, 14:59
А ты не епи мозг С6 нету

Добавлено через 9 минут
Так а в чем проблема, мне пох че на оффе, но это не значит что С6 существует)))
И вообще про офф говорилось в контексте вопроса о том, у кого из нас более лажовый серв)))
Но тема даже не о том.
Так работает последний выложенный мною скрипт?

ad01f
14.05.2008, 22:26
И да кстати, С6 не существует, хроники заканчиваются либо на 4 либо 5.
С5 последние. а все эти "С6" напоминают мне школьные годы и одного моего одноклассника, который писал римскими цифрами число 7 как IIIIIII и т.д. XXI век в его исполнении весело выглядел ) так же и с л2, если интерлюд - С6, камаель тогда что? С7 ? хеллбоунд С7.5 :) про грядущие апдейты подумать страшно )

DashKAaa
19.05.2008, 17:51
Так работает последний выложенный мною скрипт?
он съедать цп должен как только его тебе снесли? или только запускается поедание цп при открытие инвентори? или ты часть когда на обновление инвенторя вытер? у меня у самого был код, что при нажатие кнопочки запускалось поедание цп

Grinch
23.05.2008, 23:03
выложи пакет 04 от ИЛа и статусупдейт скажи сколько у тебя цп и хп без бафа или в том состоянии когда ты снифал пакеты, и мы посчитает смещение для твоего С6 :D, а на Иле должно работать.

Lamak
24.05.2008, 16:53
DashKAaa, Бля, если те6е не нравиться то ты во6ще можеш найух пойти. Человек тебе помочь пытаеться, а ты всё его гложеш мол он левый и его скрипт не ра6отает. Он мог во6ще ничего не выкладывать и тогда 6ы лапу сосала воо6ще.