PDA

Просмотр полной версии : авто заточка


CapsLock
23.08.2009, 16:10
я играю на интерлюде, у меня работает скрипт на автоточку.Проблема в том, что на этом сервере скидывается точка при поломке оружия не на 0, а на 3, и скрипт начинает тупить.Прошу помочь решить эту проблему:)

//nlobp: поищи, на форуме уже выкладывали как исправить такое.

Добавлено через 1 час 25 минут
постараюсь:)

Добавлено через 1 час 3 минуты
эм,nlobp, вы бы не могли бы мне оставить ссылку, где расписывается, как исправить мою проблему, я искал но не нашел т.к. долго не заходил на ваш сайт и тем просто уйма

NLObP
23.08.2009, 17:11
вместо этого
#$87: begin
if readd(2)=0 then begin
msg.Lines.Add('Улучшили ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(good);
end else begin
msg.Lines.Add('Сломали ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(broken);
end;
// CurEnchLvl:=0; //начнем с начала. Расскоментировать для блессет скроллов
end;
вставь это
#$87: begin
case readd(2) of
0: begin
msg.Lines.Add('Улучшили ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(good);
end;
1: begin
msg.Lines.Add('Сломали ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(broken);
end;
2: begin
msg.Lines.Add('Сбросило в 0 ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
CurEnchLvl:=0; //начнем с начала. Заменять на то значение, в которое сбрасывает при точке блесседами
end;
end;
end;

Также смотри скрипты (http://coderx.ru/showthread.php?t=1684) в этом топике.

CapsLock
23.08.2009, 19:57
NLObP,в вашем скрипте я не нашёл #$87, а нашёл только #$81.
Из за этого я не могу доделать скрипт.
Может быть вы в чём то ошиблись, или я не досмотрел.
Если я не досмотрел то прошу написать

Добавлено через 56 секунд
#$87 я нашёл только в скрипте mksа, но он у меня не работает, а ваш работает:)

TAMBIK
23.08.2009, 20:06
интерлюд: 81=EnchantResult:d(result)
один и тот же пакет
грация :87=EnchantResult:d(Result)

NLObP
23.08.2009, 21:27
CapsLock, я уже путаюсь во всех этих скриптах на заточку. =)
Как сказал TAMBIK, замени #$81 (найди похожее место и замени)

CapsLock
23.08.2009, 22:16
просто вы мне дали кусок от Грации(по-моему),и получается что я в скрипт для интерлюда вставляю кусок от Грации,и поэтому у меня ничего не выходит
Вот этот кусок по- моему надо заменить:

#$81:
if readd(2)=0 then begin
CurEnchLvl:=0; //начнем с начала
end;
end;

//nlobp: замени на это

#$81: begin
if readd(2)=2 then begin
CurEnchLvl:=3; //начнем с начала
end;
end;
вот он более менее похож на тот , который следует заменить.
Просто(если можете), напишите мне кусок скрипта, который будет точить пухи, если при точке они стачиваются на +3( для интерлюда).

Добавлено через 2 минуты
Прошу простить меня за непрофессиональность :'(

TAMBIK
23.08.2009, 22:34
NLObP, написал вставь это
замени 87 на 81
и в конце вместо 0 поставь 3 здесь:
CurEnchLvl:=0; //начнем с начала. Заменять на то значение, в которое сбрасывает при точке блесседами

а кусок что ты показал удали этот;
#$81: if readd(2)=0 then begin
CurEnchLvl:=0; //начнем с начала

moOYkoOn
24.08.2009, 01:40
я всё зделал как скозал нло но когда запускаю скрипт то у меня обводит красным самую последнюю end: и рядом с 87 бегин тоже обводит и скрипт не запускается

CapsLock
24.08.2009, 10:02
я всё подставил как сказал нлобп и всё вроде как нормально всё пашет...но вот в чём проблемка, я купил 10 пушек и все вточил их на 3 а потом врубил авто заточку и пашет же) всё точит всё кул,НО когда все пухи ломаются и не остается ни одной +4 то БАХ прога виснет и написано "не отвечает" и потом там система видимо сбилась обычно я как заметил робит ваша прога уважаемый Нлобп,например возмём 2 пухи- они одинаково точятся и доходят,ну допустим, к +5,одна пуха точится на +5 а вторая ломается и вторая сразу же пытается вточица на +5,чтобы потом дальше продолжалось точица,а тут ваще какойто дурдом они не точяца по вашей системе я просто смотрел и не врубался в чём дело,ПРОШУ ПОМОЩИ!) БУДУ БЛАГОДАРЕН ;)

moOYkoOn
24.08.2009, 11:06
капс лок ты вставлял токо что нло выложил? и какая у тя пх?

Cool
24.08.2009, 12:43
Капс,насчёт того что скрипт виснет ето вполне естественно только почемуто подругому чем у всех,объясняю:етот скрипт преднозначен для заточки нескольки пух,когда остаётса одна скрипт просто прекращяет работу,незнаю почему он у тебя виснет мо}I{ет ты чтото нетак написал?

TAMBIK
24.08.2009, 12:45
я всё зделал как скозал нло но когда запускаю скрипт то у меня обводит красным самую последнюю end: и рядом с 87 бегин тоже обводит и скрипт не запускается

обводит красным самую последнюю end:
в конце скрипта то удали

moOYkoOn
24.08.2009, 12:52
обводит красным самую последнюю end:
в конце скрипта то удали

я удалил , потом бегин красным обводило я тоже удалил а потом не чё не обводило но скрипт не запускался

TAMBIK
24.08.2009, 12:58
я удалил , потом бегин красным обводило я тоже удалил а потом не чё не обводило но скрипт не запускался

покажи кусок какой ты вставил
бегин - нужно чтоб было
и дай ссылку какой скрипт ты используеш

moOYkoOn
24.08.2009, 13:01
http://coderx.ru/downloads.php?do=file&id=24 скрипт этот

Добавлено через 1 минуту
#$87: begin и тут <---------
case readd(2) of
0: begin
msg.Lines.Add('Улучшили ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(good);
end;
1: begin
msg.Lines.Add('Сломали ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
inc(broken);
end;
2: begin
msg.Lines.Add('Сбросило в 0 ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID)+' ItemEnchLvl='+IntToStr(ItemEnch));
CurEnchLvl:=0; //начнем с начала. Заменять на то значение, в которое сбрасывает при точке блесседами
end;
end;
end; ошибка тут <-------

встовлял этот

TAMBIK
24.08.2009, 13:22
в начале скрипта после где
//Список переменных

var
добавь:
ItemEnch,good,broken:integer;
#$87: begin
ItemEnch:=readd(2);<<<< добавить
case readd(2) of
0: begin
правда я непонял что за значение:
good,broken
автор подскажет может

moOYkoOn
24.08.2009, 13:27
[QUOTE=TAMBIK;36087]
#$87: begin
ItemEnch:=readd(2);<<<< добавить
case readd(2) of
0: begin
п/QUOTE]

сначало вставить что нло поставил а тотом чту у него заменить на это?

TAMBIK
24.08.2009, 13:29
[QUOTE=TAMBIK;36087]
#$87: begin
ItemEnch:=readd(2);<<<< добавить
case readd(2) of
0: begin
п/QUOTE]

сначало вставить что нло поставил а тотом чту у него заменить на это?

да
и 87 это для грации замени на 81 интерлюд

CapsLock
24.08.2009, 13:37
#$6F: if ready then begin //and (readd(2)=itemid)
//ищем подходящий предмет для заточки
timer.enabled:=false; //отключаем пока не найдем предмет для заточки
repeat
ItemOID:=GetItem(ItemID,CurEnchLvl);
if ItemOID=0 then begin
inc(CurEnchLvl);
Edit2.text:=inttostr(CurEnchLvl);
end;
until ItemOID<>0;
//************************************************
msg.Lines.Add('Пробуем улучшить ItemID='+IntToStr(ItemID)+' ItemOID='+IntToStr(ItemOID));
RequestEnchantItem(ItemOID);
ready:=false;
timer.enabled:=true; //пока в тесте отключаем (вкл. после заточки предмета)
end;
#$81: if readd(2)=2 then begin
CurEnchLvl:=3; //начнем с начала
end;
end;
end.

Добавлено через 2 минуты
вот парни концовка скрипта, который пашет,посмотрите плиз,помоему сделал всё так,как вы грили

Добавлено через 3 минуты
когда яврубаю скрипт всё робит и всё кул) но когда пухи ломаюца то он тупо перестаёт работать