Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 13.10.2008, 13:09   #1
Новичок
 
Аватар для Shadow
 
Регистрация: 06.08.2008
Сообщений: 27
Сказал Спасибо: 8
Имеет 11 спасибок в 7 сообщенях
Shadow пока неопределено
Вопрос

NLObP, не могу понять почему происходит так:
В таймере есть проверка на поломки,
delphi Код:
procedure OnTimer(Sender: TObject); begin  if (Adena<=99000000) then begin   timer.Enabled:=False;   stats.Lines.Add('Деньги закончились! Меняем...');   if CheckAutoChange.Checked then Change.Enabled:=True else exit;  end;  ScrollOID:=GetItem(ScrollID,0);  if (ScrollOID<3) then begin   stats.Lines.Add('Свитки закончились! Покупаем...');   timer.enabled:=False;   //***** Закупка заточек *   TargetAttacker(RoyOID);   BuyScroll;   BuyScroll;   BuyScroll;   //***********************   delay(50);   timer.enabled:=True;  end;  UseItem(ScrollOID);  msg.Lines.Add('Задействовали скролл ScrollID='+IntToStr(scrollID)+' ScrollOID='+IntToStr(ScrollOID));  ready:=true; //готовы затачивать  if (CurEnchLvl>=StrToInt(Edit1.Text)) then begin   stats.Lines.Add('Sum '+IntToStr(SumItem(ItemID))+' lvl'+IntToStr(CurEnchLvl)+' Ed'+(Edit1.Text));   timer.enabled:=false;   //Пакет RequestItemList   buf:=hstr('0F');   SendToServerEx(Name);   delay(50);   stats.Lines.Add('Достигнут требуемый уровень! Закупаем...');   stats.Lines.Add('Свободно слотов: '+IntToStr(EmptySlots));   if (EmptySlots>0) then begin    ButtonBuyItems.Enabled:=True;    ButtonBuyItems.Caption:=((ComboBoxItem.Text)+': '+IntToStr(EmptySlots)+'шт.');   end;   if CheckAutoBuy.Checked then Shops.Enabled:=True else exit;  end;  if (SumItem(ItemID)<=StrToInt(EditKeepItems.Text)) then begin   timer.enabled:=false;   stats.Lines.Add('Ограничение по поломкам - '+(EditKeepItems.Text)+'! Закупаем...');   if CheckAutoBuy.Checked then Shops.Enabled:=True else exit;  end;  EditItemVal.Text:=IntToStr(SumItem(ItemID));  EditScrollVal.Text:=IntToStr(SumItem(ScrollID)); end;
и как я понимаю даже при команде timer.Enabled:=False; цикл таймера всеравно доходит до конца. Поэтому я переставил функцию заточки ДО проверки условий, чтобы проверялось уже после заточки. Иначе получается что по условию нужно оставить к примеру 9 штук, условие останавливает таймер, но таймер доходит до конца где еще раз затачивает эту последнюю штуку, которую с успехом может сломать. Вроде бы так должно работать нормально...
НО.
Заметил что он всеравно после того как сработало условие, и собственно перед тем как начинается закупка, он точит еще одну штуку. А если она ломается, то сводится на нет весь предыдущий цикл заточки.
От чего так происходит?
__________________
Shadows anywhere...
Shadow вне форума   Ответить с цитированием
За это сообщение Shadow нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 05:35.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!