пользовалась l2phx.3.4.1.83,юзала скрипт на автоматизацию процесса заточки,успешно юзала к слову скачала отсюда еще 1 скрипт тоже на автоматизацию энчанта,он не работал,но суть проблемы что после него и старый почему то работать перестал) скрипт тот же.так же стоит галочка,но ничего не происходит)может кто имеет предположения по какой причине?
delphi Код:
const
nik='тут ник';
Enchant=9;
var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;
procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=8440;
Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=1134;
end;
procedure OnTimer01(Sender: TObject);
begincase key offalse: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;
procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;
beginif FromServer and(pck[1]=#$87)thencase ReadD(2)of0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and(pck[1]=#$19)then UseItem:=pck;
if FromClient and(pck[1]=#$D0)then SelectItem:=pck;
if FromClient and(pck[1]=#$5F)then EnchantItem:=pck;
if FromClient and(pck[1]+pck[2]=#$56#$0C)thenbegin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Смущает фраза "скрипт вроде включен" Проверьте внимательно включен или нет))
Добавьте в скрипт процедуру
Код:
procedure SendMsg2(Msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(Msg);
SendToClientEx(nik);
end;
А потом запихните в оба таймера команды SendMsg2('Событие: таймер 01'); и SendMsg2('Событие: таймер 02');
А также в логические условия if FromClient and (pck[1]=#$19) добавьте SendMsg2('Событие: пакет #$19'); и так дальше, во всех условиях.
Посмотрим что получится.
__________________
В любом из нас спит гений. И с каждым днем все крепче.
ох сложновасто хД щас попробую:Р
по вопросу вроде включен-так он действительно включен галочка стоит все нормально,он активируется первым соц действием,но теперь почему-то при нажатии этого первого действия оно ток машет руками и ничего не делает
а готовый скрипт теперь должен выглядеть примерно так?
delphi Код:
const
nik='ник тут:Р';
Enchant=9;
var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;
procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=5640;
Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=1320;
end;
procedure OnTimer01(Sender: TObject);
begincase key offalse: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
SendMsg2('Событие: таймер 01');
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;
procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
SendMsg2('Событие: таймер 01');
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;
procedure SendMsg2(Msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(Msg);
SendToClientEx(nik);
end;
beginif FromServer and(pck[1]=#$87)thencase ReadD(2)of0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and(pck[1]=#$19)then UseItem:=pck;
if FromClient and(pck[1]=#$D0)then SelectItem:=pck;
if FromClient and(pck[1]=#$5F)then EnchantItem:=pck;
if FromClient and(pck[1]+pck[2]=#$56#$0C)thenbegin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
[/quote]
и куда вставлять SendMsg2('Событие: пакет #$19');?:Р
[quote] if FromClient and(pck[1]=#$19)then UseItem:=pck;
SendMsg2('Событие: пакет #$19');
if FromClient and(pck[1]=#$D0)then SelectItem:=pck;
if FromClient and(pck[1]=#$5F)then EnchantItem:=pck;
if FromClient and(pck[1]+pck[2]=#$56#$0C)then
вот так? и во всех 4 далее?
сорь мб чушь написала немного не понимаю даж почти не немного
и посл вопрос:р для условия
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
строка будет уже
SendMsg2('Событие: пакет #$5F'); ?
спс что помогаете :РР
Последний раз редактировалось QaK, 22.08.2010 в 14:26.
Вот так будет. Сразу объясню зачем: увидим визуально работает ли скрипт и в каком моменте он дает сбой.
Код:
const
nik='ник тут:Р';
Enchant=9;
var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;
procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=5640;
Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=1320;
end;
procedure OnTimer01(Sender: TObject);
begin
SendMsg2('Событие: таймер 01');
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;
procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
SendMsg2('Событие: таймер 02');
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;
procedure SendMsg2(Msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(Msg);
SendToClientEx(nik);
end;
begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
SendMsg2('Событие: пакет #$87');
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: begin CurrentEnch:=0; SendMsg2('Событие: пакет #$87 fail en4ant');end;
end;
if FromClient and (pck[1]=#$19) then begin UseItem:=pck; SendMsg2('Событие: пакет #$19'); end;
if FromClient and (pck[1]=#$D0) then begin SelectItem:=pck; SendMsg2('Событие: пакет #$D0');end;
if FromClient and (pck[1]=#$5F) then begin EnchantItem:=pck; SendMsg2('Событие: пакет #$5F'); end;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
SendMsg2('Событие: пакет #$56 0С');
end;
end.
__________________
В любом из нас спит гений. И с каждым днем все крепче.
const
nik='Astery';
Enchant=9;
var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;
procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=5640;
Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=1320;
end;
procedure OnTimer01(Sender: TObject);
begin
SendMsg2('Событие: таймер 01');
case key offalse: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;
procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
SendMsg2('Событие: таймер 02');
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;
procedure SendMsg2(Msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(Msg);
SendToClientEx(nik);
end;
beginif FromServer and(pck[1]=#$87)thencase ReadD(2)of0: begin
SendMsg2('Событие: пакет #$87');
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: begin CurrentEnch:=0; SendMsg2('Событие: пакет #$87 fail en4ant');end;
end;
if FromClient and(pck[1]=#$19)thenbegin UseItem:=pck; SendMsg2('Событие: пакет #$19'); end;
if FromClient and(pck[1]=#$D0)thenbegin SelectItem:=pck; SendMsg2('Событие: пакет #$D0');end;
if FromClient and(pck[1]=#$5F)thenbegin EnchantItem:=pck; SendMsg2('Событие: пакет #$5F'); end;
if FromClient and(pck[1]+pck[2]=#$56#$0C)thenbegin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
SendMsg2('Событие: пакет #$56 0С');
end;
end.
вот) все равно ничего)сохранила в скриптах.обновила список,поставила галочку,жму первое соц действие и опять ничего) чар опять машет руками и усе почему не работает ваще не пойму
вру хД при соц действии ничего,как только руками делаю энчант в объявлениях пишет: Событие:пакет #$87 и больше ничего не происходит)
пс.код подредактировала:Р
Последний раз редактировалось Astery, 22.08.2010 в 14:33.
Причина: Добавлено сообщение
Добавлено через 2 минуты
дело в том,что когда скрипт работал,при нажатии приветствия ничего не происходило.Далее первый энчант руками,далее он сам)
теперь при нажатии приветствия чар действительно выполняет приветствие отчего это я никак не пойму)
Последний раз редактировалось Astery, 22.08.2010 в 14:39.
Причина: Добавлено сообщение
27 E9 92 0B 10 02 00 00 00
27 - SocialAction и 02 00 00 00 - id приветствия, здесь все правильно.
15 0C 00 00 00 00 00 00 00 00
15 - нету такого id пакета, и даже если расценивать что id=15 является пакетом SocialAction, то все равно 0C 00 00 00 никак не связать с соц действием приветствие. В общем не понятно что это за пакет.
Ну можно этим не заморачиватся, отказаться от использования соц действий. Включать процесс точения командой с чата например. Впишите вместо if FromClient and (pck[1]+pck[2]=#$56#$0C) then условие с пакетом Say2 и все.
ps: как видите, проблема возникла отнюдь не из за того что вы попытались использовать другой скрипт.
__________________
В любом из нас спит гений. И с каждым днем все крепче.
Переходим на протокол нового поколения jabber
Последний раз редактировалось J-Fobos, 22.08.2010 в 15:06.