PDA

Просмотр полной версии : 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 минуты
а не он не вместится)ну вы меня поняли надеюсь) что мне изменить подскажите плиз:)

SeregaZ
29.01.2010, 15:42
так ты проверяй инвентори апдейт. там приходит значение модификации и указан уровен заточки. вот и поставь условие:
если уровень заточки меньше 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 начинай занова...точу блессами так что пуха не лопаеца))надеюсь понятно :)

SeregaZ
29.01.2010, 20:41
какая разница слетела точка или заточилась? точить при любом раскладе пока не достингет 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 работает по другой последовательности

SeregaZ
29.01.2010, 21:33
ну для меня все последовательности одинаковые - вопрос тупо во времени.

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
всё работает спасибо!!!!

Source
14.02.2010, 17:33
Прочитал как сделать, изменил как и пологаеться, только когда ламаеться одна вещь то он точит доконца 2ю...а когда и 2я ламаеться то зависает пнх...что делать ?

Breadfan
15.02.2010, 09:13
ну во-первых - "ломается", во-вторых "полагается", в - третьих - смотри лог при заточке, изучив его - сможешь понять, что именно скрипт (в твоем случае) делает не так

StopNarkotik
06.03.2010, 11:24
У меня та же фигня: Только при слетании заточки становится +4
В строке // CurEnchLvl:=4; //начнем с начала. Расскоментировать для блессет скроллов
Поставил 4, все равно, ломает 1 шмотку и идет ко второй а не точит эту же. А если подряд 2 раза ломает(у меня 2 шмотки) то Phx виснит, подскажите что делать.

1pk1ss
07.06.2010, 14:59
+1
согласен, изменение в строке не дало результата

Breadfan
07.06.2010, 15:17
А вы слеши ("//") в начале строки убрать не забыли?

1pk1ss
07.06.2010, 15:59
А вы слеши ("//") в начале строки убрать не забыли?

конечно=)

вообщем прочитал 40 страниц обсуждения скрипта...и так не нашел решение своей проблемы

у меня сервер интерлюд
точиться только блесами
и если точка не проходит...то сбрасывается на "+3" а не на "0"
в инвентаре я имею 2 итема(кот будем точить) и много заточек...
нажимаю на старт скрипта enchant_by_NLObP (это кот для ИЛ и с4)
скрипт точит пока не сломает 2 итема и зависает

надеюсь на вашу помощь, т.к. в командах скриптов я не многое могу понять

мне бы хотелось, чтобы скрипт точил по алгоритму такому:

сначало точатся итемы до первого фейла кого-нибудь из них
т.е. например у нас заточилесь итемы на +5 но при след точке ломается итем...тогда скрипт точит тот который сломался пока он не станет +5
и только тогда будет продолжать точить 2 итема