Просмотр полной версии : min tochka 15
CapsLock
29.01.2010, 08:59
всем привет,будьте добры,нужна помощь.
я играю на серве и меня там всё устраивает даже ла2 phx робит) вот, но минус то что там пушки безопасно до 15 точятся и если она(пушка) ломается например на 16 то пушка не на 0 скидывается а остаётся на 15 и сразу же точишь на 16 её, будьте добры помогите разобраться, и la2phx точит но он наичнает "тупить")
Добавлено через 2 минуты
l2phx.3.4.1.61-это phx которым я вхожу в ла2 и щас покажу сам скрипт
Добавлено через 3 минуты
а не он не вместится)ну вы меня поняли надеюсь) что мне изменить подскажите плиз:)
так ты проверяй инвентори апдейт. там приходит значение модификации и указан уровен заточки. вот и поставь условие: 
если уровень заточки меньше 30, то 
точить; 
елсе 
радостно кричать в чате;
CapsLock
29.01.2010, 18:04
SeregaZ, я использую скрипт на автоточку nlobpa, я уже пытался в нём заменить некоторые данные, но у меня зависал phx.
Если нетрудно, можешь указать номера тех строчек, в которых нужно заменить данные и на что заменить, я скрипт подкорректирую.
Заранее благодарен
Breadfan
29.01.2010, 19:47
до +15 - 100% шанс заточки или как? подробнее опиши.
Просто есть варианты: а) 100% точится, б) возможен фейл, но уровень заточки не меняется, в) возможен фейл, заточка слетает на определенный уровень, г) возможен фейл, слетает на +0, д) возможен фейл, пуху - вдребезги :)
CapsLock
29.01.2010, 20:24
до +15-100% т к это безопасная точка) вот,если я точу на 16 и у меня ломается  то СКИДЫВАЕТ НЕ НА 0 А НА 15 и снова дальше,т е сломал пуху и с 15 начинай занова...точу блессами так что пуха не лопаеца))надеюсь понятно :)
какая разница слетела точка или заточилась? точить при любом раскладе пока не достингет 30 или сколько там нужно...
скрипт nlobpa не смотрел. у меня свой, мега кривой, местами не работающий - но я доволен, что сделал сам :) и боюсь, если ты о программировании не имеешь никакого представления - сам внести эти изменения не сможешь.
вот этот момент:
  if FromServer and (pck[1]=#$27) then begin
     
     if (pck[42]+pck[43]+pck[44]+pck[45]=HStr('67 09 00 00')) then begin       //купили новый. HStr('67 09 00 00') - айди по базе. что-то из ДК помойму.
        if (pck[34]+pck[35]=HStr('01 00')) then begin
        iditem:=pck[38]+pck[39]+pck[40]+pck[41];
        end;
        if (pck[34]+pck[35]=HStr('03 00')) then begin              //сломался. начинаем сначала.
        iditem:='0';
        idzatochka:='0';
        a:=1;
        end;
        if (pck[34]+pck[35]=HStr('02 00')) then begin            //заточился
           if (pck[60]+pck[61]=HStr('09 00')) then begin        //сравниваем не на +9 ли он заточился.
              iditem:='0';
              idzatochka:='0';
              a:=1;
              //Timer01.enabled:=false;  //если раскоментить - скрипт выключица на первом же +9 заточеном. если нет, то будет точить 2 екземпляр, потом 3, 5, 10 и до посинения...
              buf:=#$4A;
              WriteD(0);
              WriteD(10);
              WriteS('');
              WriteS('zatochil +9!');
              SendToClient; 
           end
           else begin
              idzatochka:='0';
              a:=8;
           end;
        end;
     end;
обрывок кода. тебе не поможет, но зато натолкнет на мысль как сделать свой. инвентори апдейт (27), незнаю как в твоих хрониках, на ява С4 - приходит с 2 позициями. 1 адена, 2 шмотка - а бывает наоброт сперва шмотка, потом адена - поэтому надо предусмотреть оба. мой пример - только один вариант предусмотрен.
Breadfan
29.01.2010, 20:58
до +15-100% т к это безопасная точка) вот,если я точу на 16 и у меня ломается  то СКИДЫВАЕТ НЕ НА 0 А НА 15 и снова дальше,т е сломал пуху и с 15 начинай занова...точу блессами так что пуха не лопаеца))надеюсь понятно :) ну тогда делай так:
#$87: begin
        if readd(2)=0 then begin
          msg.Lines.Add('Улучшили ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
          inc(good);
        end else begin
          msg.Lines.Add('Сломали ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
          inc(broken);
        end;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       CurEnchLvl:=0; //вот тут, вместо 0, ставь необходимое значение, т.е. 15
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      end;
какая разница слетела точка или заточилась? - разница в том, что твой скрипт точит по 1му предмету, т.е. сначала один на +10, потом 2ой на +10 и т.д, а скрипт от NL0Pb работает по другой последовательности
ну для меня все последовательности одинаковые - вопрос тупо во времени.
CapsLock
29.01.2010, 21:45
BreadFan спасибо на этом большое но тут ещё одна мелкая проблемка) я помоему разобрался немного помоги чуток это CurEnchLvl:=0; я нашёл эти надписи но их дофига по всему скрипту... какую мне именно строку изменить подскажи плизЗ)
Breadfan
29.01.2010, 22:14
BreadFan спасибо на этом большое но тут ещё одна мелкая проблемка) я помоему разобрался немного помоги чуток это CurEnchLvl:=0; я нашёл эти надписи но их дофига по всему скрипту... какую мне именно строку изменить подскажи плизЗ)в самом конце скрипта ищи    //Пакет ChooseInventory
    #$6F: if ready then begin //and (readd(2)=itemid)
      //ищем подходящий предмет для заточки
      timer.enabled:=false; //отключаем пока не найдем предмет для заточки
      repeat
        ItemOID:=GetItem(ItemID,CurEnchLvl);
        if ItemOID=0 then begin
          inc(CurEnchLvl);
          x:=x+1;
          Edit2.text:=inttostr(CurEnchLvl);
        end;
      until ItemOID<>0;
      //************************************************
      msg.Lines.Add('Пробуем улучшить ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID));
      RequestEnchantItem(ItemOID);
      ready:=false;
      timer.enabled:=true; //пока в тесте отключаем (вкл. после заточки предмета)
    end;
    #$81: if readd(2)=0 then begin
//вот тут меняй !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
          CurEnchLvl:=0; //начнем с начала
//------------------------------------------
          x:=x+1;
          end;
  end;
end. - менять только ее
CapsLock
30.01.2010, 10:26
всё работает спасибо!!!!
Прочитал как сделать, изменил как и пологаеться, только когда ламаеться одна вещь то он точит доконца 2ю...а когда и 2я ламаеться то зависает пнх...что делать ?
Breadfan
15.02.2010, 09:13
ну во-первых - "ломается", во-вторых "полагается", в - третьих - смотри лог при заточке, изучив его - сможешь понять, что именно скрипт (в твоем случае) делает не так
StopNarkotik
06.03.2010, 11:24
У меня та же фигня: Только при слетании заточки становится +4
В строке //        CurEnchLvl:=4; //начнем с начала. Расскоментировать для блессет скроллов
Поставил 4, все равно, ломает 1 шмотку и идет ко второй а не точит эту же. А если подряд 2 раза ломает(у меня 2 шмотки) то Phx виснит, подскажите что делать.
+1
согласен, изменение в строке не дало результата
Breadfan
07.06.2010, 15:17
А вы слеши ("//") в начале строки убрать не забыли?
А вы слеши ("//") в начале строки убрать не забыли?
конечно=)
вообщем прочитал 40 страниц обсуждения скрипта...и так не нашел решение своей проблемы
у меня сервер интерлюд
точиться только блесами
и если точка не проходит...то сбрасывается на "+3" а не на "0"
в инвентаре я имею 2 итема(кот будем точить) и много заточек...
нажимаю на старт скрипта enchant_by_NLObP (это кот для ИЛ и с4)
скрипт точит пока не сломает 2 итема и зависает
надеюсь на вашу помощь, т.к. в командах скриптов я не многое могу понять
мне бы хотелось, чтобы скрипт точил по алгоритму такому:
сначало точатся итемы до первого фейла кого-нибудь из них
т.е. например у нас заточилесь итемы на +5 но при след точке ломается итем...тогда скрипт точит тот который сломался пока он не станет +5
и только тогда будет продолжать точить 2 итема
vBulletin® v3.6.11, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot