Показать сообщение отдельно
Старый 07.08.2008, 18:21   #33
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Shadow Посмотреть сообщение
Смотрел пакеты, ОбджектИД и координаты продавцов известны. Выше в куске скрипта в процедуре Roy. Что за переменные MyX, и тд? Я так понимаю это координаты моего чара. Что за переменная Attacker, откуда она берется?
MyX,MyY,MyZ - координаты чара. Сервер проверяет расстояние и если ты далеко, то отвергает запрос.
Attacker - ObjectId. Осталось так исторически из скриптов бота. Поменял в выше отписанном сообщении.

Добавлено через 13 минут
Цитата:
Сообщение от Shadow Посмотреть сообщение
В каком месте скрипта правильно всетаки поставить закупку заточек?
И еще, как лучше сделать вызов процедуры на закупку, чтобы из переменных подставлялись значения итема, чтобы оперативно изменять что покупать. Типа - Закупка(СкроллЫ);
а в СкроллЫ(СкроллА,Б,С) прописано listID, EntryId и Count этих свитков? А то я второй день в этих скриптах ковыряюсь, уже голова набекрень =)
delphi Код:
//*************************************************************** //s10=SellList:d(Money)h(ListID)w(ListCount)w(ItemType1)h(ObjectID)i(ItemID)d(Count)w(ItemType2)w(h)d(ItemBodyPart)w(EnchantLevel)w(h)w(h)d(refPrice) //c1E=RequestSellItem:h(ListID)d(SellCount)h(ObjectID)i(ItemID)d(Count) //продаем по одному типу procedure RequestSellItem(ItemOID,ItemID,Count:integer); begin   if ReadyToSell then begin     msg.Lines.Add('Продадим предмет OID:'+inttostr(ItemOID)+' ID:'+inttostr(ItemID)+' в кол-ве:'+inttostr(count));     buf:=#$1E;     WriteD(ListID);     WriteD(1);     WriteD(ItemOID);     WriteD(ItemID);     WriteD(Count);     SendToServerEx(Name);   end; end; //...................................... //*************************************************************** //c1F=RequestBuyItem:h(ListID)d(BuyCount)i(ItemID)d(Count) //купим по одному типу procedure RequestBuyItem(ItemID,Count:integer); begin   if ReadyToBuy then begin     msg.Lines.Add('Купим предмет ID:'+inttostr(ItemID)+' в кол-ве:'+inttostr(count));     buf:=#$1F;     WriteD(ListID);     WriteD(1);     WriteD(ItemID);     WriteD(Count);     SendToServerEx(Name);   end; end; //...................................... //*************************************************************** //cA7=RequestMultiSellChoose:h(ListID)d(EntryID)d(Amount) //продаем по одному типу procedure RequestMultiSellItem(ListId,EntryID,Count:integer); begin   msg.Lines.Add('Обменяем предмет ListID:'+inttostr(ListID)+' EntryID:'+inttostr(EntryID)+' в кол-ве:'+inttostr(count));   if ReadyToMultiSell then begin     buf:=#$A7;     WriteD(ListID);     WriteD(EntryId);     WriteD(Count);     SendToServerEx(Name);   end; end; //...................................... procedure OnTimer(Sender: TObject); begin   EditItemVal.text:=inttostr(sumitem(ItemID));   EditScrollVal.text:=inttostr(sumitem(ScrollID));   if (CurEnchLvl>=strtoint(Edit1.Text)) then begin     msg.Lines.Add('Нечего точить! Прервано!');     timer.enabled:=false;     exit;   end;   if (sumitem(ItemID)<=1) then begin //  if (sumitem(ItemID)<=0) then begin //если надо точить одну вещь     msg.Lines.Add('Прервано!');     timer.enabled:=false;     exit;   end;   ScrollOID:=GetItem(ScrollID,0);   if ScrollOID=0 then begin     msg.Lines.Add('Нет заточки! Прервано!');     timer.enabled:=false;     exit;   end;   UseItem(ScrollOID);   msg.Lines.Add('Задействовали скролл ScrollID='+IntToStr(scrollID)+' ScrollOID='+IntToStr(ScrollOID));   ready:=true; //готовы затачивать end; //......................................  

В процедуре OnTimer вместо прерывания работы вставь вызовы процедур закупки. Потом снова таймер запускай, для продолжения заточки.


PS: Вы свои скрипты сюда выкладывайте, когда отладите. Я их в первый пост выложу.

Последний раз редактировалось NLObP, 07.08.2008 в 18:21. Причина: Добавлено сообщение
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 2 спасибками от: