Просмотр полной версии : Скрипт на заточку
neonv1, спасибо, нашел. Теперь как бы автоматизировать получение SP и Exp ;)
neonv1, спасибо, нашел. Теперь как бы автоматизировать получение SP и Exp ;)
Юзай бота:p
Estetique
28.10.2009, 14:52
Блин уже из себя вышел, он тупо не видит itemsid.ini вообще его не признает . . .
всё врем вот это в окошке натсройки скрипта:
Автоматизация заточки by NLObP для Грации!
itemsid.ini не найден!
Все скрипты работают всё норм с настройками, итемсид.ини специальный просто не нашел среди кучи всего(что то видел про то что не совпадает и так далее)
ПХ версии 3.5.26.148
Помогите, что делать . . .
QawaiMao
29.10.2009, 01:51
Вот тоже проблемка! Выдает ошибку при нажатии на галочку. Сервер GF
http://s42.radikal.ru/i095/0910/ed/c2708440bd0dt.jpg (http://radikal.ru/F/s42.radikal.ru/i095/0910/ed/c2708440bd0d.jpg.html)
привет народ. я в скриптовании плохо разбераюсь, просто редактирую готовые ито иногда, а вот с выложиными скриптами на заточку у меня нечего вообще неполучается. перепробовал все, уже начал путаться какой из них кто, но так не один и непошёл. играю на грации фенал и первое что заметил у вас в скриптах ток 2 раздела : 1 - использование скрола, 2 - заточка вещи. я юзаю l2phx 3.4.1.83 в нём 3 раздела при заточке 1 - CharacracterCreate(активаци скрола заточки), 2 - RequestAnswerJoinParty(кладу пуху в окне заточки) и 3 - requestPledgelnfo(конечный результат "+" " - " . подскажити может другую версю взять или скрит если есть другой подкинте. сразу скажу что 3,2,0 ник неопределяет, инструкцию соблюдаю.:confused::confused::confused::confused:: confused: на утро
в скрипте правильно укажите путь к итемсИД.ини вот и всё...
Привет всем,помогите пожалуйтса со скриптом,при старте не видит айди предметов,использую скрипт во вложении,там же есть логи пакетов l2phx(с удачным вариантом заточки и неудачным),скажите что нужно заменить или переписать,заранее спасибо:good:
ЗЫ:грация финал
Hastelo,
у тебя на сервере наверно другой ItemID у предметов.
так что бери и открывай файл itemname в
папке system
найди название предмета и его id
и пропиши в файле ItemsID в папке с l2phx
добавил айди пухи...толку 0,заточка уже есть айди соответствует,имеет значение по русски писать или нет?просто стандартый itemsid там все по русски,пуху написал по английски
Добавлено через 15 часов 6 минут
поможет ктонибудь?оч надо....что нужно будет выложу...
Hastelo,
а другие скрипты попробуй.
неа толку ноль уже все что есть пробывал:(
Приветы всем.
Испольую скрипт NlobP версия 0.7 от 20.07.2008.(Сервер Interlude), дело в том, что вещь при сточке, стачивается не на 0, а на 15, и когда это происходит зависает пакетхак, тему читал, так и не понял как с этим бороться, значения в CurEnchLvl менял на 15, не помогает, все равно зависает, я так понял это у многих, кто-нибудь решил эту проблему?
Что никто не решил? Если нет, напишите каими скриптами пользуетесь, буду признателен.
nneett,
я вместо этого
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
CurEnchLvl получаю в InventoryUpdate для определенного ItemOID
Это как раз эффективно когда точишь блесс точками.
Что нужно изменить в скрипте для того,чтобы он точил 1 вещь,а не по очереди? Хроники Interlude.Вроде версия скрипта 0.5 должна точить 1 вещь?Если да,то прошу выложить эту версию.
Добавлено через 18 минут
Все разобрался,теперь проблема со сбросом заточки.Сбрасывает на 3,после этого программа зависает.Вобщем проблема такая же как у nneett
Добавлено через 24 минуты
nneett,
я вместо этого
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
CurEnchLvl получаю в InventoryUpdate для определенного ItemOID
Это как раз эффективно когда точишь блесс точками.
Обьясни пожалуйста поподробнее,что нужно сделать,чтобы все работало нормально?
Я не знаю как правильно объяснить и тут надо полностью просмотреть скрипт но в общем для 9 скрипта
в процедуре InventoryUpdate:
после строчек
EnchantLevel:=ReadH(j);
CustType2:=ReadH(j);
AugmentationID:=ReadD(j);
вставь
if (UpdType=2) and (ObjectID=ItemOID) then CurEnchLvl:=EnchantLevel;
в процедуре CheckBoxItem_Click и ComboBoxItem после
ItemOID:=BaseItems[ComboBoxItem.ItemIndex+1,2];
ItemID:=BaseItems[ComboBoxItem.ItemIndex+1,3];
вставь CurEnchLvl:=BaseItems[ComboBoxItem.ItemIndex+1,10];
По убирай везде где есть
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
и другие присвоения CurEnchLvl. А также всякие проверки на сломанность оружия, все равно блессами точишь.
Я не знаю как правильно объяснить и тут надо полностью просмотреть скрипт но в общем для 9 скрипта
в процедуре InventoryUpdate:
после строчек
EnchantLevel:=ReadH(j);
CustType2:=ReadH(j);
AugmentationID:=ReadD(j);
вставь
if (UpdType=2) and (ObjectID=ItemOID) then CurEnchLvl:=EnchantLevel;
в процедуре CheckBoxItem_Click и ComboBoxItem после
ItemOID:=BaseItems[ComboBoxItem.ItemIndex+1,2];
ItemID:=BaseItems[ComboBoxItem.ItemIndex+1,3];
вставь CurEnchLvl:=BaseItems[ComboBoxItem.ItemIndex+1,10];
По убирай везде где есть
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
и другие присвоения CurEnchLvl. А также всякие проверки на сломанность оружия, все равно блессами точишь.
09 это для Грации,а мне для Interlude нужно.Но щас попробую.
Добавлено через 17 минут
Попробывал,в итоге ошибку в скрипте какую-то выбивало,короче скрипт испортился.Есть еще какие-то предложения или может ты сам попробуешь исправить?А то у меня может просто не получается.
if Getitem(57,3,4)=2000000000 then begin
buf:=Пакет на юзание скила;
SendToServerEx(Name);
end;
Вставь напимер в процедуре InventoryUpdate
if Getitem(57,3,4)=2000000000 then begin
buf:=Пакет на юзание скила;
SendToServerEx(Name);
end;
Вставь напимер в процедуре InventoryUpdate
Я вставил,оно ошибку выделяет в скрипте,выделяет начало пакета на использование скилла.
if Getitem(57,3,4)=2000000000 then begin
buf:=hstr('39 1B 01 00 00 00 00 00 00 00');
SendToServerEx(Name);
end;
пакет скила
39 1B 01 00 00 00 00 00 00 00
замени на свой
Все работает,спасибо.
Добавлено через 13 часов 5 минут
Возник еще 1 вопрос,как к этому прилепить еще использование МР?Нужно вот что:
1)Использовал банку МР
2)Заюзал скилл
3)Использовал банку МР
4)Купил заточки
у меня ненаходит вещ и заточку что сделать?
Hisom,
прочитать тему.
вопрос задавали 1000000000000000000000000000 раз
ты думаеш я понимаю чё вы пишите?)
Hisom,
ты думаеш я понимаю чё вы пишите?)
ТОГДА КАК ПОЙМЕШЬ ОТВЕТ ?????????????
по русски как нибуть обьясните и всё
tiranosaur
22.11.2009, 18:29
А как переделать его чтобы после предположим двух поломок точилась другая весчь? зараннее спс.
nneett,
я вместо этого
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
CurEnchLvl получаю в InventoryUpdate для определенного ItemOID
Это как раз эффективно когда точишь блесс точками.
Если убрать эти строчки, то не идет проверка на сколько заточена вещь и он точит, пока точки не закончатся. А так, так же зависает, при сбросе точки не на 0, а на 15.
tiranosaur
26.11.2009, 04:52
Ты не понял. мне нужно чтобы после двух поломок вещи Дгрейда точилась Ыгрейд весчь.
tiranosaur,
просто напиши скрипт
nneett, естественно я же написал что curenchlvl получаю из пакета InventoryUpdate. В нем после каждой заточки приходит изменения предмета, в том числе и уровень заточки
tiranosaur
28.11.2009, 01:13
TAMBIK, Я не умею писать скрипты((( я умею отлаживать находить ошибки. А творчество, к сожалению, у меня не получается. Можешь помоч?
А как переделать его чтобы после предположим двух поломок точилась другая весчь? зараннее спс.
долго делать
HonestComrade
10.12.2009, 02:49
вот тут проблема...
сервер С4, пробую настроить всё... как только не старался, одно и тоже получается...
http://i021.radikal.ru/0912/10/febb429843ad.jpg (http://www.radikal.ru)
Добавлено через 44 секунды
itemsid.ini не найден!
и так всё время
HonestComrade,
ответов на такой вопрос дано много
если влом читать тему
ТО
есть поиск по теме
HonestComrade
10.12.2009, 11:22
Сообщение форума
Извините, нет совпадений. Попробуйте указать другие ключевые слова...
вообщем я нашел одну статейку по этому поводу, там надо itemname.dat
прочитать и копировать что надо..
Вот только чем конкретно можно открыть этот Dat файл...
только так, что бы корректно отображалось всё там... а то одни каракули...
даже через Adobe reader, microsoft office word...
HonestComrade,
Вот только чем конкретно можно открыть этот Dat файл...
специальные программы
гугль поможет
L2FileEdit потом Microsoft Exel. Удаляешь не нужное. Ставишь = между name и itemid
Подскажите тоже самое - itemsid.ini
Где находится этот файл и как его настроить?
Жду помощи
Спс я понял его я уже пытался переделать, не было пару Д грейд пух, дописал( митрил даггер - появился) - сам PX определяет АЙПИ итемов моих, а почему в панельке пусто как на скрине? подскажи плиз.
Посмтри скрин, ломаю вешь он ее определяет ID, в логах тоже видит название ID, но почему тут пусто - глянь скрин
СПС биг всем кто трудится в этой теме, немного разобрался с файлами DAT, ini так что пока удачно работает, я полностью скопировал все с dat и заменил в файле ItemsID (по частям что надо не работало), ток поставил =, как выше написано, правда название итемов нет пустое место но на угад тоже секунда дела(200 точек, внизу 2 пухи)
Скрипты рабочие "by NLObP" - отдельный респект!!!:good: и "TAMBIK"
alexteam
16.12.2009, 12:14
BOTt, можно тупой вопрос ? а в папке settings пх нужной инишки нет ? не ?
перенеси ее в корень пх. либо полный путь к ней в скрипте пропиши... второе желательней.
При загрузке скрипта.
Access violation at address 132ABC98 in module 'l2pbx.exe'. Read of address 00000000.
и он не работает.
Срвер С6(интерлюд)
При загрузке скрипта.
Access violation at address 132ABC98 in module 'l2pbx.exe'. Read of address 00000000.
и он не работает.
Срвер С6(интерлюд)
куда ты его грузишь ?????
запускаю l2phx.3.5.32.163 там с криптах запускаю его открывается окошко, итемБокс пустой сразу вылазиет эта ошибка.
Добавлено через 1 час 3 минуты
Помогите со скриптов на С:(интерлюд) сервер la2-wos.ru
Уже 6-7 скриптов перепробовал которые на форуме были и не один не заработал.
заранее спасибо.
//Qak:Никто не поможет тебе, кроме себя самого © Кто-то там знаменитый
ChernoTrop
23.12.2009, 09:07
скрипт на заточку EnchantFixForGFbeta , играю на сервере ГФ.
вроде всё правильно делаю , но при нажатии СТАРТ ничего не происходит.
подскажите , возможно где то что то я всётаки не так зделал ?
ps12
вот ответ
BOTt, можно тупой вопрос ? а в папке settings пх нужной инишки нет ? не ?
перенеси ее в корень пх. либо полный путь к ней в скрипте пропиши... второе желательней.
сделать так ищем в скрипте :
//RequestItemList вызываем инвентарь
buf:=hstr('14');
SendToServerEx(Name);
StringList:=TStringList.Create;
ItemsName:=TStringList.Create;
try
ItemsName.LoadFromFile('itemsid.ini');
except
msg.Lines.Add('itemsid.ini не найден!');
exit;
второе желательней.
пишем так :
ItemsName.LoadFromFile('settings\ItemsID.ini');
что делать если скрипт на заточку не загружает итемс айди?
что делать если скрипт на заточку не загружает итемс айди?
ПРОЧИТАТЬ ТЕМУ !
скрипт неработает. Серв гф, вот что в папке систем прописано на интересующий меня пердмет:
6608 Посох Тайн Проницательность <Свойство Кристалла Души>\n Увеличивает Скор. Маг. На 15%. Увеличивает урон в PvP. -1 0 0 0 0 0 1
А вот что в ItemsID:
6608=Посох Тайн
ID одинаковые но почему скрипт нивидит ни пухи ни точек, ни вобще ничего? интентарь и чара настраивал в скрипте, перепробывал абсолютно все скрипты!
http://i057.radikal.ru/1001/c8/1f77bfcb9855t.jpg (http://radikal.ru/F/i057.radikal.ru/1001/c8/1f77bfcb9855.bmp.html)
по возможности скиньте ктонить более-менее свежий пакетхак с скриптами сразу рабочими. мб поможет:)
по возможности скиньте ктонить более-менее свежий пакетхак с скриптами сразу рабочими.а губозакатывающую машинку?
если
скрипт нивидит ни пухи ни точек
означает лишь одно - или разбор пакета на инвентарь некорректно( не те смещения) или ИД пакета инвентаря не то, которое, на самом деле.
newworld
12.01.2010, 13:04
скрипт нивидит ни пухи ни точек
Попробуй убрать(поставить) галочку: Показывать смещение в Hex
для Грации можно взять здесь
Скачал данный скрипт. Как сделать чтобы он не "останавливался" при поломке всех итемов??? Точу блессед точками.
Опишу, навсякий, проблему:
Точиться все отлично, но при поломке итема скрипт перестает его брать в расчет. Когда же последний итем ломатеся, то игра зависает.
Добавлено через 20 часов 28 минут
решил сделать так:
case заключил в цикл:
repeat
case pck[1] of
//......................................
#$11: begin
//debugmsg('S>C Пакет ItemListPacket #$11');
ItemList;
end;
//......................................
#$21: begin
//debugmsg('S>C Пакет InventoryUpdate #$21');
InventoryUpdate;
end;
//......................................
//Пакет ChooseInventory
#$7C: begin
flag7C:=false;
if ready then begin //and (readd(2)=itemid)
//ищем подходящий предмет для заточки
timer.enabled:=false; //отключаем пока не найдем предмет для заточки
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
//************************************************
if (CurEnchLvl>=strtoint(Edit1.Text)) then begin
msg.Lines.Add('Нет подходящих предметов для улучшения! Прервано!');
msg.Lines.Add('Достигли MaxEnchLvl!');
timer.enabled:=false;
ready:=false;
delay(500);
RequestEnchantItem(-1);
exit;
end else begin
msg.Lines.Add('Пробуем улучшить ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
flag7c:=true;
ready:=false;
timer.enabled:=true;
delay (500);
exit;
end;
end;
end;
#$FE: begin
if pck[2]=#$81
then begin
flagFE:=true;
delay (2000);
exit;
end;
end;
#$87: begin
if readd(2)=0
then begin
msg.Lines.Add('Улучшили ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(good);
flag87:=true;
delay (500);
exit;
end
else begin
msg.Lines.Add('Сломали ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(broken);
flag87:=true;
delay (500);
exit;
end;
end;
end;
until CurEnchLvl><0; //начнем с начала. Расскоментировать для блессет скроллов
if flag7C=true
После компилироавния ставит курсор перед последним end что это значит???
Откомментируйте пожалуйста.
newworld
12.01.2010, 14:31
case pck[1] of
//......................................
#$11: begin
//debugmsg('S>C Пакет ItemListPacket #$11');
ItemList;
end;
//......................................
#$21: begin
//debugmsg('S>C Пакет InventoryUpdate #$21');
InventoryUpdate;
end;
//......................................
//Пакет ChooseInventory
#$7C: begin
flag7C:=false;
if ready then begin //and (readd(2)=itemid)
//ищем подходящий предмет для заточки
timer.enabled:=false; //отключаем пока не найдем предмет для заточки
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
//************************************************
if (CurEnchLvl>=strtoint(Edit1.Text)) then begin
msg.Lines.Add('Нет подходящих предметов для улучшения! Прервано!');
msg.Lines.Add('Достигли MaxEnchLvl!');
timer.enabled:=false;
ready:=false;
delay(500);
RequestEnchantItem(-1);
exit;
end else begin
msg.Lines.Add('Пробуем улучшить ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
flag7c:=true;
ready:=false;
timer.enabled:=true;
delay (500);
exit;
end;
end;
end;
#$FE: begin
if pck[2]=#$81
then begin
flagFE:=true;
delay (2000);
exit;
end;
end;
#$87: begin
if readd(2)=0
then begin
msg.Lines.Add('Улучшили ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(good);
flag87:=true;
delay (500);
exit;
end
else begin
msg.Lines.Add('Сломали ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(broken);
flag87:=true;
delay (500);
exit;
end;
end;
end;
CurEnchLvl:=0; //начнем с начала. Расскоментировать для блессет скроллов
if flag7C=true
После компилирования строка с CurEnchLvl:=0; выделяется красным.
Что делать????
PS красным выделены мои дополнения, изменения.
alexteam
12.01.2010, 14:36
"CurEnchLvl<>0" <> "CurEnchLvl><0"
и вообще.. переменная обявлена ?
newworld
12.01.2010, 15:02
Вообщем, у кого проблем прочитайте сначало 30 страниц:)))
Решил проблему по примерам со 3й страницы!!!Хотя вроде до этого прочитал страниц 10
Breadfan
13.01.2010, 04:19
Вообщем, у кого проблем прочитайте сначало 30 страниц:)))
Решил проблему по примерам со 3й страницы!!!Хотя вроде до этого прочитал страниц 10пффффф а почему ж ты сразу с начала не читал?
to MUKO - такой бред может быть при неверном разборе пакета инвентаря - в аську стукни мне - глянем вместе
"CurEnchLvl<>0" <> "CurEnchLvl><0"
и вообще.. переменная обявлена ?
- нет похоже :) там же сказано - "его дополнения, изменения" .....там вообще блока объявления переменных нету - что является инновацией в области языков программирования...компилятор сам догадывается что, и как ему использовать
ЗЫ: Всем привет и снова здравствуйте! В армию гады брать меня не захотели, с женой развелся, старую работу бросил (охренеть - жизнь заново начал))) так что опять я буду тут :( а так хотел назад, к родным ВВСовцам((( но, "...язва, батенька..."...
//QaK:привет-привет =)
плз обьесните скрипт работает но када блесками пыхает дальше нехочет работать и все зависает P.S. скидываеться не на 0 а на 3
Breadfan
14.01.2010, 09:15
#$81: if readd(2)=0 then begin
//CurEnchLvl:=0; //начнем с начала
x:=x+1;
end;
вот тут вроде смотреть тебе надо
newworld
15.01.2010, 13:41
пффффф а почему ж ты сразу с начала не читал?
я с начала читал, просто в скрипты не вглядывался. Не смотрел, что переделывали в выложенных NLObPом скриптах на точку.
нет похоже там же сказано - "его дополнения, изменения" .....там вообще блока объявления переменных нету - что является инновацией в области языков программирования...компилятор сам догадывается что, и как ему использовать
да, не была задана CurEnchLvl, моя ошибка не посмотрел. А весь скрипт толку выкладывать, копипастом заниматься???
плз обьесните скрипт работает но када блесками пыхает дальше нехочет работать и все зависает P.S. скидываеться не на 0 а на 3
Я же написал ::::
Решил проблему по примерам со 3й страницы!!!
Вообщем PeageHT прочитай первые страницы и в скрипты изменненые вглядись может тебе тоже в голову придет что-то ;)
Breadfan
16.01.2010, 08:10
да, не была задана CurEnchLvl, моя ошибка не посмотрел. А весь скрипт толку выкладывать, копипастом заниматься???
- вообще-то, необходимо полностью, мало ли - ты гдето просто опечатку допустил и все, объявил переменную, но имя чуть другое дал - этого не увидеть без просмотра скрипта целиком
Тему я прочитал но решение свой проблемы я так и не нашол..
Заключается она в следующем: криво отображается инвентарь в ComboBox, присудствую пустые строки и не существующие предметы, нужных мне предметов вообще нету.
Использую клиент Gracia Final, хочу заточить "Забытый клинок"(их 30 штук в сумке) обычными свитками(их 1000).
Имя в скрипте я поменял на свое, количество слотов в инвентаре тоже поменял.
В процессе изучения темы нашол следующие ошибки и пути их решеня:
itemsID.ini не найден.
Заметил что в L2PacketHack версии 3.5.3 фаилик ItemsID лежит не в крневой папке (как в предыдущих версиях), а в папке \settings. В скрипте добавил следующее:
ItemsName:=TStringList.Create;
try
ItemsName.LoadFromFile('.\settings\itemsid.ini');
except
msg.Lines.Add('itemsid.ini не найден!');
exit;
end;
ошибка ушла но итемы все равно не видет.
Далее предлогалось проверить ItemsID в L2PacketHack на соответствие с клиентом:
Вытащил из файла клиента itemname-ru.dat следующие строки..
6583 Забытый Клинок Фокусировка <Свойство Кристалла Души> Увеличивает Шанс. Крит. Уд. На 84. Увеличивает урон в PvP. -1 0 0 0 0 0 1
и
959 Свиток: Зачаровать Оружие (S) "Улучшает оружие Ранга S. Одноручный меч, одноручная дубина, кинжал, копье: Ф. Атк. +5. Двуручный меч, двуручная дубина, парные клинки, кастеты: Ф. Атк. +6. Луки: Ф. Атк +10. Все оружие: М. Атк. +4. При улучшении оружия до +4 и выше бонус к Ф. Атк. и М. Атк. удваивается. Безопасное улучшение: +3." -1 0 0 0 0 0 1
сравнил найденное с ItemsID.ini в L2PacketHack
959=Свиток: Зачаровать Оружие (S)
6583=Забытый Клинок Фокусировка
Из этого зделал вывод что проблема не в этом.
Далее говорилось об ошибках в пакетах ItemList
вот мой ItemList:
0x11 (ItemList)
Размер: 2117+2
Время прихода: 12:15:14:281
0002 h ShowWindow: 1 (0x0001)
0004 h ItemCount: 33 (0x0021)
[Начало повторяющегося блока 1/33]
0006 h ItemTypeID: 4 (0x0004)
0008 d ObjectID: 268577286 (0x10022A06)
000C d ItemID: Адена ID:57 (0x0039) (0x00000039)
0010 d LocationSlot: 0 (0x00000000)
0014 q Amount: 36860000000
001C h ItemType2: 4 (0x0004)
001E h CustomType1: 0 (0x0000)
0020 h isEquipped: 0 (0x0000)
0022 d BodyPart: 0 (0x00000000)
0026 h EnchantLevel: 0 (0x0000)
0028 h CustType2: 0 (0x0000)
002A d AugmentID: 0 (0x00000000)
002E d Mana: -1 (0xFFFFFFFF)
0032 h AttackElement: 65534 (0xFFFE)
0034 h AttackElementPower: 0 (0x0000)
0036 h FireDefElementPower: 0 (0x0000)
0038 h WaterDefElementPower: 0 (0x0000)
003A h WindDefElementPower: 0 (0x0000)
003C h EarthDefElementPower: 0 (0x0000)
003E h HolyDefElementPower: 0 (0x0000)
0040 h UnholyDefElementPower: 0 (0x0000)
0042 d RemainingTime: -1 (0xFFFFFFFF)
0046
[Конец повторяющегося блока 1/33]
[Начало повторяющегося блока 2/33]
0046 h ItemTypeID: 4 (0x0004)
0048 d ObjectID: 268495620 (0x1000EB04)
004C d ItemID: Свиток: Зачаровать оружие (S) ID:959 (0x03BF) (0x000003BF)
0050 d LocationSlot: 1 (0x00000001)
0054 q Amount: 1008
005C h ItemType2: 5 (0x0005)
005E h CustomType1: 0 (0x0000)
0060 h isEquipped: 0 (0x0000)
0062 d BodyPart: 0 (0x00000000)
0066 h EnchantLevel: 0 (0x0000)
0068 h CustType2: 0 (0x0000)
006A d AugmentID: 0 (0x00000000)
006E d Mana: -1 (0xFFFFFFFF)
0072 h AttackElement: 65534 (0xFFFE)
0074 h AttackElementPower: 0 (0x0000)
0076 h FireDefElementPower: 0 (0x0000)
0078 h WaterDefElementPower: 0 (0x0000)
007A h WindDefElementPower: 0 (0x0000)
007C h EarthDefElementPower: 0 (0x0000)
007E h HolyDefElementPower: 0 (0x0000)
0080 h UnholyDefElementPower: 0 (0x0000)
0082 d RemainingTime: -1 (0xFFFFFFFF)
[Конец повторяющегося блока 2/33]
[Начало повторяющегося блока 3/33]
0086 h ItemTypeID: 0 (0x0000)
0088 d ObjectID: 268578422 (0x10022E76)
008C d ItemID: Забытый Клинок ID:6583 (0x19B7) (0x000019B7)
0090 d LocationSlot: 2 (0x00000002)
0094 q Amount: 1
009C h ItemType2: 0 (0x0000)
009E h CustomType1: 0 (0x0000)
00A0 h isEquipped: 0 (0x0000)
00A2 d BodyPart: 128 (0x00000080)
00A6 h EnchantLevel: 2 (0x0002)
00A8 h CustType2: 0 (0x0000)
00AA d AugmentID: 0 (0x00000000)
00AE d Mana: -1 (0xFFFFFFFF)
00B2 h AttackElement: 65534 (0xFFFE)
00B4 h AttackElementPower: 0 (0x0000)
00B6 h FireDefElementPower: 0 (0x0000)
00B8 h WaterDefElementPower: 0 (0x0000)
00BA h WindDefElementPower: 0 (0x0000)
00BC h EarthDefElementPower: 0 (0x0000)
00BE h HolyDefElementPower: 0 (0x0000)
00C0 h UnholyDefElementPower: 0 (0x0000)
00C2 d RemainingTime: -1 (0xFFFFFFFF)
[Конец повторяющегося блока 3/33]
[Начало повторяющегося блока 4/33]
00C6 h ItemTypeID: 0 (0x0000)
00C8 d ObjectID: 268578354 (0x10022E32)
00CC d ItemID: Забытый Клинок ID:6583 (0x19B7) (0x000019B7)
00D0 d LocationSlot: 3 (0x00000003)
00D4 q Amount: 1
00DC h ItemType2: 0 (0x0000)
00DE h CustomType1: 0 (0x0000)
00E0 h isEquipped: 0 (0x0000)
00E2 d BodyPart: 128 (0x00000080)
00E6 h EnchantLevel: 3 (0x0003)
00E8 h CustType2: 0 (0x0000)
00EA d AugmentID: 0 (0x00000000)
00EE d Mana: -1 (0xFFFFFFFF)
00F2 h AttackElement: 65534 (0xFFFE)
00F4 h AttackElementPower: 0 (0x0000)
00F6 h FireDefElementPower: 0 (0x0000)
00F8 h WaterDefElementPower: 0 (0x0000)
00FA h WindDefElementPower: 0 (0x0000)
00FC h EarthDefElementPower: 0 (0x0000)
00FE h HolyDefElementPower: 0 (0x0000)
0100 h UnholyDefElementPower: 0 (0x0000)
0102 d RemainingTime: -1 (0xFFFFFFFF)
0106
[Конец повторяющегося блока 4/33]
не до конца конечно, но там вроде одно и тоже...
Каки здесь могут быть ошибки и как их исправить???
И какие есть еще способы решения?
И еще eL2Walker инвентарь види также криво
Breadfan
17.01.2010, 11:31
кусок своего скрипта на заточку - в котором читается инвентарь и его апдейт - выложи
Скрипт пытаюсь использовать вот этот enchant_by_NLObP_09.rar
На счет куска где читается инвентарь... вродебы тут:
ComboBoxScroll.Enabled:=false; //выключаем
end else begin
ScrollID:=0; //отмена
ScrollOID:=0;
ComboBoxScroll.Enabled:=true; //включаем
//RequestItemList вызываем инвентарь
buf:=hstr('14');
SendToServerEx(Name);
end;
Где взять его апдейт незнаяю. =(
Это кусок где отправляется пакет запрос списка инвентаря, а сама процедура чтения инвентаря здесь - procedure ItemList, а его апдейт здесь - procedure InventoryUpdate;
procedure ItemList;
{Создаем базу Items}
//11=ItemList:h(ShowWindow)h(ListSize:Loop.01.0021)h (ItemType1)d(ObjectID)
// d(ItemID:Get.Func01)d(LocationSlot)d(Count)h(ItemT ype2)h(CustomType1)
// h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2 )d(AugmentationID)
// d(Mana)d(AttackAttrElement)d(AttackAttrElementVal) d(DefAttrFire)
// d(DefAttrWater)d(DefAttrWind)d(DefAttrEarth)d(DefA ttrHoly)d(DefAttrUnholy)
var
i, j, k: integer;
ListCount: integer;
begin
и
procedure InventoryUpdate; //пакет 27, Создает базу ObjectID по ItemID
var
i, ii, j, k, ListCount, UpdType : integer;
ItemType1, ObjectID, ItemID, LocationSlot, Count, ItemType2, CustomType1,
isEquipped, BodyPart, EnchantLevel, CustType2, AugmentationID :integer;
additem : boolean;
begin
additem:=true;
ListCount:=ReadH(2); //количество итемов
// debugmsg('ListCount='+inttostr(ListCount));
j:=4; //смещение для действия с предметом 1-добавлен 2-изменен 3-удален
for i:=1 to ListCount do begin
UpdType:=ReadH(j);
ItemType1:=ReadH(j);
ObjectID:=ReadD(j);
ItemID:=ReadD(j);
LocationSlot:=ReadD(j);
Count:=ReadD(j);
ItemType2:=ReadH(j);
CustomType1:=ReadH(j);
isEquipped:=ReadH(j);
BodyPart:=ReadD(j);
EnchantLevel:=ReadH(j);
CustType2:=ReadH(j);
AugmentationID:=ReadD(j);
case UpdType of
эти куски?
итемы все равно не видет
IceFloe, попробуй отсортировать итем лист в порядке возрастания ItemID. Когда писал скрипт у меня было сортировано по ID. Может в этом косяк?
PS: скрипт не предназначен для блессед точек.
Breadfan
19.01.2010, 01:58
procedure ItemList;
{Создаем базу Items}
//11=ItemList:h(ShowWindow)h(ListSize:Loop.01.0021)h (ItemType1)d(ObjectID)
// d(ItemID:Get.Func01)d(LocationSlot)d(Count)h(ItemT ype2)h(CustomType1)
// h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2 )d(AugmentationID)
// d(Mana)d(AttackAttrElement)d(AttackAttrElementVal) d(DefAttrFire)
// d(DefAttrWater)d(DefAttrWind)d(DefAttrEarth)d(DefA ttrHoly)d(DefAttrUnholy)
var
i, j, k: integer;
ListCount: integer;
begin
эти куски? - вот это вот целиком, если можно - именно эта процедура создает твой список итемов в сумке, вторая отвечает только за апдейт. И уточни насколько полностью не видит итемлист - весь абсолютно или начиная со 2го итема в списке ошибочно выводит?
Добавлено через 10 минут
Я нашел вроде чегото у себя - но не факт что это именно от финала, выглядит довольно жутко:
rocedure CreateItemBase; //пакет 1B, Создает базу ObjectID по ItemID
//1B=ItemListPacket:w(window)w(ListCount)w(itemType1 )h(ObjectID)i(ItemID)d(count)w(itemType2)w(CustTyp e1)w(isEquipped)d(BodyPart)w(EnchantLevel)w(CustTy pe2)d(Augment)d(--)
var
i, j, ListCount: integer;
begin
for i:=1 to max do begin
//очищаем масив
ItemBase[1,i]:=0; //OID
ItemBase[2,i]:=0; //ID
ItemBase[3,i]:=0; //kol-vo
ItemBase[4,i]:=0; //lvl
end;
j:=4; //смещение для ListCount
ListCount:=ReadH(j); //количество итемов не должно превышать max!
//if ListCount>maxitems then msg.Lines.Add('Внимание! Не все вещи влезли в массив. ListCount>Max='+IntToStr(ListCount)+'/'+IntToStr(maxitems));
j:=8; //смещение для ObjectID
//Пробегаем по Инвентарю и сохраняем ObjectID соответствующие необходимым ItemID
for i:=1 to ListCount do begin
itemBase[1,i]:=ReadD(j); //OID
itemBase[2,i]:=ReadD(j); //ItemID
//-------Изменен формат пакета в камаеле
ReadD(j);
//---------------------------------
itemBase[3,i]:=ReadD(j); //кол-во
inc(j,10);
itemBase[4,i]:=ReadH(j);//EnchantLevel
msg.Lines.Add('i='+inttostr(i)+' ItemOID='+IntToStr(ItemBase[1,i])+' ItemID='+IntToStr(ItemBase[2,i])+' ItemKol='+IntToStr(ItemBase[3,i])+' ItemLVL='+IntToStr(ItemBase[4,i]));
if interlude then inc(j,44) else inc(j,8); // так же изменены смещения в связи с добавлением новых свойств итемов
msg.Lines.Add('j='+inttostr(j));
end;
//вносим изменения в чекбоксы
StringList.Clear;
try
for i:=1 to ListCount do begin
try
//StringList.Add(ItemsName[ItemBase[2,i]-1]); //записываем название вещей из инвентаря
StringList.Add(ItemsName.Values[IntToStr(ItemBase[2,i])]); //записываем название вещей из инвентаря
except;
msg.Lines.Add('Пропускаем! Нет ItemID='+inttostr(ItemBase[2,i])+' в itemsid.ini');
end
end;
except;
msg.Lines.Add('ошибка в CreateItemBase->StringList.Add()');
msg.Lines.Add(inttostr(ItemBase[2,i]));
exit;
end;
if not CheckBoxItem.Checked then begin //наполняем комбобокс
with ComboBoxItem do
begin
Items.Clear;
Items.Assign(StringList);
ItemIndex:=0;
end;
end;
if not CheckBoxScroll.Checked then begin //наполняем комбобокс
with ComboBoxScroll do
begin
Items.Clear;
Items.Assign(StringList);
ItemIndex:=0;
end;
end;
end;
PS: никогда не доверяйте комментариям в скрипте ;)
procedure ItemList;
{Создаем базу Items}
//11=ItemList:h(ShowWindow)h(ListSize:Loop.01.0021)h (ItemType1)d(ObjectID)
// d(ItemID:Get.Func01)d(LocationSlot)d(Count)h(ItemT ype2)h(CustomType1)
// h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2 )d(AugmentationID)
// d(Mana)d(AttackAttrElement)d(AttackAttrElementVal) d(DefAttrFire)
// d(DefAttrWater)d(DefAttrWind)d(DefAttrEarth)d(DefA ttrHoly)d(DefAttrUnholy)
var
i, j, k: integer;
ListCount: integer;
begin
j:=4; //смещение для ListCount
ListCount:=ReadH(j); //количество итемов не должно превышать max!
for i:=1 to maxitems do
if (i<=ListCount) then begin
BaseItems[i,1]:=ReadH(j); //ItemType1
BaseItems[i,2]:=ReadD(j); //ObjectID
BaseItems[i,3]:=ReadD(j); //ItemID
BaseItems[i,4]:=ReadD(j); //LocationSlot
BaseItems[i,5]:=ReadD(j); //Count
BaseItems[i,6]:=ReadH(j); //ItemType2
BaseItems[i,7]:=ReadH(j); //CustomType1
BaseItems[i,8]:=ReadH(j); //isEquipped
BaseItems[i,9]:=ReadD(j); //BodyPart
BaseItems[i,10]:=ReadH(j); //EnchantLevel
BaseItems[i,11]:=ReadH(j); //CustType2
BaseItems[i,12]:=ReadD(j); //AugmentationID
//debugmsg('OID='+inttostr(BaseItems[i,2])+' ID='+inttostr(BaseItems[i,3]));
inc(j,40);
end else for k:=1 to 12 do BaseItems[i,k]:=0; // забиваем нулями
//вносим изменения в чекбоксы
StringList.Clear;
try
for i:=1 to ListCount do begin
try
//StringList.Add(ItemsName[ItemBase[2,i]-1]); //записываем название вещей из инвентаря
StringList.Add(ItemsName.Values[IntToStr(BaseItems[i,3])]); //записываем название вещей из инвентаря
except;
//msg.Lines.Add('Пропускаем! Нет ItemID='+inttostr(BaseItems[i,3])+' в itemsid.ini');
end
end;
except;
//msg.Lines.Add('ошибка в CreateItemBase->StringList.Add()');
//msg.Lines.Add(inttostr(BaseItems[i,3]));
exit;
end;
if not CheckBoxItem.Checked then begin //наполняем комбобокс
with ComboBoxItem do
begin
Items.Clear;
Items.Assign(StringList);
ItemIndex:=0;
end;
end;
if not CheckBoxScroll.Checked then begin //наполняем комбобокс
with ComboBoxScroll do
begin
Items.Clear;
Items.Assign(StringList);
ItemIndex:=0;
end;
end;
end;
Теперь понято, вот кусок из моего скрипта. Предложенный Вами кусок не работает, выделяет красным строку "for i:=1 to max do begin". Теперь дляменя остается загадкой как подогнать эту часть к моему покету "ItemLiist" (см.выше). На сечет инвенторя: при запуске там нет ни чего, но после заточки ручками пишет (Автоматизация заточки by NLObP для Грации!
Улучшили ItemID=0 ItemOID=0 ItemEnchLvl=0) и после появляется в строке выбора следующее: Забытый клинок 2 шт (на самом деле 20шт), Ивовый посох (незнаю что это и в сумке это нет), потом идут 4 пустые строки, опять непонятный итем и т.д. посщитал все строки(пустые и непонятные), по количеству совпадает с количеством итемов в инвентаре.
И еще вопрос://установить константу в зависимости от типа игры (С4 или Интерлюд)
interlude=true; //Interlude - true, C4 - false. Что писать? Уменя ведь Грация Финал.
Breadfan
19.01.2010, 10:26
Предложенный Вами кусок не работает, выделяет красным строку "for i:=1 to max do begin". - ну это и не удивительно - это как раз яркий пример внутривидовой борьбы версий скриптов, за место в ареале обитания...там переменные разноименные используются просто...ты пакет ItemPacket выложил бы уж свой...только не с ".... кучей итемов", достаточно несколько штук в сумке оставить и все.Что писать? Уменя ведь Грация Финал. - соответственно - ничего, это просто след старых версий.
На сечет инвенторя: при запуске там нет ни чего - при запуске скрипта - у перса инвентарь открывается ?
ЗЫ: Флуд разводим только изза того, что 80% пишушим (лень\некогда\...) изначально выложить свой итемлист блин
IceFloe, попробуй отсортировать итем лист в порядке возрастания ItemID. Когда писал скрипт у меня было сортировано по ID. Может в этом косяк?
PS: скрипт не предназначен для блессед точек.
Как отсортировывать?
Свитки обычные.
ItemList
0x11 (ItemList)
Размер: 2117+2
Время прихода: 12:15:14:281
0002 h ShowWindow: 1 (0x0001)
0004 h ItemCount: 33 (0x0021)
[Начало повторяющегося блока 1/33]
0006 h ItemTypeID: 4 (0x0004)
0008 d ObjectID: 268577286 (0x10022A06)
000C d ItemID: Адена ID:57 (0x0039) (0x00000039)
0010 d LocationSlot: 0 (0x00000000)
0014 q Amount: 36860000000
001C h ItemType2: 4 (0x0004)
001E h CustomType1: 0 (0x0000)
0020 h isEquipped: 0 (0x0000)
0022 d BodyPart: 0 (0x00000000)
0026 h EnchantLevel: 0 (0x0000)
0028 h CustType2: 0 (0x0000)
002A d AugmentID: 0 (0x00000000)
002E d Mana: -1 (0xFFFFFFFF)
0032 h AttackElement: 65534 (0xFFFE)
0034 h AttackElementPower: 0 (0x0000)
0036 h FireDefElementPower: 0 (0x0000)
0038 h WaterDefElementPower: 0 (0x0000)
003A h WindDefElementPower: 0 (0x0000)
003C h EarthDefElementPower: 0 (0x0000)
003E h HolyDefElementPower: 0 (0x0000)
0040 h UnholyDefElementPower: 0 (0x0000)
0042 d RemainingTime: -1 (0xFFFFFFFF)
0046
[Конец повторяющегося блока 1/33]
[Начало повторяющегося блока 2/33]
0046 h ItemTypeID: 4 (0x0004)
0048 d ObjectID: 268495620 (0x1000EB04)
004C d ItemID: Свиток: Зачаровать оружие (S) ID:959 (0x03BF) (0x000003BF)
0050 d LocationSlot: 1 (0x00000001)
0054 q Amount: 1008
005C h ItemType2: 5 (0x0005)
005E h CustomType1: 0 (0x0000)
0060 h isEquipped: 0 (0x0000)
0062 d BodyPart: 0 (0x00000000)
0066 h EnchantLevel: 0 (0x0000)
0068 h CustType2: 0 (0x0000)
006A d AugmentID: 0 (0x00000000)
006E d Mana: -1 (0xFFFFFFFF)
0072 h AttackElement: 65534 (0xFFFE)
0074 h AttackElementPower: 0 (0x0000)
0076 h FireDefElementPower: 0 (0x0000)
0078 h WaterDefElementPower: 0 (0x0000)
007A h WindDefElementPower: 0 (0x0000)
007C h EarthDefElementPower: 0 (0x0000)
007E h HolyDefElementPower: 0 (0x0000)
0080 h UnholyDefElementPower: 0 (0x0000)
0082 d RemainingTime: -1 (0xFFFFFFFF)
[Конец повторяющегося блока 2/33]
[Начало повторяющегося блока 3/33]
0086 h ItemTypeID: 0 (0x0000)
0088 d ObjectID: 268578422 (0x10022E76)
008C d ItemID: Забытый Клинок ID:6583 (0x19B7) (0x000019B7)
0090 d LocationSlot: 2 (0x00000002)
0094 q Amount: 1
009C h ItemType2: 0 (0x0000)
009E h CustomType1: 0 (0x0000)
00A0 h isEquipped: 0 (0x0000)
00A2 d BodyPart: 128 (0x00000080)
00A6 h EnchantLevel: 2 (0x0002)
00A8 h CustType2: 0 (0x0000)
00AA d AugmentID: 0 (0x00000000)
00AE d Mana: -1 (0xFFFFFFFF)
00B2 h AttackElement: 65534 (0xFFFE)
00B4 h AttackElementPower: 0 (0x0000)
00B6 h FireDefElementPower: 0 (0x0000)
00B8 h WaterDefElementPower: 0 (0x0000)
00BA h WindDefElementPower: 0 (0x0000)
00BC h EarthDefElementPower: 0 (0x0000)
00BE h HolyDefElementPower: 0 (0x0000)
00C0 h UnholyDefElementPower: 0 (0x0000)
00C2 d RemainingTime: -1 (0xFFFFFFFF)
[Конец повторяющегося блока 3/33]
[Начало повторяющегося блока 4/33]
00C6 h ItemTypeID: 0 (0x0000)
00C8 d ObjectID: 268578354 (0x10022E32)
00CC d ItemID: Забытый Клинок ID:6583 (0x19B7) (0x000019B7)
00D0 d LocationSlot: 3 (0x00000003)
00D4 q Amount: 1
00DC h ItemType2: 0 (0x0000)
00DE h CustomType1: 0 (0x0000)
00E0 h isEquipped: 0 (0x0000)
00E2 d BodyPart: 128 (0x00000080)
00E6 h EnchantLevel: 3 (0x0003)
00E8 h CustType2: 0 (0x0000)
00EA d AugmentID: 0 (0x00000000)
00EE d Mana: -1 (0xFFFFFFFF)
00F2 h AttackElement: 65534 (0xFFFE)
00F4 h AttackElementPower: 0 (0x0000)
00F6 h FireDefElementPower: 0 (0x0000)
00F8 h WaterDefElementPower: 0 (0x0000)
00FA h WindDefElementPower: 0 (0x0000)
00FC h EarthDefElementPower: 0 (0x0000)
00FE h HolyDefElementPower: 0 (0x0000)
0100 h UnholyDefElementPower: 0 (0x0000)
0102 d RemainingTime: -1 (0xFFFFFFFF)
0106
[Конец повторяющегося блока 4/33]
адена, свитки и 2 меча
- при запуске скрипта - у перса инвентарь открывается ?
нет
Breadfan
20.01.2010, 11:40
Ошибка скорее всего происходит изза разной размерности типов данных...в скрипте, для определения количества итемов, используется простое DWord - 4 байта (BaseItems[i,5]:=ReadD(j); //Count ), а в том листке что ты выложил (кстати, это совсем не то что я просил) - показано что используется тип данных размерностью в 8 байт...как вариант - можешь просто вставить пустые сдвиги:
---------
ReadD(j); -----> сдвиг указателя на 4 байта
BaseItems[i,5]:=ReadD(j); //Count
---------
только это надо и в CreateBase и в Update делать...
alexteam
20.01.2010, 11:48
про размерность - правильно.. за исключением
word = 2 байта
DWord/integer = 4 байта...
инт64 = 8 байт...
Breadfan
20.01.2010, 12:00
про размерность - правильно.. за исключением
word = 2 байта
DWord/integer = 4 байта...
инт64 = 8 байт... - да я вроде так и написал - используется простое DWord - 4 байта - это ты писать рано бросился я поправил потом ))
- и вообще, я слесарь по профессии :) технологиям не обучен :)
alexteam
20.01.2010, 12:05
ну, я архитектор как бы... %)
зы. для таких вот вещей и придуман readmask...
Добавлено через 3 минуты
Обявление процедур вызываюбщихся при разборке пакета:
procedure ItemListBegin;
procedure ItemListItem(ItemType1:Word;ObjectId, ItemId, LocationSlot : integer;Count : int64;ItemType2, IsEquipped:word;BodyPart:integer;EnchantLevel:word ;AugmentId,mana :integer);
procedure ItemListEnd;
основное тело (разборка пакета):
case pck[1] of
#$11 : //(ItemList)
begin
count := round((length(pck)-5)/ReadH(4));
ItemListBegin();
for d:=0 to ReadH(4)-1 do
begin
readmask('hdddqhhhdhhdd',6+d*count,values);
ItemListItem(values[0], values[1], values[2], values[3], values[4], values[5], values[7], values[8], values[9], values[11], values[12]);
end;
ItemListEnd();
end;
end;
Breadfan
20.01.2010, 12:12
че то на ум вдруг пришло из детства: "...коль сапоги начнет тачать пирожник..." :)))
Не,не...я настаиваю на простой вставке сдвига указателя - так там проще будет :) А то ты сгоряча налетел, всех озадачил прям :)
ты пакет ItemPacket выложил бы уж свой...только не с ".... кучей итемов", достаточно несколько штук в сумке оставить и все.
Вот это имееш в виду?
11 01 00 04 00 00 00 71 2E 02 10 B7 19 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 04 00 06 2A 02 10 39 00 00 00 01 00 00 00 F0 6E 06 95 08 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 04 00 04 EB 00 10 BF 03 00 00 02 00 00 00 AD 03 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 4A 2E 02 10 B7 19 00 00 03 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF
А я вобще инженер по охранно сигнализации =) , а от того что вы описываете просто закипает мозг...
вариант - можешь просто вставить пустые сдвиги:
---------
ReadD(j); -----> сдвиг указателя на 4 байта
BaseItems[i,5]:=ReadD(j); //Count
есле не затруднит напишите всю процедуру ItemList и InventoryUpdate с исправлениями, все што для это нужно я постораюсь предоставить. Совсем я нубка оказывается =(
Breadfan
21.01.2010, 23:13
Ну и как бе хотелось бы собсно узнать сразу че там искать то??Что в сумке блин???Только не ложи уникальные итемы в сумку, наподобие "Нагибаторные штаны админа" и прочую чушь. А то сейчас видно - да, есть фб, а что дальше там - хз, и наугад искать тож как-то не совсем приятно
Как отсортировывать?
Примерно вот так должно быть
1=Short Sword
2=Long Sword
3=Broadsword
4=Club
5=Mace
6=Apprentice's Wand
7=Apprentice's Rod
8=Willow Staff
9=Cedar Staff
10=Dagger
11=Bone Dagger
12=Knife
13=Short Bow
14=Bow
15=Short Spear
16=Long Spear
17=Wooden Arrow
18=Leather Shield
19=Small Shield
20=Buckler
21=Shirt
22=Leather Shirt
...
8647=Mysterious Solvent
8648=Coffer of Shadows
8649=Demon Horns
8650=Mask of Spirits
8651=Fairy Antennae - For Event
Если не ошибаюсь команда SORT есть, которая сортирует тестовые файлы.
SORT [/R] [/+n] [/M килобайтов] [/L язык] [/REC символов]
[[диск1:][путь1]имя_файла1] [/T [диск2:][путь2]]
[/O [диск3:][путь3]имя_файла3]
/+n Задает число символов, n, до начала каждого
сравнения. /+3 показывает, что каждое
сравнение будет начинаться с третьего символа
каждой строки. Строки меньше чем n символов
собираются перед всеми остальными строками.
По умолчанию, сравнение начинается с первого
символа каждой строки.
/L[OCALE] язык Перекрывает установленные в системе по умолчанию
язык и раскладку заданными. Пока существует
возможность только одного выбора: ""C"" -
наиболее быстрый способ упорядочивания
последовательности.
Сортировка всегда идет без учета регистра.
/M[EMORY] килобайтов Задает количество основной памяти, используемой
для сортировки, в килобайтах. Размер памяти
должен быть не менее 160КБ. При явном задании
размера памяти именно это количество будет,
использовано невзирая на то, какое количество
основной памяти доступно в системе.
Наилучшей производительности можно добиться, не
задавая размер памяти. По умолчанию, сортировка
выполняется за один проход (без временного
файла), используя максимально доступный размер
памяти. В остальных случаях, сортировка
выполняется за два прохода (с сохранением
частично отсортированных данных во временном
файле), так что количество памяти, используемой
для обоих проходов, - одинаково. По умолчанию,
максимальный объем памяти равен 90% доступной
основной памяти, если входными и выходными
потоками являются файлы на диске, и 45% доступной
основной памяти - иначе.
/REC[ORD_MAXIMUM] символов Определяет максимальное число символов в записи
(по умолчанию 4096, максимальное 65535).
/R[EVERSE] Обратный порядок сортировки; т.е. сортировка
идет от Я до А, и затем от 9 до 0.
[диск1:][путь1]имя_файла1 Определяет имя сортируемого файла. Если оно
опущено, то будет использоваться стандартный
поток ввода. Явное задание сортируемого файла
работает быстрее, чем перенаправление того же
файла в качестве стандартного потока ввода.
/T[EMPORARY]
[диск2:][путь2] Определяет путь к папке, содержащей рабочие
файлы сортировки, в том случае, когда данные
не помещаются в основной памяти. По умолчанию
используется системная временная папка.
/O[UTPUT]
[диск3:][путь3]имя_файла3 Определяет имя файла, в котором сохраняются
отсортированные результаты. Если оно опущено
данные записываются в стандартный поток вывода.
Явное задание файла вывода работает быстрее чем
перенаправление стандартного потока вывода
в этот же файл.
Breadfan
22.01.2010, 00:52
to ICEFLOE
BaseItems[i,1]:=ReadH(j); //ItemType1
BaseItems[i,2]:=ReadD(j); //ObjectID
BaseItems[i,3]:=ReadD(j); //ItemID
BaseItems[i,4]:=ReadD(j); //LocationSlot
BaseItems[i,5]:=ReadD(j); //Count
BaseItems[i,6]:=ReadH(j); //ItemType2
BaseItems[i,7]:=ReadH(j); //CustomType1
BaseItems[i,8]:=ReadH(j); //isEquipped
BaseItems[i,9]:=ReadD(j); //BodyPart
BaseItems[i,10]:=ReadH(j); //EnchantLevel
BaseItems[i,11]:=ReadH(j); //CustType2
BaseItems[i,12]:=ReadD(j); //AugmentationID
//debugmsg('OID='+inttostr(BaseItems[i,2])+' ID='+inttostr(BaseItems[i,3]));
inc(j,40); //!!! 36
- вот тут - у меня с каких то недавних серверов осталось - смени на inc(j,36);
...черт его знает насколько верно будет - ето полуночная теоретика все :)
P.S - это только в наИтемЛист пакет...на апдейт - не смотрел...
Если сумка начнет нормально отображать итемы, то вариант Итемапдейт:
procedure InventoryUpdate; //пакет 21, Создает базу ObjectID по ItemID
var
i, ii, j, k, ListCount, UpdType : integer;
ItemType1, ObjectID, ItemID, LocationSlot, Count, ItemType2, CustomType1,
isEquipped, BodyPart, EnchantLevel, CustType2, AugmentationID :integer;
additem : boolean;
begin
additem:=true;
ListCount:=ReadH(2); //количество итемов
// debugmsg('ListCount='+inttostr(ListCount));
j:=4; //смещение для действия с предметом 1-добавлен 2-изменен 3-удален
for i:=1 to ListCount do begin
UpdType:=ReadH(j);
ItemType1:=ReadH(j);
ObjectID:=ReadD(j);
ItemID:=ReadD(j);
LocationSlot:=ReadD(j);
Count:=ReadD(j);
ItemType2:=ReadH(j);
CustomType1:=ReadH(j);
isEquipped:=ReadH(j);
BodyPart:=ReadD(j);
EnchantLevel:=ReadH(j);
CustType2:=ReadH(j);
AugmentationID:=ReadD(j);
case UpdType of
1: k:=0; //добавлен новый предмет
2: k:=ObjectID; //изменен предмет в инвентаре
3: begin //удален
for ii:=1 to maxitems do
if (BaseItems[ii,2]=ObjectID) then begin
//debugmsg('удаляем OID='+inttostr(BaseItems[ii,2])+' ID='+inttostr(BaseItems[ii,3]));
for k:=1 to 12 do BaseItems[ii,k]:=0;
break;
end;
end;
end;
for ii:=1 to maxitems do begin
if (BaseItems[ii,2]=k) then begin
BaseItems[ii,1]:=ItemType1;
//BaseItems[ii,2]:=ObjectID;
BaseItems[ii,3]:=ItemID;
BaseItems[ii,4]:=LocationSlot;
BaseItems[ii,5]:=Count;
BaseItems[ii,6]:=ItemType2;
BaseItems[ii,7]:=CustomType1;
BaseItems[ii,8]:=isEquipped;
BaseItems[ii,9]:=BodyPart;
BaseItems[ii,10]:=EnchantLevel;
BaseItems[ii,11]:=CustType2;
BaseItems[ii,12]:=AugmentationID;
//debugmsg('доб/изм OID='+inttostr(BaseItems[ii,2])+' ID='+inttostr(BaseItems[ii,3]));
break;
end;
end;
inc(j,38);
end;
end;
Если не ошибаюсь команда SORT есть, которая сортирует тестовые файлы.
есть. только вот сортирует она вот так =(
//для L2PacketHack 3.4.1+
; by (c) Xelat
1=Короткий Меч
10=Кинжал
100=Кукла Вуду
1000=Перчатки-010
10000=Зелье Ветра
10001=Зелье Тьмы
10002=Зелье Святости
10003=Острая Рапира
10004=Двойной Меч Династии
10005=Теневой Предмет: Острая Рапира
10006=Теневой Предмет: Военный Тальвар
10007=Теневой Предмет: Ручной Арбалет
10008=Теневой Предмет: Истребитель
10009=Теневой Предмет: Вечный Клинок
1001=Книга Аклантота, ч. 4
10010=Теневой Предмет: Татлум
10011=Теневой Предмет: Топор Войны
exel тож не помог..может есть какаето програмка?
- вот тут - у меня с каких то недавних серверов осталось - смени на inc(j,36);
ноль реакции, на такое изменение =(
отчаение уже близко... =((
Breadfan
22.01.2010, 16:00
что за сервер то? в аську напиши если хочешь
ЗЫ: да сортировка ни при чем - постоянно на ГФШ полукривые структуры пакетов - не соответствующие описанному стандарту - то с сумкой намутят, то с таблицей скилов - считая это (как пишут на сайте сервера) - "100% защитой от ботоводства"...хотя на многих лишь разница в типе (int64\Dword) количества итемов
someonce1
31.01.2010, 07:59
На сервере грация парт2
Скрипт на заточку для грации работает, но проблема есть. Дело в том что на сервере безопасная точка равна 3 если точить выше небезопасной точкой, то сломается, НО если точить блесс точкой...то оружие при фэйле становится заточено на 5! И если оружие на 6 точнуть блеской и если будет фэил то оружие не изменится, так и останется на 5.
ПРОБЛЕМА В ТОМ, что я точу блесками...и после пары фэйлов...когда оружие становиться снова 5...скрипт и сама программа L2PacketHack зависает...и клиент окна тоже виснет. Что можно сделать?
а мы обсуждали похожую проблему в
http://coderx.ru/showthread.php?t=3601
ребят, подскажите что нужно изменить в скрипте, чтобы он точил блеседами (скрипт nlobp для interlude)
я ставил CurEnchLvl:=6; (блески сбрасывают до 6 энчант)
но скрипт "забывает" пушку после фейла и не возвращается к ней больше
По идее должно работать если здесь вставить:
CurEnchLvl:=0;
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
По идее должно работать если здесь вставить:
CurEnchLvl:=0;
repeat
ItemOID:=GetItemEnchant(ItemID, CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
Увы, не помогло.
Во 1х было бы полезно знать куда вставлять код (CurEnchLvl:=0 встречается несколько раз)
Ну а сама проблемма в том что функция GetItemEnchant не объявлена в скрипте
Какую версию используешь? То я написал для 9, а если ниже то найди этот кусок, и где я красным написал вставь
#$6F: if ready then begin //and (readd(2)=itemid)
//ищем подходящий предмет для заточки
timer.enabled:=false; //отключаем пока не найдем предмет для заточки
CurEnchLvl:=0;
repeat
ItemOID:=GetItem(ItemID,CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
отлично, спасибо
и еще вопрос:
как сделать, чтобы когда точек было 0 скрипт не останавливливался, а докупал заточки в гмшопе?
чтоб не заморачиваться просто слови пакет покупки скролов и поставь его на авто отправку
вот давно хотел узнать - но не мог найти нигде
я понимаю, можно перехватить пакет и покупать(продавать) что-то сколько влезет
но как продавать вещи с уникальными ID (которые не складываются в стопку)
на ИТ например точки не складываются в стопку - у каждой из них свой номер и ловей пакетов продажи их не добиться
судя по всему - нужен скрипт
прошу помощи
(интерлюд, гмшоп - мультиселл)
Hworang, сделай 2-3 закупки в ручную. Посмотри какие пакеты идут и в чем отличие. Сделай на основании полученных данных скрипт.
я совсем не понимаю как писать скрипт
я знаю делфи, но не знаю никаких ф-ий работы с пакетами ((
и даже не очень хорошо понимаю протокол
я был бы рад научиться посылать пакет через скрипт без изменений, а вы предлагаете мне еще и как-то автоматизировать изменение отправляемых скриптом пакетов в соответствии с уникальными ID вещей
дайте хоть образец - как 1 пакет отправить
вот например мои пакеты
хелп кстати куцый :) мелких примерчиков бы туда побольше - и было бы замечательно.
а так приходится чужие скрипты рассматривать как те или иные вещи нужно делать. чего и тебе советую - разбирайся с чужими скриптами. я вот например синтаксис никогда не запоминаю. я запоминаю задачу и в каком скрипте я эту задачу реализовал. потом просто иду и открываю ту задачу и копирую этот участок кода. по сути в голове у меня не сам текст-информация, а ссылка на страничку, где лежит нужная информация :)
ссылок можно запомнить больше по обьему информации, чем конкретные примеры тех или иных задачь.
недостатки: всегда нужно иметь эту самую базу под рукой, чтобы в нее заглянуть.
преимущества: можно запомнить больше, чем ежили запоминать досконально до запятой реализованные задачи.
demon6667
13.02.2010, 22:56
На сервере l2rx.com (Kamael) не правильно работает скрипт на заточку breadfan. Программа не соблюдает установленный лемит заточки (например +7) - точит подрят до бесконечности пока не кончаться точки. Помогите решить проблему.:(
Breadfan
15.02.2010, 09:47
да мой скрипт - это скрипт от NLObP - попрошу не забывать об этом, мое участие лишь в правке под данные хроники....а в вашем случае - требуется просто смотреть пакеты от сервера, с итогами заточки, и согласно их поправить скрипт
ЗЫ: синтаксис не знать - идиотизм
demon6667
15.02.2010, 09:52
А встречалась ли у кого подобная проблема, и какие строчки нужно править в скрипте для желаемого результата? Что именно в скрипте отвечает за максимальный лимит заточки? Подскажите плизз. Точим блессами. Буду очень благодарен.
ЗЫ: синтаксис не знать - идиотизм
ооо! я идиот, который незнает 5 языков программирования :)
всё указал правильно а в комбо боксе только антарас серьга и всё ( хотя у меня её нет в инвентаре ) и ID её не прально указан, как такое лечиться?
выложи свой итем лист и фрагмент кода скрипта, который отвечает за формирование массива (BaseItems)
Вроде все прочитал сделал а скрипт не работает!
Ввожу имя в скрипте включаю галку выскакивает Окошко
В нем не могу ввести или выбрать ID точки и ID оружия
и не могу выбрать оружие в в строке
Пишет itemsid.ini не найден!
Подскажите плиз
Играю на ПВП серве Оружие Певец Венеры
Добавлено через 11 минут
Вот бразец моего скрипта может кто подскажет что не так
//............................................
//Список констант
const
Name='F1rstBlood'; //F1rstBlood
//установить константу в зависимости от типа игры (С4 или Интерлюд)
//-------------------------
maxitems=80; //количество слотов в инвентаре чара
debug=false; //если не хотим видеть отладочной информации
//............................................
//Список переменных
var
Item, scrl: integer;
ScrollID, ScrollOID: integer; //ScrollID скролла заточки
ItemID, ItemOID, ItemEnch: integer; //ItemID затачиваемого предмета
MaxEnchLvl: integer; //уровень заточки который требуется достичь
//ITEMs
BaseItems: array[1..maxitems, 1..12] of integer; //все предметы в инвентаре
StartTime, EndTime: TDateTime;
good, broken: integer;
ready: boolean;
timer, showinf : TTimer;
ItemCount, CurEnchLvl: integer;
ItemsName, StringList : TStringList; //названия предметов, имена продавцов
FormMain : TForm; //Создаваемая форма
Splitter1, Splitter2 : TSplitter;
Добавлено через 2 часа 26 минут
напишите плиз ID для Vesper Singer
Эйваз, подробности давай:
что за сервер, в соединении имя чаро видно? Пакеты InventoryUpdate и ItemList покажи.
Вот Сервер http://www.cyb3r.ws
Да, имя Чара видно!
где посмотреть эти пакеты и ItemList??
Точу только Блесс Точками Пуху Ы Vesper Singer
в файле ItemsID такого оружия нема.
вводил в файл название оружия и его ID перехваченный через l2hpx
вот так выглядит то что вводил "268682675=Vesper Singer"
Всем привет! Есть скрипт на заточку , но там просят 2 штуки всего что точиться. Подскажите как сделать чтобы 1 вещь просили?
Пишет itemsid.ini не найден!ну, если так пишет - значит в скрипте путь к фалу неправильно прописан
Breadfan
05.04.2010, 07:16
to Эйваз: 1ое: проверь путь к файлу, 2ое: 268682675=Vesper Singer - ваще непохоже на ID, скорее это OID.
to Alex17: а точнее сказать чего там у тебя есть - никак чтоль?
http://coderx.ru/attachment.php?attachmentid=430&d=1249172630
Breadfan
05.04.2010, 19:03
там же в самом скрипте прям написано:
if (sumitem(ItemID)<=1) then begin
// if (sumitem(ItemID)<=0) then begin //если надо точить одну вещь
Меняешь на
//if (sumitem(ItemID)<=1) then begin
if (sumitem(ItemID)<=0) then begin //если надо точить одну вещь
и все
kallifan
05.04.2010, 21:07
Люди помогите с проблемой
сервер www.cyb3r.ws
л2пх работает скрипт всё определяет пухи точки и прочее
жму старт
скрипт берёт точку вставляет пуху но кнопку "начать" не жмёт чтоб точилась.
в чём проблема?
Breadfan
05.04.2010, 22:29
сравни лог от клиента при заточке вручную, с логом от скрипта
Скинте плизик скриптик для эпилога для автоточки, а то для финала выкидывает чето(
Доброе времени суток!
Ребята помогите плис!!! Такая проблема, скрипт на заточку невидит
предметов (тему прочитал вчера всю) пользуюсь l2phx.3.5.33.164 и скрипт NLObP для Грации //version 0.8 от 26.01.2009г. (потому и пишу в эту тему) пробовал также l2phx 3.4.1.83-этот неконектится!?,http://i072.radikal.ru/1004/73/19c02fbcdbbbt.jpg (http://radikal.ru/F/i072.radikal.ru/1004/73/19c02fbcdbbb.jpg.html) играю на Грации Епилог, может дело все ItemsID.ini, также пробовал перебивать itemname-e.dat, может руки кривые навсякий случай выложу может кто-то попробует перебить http://www.rapidshare.ru/1460968 помогите плис с решением вопроса.
хм...., проблему решил сам, прочитавши почти все топики!
Walker.dll уж я точно ненапишу!!!
Sashafaq
29.04.2010, 12:00
че за бред валкер ни как не относится к пх
у тебя возможны 2 проблемы не правильно настроен пх не верно пакеты анализирует так сказать
или
пакеты на эпилоге изменены для работы скрипта необходимо их изменить в самом скрипте
че за бред валкер ни как не относится к пх
у тебя возможны 2 проблемы не правильно настроен пх не верно пакеты анализирует так сказать
или
пакеты на эпилоге изменены для работы скрипта необходимо их изменить в самом скрипте
Вот имено что пакеты изменены! и подключится к серверу я немогу!
Добавлено через 5 минут
Пост со скрином - это из за непонемания даной ситуации, и неразобравшись в реальности что и как должно быть.
Sashafaq
29.04.2010, 12:12
ниче не понял раньше ты писал что у тебя просто не видны итемы...
ищи разницу в пакетах не знаю что там используется какой нить инвентареапдейт
У меня просто пх неподключался, когда проанализировал лог стало все ясно, как-то даже странно что каждый 3-й раз лог был пустой и пх неперхвачивал подключение вообше, вот на этом я и прогорел где и выложил скрин (а в реальности подключения даже и небыло).
sonofliberty
30.04.2010, 01:52
подскажите пожалуйста, чуть ниже лог, не могу понять подключился к серверу или нет, спасибо
29.04.2010 23:46:36 Успешно загрузили E:\l2phx.3.5.33.164\inject.dll
29.04.2010 23:46:36 Стартует L2ph v3.5.33.164
29.04.2010 23:46:36 На 7788 зарегистрирован локальный сервер
29.04.2010 23:46:41 Надёжно пропатчен новый клиент l2.exe (1268)
29.04.2010 23:47:03 (Inject.dll) Коннект на 109.105.130.68:80 проигнорирован
29.04.2010 23:47:04 (Inject.dll) Коннект на 109.105.130.68:80 проигнорирован
29.04.2010 23:47:08 (Inject.dll) Коннект на 109.105.130.68:80 проигнорирован
29.04.2010 23:48:15 (Inject.dll) Коннект на 213.186.119.198:2106 проигнорирован
29.04.2010 23:48:19 (Inject.dll) Перехвачен коннект на 213.186.119.198:7776
29.04.2010 23:48:19 ServerListen: Обнаружено новое соединение.
29.04.2010 23:48:19 Тунель ($62260764) создан
29.04.2010 23:48:19 Тунель ($62260764) запущен для чтения с сокета № 284
29.04.2010 23:48:20 Тунель ($62260764), Серверный сокет № 284 / Клиентский сокет № 308, Соединение установлено с 213.186.119.198:7776
29.04.2010 23:48:34 Имя соединения для тунеля ($62260764): 0000064
У меня проблема со скриптом... клиент Interlude
Сервак (кривая ява, не моя) 77.106.252.128
Отредактировал скрпит под себя
Захожу в пх закинул туда скрипт
Запускаю игру
пх находит клиент
запуская скрипт пишет не найден itemsid.ini
И открвая вкладку предмет или заточка у меня есть пустой список, и когда выбираешь что нить в этом списке названия не появляется а ID с кол-вом появляются, пробовал так ставить заточку с предметом (путем тыка нашел и то и то) при старте пишет прервано...
P.S. твой itemsid.ini запихнул в settings все равно не пашет (
У меня проблема со скриптом... клиент Interlude
Сервак (кривая ява, не моя) 77.106.252.128
Отредактировал скрпит под себя
Захожу в пх закинул туда скрипт
Запускаю игру
пх находит клиент
запуская скрипт пишет не найден itemsid.ini
И открвая вкладку предмет или заточка у меня есть пустой список, и когда выбираешь что нить в этом списке названия не появляется а ID с кол-вом появляются, пробовал так ставить заточку с предметом (путем тыка нашел и то и то) при старте пишет прервано...
P.S. твой itemsid.ini запихнул в settings все равно не пашет (
Найдите в скрипте строчку ItemsName.LoadFromFile('itemsid.ini'); и замените на ItemsName.LoadFromFile('\settings\ItemsID.ini');
J-Fobos
Не помогло (( ВЫдает тоже самое
Breadfan
04.05.2010, 14:13
Попробуй так: ItemsName.LoadFromFile('..\settings\ItemsID.ini'); перед settings слеш и точки не забуть....а можно ничего не править, оставить как было, и просто скопировать файл ItemsID.ini в папку Scripts
И как ты сказал сделал и файлик переташил все равно ((( Ну мне кажется там ID поменяны если у сома 5643
SlipX, отредактируй itemsid.ini под свой сервер, желательно id отсортировать в сторону увеличения.
Breadfan
07.05.2010, 17:33
да плевать что там поменяли, хоть деревянные штаны пусть пишет, если уж на то пошло - файл вообще может пустым быть.....раз найти не может файл - проверь тщательно пути что ты там понаписал уже
Развернуто напиши: где лежат файлы ItemsID.ini, и что написано в самом скрипте.
На грации Эпилог не определяет инвентарь. Можно ли исправить?
Breadfan
12.05.2010, 16:08
Можно...если PHX правильно подключен, и не введена доп.шифрация трафика....а сейчас пока один вопрос - а ник перса верно ввел в скрипт?
Ник перса ввел правильно, до этого пользовался этим скриптом на ГФ. На эпилоге никак.
Irritant
30.05.2010, 22:32
Здравствуйте.
У меня проблема. При использования скрипта игра зависает.
Скрипт успевает сделать только такие действия:
открыть свиток, заточить предмет. Когда скрипт начинает открывать 2 свиток, то в игре ничего не происходит, виснет, приходиться или вырубать Lineage 2 либо рвать конект.
При этой проблеме в логе пишет постоянно WSA no error 10038/от 600 до 680, приблизительно.
Делал такие действия: менял timer.interval:= (не помогло)
Использовал программу l2 phs 3.7. Они полностью идентичны.
Скрипт под неё тоже аналогичен. Когда я использую l2 PHX(3.5.33.164), то не могу выбрать итемы. ItemsID подбирал под себя, ничего не меняется. Всевозможные здесь советы перепробовал, результат =0.
Помогите решить проблему.
Скрипт под l2 phs 3.7, который я использовал.
sonofliberty
02.06.2010, 11:37
не определяет инвентарь, хотя id такие же как в itemsid.ini, ник правильно перса вписал, файл itemsid.ini скрипт видит , как можно полечить данную ситуацию?
Irritant
02.06.2010, 18:53
не определяет инвентарь, хотя id такие же как в itemsid.ini, ник правильно перса вписал, файл itemsid.ini скрипт видит , как можно полечить данную ситуацию?
Ты вписал максимальное число, которое обозначает сколько может быть вещей в твоём инвентаре?
" max=80; //количество слотов в инвентаре чара "
Breadfan
03.06.2010, 14:28
sonofliberty: а как именно он не определяет инвентарь? Вообще список пустой, из одной строки? Строк много но верно определена лишь первая? Много строк, но ни одна не верна? Почему сразу внятно писать не в состоянии?
sonofliberty
03.06.2010, 15:53
количество ячеек написал правильно, насчет инвентаря то пустой список из одной строки
Breadfan
05.06.2010, 17:01
значит проверь отправку пакета RequestItemList (вроде так) от клиента, и принятие\обработку ItemList от сервера
BioDread
06.06.2010, 15:50
Люди подскажите плиз NLObP сделал проверку если вещь сточилась на +0 а как исправить если вещь у мну на серве интерлюда стачиваетсяна+3?
Подскажите какую строчку изменить надо..
А то когда шмотка сточилась скрипт дальше точит пока не спалит другую =( и зависает...
sonofliberty
09.06.2010, 01:21
значит проверь отправку пакета RequestItemList (вроде так) от клиента, и принятие\обработку ItemList от сервера
RequestItemList от клиента на серв норм принимается, а ItemList приходит как бы чистый пакет
BioDread
10.06.2010, 16:05
Люди подскажите плиз NLObP сделал проверку если вещь сточилась на +0 а как исправить если вещь у мну на серве интерлюда стачиваетсяна+3?
Подскажите какую строчку изменить надо..
А то когда шмотка сточилась скрипт дальше точит пока не спалит другую =( и зависает...
Всё ещё ждём ответа........ :search:
Добавлено через 30 минут
Всё всем спс использую скрипт от 3xdimon со строкой где указывать уровень минималки...
Всё ещё ждём ответа........ :search:
Добавлено через 30 минут
Всё всем спс использую скрипт от 3xdimon со строкой где указывать уровень минималки...
а где такой достать подскажи!
BioDread
13.06.2010, 15:59
Учись юзать поиск...
вот
В общем у меня возникло очень много вопросов)) Пользуюсь программой дня 2 версия стоит 3.4.1.83 Хроники грация финал, пробовал все скрипты не один не работает, скрипт все запускается, с сервера не кикает, ввожу в пати чат макс точку, точу предмет который нужно нажимаю социал действие которое стартует заточку и ничего не происходит((( В общем посоветуйте что нибудь, может версия программы не подходит(( жду ответов гуру. Сервер La2moon.ru
22.06.2010 17:27:01 Стартует L2phx 3.4.1.83
22.06.2010 17:27:01 Успешно загрузили inject.dll
22.06.2010 17:27:02 Thread Start: основной поток ServerListen 256/3232
22.06.2010 17:27:02 На 56574 зарегистрирован локальный сервер
22.06.2010 17:27:06 Надёжно пропатчен новый клиент l2.exe (3740)
22.06.2010 17:27:12 Коннект на 188.134.10.233:2106 проигнорирован
22.06.2010 17:27:18 Перехвачен коннект на 188.134.10.233:7777
22.06.2010 17:27:18 Thread Start: поток сервера Thread[0].SH 344/548 SSock=288
22.06.2010 17:27:18 Thread Start: поток клиента Thread[0].CH 356/1192 CSock=368
22.06.2010 17:27:25 Считываем имя соединения...
22.06.2010 17:27:25 Имя соединения:GunmakaZz
22.06.2010 17:38:39 Сохраняем лог пакетов...
22.06.2010 17:48:46 Сохраняем лог пакетов...
22.06.2010 17:58:08 Сохраняем лог пакетов...
пакеты идут вот скрин http://s40.radikal.ru/i090/1006/8f/0f697306f51f.jpg
вот скрипта скрин http://s04.radikal.ru/i177/1006/8b/2ac77ca344b5.jpg
закладка дополнительно http://s54.radikal.ru/i144/1006/3f/c514a23f588e.jpg
закладка основное http://s50.radikal.ru/i130/1006/66/348a9a6d72e4.jpg
в посылках ничего нету http://s47.radikal.ru/i115/1006/ec/fbf493b45fac.jpg
Ребят кто шарит в пакетах помогите плз со скриптом я так понял на сервере котором я пытался запустить скрипт изменены названия пакетов вот... плз кто может помогите))) сайт серва La2moon.ru
BioDread
25.06.2010, 02:05
Скачай L2phx поновее и будет тебе счастье =)
http://l2phx.pp.ru/arhive/l2phx.3.5.33.164.rar
И если играешь не на оффе сними галку "Gracia (off server)"
И ещё : в новой версии лучше юзать LSP перехват а не инжект....
при запуске скрипта вроде все нормально все правельно ввел, тока развешо ник определяется ???? ?? ???? но почемуто нехочет вводится ид преметов
приемник работает все как надо пакеты идут полным ходом но я немогу найти среди них итемид
также перелазил полностью весь itemsid и таки нашол оба id и вписал вручную непомогло
OVET, если ник определяет как знаки вопроса - значит с расшифровкой пакетов косяк. Смотри ветку про шифрацию.
с этим почти разобрался. но тут уже вылезло другое
все время при испольховании скрипта и не только этого ( на заточку) ла2 и пнх встает и раздуплятся не хочет. но у меня не самый хороший интернет часто часто бывают провалы в связи.
BioDread
02.07.2010, 20:09
Скажи плиз и как же ты разобрался с шифрацией?)) :o
никак
переустановил ла2 и переустановил винду
и кракозябры пропали и проблема изчезла
терь разбираюсь чо выкидывает иногда
он чото оч сильно оперативки сжирает
Такая проблема, помогите!
играю на хрониках Freya. сервер rulineage.com
что уже только не пробовал, а постоянно выдает какую-то ошибку:
http://s06.radikal.ru/i179/1008/dd/561f55837a1a.jpg
при этом в игре чар просто виснет, и ничего не могу сделать, а через время выкидает...
помогите разобраться!
//J-Fobos: Перепишите скрипт под Freya и используйте самую свежую версию пакетхака
Добавлено через 33 минуты
Не подскажете как скрипт переписать под Freya? я в скриптах не силен...
l2phx у меня версии 3.4.1.68.
//J-Fobos: Нету скрипта под Freya в общем доступе. Последняя версия 3.5.33.164
Добавлено через 8 минут
ну и на том спасибо!)
Добавлено через 15 минут
скрипт работает!!! поставил последнюю версию... но теперь другая проблема... не найден itemsid.ini
Добавлено через 16 минут
я не могу понять, эта новая версия вообще конектится к серву или нет...
в логе ничего не происходит(
Добавлено через 7 минут
кароч вижу, что приконектился! но в боксах ничего не могу выбрать.... раздуплите нубу что дальше делать!)
Добавлено через 16 минут
помогите разобраться в комбобоксами!!!!!! срипт запускается все норм, ток ничего выбрать не могу в боксах!
Добавлено через 16 минут
может кто-нить подкинуть itemsid для freya ?
//Breadfan: вот сразу видно что человек в панике просто :D файл скопируй в папку к скрипту, вроде так. А если нет - то сюда (http://coderx.ru/search.php), или хоть ветку полистай, обсуждали неоднократно это.
Добавлено через 4 часа 14 минут
какой файл скопировать???? и листать тут придется пол дня!)
Добавлено через 15 минут
и по фрее тут ничего не нашел!
//J-Fobos: Без шуток: пролистайте всю тему и увидите ответы на ваши вопросы :)
//Breadfan: http://coderx.ru/search.php?searchid=386627 - тяжело набрать уже?
MaJIou_DoGG
05.08.2010, 23:46
ПОпробуй другой скрипт , вот я на Епилоге этим пользуюсь, тут нет комбобоксов и т д но он сам определяет id шмоток и точит.
http://coderx.ru/showthread.php?t=5376
Ток ты его собери в кучку ) Он на 4 части разбит и обяз отпиши пойдет или нет ) если покатит то и я к вам на фрею полезу :D
Pilgrim, Этот сервер вряд ли freya, по пакетам больше на эпилог похоже. Там админы покоцали структуру пакетов itemlist & inventoryupdate.
Маска для itemlist : dddqhhhdh
0 - ItemOID
1 - ItemID
3 - Amount
8 - EnchantLevel
Маска для InventoryUpdate : hdddqhhhdh
0 - UpdateType
1 - ItemOID
2 - ItemID
4 - Amount
9 - EnchantLevel
Теперь вставляем их в процедуры создания и обновления инвентаря, которые вылаживал здесь алекстим:
Procedure CreateItemBase; //создание базы предметов
var i,j,count:integer;
begin
count:=round((length(pck)-5)/ReadH(4));
StringList.Clear;
for j:=1 to 4 do for i:=1 to Max do ItemBase[j,i]:=0;
for i:=0 to ReadH(4)-1 do
begin
readmask('dddqhhhdh',6+i*count,values);
ItemBase[1,i+1]:=values[0];
ItemBase[2,i+1]:=values[1];
ItemBase[3,i+1]:=values[3];
ItemBase[4,i+1]:=values[8];
StringList.Add(inttostr(itembase[4,i+1])+'*'+ItemsName.Values[IntToStr(ItemBase[2,i+1])]); //записываем название вещей из инвентаря
end;
ComboBoxItem.Items.Clear;
ComboBoxItem.Items.Assign(StringList);
ComboBoxItem.ItemIndex:=0;
end;
Procedure UpdateItemBase;
var i,j,obj,count:integer;
begin
count:=round((length(pck)-3)/ReadH(2));
for i:=0 to ReadH(2)-1 do
begin
readmask('hdddqhhhdh',4+i*count,values);
case values[0] of
1: obj:=0;
2: obj:=values[1];
3: begin
for i:=1 to Max do
if ItemBase[1,i]=values[1] then
begin
for j:=1 to 4 do ItemBase[j,i]:=0;
break;
end;
continue;
end;
end;
for i:=1 to Max do
if ItemBase[1,i]=obj then
begin
ItemBase[1,i]:=values[1];
ItemBase[2,i]:=values[2];
ItemBase[3,i]:=values[4];
ItemBase[4,i]:=values[9];
break;
end;
end;
end;
Вставляем заполнение комбобоксов. И все теперь можно вставлять это в свой скрипт...
спс за ответ!
Добавлено через 34 секунды
теперь бы еще разобраться что и куда))))
Добавлено через 21 минуту
помогите собрать скрипт в кучу)) я то нашел все) просто если бы просто нужно было заменить чет в скрипте, исправить, то без проблем... а так надо вставить дополнение в скрипт...я хз куда его
Добавлено через 18 минут
использую enchant_by_NLObP_09.rar
как мне вставить это:
Маска для itemlist : dddqhhhdh
0 - ItemOID
1 - ItemID
3 - Amount
8 - EnchantLevel
Маска для InventoryUpdate : hdddqhhhdh
0 - UpdateType
1 - ItemOID
2 - ItemID
4 - Amount
9 - EnchantLevel
и как с этим:
procedure ItemList;
{Создаем базу Items}
//11=ItemList:h(ShowWindow)h(ListSize:Loop.01.0021)h (ItemType1)d(ObjectID)
// d(ItemID:Get.Func01)d(LocationSlot)d(Count)h(ItemT ype2)h(CustomType1)
// h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2 )d(AugmentationID)
// d(Mana)d(AttackAttrElement)d(AttackAttrElementVal) d(DefAttrFire)
// d(DefAttrWater)d(DefAttrWind)d(DefAttrEarth)d(DefA ttrHoly)d(DefAttrUnholy)
var
i, j, k: integer;
ListCount: integer;
begin
j:=4; //смещение для ListCount
ListCount:=ReadH(j); //количество итемов не должно превышать max!
for i:=1 to maxitems do
if (i<=ListCount) then begin
BaseItems[i,1]:=ReadH(j); //ItemType1
BaseItems[i,2]:=ReadD(j); //ObjectID
BaseItems[i,3]:=ReadD(j); //ItemID
BaseItems[i,4]:=ReadD(j); //LocationSlot
BaseItems[i,5]:=ReadD(j); //Count
BaseItems[i,6]:=ReadH(j); //ItemType2
BaseItems[i,7]:=ReadH(j); //CustomType1
BaseItems[i,8]:=ReadH(j); //isEquipped
BaseItems[i,9]:=ReadD(j); //BodyPart
BaseItems[i,10]:=ReadH(j); //EnchantLevel
BaseItems[i,11]:=ReadH(j); //CustType2
BaseItems[i,12]:=ReadD(j); //AugmentationID
//debugmsg('OID='+inttostr(BaseItems[i,2])+' ID='+inttostr(BaseItems[i,3]));
inc(j,40);
end else for k:=1 to 12 do BaseItems[i,k]:=0; // забиваем нулями
//вносим изменения в чекбоксы
StringList.Clear;
try
for i:=1 to ListCount do begin
try
//StringList.Add(ItemsName[ItemBase[2,i]-1]); //записываем название вещей из инвентаря
StringList.Add(ItemsName.Values[IntToStr(BaseItems[i,3])]); //записываем название вещей из инвентаря
except;
//msg.Lines.Add('Пропускаем! Нет ItemID='+inttostr(BaseItems[i,3])+' в itemsid.ini');
end
end;
except;
//msg.Lines.Add('ошибка в CreateItemBase->StringList.Add()');
//msg.Lines.Add(inttostr(BaseItems[i,3]));
exit;
end;
if not CheckBoxItem.Checked then begin //наполняем комбобокс
with ComboBoxItem do
begin
Items.Clear;
Items.Assign(StringList);
ItemIndex:=0;
end;
end;
if not CheckBoxScroll.Checked then begin //наполняем комбобокс
with ComboBoxScroll do
begin
Items.Clear;
Items.Assign(StringList);
ItemIndex:=0;
end;
end;
end;
Помогите плз собрать!!!!
Я так посмотрел в скрипте не используются LocationSlot, ItemType1,2 итд.
Т.к я в пакете разобрал только oid, itemid, amount и enchlvl то чтоб не менять весь скрипт просто пропустим все остальное. Получается:
Procedure ItemList; //создание базы предметов
var i,j,count:integer;
values : array[0..8] of variant;
begin
count:=round((length(pck)-5)/ReadH(4));
StringList.Clear;
for j:=1 to 12 do for i:=1 to maxitems do BaseItems[i,j]:=0;
for i:=0 to ReadH(4)-1 do
begin
readmask('dddqhhhdh',6+i*count,values);
BaseItems[i+1,2]:=values[0];
BaseItems[i+1,3]:=values[1];
BaseItems[i+1,5]:=values[3];
BaseItems[i+1,10]:=values[8];
StringList.Add(ItemsName.Values[IntToStr(BaseItems[i+1,3])]); //записываем название вещей из инвентаря
end;
if not CheckBoxItem.Checked then begin //наполняем комбобокс
with ComboBoxItem do
begin
Items.Clear;
Items.Assign(StringList);
ItemIndex:=0;
end;
end;
if not CheckBoxScroll.Checked then begin //наполняем комбобокс
with ComboBoxScroll do
begin
Items.Clear;
Items.Assign(StringList);
ItemIndex:=0;
end;
end;
end;
А процедура обновления инвентаря:
Procedure InventoryUpdate;
var i,j,obj,count:integer;
values : array[0..9] of variant;
begin
count:=round((length(pck)-3)/ReadH(2));
for i:=0 to ReadH(2)-1 do
begin
readmask('hdddqhhhdh',4+i*count,values);
case values[0] of
1: obj:=0;
2: obj:=values[1];
3: begin
for i:=1 to maxitems do
if BaseItems[i,2]=values[1] then
begin
for j:=1 to 12 do BaseItems[i,j]:=0;
break;
end;
continue;
end;
end;
for i:=1 to maxitems do
if BaseItems[i,2]=obj then
begin
BaseItems[i,2]:=values[1];
BaseItems[i,3]:=values[2];
BaseItems[i,5]:=values[4];
BaseItems[i,10]:=values[9];
break;
end;
end;
end;
Просто замени имеющиеся у тебя в скрипте процедуры на эти.
да с itemsid.ini давно разобрался...
вот это:
ItemsName:=TStringList.Create;
try
ItemsName.LoadFromFile('itemsid.ini');
except
msg.Lines.Add('itemsid.ini не найден!');
exit;
end;заменил на вот это:
ItemsName:=TStringList.Create;
try
ItemsName.LoadFromFile('.\settings\itemsid.ini');
except
msg.Lines.Add('itemsid.ini не найден!');
exit;
end;а по поводу ...не хочет работать и все... - это не полное сообщение.
ниже я по-моему подробно написал: подключается, имя чара распознает, время идет, т.д. и т.п.
а вот в комбобоксах пусто(((( //Breadfan: это твое "подробно" подходит сразу под несколько причин (нет файла\не приходит пакет итемлист\не распознает пакет итемлист) - так что уж будь любезен - сразу полностью все сообщать, а не выдавливать из себя в день по фразе. До сих пор, кстати, нет никакого подтверждения того, что коннект нормально перехвачен, и необходимые пакеты верно расшифровываются. Из твоего скрина ниже - этого понять невозможно.
Добавлено через 59 минут
вот что выдает.. так яснее будет, я думаю:http://s42.radikal.ru/i098/1008/29/7fa4874f966c.jpg
Добавлено через 16 минут
итемлист приходит... а вот RequestItemList чет я не наблюдаю...
P.s. Я сразу написал эще в первых сообщениях, что не силен в этом деле... знал бы я как это все делается, не писал бы на форум!!!! войдите в положение, когда-то вы ведь тоже в этом не разбирались!
Добавлено через 6 минут
вот лог:http://s40.radikal.ru/i090/1008/62/d3dd5ce17934.jpg
//Breadfan: судя по этому скрину - как минимум имя соединения распознается неверно, что приведет к невыполнению разных "if (connectname=name) then...", а если как обычно - то скорее всего доп.шифрация трафика, и изменениями скрипта\настроек L2phx - делу не поможешь. В любом случае тебе сначала в ветку http://coderx.ru/showthread.php?t=3791...хотя в какой-то из версий программы было такое, что на Камаэль хрониках имя соединения неверно распознавалось, хотя все последующие пакеты отслеживались и была возможность работы с траффиком по номеру соединения... мало ли что тут с этой фрейей. На вкладке Дополнительно есть минискрипт с фразой в чат "Hello!!!" - проверь работает ли он
Добавлено через 44 минуты
не работает... значит с кодировкой плохо дело?
Я попробовал скрипт у тебя на сервере, инвентарь распознало верно и имя соединения тоже.
Для подключения использовал режим svn "перехват соединения", c включенной галкой Kamael-Hellbound-Gracia.
В скрипте изменил процедуры itemlist и inventoryupdate на те что я выложил раньше. Поменял местами строчки в процедуре Init, так чтобы
эта:
buf:=hstr('14');
SendToServerEx(Name);
была ниже этой:
try
ItemsName.LoadFromFile('settings/ItemsID.ini');
except
msg.Lines.Add('itemsid.ini не найден!');
exit;
end;
И самое главное удали эту строчку в процедуре Free:
BaseItems:=nil; //нельзя так делать с массивом
Fer123, выложи плз свой скрипт я попробую его поставить... если нет, проблема мож у меня с виндой, или с клиентом...
я использую l2phx.3.5.33.164.
вот ссылка на мой скрипт:
Freya enchant.rar (http://upload.com.ua/get/901842284/)
а то я уже закипаю, ничего не получается.
Добавлено через 22 минуты
скачаю клиент, пропатчу заново. нет... перебью винду, поставлю заново клиент, попробую опять скрипт... а потом забью на все это дело, и сяду учить скриптинг))))
Fer123, ты забыл еще про галочку Gracia (off server) сказать.
У меня зашел с такими настройками
В общем такое дело... с настройками, те что выше, такое ощущение, что ПХ вообще не подключается... поменял во второй вкладке настройки: поставил галочки возле "перехват", выбрал "надежный тип перехвата", и поставил галочку на "имя библиотеки перехватывающей соединение".
так подключается, имя распознает правильно(без крякозябров). использую скрипт, который мне скинул Fer123 (за что ему спасибо), но тут таки опять беда началась... инвентарь то все равно не хочет видеть(((( может проблема в том что я не могу подключиться через LSP-соединение?
вот скрин:
http://s005.radikal.ru/i211/1008/19/e7d84e07cf08.jpg
и еще одно. может это важно... когда запускаю скипт, окошко компиляции зависает, и так и висит, хотя и скрипт запустился...
Добавлено через 5 минут
Вот попробовал еще раз через LSP... теперь подключилось, все четко...
но инвентаря так и не видет((((
Добавлено через 10 минут
Кода запускаю скрипт, в логе пакетов появляется RequestItemList.
на скрине это видно.
http://s58.radikal.ru/i160/1008/a8/0798f4ff417c.jpg
но меня смущает что там мало написано в детальной расшифровке пакета... я не знаю... это так и должно быть?
Добавлено через 6 минут
вот скрин itemslist в логе :
http://i082.radikal.ru/1008/59/5cb176dc13b2.jpg
но меня смущает что там мало написано в детальной расшифровке пакета... я не знаю... это так и должно быть?
Это только пакет запроса ItemList. Он почему-то не пришел после запроса, судя по твоему скрину.
Всем привет! Я знаю, что этот вопрос возникал тысячи раз. Я листал весь форум, делал все как говорили. Но ничего не получилось. Скрипт не распознает ItemID.ini. Поначалу, итем.ини он не мог найти. Я указал путь. Вроде находит. Но все равно ComboBoxItem не показывает предметов. Потом я заменил ItemId.ini, на тот который нашел у себя в системе. Я толи откуда т оего скачал, толи шел с игрой. Я заменил его на тот который был вместе с л2phx. Но результат тот же... Понятия не имею что делать...
L2pnx 3.5.3.3.164
Gracia Epilogue, хотя клиент фреи.
Сайт сервера www.versus.la
Зарание спасибо.
P.s. и если нажать в проге на 2 галки, типа реди , выкидывает ошибку.
Это основное меню, вроде бы все правильно.http://pics.kz/s1/26/d2/36/26d236fd736af7774a085a353b467bb7.jpg
Это вот ошибка, когда нажимаешь на 2 галку, свиток, или наоборот, сначало нажмешь на свиток а потом на предмет.http://pics.kz/s3/79/1f/fc/791ffc3d8541329e480a81f48ed743d7.jpg
А вот это вот наш скрипт!http://pics.kz/s5/18/32/f7/1832f78148de3e8748615a6ec681a8dd.jpg
Добавлено через 7 часов 15 минут
Мне никто не поможет я так понял? Но проблема мне кажется вот в чем. файл ItemID.ini он лажовый. Я скачал его вместе с л2пнх. Внимательно пролистав, я не обнаружил там веспер. Кто нибудь может дат ссылку на дополненный ItemID.ini:eek:
Добавлено через 7 часов 15 минут
Мне никто не поможет я так понял? Но проблема мне кажется вот в чем. файл ItemID.ini он лажовый. Я скачал его вместе с л2пнх. Внимательно пролистав, я не обнаружил там веспер. Кто нибудь может дат ссылку на дополненный ItemID.ini:eek:
Я думаю помогут, просто имейте терпение :)
Нужный вам ItemID.ini создайте сами, откройте itemname-e.dat любым удобным для вас редактором (слава программистам - их достаточно) и сохраните как текстовый файл. Потом импортируйте этот текстовый файл в ексель (или в калк) и удалите лишние значения, оставьте только id предмета и его название, ну и приведите файл в подобающий вид (добавьте знак = между id и названием).
Я думаю помогут, просто имейте терпение :)
Нужный вам ItemID.ini создайте сами, откройте itemname-e.dat любым удобным для вас редактором (слава программистам - их достаточно) и сохраните как текстовый файл. Потом импортируйте этот текстовый файл в ексель (или в калк) и удалите лишние значения, оставьте только id предмета и его название, ну и приведите файл в подобающий вид (добавьте знак = между id и названием).
Сделано! Вот тока проблема, файлов 20867, мне нехочется между каждыми ставить равно, как это сделать по быстрому?
Breadfan
10.08.2010, 22:04
А вручную необходимое добавить - никак чтоль? Не тысячи ж строк надо дописывать, от силы - пару десятков, по времени это займет полчаса максимум. Никто же не заставляет вписывать наподобие "12190=Обычный Предмет - Запечатанные Перчатки Синего Волка", достаточно "12190=хреновые перчи", или еще проще - "12190=перчи" Хотя сомневаюсь я что в этом дело. Почему ты вообще ставишь галку на комбобокс НЕвыбрав там ничего? Или ты в описании к скрипту не читал "...Внимание! Из комбобокса обязательно надо выбрать вещь, чтобы скрипт узнал ID и количество, только потом ставить напротив галочку..."
А вручную необходимое добавить - никак чтоль? Не тысячи ж строк надо дописывать, от силы - пару десятков, по времени это займет полчаса максимум. Никто же не заставляет вписывать наподобие "12190=Обычный Предмет - Запечатанные Перчатки Синего Волка", достаточно "12190=хреновые перчи", или еще проще - "12190=перчи" Хотя сомневаюсь я что в этом дело. Почему ты вообще ставишь галку на комбобокс НЕвыбрав там ничего?
Ну я как бы поставил равно между, всеми точками и пухами веспер. Эффекта 0. И я галку ставил, чтобы показать, какая ошибка у меня вылазиет. И в комбоксе, вообще ничего нету. Пусто! Но если точнуть самому на +1 то, появляется в них Адена, коротки меч, короткое копье, и Tunic of knowlenge. Это старый ItemsID.ini, а вот который я вытащил из система, вообще теперь ничего не показывает =(
//Breadfan: http://coderx.ru/showpost.php?p=92188&postcount=385
Ну короче. Запускаем енчантер. Автоматизация заточки by NLObP для Грации! Нажимаем стрелочку вниз где написано ComboBoxItem, открывается список. Список состоит из одной пустой сторки, больше нечего. То же самое с ComboBoxScroll.
//Breadfan: значит дело в ошибочном распознавании пакета ItemList (либо вообще его запросом). Отследи его вручную в логе, и посмотри содержимое.
ммм. Извиняюсь, но я чайник полный в программирование. Как отследить его в логе? И лог это который в л2пнх?
//Breadfan: в первом скрине у тебя лог, и там совершенно нет пакета от сервера ItemList - должен приходить каждый раз при открытии сумки, а раз его нет - то и считать инф-ю о шмоте\заточках - невозможно (это все в том случае, что лог снят при включении скрипта, а не посторонний), вот о чем я вобщем-то. Включи "запоминать от сервера" и открывай сумку следя за тем что отправляется на серв, и что приходит в ответ.
Итем лист приходит,Вот скринhttp://pics.kz/s3/92/18/90/92189072eb6c3c39003787e6b8db0da0.jpg
Noctavi, со скрина видно что пакет читается не верно, это значит что вам также как и Pilgrim надо изменять процедуру обработки этого пакета.
Ну и еще, для общего развития :)
Для быстрой вставки знака = могли бы воспользоваться возможностями екселя (или калка), просто вставить столбец и заполнить его этим знаком.
это в смысле... настройки перехвата чтоль?
P.s. а если между id, знаком "=" и названием итема пробелы? это ничего? или надо устранять?
вот такого типа:
12 = название итема
Да фиг его поймешь. Я выключил вообще обработку пакетов, понял что это не выход...)
Но если так по раскинуть ламмерскими мозгами. То перехват тут не причем. Название говорит само за себя. Он просто перехватывает пакеты. А обрабатывает, нечто другое. Что у нас сломанно. Типа у нас запечатаня вещь. Маммон дурак. Вот и вся проблема.
11 01 00 17 00 04 00 2F 67 1C 10 39 00 00 00 00 00 00 00 3D F4 9E 16 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 AE 06 01 10 53 37 00 00 02 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 06 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 8E 6C 1F 10 49 37 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 02 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 AD 06 01 10 53 37 00 00 01 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 06 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 22 AB 1C 10 47 37 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 06 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 04 00 53 1A 20 10 41 05 00 00 03 00 00 00 C8 00 00 00 00 00 00 00 05 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 52 C7 08 10 54 37 00 00 04 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 04 00 31 67 1C 10 9A 29 00 00 04 00 00 00 02 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 7B 14 1F 10 45 37 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 01 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 F9 89 06 10 55 37 00 00 05 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 30 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 3A 5B 07 10 55 37 00 00 06 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 30 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 04 00 42 69 1C 10 BB 05 00 00 06 00 00 00 A0 8D 01 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 04 00 68 45 07 10 F8 18 00 00 07 00 00 00 C2 10 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 01 00 B1 C2 13 10 55 33 00 00 08 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 01 00 40 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 04 00 4B 40 07 10 D8 15 00 00 08 00 00 00 B4 01 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 04 00 53 97 11 10 BA 28 00 00 09 00 00 00 01 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 46 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 AE 41 22 10 DD 28 00 00 0A 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 01 00 F3 AF 08 10 8C 34 00 00 0B 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 02 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 3C 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 01 00 D9 AF 08 10 7C 34 00 00 0C 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 04 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 3C 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 01 00 17 77 12 10 8B 34 00 00 0D 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 08 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 3C 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 01 00 C7 76 12 10 8D 34 00 00 0E 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 10 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 3C 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 9C FF 0C 10 42 36 00 00 0F 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 00 20 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 1E 00 FF FF FF FF 00 00 00 00 00 00 01 00 BC 2A 0E 10 91 36 00 00 1E 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 10 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00
??? Не говорите пожалуйста так, как будто это соовсем легко, может для вас богов да, но для нас простых смертных...
Как изменить процедуру обработки пакетов???
В экселе пытался, на весь столбик низян вставить равно, какая то херь получается..
Кальк, понятия не имню что делать. Знаю как делить и умножать-.-
Ну куда же вы пропали, я каждые 5 секунд обновляю страницу. А вас все нет и нет..
Я домой пошел тогда :)
Калк это аналог екселя в опен офис, а не калькулятор винды.
А знак "равно" вставляется после того как формат ячейки установлен как текстовый, а не то ексель/калк распознает их как попытку написать формулу, для этого не надо быть богом, это основы екселя :)
По поводу процедуры обработки инвентаря, берете и изменяете, что значит как :confused:
это в смысле... настройки перехвата чтоль?
P.s. а если между id, знаком "=" и названием итема пробелы? это ничего? или надо устранять?
вот такого типа:
12 = название итема
Нет, не настройки перехвата, процедуру в скрипте, Fer123 написал что и как, разбирайтесь.
А насчет пробелов, их можно без особых проблем убрать в 4 клика мышкой... я в шоке, неужели екселем пользоваться не умеете.
11=ItemList:h(ShowWindow)h(ItemCount:Loop.01.0026) h(ItemType1)d(ObjectID)d(ItemID:Get.Func01)d(Locat ionSlot)q(Amount)h(ItemType2)h(CustomType1)h(isEqu ipped)d(BodyPart)h(EnchantLevel)h(CustType2)h(Augm entID:Get.AugmentID)h(AugmentID:Get.AugmentID)d(Ma na)h(AttackElementType)h(AttackElementPower)h(Fire DefElementPower)h(WaterDefElementPower)h(WindDefEl ementPower)h(EarthDefElementPower)h(HolyDefElement Power)h(UnholyDefElementPower)d(RemainingTime)h(En chantEffect1)h(EnchantEffect2)h(EnchantEffect3)
Вот такой должен быть разбор пакета у тебя
Маска получается hdddqhhhdh
Получается readmask('hdddqhhhdh',6+i*count,values);
values[0] присваивается h(ItemType1)
values[1] d(ObjectID) и так далее
Получается:
ItemBase[1,i+1]:=values[1]; //d(ObjectID)
ItemBase[2,i+1]:=values[2]; //d(ItemID:Get.Func01)
ItemBase[3,i+1]:=values[3]; //q(Amount)
ItemBase[4,i+1]:=values[9]; //h(EnchantLevel)
А чтобы переделать его под скрипт тебе нужно переименовать ItemBase в BaseItems и сделать разбор как я показал только для всех 12 элементов массива, или взять за основу это http://coderx.ru/showpost.php?p=102022&postcount=405 и просто поменять маску и индексы в values
Pilgrim, на rulineage.com посылка пакета 0x14 (RequestItemList ) - вызываем инвентарь не работает! (может и на других так же). Советую в скрипте, везде где найдешь, заремить две такие строки:
buf:=hstr('14');
SendToServerEx(Name);
Для наполнения комбобоксов: После запуска скрипта в клиенте вручную открыть инвентарь или взять/снять оружие, после чего по идее должен прийти пакет ItemLis и скрипт сможет наполнить комбобоксы.
Еще, для правильного показа в пакетхаке содержимого пакета, например ItemList, требуется правильное его описание в файле packetst2.ini
11=ItemList:h(ShowWindow)h(ItemCount:Loop.01.0024) d(ObjectID)d(ItemID:Get.Func01)d(LocationSlot)q(Co unt)h(ItemType2)h(ItemType3)h(isEquipped)d(BodyPar t)h(EnchantLevel)h(ItemType3)d(AugmentID:Get.Augme ntID)d(Mana)h(AttackElement)h(FreyaUnknown)h(Freya Unknown)h(AttackElementPower)h(FireDefElementPower )h(WaterDefElementPower)h(WindDefElementPower)h(Ea rthDefElementPower)h(HolyDefElementPower)h(UnholyD efElementPower)d(RemainingTime)h(FreyaUnknown)
21=InventoryUpdate:h(Count:Loop.1.0025)h(UpdateTyp e:01-add,02-mdf,03-rmv)d(ObjectID)d(ItemID:Get.Func01)d(LocationSlot) q(Quantity)h(ItemType2)h(CustomType1)h(Equipped)d( BodyPart)h(EnchantLevel)h(CustType2)d(AugmentID:Ge t.AugmentID)d(Mana)h(AttackElement)h(FreyaUnknown) h(FreyaUnknown)h(AttackElementPower)h(FireDefEleme ntPower)h(WaterDefElementPower)h(WindDefElementPow er)h(EarthDefElementPower)h(HolyDefElementPower)h( UnholyDefElementPower)d(RemainingTime)h(FreyaUnkno wn)
Вот расшифровка ItemList, первых двух предметов (ItemID расшифровывает правильно):Tип: 0x11 (ItemList)
Pазмер: 483+2
Время прихода: 02:10:06:406
0002 h ShowWindow: 1 (0x0001)
0004 h ItemCount: 7 (0x0007)
[Начало повторяющегося блока 1/7]
0006 d ObjectID: 269138368 (0x100AB9C0)
0010 d ItemID: Свиток Телепорта Путешественника ID:10650 (0x299A) (0x0000299A)
0014 d LocationSlot: 0 (0x00000000)
0018 q Count: 10
0026 h ItemType2: 5 (0x0005)
0028 h ItemType3: 0 (0x0000)
0030 h isEquipped: 0 (0x0000)
0032 d BodyPart: 0 (0x00000000)
0036 h EnchantLevel: 0 (0x0000)
0038 h ItemType3: 0 (0x0000)
0040 d AugmentID: 0 (0x00000000)
0044 d Mana: -1 (0xFFFFFFFF)
0048 h AttackElement: 64537 (0xFC19)
0050 h FreyaUnknown: 65535 (0xFFFF)
0052 h FreyaUnknown: 65534 (0xFFFE)
0054 h AttackElementPower: 0 (0x0000)
0056 h FireDefElementPower: 0 (0x0000)
0058 h WaterDefElementPower: 0 (0x0000)
0060 h WindDefElementPower: 0 (0x0000)
0062 h EarthDefElementPower: 0 (0x0000)
0064 h HolyDefElementPower: 0 (0x0000)
0066 h UnholyDefElementPower: 0 (0x0000)
0068 d RemainingTime: 0 (0x00000000)
0072 h FreyaUnknown: 0 (0x0000)
[Конец повторяющегося блока 1/7]
[Начало повторяющегося блока 2/7]
0074 d ObjectID: 269138367 (0x100AB9BF)
0078 d ItemID: Свиток Телепорта: Деревня Камаэль ID:9716 (0x25F4) (0x000025F4)
0082 d LocationSlot: 1 (0x00000001)
0086 q Count: 5
0094 h ItemType2: 5 (0x0005)
0096 h ItemType3: 0 (0x0000)
0098 h isEquipped: 0 (0x0000)
0100 d BodyPart: 0 (0x00000000)
0104 h EnchantLevel: 0 (0x0000)
0106 h ItemType3: 0 (0x0000)
0108 d AugmentID: 0 (0x00000000)
0112 d Mana: -1 (0xFFFFFFFF)
0116 h AttackElement: 64537 (0xFC19)
0118 h FreyaUnknown: 65535 (0xFFFF)
0120 h FreyaUnknown: 65534 (0xFFFE)
0122 h AttackElementPower: 0 (0x0000)
0124 h FireDefElementPower: 0 (0x0000)
0126 h WaterDefElementPower: 0 (0x0000)
0128 h WindDefElementPower: 0 (0x0000)
0130 h EarthDefElementPower: 0 (0x0000)
0132 h HolyDefElementPower: 0 (0x0000)
0134 h UnholyDefElementPower: 0 (0x0000)
0136 d RemainingTime: 0 (0x00000000)
0140 h FreyaUnknown: 0 (0x0000)
[Конец повторяющегося блока 2/7]
Breadfan
11.08.2010, 22:51
вот вроде заработало:
изменены проц-ры как Fer123 и говорил, изменил проц-ру RequestEnchantItem, и добавил кусочек в блок обработки "от сервера". Но проверял только на д\ц - так что работоспособность не гарантирую. Кстати - фейл заточки - не проверен, нет аден на тесты)
Скрипт заточки для фрейи. Требует проверки. Точит и одну вещь и несколько по очереди. При фейле точит только сфейленную вещь, пока не догонит по заточке остальные. Используется три таймера.
Breadfan
12.08.2010, 21:42
NLObP: проверял на Версусе - немного изменил номера пакетов и структуры итемлист\листапдейт. Может Noctavi потом отпишется еще. Таймеры выставлены на рабочее состояние (но наврятли самое оптимальное) - сообщений "..гм информед.." - нет. Засим предлагаю последние страниц 5 с обсуждением версус\рулинейдж - удалить :)
На рулинейдж проверил - правка скрипта не требуется, только не забывайте руками открыть сумку при старте.
ЗЫ: http://coderx.ru/showpost.php?p=102172&postcount=409 - только для рулинейдж сервера, но не для версус.
PS: при нажатии кнопки "Stop" - кнопка сереет, кнопка "Старт" - становится активной, но заточка при этом - не останавливается
Imperial2008
14.08.2010, 02:57
Искал, но решение проблемы не нашел.
Подскажите, почему нельзя изменять минимальное значение заточки оружия? Дело в том, что на одном сервере минимальная заточка +10 и меньше она физически быть не может. В скрипте я никак не могу выставить минимальную заточку. Когда запускаю скрипт в режиме "как есть" без никаких изменений (а их сделать у меня и не вышло) после того, как точка сбрасывается возникает какой-то конфликт и ничего уже сделать нельзя так, как просто-напросто виснет сам пнх. Подскажите, как можно решить это проблему?
Breadfan
14.08.2010, 03:27
сбрасывается всегда в +10 ? или все изначально +10 (раз ты пишешь "... меньше физически быть не может..." ? Или до +10 фейл возможен, но степень заточки не меняется? Полностью условия заточки опиши
Если просто сбрасывается в 10, то #$81: if readd(2)=10 then begin
CurEnchLvl:=10; //начнем с начала здесь вместо 0 укажи 10.
Подскажите вот скрипт юзает точку кладет вещь но заточку не начинает как это поправить?
скрипт юзает точку кладет вещь но заточку не начинает как это поправить?
Правкой ID пакетов и возможно изменения логики в скрипте.
CrazyInLove
23.08.2010, 00:21
Требую помощи,выбираю оружие,выбираю свиток,жму старт и высвечивается "Предметов для улучшения должно быть больше двух" .Так же стокнулся с проблемой,что высвечиваются итемы ,которых у меня нет в инвентаре и ТОЛЬКО один ,который я использовал(тоесть я поставил таллум перчи,положил в вх арморки,высунул ,открыл инвентарь и они у меня появились в списке вместо перчей - вот так я только смог поставить)
http://s39.radikal.ru/i086/1008/5f/f7758d929872.jpg
LunarSoldier
25.08.2010, 04:31
всем доброго времени суток, у меня такая проблема при запуске скрипта не могу поставить значение ID в таблицу в чем моя ошибка??
//Breadfan: Предмет выбирается в выпадающем списке, а то поле - просто информация о предмете. Есди же ты решил что в выпадающем списке нужно руками чтото вводить - то поищи посты с "не видит инвентарь..."
Народ попробовал 3 скрипта на автоточку
от TAMBIK,NLObP и mks на сервере l2deice.org не пашет
делаю все по инструкции нажимаю на соц действие и нечего не происходит
помогите настроить
или скинте настроенный отблагодарю голосами вКонтакте
Доброго времени суток! Гуру нужна Ваша помощь-
1.Хроники Graciya Epilog
2.скрипт NLObP
3. использую l2phx.3.5.33.164
такая проблема: не видет правильно инвентарь, itemsid.ini перебил под сервер, незнаю даже что и сказать первый раз столкнулся с такой проблемой, просто выдает вообще какойто бред в Itemsid.
http://s54.radikal.ru/i145/1009/ec/0e6bdf51a238t.jpg (http://radikal.ru/F/s54.radikal.ru/i145/1009/ec/0e6bdf51a238.jpg.html)
Добавлено через 23 часа 13 минут
кто-то что-то подскажет или нет?
//Breadfan: а что означает "перебил под сервер" ?....и кстати - полистав странички можно найти кучу постов с таким же вопросом: "...неверно определяет инвентарь..."
//QaK: ответ простой и очевидный - потому, что гладиолус. Дело не в инишнике, дело в процедуре разбора пакета апдейта/инициализации инвентаря
KillorLife
05.11.2010, 07:35
Грация Эпилог - запрос на инвентарь - ответ от сервера
Tип: 0x11 (ItemList)
Pазмер: 1475+2
Время прихода: 06:05:07:671
0002 h ShowWindow: 1 (0x0001)
0004 h ItemCount: 21 (0x0015)
[Начало повторяющегося блока 1/21]
0006 h ItemTypeID: 4 (0x0004)
0008 d ObjectID: 268600483 (0x100284A3)
0012 d ItemID: Adena ID:57 (0x0039) (0x00000039)
0016 d LocationSlot: 0 (0x00000000)
ляляляля
А на все остльное пишет - [
[Начало повторяющегося блока 2/21]
0070 h ItemTypeID: 0 (0x0000)
0072 d ObjectID: 0 (0x00000000)
0076 d ItemID: Unknown Items ID:-2069626876(84A40004) (0x84A40004)
В настройках перехвата копаться ?
Добавлено через 26 минут
Tип: 0x11 (ItemList)
Pазмер: 495+2
Время прихода: 06:31:28:921
0002 h ShowWindow: 1 (0x0001)
0004 h ItemCount: 7 (0x0007)
[Начало повторяющегося блока 1/7]
0006 h ItemTypeID: 4 (0x0004)
0008 d ObjectID: 268508372 (0x10011CD4)
0012 d ItemID: Учебник ID:5588 (0x15D4) (0x000015D4)
0016 d LocationSlot: 1 (0x00000001)
0020 q Amount: 1
0028 h ItemType2: 5 (0x0005)
0030 h CustomType1: 0 (0x0000)
0032 h isEquipped: 0 (0x0000)
0034 d BodyPart: 0 (0x00000000)
0038 h EnchantLevel: 0 (0x0000)
0040 h CustType2: 0 (0x0000)
0042 d AugmentID: 0 (0x00000000)
0046 d Mana: -1 (0xFFFFFFFF)
0050 h AttackElement: 65534 (0xFFFE)
0052 h AttackElementPower: 0 (0x0000)
0054 h FireDefElementPower: 0 (0x0000)
0056 h WaterDefElementPower: 0 (0x0000)
0058 h WindDefElementPower: 0 (0x0000)
0060 h EarthDefElementPower: 0 (0x0000)
0062 h HolyDefElementPower: 0 (0x0000)
0064 h UnholyDefElementPower: 0 (0x0000)
0066 d RemainingTime: 0 (0x00000000)
Все остальное опять не видит....
Как это может быть что 2 предмета определяет , а остльные нет Оо
Все пакеты идут те которые отправляешь , можешь спокойно поймать один и отослать его еще раз , а инвентарь в прямую не видит оО
Breadfan
05.11.2010, 10:05
Ну попробуй в файле PacketsT2.ini вместо 11=ItemList:h(ShowWindow)h(ItemCount:Loop.01.0023) h(ItemTypeID)d(ObjectID)d(ItemID:Get.Func01)d(Loca tionSlot)q(Amount)h(ItemType2)h(CustomType1)h(isEq uipped)d(BodyPart)h(EnchantLevel)h(CustType2)d(Aug mentID:Get.AugmentID)d(Mana)h(AttackElement)h(Atta ckElementPower)h(FireDefElementPower)h(WaterDefEle mentPower)h(WindDefElementPower)h(EarthDefElementP ower)h(HolyDefElementPower)h(UnholyDefElementPower )d(RemainingTime) поставить 11=ItemList:h(ShowWindow)h(ItemCount:Loop.01.0023) h(ItemTypeID)d(ObjectID)d(ItemID:Get.Func01)d(Loca tionSlot)d(Amount)h(ItemType2)h(CustomType1)h(isEq uipped)d(BodyPart)h(EnchantLevel)h(CustType2)d(Aug mentID:Get.AugmentID)d(Mana)h(AttackElement)h(Atta ckElementPower)h(FireDefElementPower)h(WaterDefEle mentPower)h(WindDefElementPower)h(EarthDefElementP ower)h(HolyDefElementPower)h(UnholyDefElementPower )d(RemainingTime)
(просто на фришках такое часто бывает)
Если б вместо "ляляля" нормально пакет привел - я бы точно сказал, а так - хз, может поможет, может нет.
BimSkaLaBim
08.11.2010, 20:18
Уважаемые, играю на Интерлюде. Суть сервера в том ,что когда идет неудачная заточка блесед точкой сбрасывается у итема не на +0 а на +4. Именно из-за этого начинает глючить клиент и пакетхак не отвечает.Процесс останавливаеться на первом сломе. Мне кажеться гдето нужно исправить цифру,ну где не нашел...Помогите! Спасибо за скрипт,очень полезная штука.
//J-Fobos: прочтите несколько предыдущих страниц и увидите ответ.
Добавлено через 6 часов 54 минуты
Прочитал,попробовал не помогло. CurEnchLvl:=0; тут поменял чтобы точка проходила не с 0ля а с 4ех. Продвижения нет. Чтото не нравиться серверу...
//Breadfan: может не там поменял? Приведи участок кода который модифицировал...меняется в самом конце скрипта: #$81: if readd(2)=0 then begin
CurEnchLvl:=0; //начнем с начала
end;
end;
end.
(ориентировочно, зависит от версии используемого скрипта) ЗЫ: меняются две цифры
как я понял у меня скрипт не видит инвинтарь:p,что делать?
как я понял у меня скрипт не видит инвинтарь:p,что делать?
Попробуй сделать так (http://coderx.ru/showpost.php?p=125432&postcount=125).
dathmetalcore
17.12.2010, 18:54
для грацыи парт 1 работает??
я тут попарился и решыл задать вопрос.
чего у меня когда копирую с "itemsID.ini" в сам скрипт итем шмотки и точьки,я не могу поставить галочьку,а также отмечяет ето поле красным цветом.
//Breadfan: вопрос встречный - а где ты тут прочел что надо чт-либо копировать с итемсИД.ини?
Добавлено через 16 часов 52 минуты
я перечитал инструкцыю))
нужно открыть скрипт изменить имя, поставить галочьку и в вынесенном окне выбрать пуху и точьку,нажать старт.
все правельно??
пожалуйста помогите не могу понять что происходит
в поля бокса я вставил и пуху и заточку а дальше после старта он не хочет точить..
l2prime.ru freya
l2phx.3.5.33.166
http://www.imget.ru/images/2010/12/23/n2LbrcfgxO.jpg
0.9
0.10
скрипты версией пробовал
tazar, я не пойму ты скрипт куда вставил?
Скрипт складываем в папку "scripts" и включаем в "автоматизация->скрипты" ставим напротив нужного скрипта галочку.
да я туда и вставил это прост на фото криво получилось)))
Задействовали свиток ScrollID=6573 ScrollOID=271576329
вот что пишет потом тишина точки не происходит в какую сторону капать и если надо менять скрипт то покажите в каком месте
вот что пишет потом тишина точки не происходит в какую сторону капать и если надо менять скрипт то покажите в каком месте
Если не знаешь паскаля, то лучше просто другой скрипт поискать. А так, нужно смотреть на пакеты, которые при ручной заточке идут и на те которые скрипт шлет. И привести в соответствие.
да я знаю и паскаль и C# ток в этом я не могу понять)))
вот скрин с ручной точкой наименование пакетов одинаковое
что и у тебя или я ошибаюсь? но названию пакетов вроде сходны
http://www.imageup.ru/img109/b518151.jpg
tazar, сам лог пакетов прикрепи, тогда проще сказать можно будет.
Ни 1 скрипт не влючаеться:mega_shok:,что делать даже не знаю:o
Всё делаю по инструкции.
http://s010.radikal.ru/i312/1012/d6/ebf0f1b1a502.jpg
Мне кажеться должно имя другое стоять или через lsp всегда такие имена пишет?!?
L2.exe, только мне кажется что ник чара не отобразился? :)
L2.exe, только мне кажется что ник чара не отобразился? :)
Я про это и говорю, вот теперь мозг ломаю,какой ник в скрипт вписывать:stinker:
кто знает решение проблемы,всегда рад выслушать))
Мне кажеться должно имя другое стоять или через lsp всегда такие имена пишет?
ИМХО. Если в LSP стоит "перехватывать соединение" - в заголовке видим имя чара, если "перехватывать данные", то имя не видно.
Update: имя должно быть видно всегда! В твоем случае защита на серваке.
realpower
02.01.2011, 23:53
Использую заточку на фрею рулинейдж. Использую скрипт на сервере l2freya.com.ua! Включаю скрипт! Не видит итемы что делать! Я нуб если что обьясните поподробней
Не видит итемы что делать!
Много раз рассказывали. Читайте форум.
Я нуб, обьясните поподробней
Много раз рассказывали. Читайте форум.
=)
realpower
03.01.2011, 13:46
Просто ни где не могу найти
Всех С прошедшим НГ!)....ну а если по теме то подскажите пожалуйста, серв фрея...у меня тоже не видет итемы при использовании скрипта, но в принципе это и не проблема, проблема в том что даже когда я нахожу все предметы (он количество определяет правельно) то при нажатии на старт авто точение не идёт почему то, хотя все данные указаны верно! Этот скрипт называеться "EnchFREYA" а что касаеться двух других на странице 43, при включении этих скриптов не обнаруживает ни каких итемов...сервер http://l2sog.net/index.php возможно конешно я что то не учёл, но врятли...если можно то пожалуйста помогите разобраться в том что делать....Заранее спасибо;)
realpower
03.01.2011, 14:28
Cделайте мне пожалуйста ItemsID.ini плз вот itemname-e. Клиент фрея!!! Прошу помоч так как я сам не шарю!
realpower
03.01.2011, 14:38
Габриель а как ты сделал что бы у тебя видел л2пх шмот!
Просто ни где не могу найти
А может и не искал? Две страницы назад ссылка (http://coderx.ru/showpost.php?p=125432&postcount=125) на мое сообщение есть.
Возможно несколько вариантов почему скрипт не видит предметы:
1. Нет описания предметов в файле itemsid.ini (лежит в папке settings пакетхака). Решение проблемы - просто дописываем в конец этого файла своё описание предмета по виду ItemId=Название предмета
17=Деревянная Стрела
2.Неправильно определяется пакет ItemList, InventoryUpdate. Как поправить смотреть здесь (http://coderx.ru/showpost.php?p=125432&postcount=125).
Почему скрипт не хочет точить предмет? Потому что этот скрипт под другие хроники или если под те, то сам процесс заточки отличается от того под который делался скрипт. Требуется значительное изменение скрипта. Проще поискать другой готовый.
realpower
03.01.2011, 15:45
Ещё бы что то было понятно(( и у меня я понял 1 не определяется даже точка идёт унков посыл покета при точке!
Добавлено через 18 минут
Сделал все так как ты сказал не помогло
Добавлено через 1 минуту
И как узнать айди итема если при ловле покеты айди не отображается!!!
Ещё бы что то было понятно
Надо учить матчасть.
realpower
03.01.2011, 15:47
Тип: 0x03 (RequestStartPledgeWar)
Размер: 9+2
время прихода: 14:44:16:656
0002 s PledgeName: ??
Вот я просто жму на точку что мне выдаёт!
realpower, может ты путаешь чего. Нужен лог пакетов. Очень может быть, что на твоем сервере защита и пакеты идут не те что надо.
realpower
03.01.2011, 15:54
Вот лог в нём я точнул 2 раза 2 шмотки!
Кстати если что используется последний пх! Скрипт на точку для фреи тестился на рулинейдж!
Вот скрипт и изменения которые ты сказал сделать!
Вот лог в нём я точнул 2 раза 2 шмотки!
Пакеты не те что надо. Скорее всего на твоем серевере защита. Решай её сначало, а потом со скриптом.
realpower
03.01.2011, 16:41
а защиту как обойти то!
//nlobp: с этим в другой теме. Но вообще то с этим большие проблемы - спецов, готовых за спасибо делать, у нас нет.
Добавлено через 19 минут
Тоесть мне врядли здесь помогут?
Добавлено через 11 минут
И куды мне написать что то не пойму?!
Спасибо NLObP....жаль конешно, но я не умею писать скрипты..скока раз не пытался..видимо это не моё...а ты можешь помочь разобраться? я не имею ни молейшего понятия что нужно изменить в скрипте что бы заработало...
а в некоторых скриптах к примеру "Enchant_Freya" не видит ни один предмет...
Добавлено через 15 минут
а защиту как обойти то!
//nlobp: с этим в другой теме. Но вообще то с этим большие проблемы - спецов, готовых за спасибо делать, у нас нет.
Добавлено через 19 минут
Тоесть мне врядли здесь помогут?
Добавлено через 11 минут
И куды мне написать что то не пойму?!
Вот тема http://coderx.pp.ru/showthread.php?t=5879 канешно жсть но что не сделаешь как говориться)))может и поможет))юзай)
Ga6pueL, выкладывай лог пакетов после заточки предметов, хроники сервера, адрес, ссылку на папку system, тестовый акк с достаточным кол-вом средств на попробовать заточку.
realpower
03.01.2011, 19:00
А можно мне так я кину ссылки)))
Добавлено через 1 минуту
Спасибо NLObP....жаль конешно, но я не умею писать скрипты..скока раз не пытался..видимо это не моё...а ты можешь помочь разобраться? я не имею ни молейшего понятия что нужно изменить в скрипте что бы заработало...
а в некоторых скриптах к примеру "Enchant_Freya" не видит ни один предмет...
Добавлено через 15 минут
Вот тема http://coderx.pp.ru/showthread.php?t=5879 канешно жсть но что не сделаешь как говориться)))может и поможет))юзай)
Я этот способ не юзал но я думаю он врядли поможет у меня всё необходимое для него есть!
Спасибо NLObP, все данные передал.
Сервер Freya.
Это лог пакетов 1759
и вот папка system http://depositfiles.com/files/eyz76mmm6
а вот тут адрес сервера http://l2sog.net/
Ga6pueL, сейчас посмотрю.
Посмотрел. Сделал скрипт под Freya на этом сервере. Проверить не смог, нет фарм монет для закупки свитков. Так что пробуй сам.
ЗЫЖ думаю пойдет и для других фрей-серверов.
Ga6pueL, сейчас посмотрю.
Посмотрел. Сделал скрипт под Freya на этом сервере. Проверить не смог, нет фарм монет для закупки свитков. Так что пробуй сам.
ЗЫЖ думаю пойдет и для других фрей-серверов.
Твой скрипт пока не смотрел, но мой скрипт там работает, там обычные фреевские пакеты, т.е. убираем ItemType1 из 11 и 21 пакетов и ставим после чтения AugmentationID Inc(j,30), работает все на ура.
Ga6pueL, привет тебе от Dexter-a :D
Vilson, проверь скрипт, если не трудно.
Здраствуйте , помоги решить проблемку , все супер все работает , один трабл , во время авто точки , когда докупаютсья заточки они не учитываються......(тоесть не обновляеться количесво точек ....),сервер с4
при запуске скрипта выбивает ошибку List index out of bounds (6). ,не смотря на нее все работает...
Filatov, ссылку на папку system, тестовый акк с наличием предметов и свитков.
Vilson, проверь скрипт, если не трудно.
Твой не работает. Предметы распознает, точит 1 раз и "Предметы не найдены! Прервано!". Сильно подозреваю что ты где-то в функциях не учел что надо убрать ItemType1, но где именно я не проверял.
Vilson, найдется с 10 свитков для Д оружия? или фарм адены для их закупки?
вот сылка http://depositfiles.com/files/cpt822uib
извините не знаю что такое текстовый акк , точу обычной точкой (не блесс) арку (акумен)
версия l2phx.3.4.1.83 , так как в последней вообще скрипт не видел инвентарь и писал ошибку про ItemsID , пробовал изменять скрипт по инфе найденой на форуме (путь к ItemsID ) , не помогло , вот и спустился на версию по ниже ...тут почти все норм
Vilson, найдется с 10 свитков для Д оружия? или фарм адены для их закупки?
Найдется конечно, напиши имя чара сброшу по почте.
не знаю что такое текстовый акк
Тестовый! Это аккаунт с наличием на нем оружия и свитков, чтобы скрипт проверить и тебе основной акк не забанили, если что. Самому мне влом акк создавать и копить бабосы, чтобы это всё приобрести.
всё готово, акк: , пасс:
чар с заточками и оружием
В Личку такие вещи пишут, сейчас кто-то зайдет из тех кто играет на том же сервере и снимет все.
Спасибо Vilson! Исправил скрипт для Freya. Проверил. Заточил сет S-grade на +7 истратив почти 200 свитков. :D
Огромное вам спасибо, всё отлично работает! СПС!!!!!!)...а шанс там и в правду жёсткий)
Добавлено через 1 минуту
Vilson, привет)а кто такой Dexter?)) и те спасибо к стати за помощь)
А как сделать в скрипте что бы он точил по очерёдности но при этом например когда он заточил одну пуху на 12 а вторая на 0 сбросилась то он точил вторую до 12 а потом шла опять очерёдность...а то он на первую переключается и ломает её.....беда(
А как сделать в скрипте что бы он точил по очерёдности
Изменил скрипт. Там с этим косяк, только один предмет точит.
Заодно и для серваков с хрониками С4 поправил скрипт. Пробуйте.
Vilson, скачай последнюю версию пакетхака и попробуй приведенный скрипт.
NLObP,а можна ли сделать чтобы оно еще меняло монету на адену,и тогда покупало точки
NLObP, просто ОГРОМЕДНОЕ СПАСИБО, скрипт отлично работает)
MakcL2sog
09.01.2011, 17:24
Уважаемый NLObP я с сервера L2sog.net можете ли вы прикрепить скрины с настройки программы под этот сервер, и дать пояснения что делать сам я не очень разобрался, зарание благодарю!
MakcL2sog тут 3-и скрина с насройками l2phx.3.5.33.166
Далее скачиваешь программу http://coderx.pp.ru/downloads.php?do=file&id=39 после настраиваешь по тем 3-м скринам.
Распаковываешь архив l2phx.3.5.33.166 копируешь скрипт и кладёшь в папку Scripts, после запускаешь программу запускаешь игру и пользуешься скриптом.
MakcL2sog
09.01.2011, 18:47
Программу скачал скрипт установил в папку с прогой! имя поменял в скрипте, можешь написать алгоритм действий как дальше как заточить вещь!
MakcL2sog, Покупаешь несколько пух или других вещей их должно быть обязательно больше двух, он будет точить каждую вещь по очереде.
NLObP гений!!!
count:=round((length(pck)-5)/ReadH(4));
Это же идеальный метод!!
J-Fobos, это не я, имхо идея alexteam.
Добавлено через 2 минуты
а можна ли сделать чтобы оно еще меняло монету на адену,и тогда покупало точки
Универсального метода я не знаю, а под каждый отдельно я делать не буду.
NLObP,Ну а хотя бы чтобы туда свой пакет вставлять?
Чтобы каждый свой вставлял?!
Такое возможно?
____________________
Или чтобы посылался определеный пакет(на обмен адены(кажды вставляет свой пакет сам))тогда,когда не хватает денег на точки,затем далее точилось
J-Fobos, к сожалению ни чего в мире инального нету но метод классный)
Ну тогда алекстим гений))
Vebstor23
18.01.2011, 23:10
народ подскажите как сделать чтобы phx не зависал при поломке? на серваке стоит такая фигня что при поломке вещ скидывается на +4 и когда при заточке вещ ломается то phx зависает
//Breadfan: даю установку - полистай странички - уже не раз это спрашивали и отвечали - как.
ребят а есть скрипт для Фрея?
ребят а есть скрипт для Фрея?
По идее, последний (пару страниц отлистай), должен работать.
Нэ увы скрип чтота невидит Элегию((
Добавлено через 1 минуту
оО нашол скрипт для фрея который норм точит))) еслиб ищо ток по 1 пухе былоб ваще кульноо...ато точки на серве дорогие((
RODMAN91
24.01.2011, 22:39
Уважаемый NLObP, вроде сделал все по инструкциям, скачал L2Phx для фреи. Запускается нормально, процесс видит, сообщения выдает. Но когда запускаю скрипт на автозаточку, в комбобоксах ничего нету. ПРавда на этом сервере точится можно только обычными точками, но шанс около 80%. Не могли бы Вы посмотреть, буду очень благодарен.
Тестовый акк: Login-crack Pass-123123123 Если взломают, то там авторегистрация и адена нахаляву (можно пуху нахаляву в гмшопе взять и продать в магазине)
Ссылка на патч (http://lineage7.ru/patch.zip)
МММ, даже не знаю че я сделал. Но заработало :) Большое спасибо :)
Добавлено через 5 часов 12 минут
Хотел еще спросить, можно как то сделать чтобы по очереди точило? Допустим у меня 20 пух и скрипт по очереди точил сначала все на +1, потом все на +2, потом на +3 и т.д. Буду очень благодарен если поможете.
Хотел еще спросить, можно как то сделать чтобы по очереди точило? Допустим у меня 20 пух и скрипт по очереди точил сначала все на +1, потом все на +2, потом на +3 и т.д. Буду очень благодарен если поможете.
По идее, это самое и реализовано в моем скрипте.
vBulletin® v3.6.11, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot