Автоматизация заточки предметов до необходимого уровня by NLObP
Возможности скрипта
--------------------
+ Панель управления;
+ Затачиваем по очереди все предметы с ItemID пока не переломаем
или не заточим. Один предмет всегда остаётся.
Необходимо затариться оружием, заточками и валерьянкой.
Name='NLObP'; //Вписать сюда имя чара
//установить константу в зависимости от типа игры (С4 или Интерлюд)
interlude=true; //Interlude - true, C4 - false
Внимание!
Из комбобокса обязательно надо выбрать вещь, чтобы скрипт узнал
ID и количество, только потом ставить напротив галочку.
Галочки снимать не надо, если кончились заточки/вещи - можно сразу идти
покупать и продолжать заточку.
В инвентаре должно быть не менее двух одинаковых затачиваемых вещей, степень заточки значения не имеет
Скрипт распространяется как есть, и я не несу ответственности за то, что ВЫ натворили у себя, его используя.
Я и так переделываю) Я не хотел ничего плохого сказать, просто пишу ошибки, которые нашел. Еще столкнулся с одной проблемой, которую никак не могу решить. После того, как скрипт заточил все предметы, начитает неправильно определяться OID заточки. При заточке клиент отключен и соединение висит на L2Phx. Перестает приходить пакет 6F (ChooseInventoryItem), и скрипт юзает одну и ту же заточку. При включенном клиенте вроде все работает как надо. Нет мыслей, почему такое может происходить?
оид всегда одинаков вроде...мб дело не в ней, а в оснновм заточки, на который сбрасывает при сломе?
Расчитано в скрипте что на +0 бьет
Добавлено через 2 минуты Забродская, а ты сделай строку считатить из итемсид и вывести в лог. тогда 100% уверен будешь
__________________ На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 15.12.2012 в 22:11.
Причина: Добавлено сообщение
s:=4; ListCount:=ReadH(s); //количество итемов не должно превышать max! for i:=1 to maxitems do if (i<=ListCount) then begin BaseItems[i,1]:=ReadD(s); //(getObjectId()); BaseItems[i,2]:=ReadD(s); //(getItemId()); BaseItems[i,3]:=ReadD(s); //(getEquipSlot()); BaseItems[i,4]:=ReadQ(s); //(getCount); BaseItems[i,5]:=ReadH(s); //(getItem().getType2ForPackets()); BaseItems[i,6]:=ReadH(s); //(getCustomType1()); BaseItems[i,7]:=ReadH(s); //(isEquipped() ? 1 : 0); BaseItems[i,8]:=ReadD(s); //(getItem().getBodyPart()); BaseItems[i,9]:=ReadH(s); //(getEnchantLevel()); BaseItems[i,10]:=ReadH(s); //(getCustomType2()); BaseItems[i,11]:=ReadD(s); //(getAugmentationId()); BaseItems[i,12]:=ReadD(s); //(getShadowLifeTime()); BaseItems[i,13]:=ReadD(s); //(getTemporalLifeTime()); BaseItems[i,14]:=ReadH(s); //(0x01); BaseItems[i,15]:=ReadH(s); //(getAttackElement()); BaseItems[i,16]:=ReadH(s); //(getAttackElementValue()); BaseItems[i,17]:=ReadH(s); //(getDefenceFire()); BaseItems[i,18]:=ReadH(s); //(getDefenceWater()); BaseItems[i,19]:=ReadH(s); //(getDefenceWind()); BaseItems[i,20]:=ReadH(s); //(getDefenceEarth()); BaseItems[i,21]:=ReadH(s); //(getDefenceHoly()); BaseItems[i,22]:=ReadH(s); //(getDefenceUnholy()); BaseItems[i,23]:=ReadH(s); //(getEnchantOptions()[0]); BaseItems[i,24]:=ReadH(s); //(getEnchantOptions()[1]); BaseItems[i,25]:=ReadH(s); //(getEnchantOptions()[2]); BaseItems[i,26]:=ReadD(s); //(getVisualId());
Пытаюсь адаптировать данный скрипт под хроники lindvior)) Пока застрял в самом начале не пойму где сдвиг( Хавает правильно только 1й айтем) А дальше жуткие сдвиги
и чем там секс? тоже самое... только всего 2 варианта:
точка ушла, шмотка точнулась(сломалась)
шмотка точнулась(сломалась), точка ушла
поэтому можно даже не гонять цикл, а просто проверять эти два момента на айди предмета двумя if.