Сообщения без ответов | Активные темы Текущее время: Ср янв 16, 2019 6:59 am



Ответить на тему  [ Сообщений: 9 ] 
Где ошибка в получении количества предмета? 
Автор Сообщение

Зарегистрирован: Вс мар 08, 2015 1:32 pm
Сообщений: 10
Сообщение Где ошибка в получении количества предмета?
Всем привет.
помогите со скриптом плиз - запутался.
Надо взять итем и узнать его количество в рюкзаке.
Почему получаю не те данные?
Код:
var
arDestItemId : Cardinal;
i : Cardinal;
begin
ItemList.ByID(57,i);
print(i);
end.


Сб янв 12, 2019 9:17 pm
Профиль
Куда я попал

Зарегистрирован: Пт ноя 20, 2015 5:43 am
Сообщений: 84
Сообщение Re: Где ошибка в получении количества предмета?
drif647 писал(а):
Всем привет.
помогите со скриптом плиз - запутался.
Надо взять итем и узнать его количество в рюкзаке.
Почему получаю не те данные?
Код:
var
arDestItemId : Cardinal;
i : Cardinal;
begin
ItemList.ByID(57,i);
print(i);
end.

Привет, потому что у тебя немного все неверно полностью (())

Есть пару возможностей решения
1) Простой
2) Сложнее

[ 1 ] - статичный вариант, на конкретную задачу.
Код:
uses
  SysUtils;

var
 item: TL2Item;
begin
   if (Inventory.User.ByID(57, item)) and (item.count <> 0) then begin
       Engine.MSG('[ Инвентарь ]',IntToStr(item.count)+' '+item.name,32768);
       print(item.count);
   end;
end.


[ 2 ] - много функциональная функция которая посчитает все что угодно в инвентаре.
Код:
uses
  SysUtils;

function ItemCount(id: integer): int64;  overload;     // подсчет кол-ва итемов по ID
var i: integer;
begin
  result:= 0;                                         
  for i:= 0 to Inventory.User.Count-1 do begin         // пробегаемся по инвентарю юзера
    if (Inventory.User.Items(i).ID = id) then          // если id совпали, то
      Inc(result, Inventory.User.Items(i).Count);      // увеличиваем результат на кол-во предметов в стаке
  end;
  for i:= 0 to Inventory.Quest.Count-1 do begin        // аналогично для квестового инвентаря
    if (Inventory.Quest.Items(i).ID = id) then
      Inc(result, Inventory.Quest.Items(i).Count);
  end;
end;

begin
  Engine.MSG('[ Инвентарь ]',' Адена '+IntToStr(ItemCount(57)),255);
end.


Вс янв 13, 2019 12:53 am
Профиль ICQ
Куда я попал

Зарегистрирован: Пт ноя 20, 2015 5:43 am
Сообщений: 84
Сообщение Re: Где ошибка в получении количества предмета?
что бы получить результат через функцию надо ее вызвать
Код:
   ItemCount(57); // 57 id предмета


Допустим можно сделать проверку

Код:
begin
   if ItemCount(57) > 1000000 then begin print('Ура , я миллионер'); // Если в инвенторе данного итема больше 1кк выполняем действие
end.

Или
Код:
   while ItemCount(57) <> 1000000 do begin // Пока в инвенторе не будет 1кк выполняем зацикленное действие
      print('Я еще не миллионер, буду фармить адену пока не стану миллионером');
   end;


Вс янв 13, 2019 1:00 am
Профиль ICQ

Зарегистрирован: Вс мар 08, 2015 1:32 pm
Сообщений: 10
Сообщение Re: Где ошибка в получении количества предмета?
Как все интересно
Вопрос первый.
Я должен соблюдать структуру кода такую же когда пиш в любой IDE для делфи?

Код:
uses //зачем ЭТО?
  SysUtils; //зачем ЭТО?

var
 item: TL2Item; // я каждую переменную сперва должен определить по своему класу. переменная из листа предметов, из листа скилов, из листа нпс и т.д... ?
begin
   if (Inventory.User.ByID(57, item)) and (item.count <> 0) then begin // откуда взял Inventory в апи нислова об это. Почему User?
       Engine.MSG('[ Инвентарь ]',IntToStr(item.count)+' '+item.name,32768);
       print(item.count);
   end;
end.


Я таки выучу делфи на примере бота для л2)


Вс янв 13, 2019 10:24 am
Профиль

Зарегистрирован: Вс мар 08, 2015 1:32 pm
Сообщений: 10
Сообщение Re: Где ошибка в получении количества предмета?
У меня цель написать скрипт автозаточки предметов. Это для начала. Потом захватить весь мир...


Вс янв 13, 2019 10:26 am
Профиль
Куда я попал

Зарегистрирован: Пт ноя 20, 2015 5:43 am
Сообщений: 84
Сообщение Re: Где ошибка в получении количества предмета?
drif647 писал(а):
У меня цель написать скрипт автозаточки предметов. Это для начала. Потом захватить весь мир...


Ты не ту цель поставил, авто заточка не под силу даже некоторым прошаренным.
Что бы написать авто заточку надо использовать методы самой делфи а не бота.


Вс янв 13, 2019 10:49 am
Профиль ICQ

Зарегистрирован: Вс мар 08, 2015 1:32 pm
Сообщений: 10
Сообщение Re: Где ошибка в получении количества предмета?
Ну... попытка не пытка.
Примерный алгоритм знаю.
Пирамидкой точить буду. шанс заточить 1к3
Итерация 1
Точу что есть до +6 это 100% +7 1к3 уже. Цель - получить 7 итемов с заточкой +7
терация 2
Точу на +6 снова. Много итемов.
Точу на +7 если удачно - хорошо. Если сломал хорошо значит точу на +7 еще один итем. если заточил-хорошо бдет два на =7 если сломал хорошо 2из3 подряд сломал значит следубщая заточка будет не с +6на+7 а с +7на+8. если заточил - хорошо, если сломал снова точу с +7 на +8. заточил на +8 успешно - снова точу +6 на +7 пока 2 раза подряд не сломаю дальше идет переточка с +7 на +8 цель 7 итемов с заточкой на +8.
Итерцая 3
точу на +6 много итемов. перетачиваю с +6 на +7. когда ломаю два разапереточку с +6 на +7 точу +8 на +9 цель 7 итемов с заточкой на +9 и так далее

Я слаб в программирвоании но читаю что в боте есть циклы. можно выделить итем и увидеть его уровень заточки. все API функции есть в наличии.

К сожалению нескем пообщаться в телеграмме или вайбере. (


Вс янв 13, 2019 8:27 pm
Профиль
Куда я попал

Зарегистрирован: Пт ноя 20, 2015 5:43 am
Сообщений: 84
Сообщение Re: Где ошибка в получении количества предмета?
drif647 писал(а):
Ну... попытка не пытка.
Примерный алгоритм знаю.
Пирамидкой точить буду. шанс заточить 1к3
Итерация 1
Точу что есть до +6 это 100% +7 1к3 уже. Цель - получить 7 итемов с заточкой +7
терация 2
Точу на +6 снова. Много итемов.
Точу на +7 если удачно - хорошо. Если сломал хорошо значит точу на +7 еще один итем. если заточил-хорошо бдет два на =7 если сломал хорошо 2из3 подряд сломал значит следубщая заточка будет не с +6на+7 а с +7на+8. если заточил - хорошо, если сломал снова точу с +7 на +8. заточил на +8 успешно - снова точу +6 на +7 пока 2 раза подряд не сломаю дальше идет переточка с +7 на +8 цель 7 итемов с заточкой на +8.
Итерцая 3
точу на +6 много итемов. перетачиваю с +6 на +7. когда ломаю два разапереточку с +6 на +7 точу +8 на +9 цель 7 итемов с заточкой на +9 и так далее

Я слаб в программирвоании но читаю что в боте есть циклы. можно выделить итем и увидеть его уровень заточки. все API функции есть в наличии.

К сожалению нескем пообщаться в телеграмме или вайбере. (



(()) боже) да причем тут алгоритм как ты точить будешь, тут речь как ты возьмешь предмет и перетащишь его в окно с заточкой, для этого надо писать свой модульный кликер на delphi , максимум что ты сможешь это активировать заточку, и вывести принты вещи на сколько она заточена...
в API нет такого метода как взять пуху и поместить в окно с заточкой... тогда бы всем жилось легче , но его нету.
Я говорю ты не ту цель для себя поставил,
Научись для начала на спот возвращаться и бафаться, а лучше основы программирования погугли или в ютубе глянь.


Пн янв 14, 2019 3:07 pm
Профиль ICQ

Зарегистрирован: Вс мар 08, 2015 1:32 pm
Сообщений: 10
Сообщение Re: Где ошибка в получении количества предмета?
тут речь как ты возьмешь предмет и перетащишь его в окно с заточкой
А вот это пичально....

По спотам бегать умею косо-крыво, а два окна по24 часа фармили буквально. Сбои отрабатывали вроде перезайт ив игру если сервер вылетел или если убили или если надо сосок купить или банки на ману или почистить инвентарь.
Я вот посерьезней програмирование подучить решил и хочу написать нормальный скрипт - а не "простыню" .

Подскажи пожалуйста с чего начать чтоб освоиться с классами и понять как наследование работает?
Я вроде как принцып уловил, а как эту суть в код преобразовать? Допустим синтаксис я знаю, а вложеность класов не до конца понимаю.


Пн янв 14, 2019 7:47 pm
Профиль
Показать сообщения за:  Сортировать по:  
Ответить на тему   [ Сообщений: 9 ] 

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Разработано: g-yar.
Русская поддержка phpBB