Не умею, пардоньте... Может подскажете как? У нас на сервере есть Рыболов-Бот, но покупать его за бешенные цены... серв l2rx.com
Добавлено через 4 минуты
Ах да, еще нашел тему со скриптами на рыбалку, но вот незадача - немогу скачать, пишет:
Warning: copy(./downloads///ec_tmp/fishing_by_NLObP.zip) [function.copy]: failed to open stream: Permission denied in /downloads.php on line 700
ERROR: File not found.
Последний раз редактировалось Михаил111, 10.04.2010 в 19:37.
Причина: Добавлено сообщение
Нужна помощь в изменении скрипта помошник в PvP и PK. Попытался сделать пакеты на использование банок константами, но при старте скрипта ничего не происходит.
Код:
//by mks
//помошник в PvP и PK.
//пьет CP и HP пробирки в нужное время(можно добавить и MP для пвп серваков), и освобождает вас от небоходимости зажатия клавиши Ctrl, которая так меня раздражает!(думаю это раздражает и не только меня)
///////////////////////////////////////////////////////
///////////////Master PvP by MKS v.1.0/////////////////
///////////////////////////////////////////////////////
//после активации скрипта необходимо выпить сначала банку CP, потом HP для получения их ID
const
Name='kabUki'; //ник перса
PckUseCP='14 75 DC 4C 40 00 00 00 00';
PckUseHP='14 68 E6 4C 40 00 00 00 00';
var
CurHP,MaxHP,CurCP,MaxCP: integer;
CPuse,HPuse: string;
TimerCP,TimerHP: TTimer;
procedure Init; //Вызывается при включении скрипта
begin
TimerCP:=TTimer.Create(nil);
TimerCP.OnTimer:=@OnTimerCP;
TimerCP.enabled:=false;
TimerCP.interval:=1000; //интервал 1сек, т.к. чаще пить CP всеравно не будет, дабы не засорять трафик
TimerHP:=TTimer.Create(nil);
TimerHP.OnTimer:=@OnTimerHP;
TimerHP.enabled:=false;
TimerHP.interval:=15000; //интервал 15сек, т.к. действие одной бутылки = 15сек
end;
procedure OnTimerCP(Sender: TObject);
begin
buf:=HStr(PckUseCP);
SendToServerEx(Name);
end;
procedure OnTimerHP(Sender: TObject);
begin
buf:=HStr(PckUseHP);
SendToServerEx(Name);
end;
procedure Free; //Вызывается при выключении скрипта
begin
TimerCP.free;
TimerHP.free;
HPuse:='';
CPuse:='';
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
//пьем сначала CP, потом HP банку что б запомнить их ID(я решил взять эти пакеты целиком, дабы не усложнять)
// if FromClient and (ConnectName=Name) and (pck[1]=#$14) and (CPuse='') then CPuse:=pck;
// if FromClient and (ConnectName=Name) and (pck[1]=#$14) and (CPuse<>pck) and (HPuse='') then HPuse:=pck;
//считываем текущие и максимальные значения CP и HP
if FromServer and (pck[1]+pck[6]=#$0E#$04) then
begin
CurHP:=ReadD(14);
MaxHP:=ReadD(22);
CurCP:=ReadD(30);
MaxCP:=ReadD(38);
end;
//если вы используете не грэйтер CP то вместо 200 подставьте кол-во CP сколько восстанавливает 1 банка
//if (CurCP<MaxCP-200) and (CPuse<>'') then TimerCP.enabled:=true else TimerCP.enabled:=false;
//if (CurHP<MaxHP) and (HPuse<>'') then TimerHP.enabled:=true else TimerHP.enabled:=false;
if (CurCP<MaxCP-200) then TimerCP.enabled:=true else TimerCP.enabled:=false;
if (CurHP<MaxHP) then TimerHP.enabled:=true else TimerHP.enabled:=false;
//если используем скилы или заклинания добавляем флаг Ctrl, что б не надо было удерживать контрол
if FromClient and (ConnectName=Name) and (pck[1]=#$2F) then pck[6]:=#$01;
//если наводим таргет, повторное нажатие по нему подменивается на атаку, опять же что б не удерживать контрол
//if FromClient and (ConnectName=Name) and (pck[1]=#$04) then pck[1]:=#$0A;
end.
KaBuKi, недостаточно информации, давай более развернуто, что как делаешь, в какой последовательности, версия пакетхака/хроники сервера и все такое прочее
Использую l2phx.3.4.1.83, версия протокола 660. Собственно изначальный скрипт работает отлично, но мне не нравится там необходимость при старте скрипта выпивать банки СР и НР, для того чтобы сохранились пакеты использования банок. Соответственно эти пакеты я через "просмотр" перехватил, задал константы на эти пакеты, некоторые условия убрал (CPuse<>'', HPuse<>'') в оригинальном скрипте убрал. Впринципе, можно удалить переменные CPuse и HPuse. Как я понял при приходе пакета StatusUpdate из него извлекаются текущие и максимальные значения СР и НР, если выполняются неравенства, то запускается таймер и начинают отсылаться пакеты на использование банок, но почему-то они не используются. Части скрипта которые я изменил - закомментил, так что различия между моим скриптом и оригиналом видны сразу. При старте скрипта и изменении НР и СР ничего не происходит.
Последний раз редактировалось KaBuKi, 07.06.2010 в 11:21.
Пакет RequestUseItem по определению константным быть не может, т.к. содержит в себе ObjID - идентификатор объекта в инвентаре, который в свою очередь может меняться. При грамотном подходе к реализации подобного скрипта, следует отслеживать инвентарь, анализировать его содержимое, но не как не константами забивать пакеты.