Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Хэлп!!!Кач с 1-85 3 локи

Рег
6 Янв 2016
Сообщения
5
Реакции
0
Прошу помощи,

var obj: TL2NPC;
obj2: TL2Effect; buff:TL2buff;
Item,Item2,quest1,shots : TL2Item;Enemy: TL2Live;

Begin
while 1<>2 do begin

if User.Dead then // умер инт офф
Engine.FaceControl(0,false);
delay(5000);
Engine.gohome;
delay(5000);
if (User.Level >= 20) then
engine.facecontrol(0, false);
delay (5000);
// Тп в локу лвл 20-44(до45)
Engine.ByPassToServer('_bbshome', true);
delay (1000);
Engine.ByPassToServer('_bbspage:50', true);
delay (1000);
Engine.ByPassToServer('_bbspage:50-3', true);
delay (1000);
Engine.ByPassToServer('_bbspage:50-6', true);
delay (1000);
Engine.ByPassToServer('_bbsport:-53838 179285 -4640:50-3', true);
delay (5000);
//Загружаем зону
Engine.LoadZone('Forg20-44');
if user.inrange (-53838,179285,-4640,250,150)then
engine.facecontrol(0, true);



if (User.Level >= 48)then
Engine.facecontrol(0, false);
delay (5000);
// Тп в локу 50-60(до 65)
Engine.ByPassToServer('_bbshome', true);
delay (1000);
Engine.ByPassToServer('_bbspage:50', true);
delay (1000);
Engine.ByPassToServer('_bbspage:50-3', true);
delay (1000);
Engine.ByPassToServer('_bbspage:50-8', true);
delay (1000);
Engine.ByPassToServer('_bbsport:185395 20359 -3270:50-3', true);
delay (1000);
Engine.LoadZone('Sima65');

if (User.Level >= 65) and (User.Level < 66) then
Engine.facecontrol(0, false);

end;
end.



значить задача некст;
1 появились (лока1),на бафались(отдельный скрипт)
2 до качались до 20, инт офф (альт +б тп лока 2+зона)
3 апаем 48, инт офф (альт +б тп лока 3+зона)
4 апаем 65, инт офф (альт +б тп лока 4+зона)
5 качаемся до 84 и офф...
 
Чет маловато кода. Где проверки на то что вышли из боя чтобы тпшиться, где взятие профы, где закупка сосок/шмота/етс?

Clip2net_170117172245.png
проще всего сделать заготовленные функции, которые можно будет потом легко юзать в пару строчек, аля тп в альтб в одну строчку, экспинг до в 1 строчку, закупка, профа, етс.
 
я не программер, но хотелось бы чета сделать нормальное:)
огромный скрипт тут не нуженвсе через байпасы ну плюс пару проверок, я просто немогу вкурить почему он тпшется с одной локи в другую...туда сюда...
 
потому что условия написаны неверно. 65+ это и 20+ и 40+. надо условия задавать от и до.
Код:
while (engine.status=lsonline) do
    begin
        CheckDeath;
        
        if((user.level>=1) and (user.level<20)) then lvl1_20;
        if((user.level>=20) and (user.level<44)) then lvl20_44;
        if((user.level>=44) and (user.level<56)) then lvl44_56;
        if(user.level>=56) then FinalPreparations;
        
        delay(d);
    end;
 
эм,тааак) эту часть можно вставить в верху??? делай д?
 
delay(d) задержка в цикле что не "убивать" цп миллионом прохов цикла, ну и в документе удобно так все делаи потом редактировать через переменную. с условиями как пример, я каждый промежуток лвлов вынес в отдельные процедуры, в них уже берутся профы, шмот, делается тп, грузятся карты и фармятя мобы) в 20-30 строчек сложно будет написать прокачку 1-80, слабо себе представляю такое, чтобы работало безотказно :D
 
Еще вопрос, сюда же нид всунуть отказ от ивентов, ну чтоб не пропускал а просто отказывался от них жмакал "Нет", как это сделать?
 
Помню делал скрипт прохождения 1-й профы хуман визарда, так я тоже намучался с кусками кода, даже с комментариями путаешься в этой куче если все навалено сразу. Как уже выше написали. самый лучший вариант это разбить скрипт на множество маленьких процедур и запускать их по порядку. Заодно удобно отлаживать, если где какая ошибка или косяк, сразу будет видно, где скрипт застопорился.
 
Не хотел отдельную тему создавать.... Подскажите как от эвентов отказываться? Байпасами не ловиться окошко
 
SideLex написал(а):
Еще вопрос, сюда же нид всунуть отказ от ивентов, ну чтоб не пропускал а просто отказывался от них жмакал "Нет", как это сделать?

slivers написал(а):
Не хотел отдельную тему создавать.... Подскажите как от эвентов отказываться? Байпасами не ловиться окошко
procedure acceptDialogs;
begin
print('[Thread] Auto decline dialogs activated');
while Engine.Status=lsOnline do
begin
Engine.ConfirmDialog(false);
Delay(3000);
end;
end;
как костыль, но так можно и от реса отказаться.

запускать офк через новый поток в главном теле.
Код:
begin
  script.newThread(@acceptDialogs);
end.
 
@SoundShocking,

uses SysUtils;


function MessageBoxW(hWnd: integer; Text, Caption: PChar; uType: integer): integer; stdcall; external 'user32.dll';

var dialog: string;

procedure acceptDialogs;
begin
while 1<>2 do begin
print('[Thread] Auto decline dialogs activated');
while Engine.Status=lsOnline do
begin
Engine.ConfirmDialog(false);
Delay(3000);
end;
end;
end;




var obj: TL2NPC;
obj2: TL2Effect;
Item,Item2,quest1,shots : TL2Item;
Enemy: TL2Live;

procedure kach;

Begin
while 1<>2 do begin
Engine.ConfirmDialog(false);


if User.Dead then
Engine.FaceControl(0,false);
delay(5000);
Engine.gohome;
delay(5000);
end;


if not User.Buffs.Byid(275, Obj2)
then begin
Engine.FaceControl(0,false);


Engine.BypassToServer('_bbshome', True) ;
delay(100);
Engine.BypassToServer('_bbsbuff', True) ;
delay (100);
Engine.BypassToServer('_bbsbuff:hotbuff buff_index Player 1_buffSet_1', True) ;
delay(2000);
end;

Engine.SetTarget(32319);
Engine.DlgOpen();
delay(2000);
Engine.DlgSel(01);
delay(2000);

Engine.FaceControl(0,true);
delay (1000)

end;



begin
script.newThread(@acceptDialogs);
script.newThread(@kach);

end.

вообщем что то мудрил... компилятор пропускает но отмена от реги на твт нет
 
slivers написал(а):
вообщем что то мудрил... компилятор пропускает но отмена от реги на твт нет
чет шок-контент, а не код.

зачем цикл в цикл засовывать?

procedure acceptDialogs;
begin
while 1<>2 do begin
print('[Thread] Auto decline dialogs activated');
while Engine.Status=lsOnline do
begin
Engine.ConfirmDialog(false);
Delay(3000);
end;
end;
end;
[warning]
Помещайте код под тег "код". Так будет удобнее ориентироваться.
-Voices.​
[/warning]




и ты засунул бесконечный цикл с отменой диалогов еще в кач и там ничего кроме этого не работает, да?) почитай тогда про потоки, для понятия чего ты делаешь. процедура выполняется параллельно и не нужно засовывать код везде. насчет отмены то на хфе все нормально работает и зачем отменять регу? если не отменить улетишь на ивент? можно в альт+б еще раз регнуться и тем самым отменить регистрацию.
 
скрипт на кач работает нормально рега не отменяется даже если я чисто твой кусок кода ставлю... отмена нужна, что бы чар не ловил бан. Я так понял на сервере это что то вроде капчи
 
ну значит на сервере что-то поменяли или это не диалог. копай документацию или ищи другие методы) ох уж эти интерлюды.
 
@SoundShocking, это не ил, а хф... вечером сделаю скрин.... может прояснит )) всяко огромное тебе спасибо за помощь и потраченное время
 
Назад
Сверху