Всем привет, прошу прощения у Алекса что пишу тут соовсем не по теме, но так как скриптовые языки у экста и шадова абсолютно идентичны думаю тут найдется пара человек которые смогут подсказать. Так вот, как в шадове проверить МР/НР/СР/ персонажа или количество итемов в инвентаре??? Я просто не втыкаю, всмысле вообще никак, как юзать эти функции: Количество итемов, Количество СР, Количество НР???
Вот тут, например, все прозрачно и ясно.
Пробовал в шадове делать так:
Код:
begin
if(Engine.Count(1464)<3000) then // Если Ц сосок меньше 3к
begin
Engine.MoveTo(146339, 25354, -2039);
end;
end.
И так:
Код:
begin
if(Count:1464)<3000) then
begin
Engine.MoveTo(146339, 25354, -2039);
end;
end.
И так:
Код:
begin
if(Engine(Count:1464)<3000) then
begin
Engine.MoveTo(146339, 25354, -2039);
end;
end.
но везде выдает ошибку Undeclared identifier Count. Подскажите пожалуйста как надо?
Не разбирался ни в чем этом, но мне кажется, что он жалуется на необъявленную переменную Count. Возможно, ее нужно где-то объявить, типа var Count: integer;
или не знаю... Вон у Джунглера был C# с подключаемыми DLLками... Красота
Разберитесь в Паскале, с самого начало. Тут даже 1 словом не сказать в чем вы не правы.
А функция про которую вы говорите я написал вот так:
delphi Код:
function ItemCount(ID : cardinal) : int64;
var
NovObj : TL2Item;
begin
Result := 0;
if Inventory.User.ByID(ID, NovObj)then
Result := NovObj.CountElseif Inventory.Quest.ByID(ID, NovObj)then
Result := NovObj.Count;
end;
Добавлено через 1 минуту
И использование ее под ваши задачи:
delphi Код:
beginif(ItemCount(1464) < 3000)then// Если Ц сосок меньше 3кbegin
Engine.MoveTo(146339, 25354, -2039);
end;
end.
__________________
lllllllllllllllllll
Последний раз редактировалось Antharas, 11.10.2014 в 16:43.
Причина: Добавлено сообщение
Спасибо за ответ, я кое-что понял, хотя Вы, очевидно, не совсем поняли меня. Функция такая уже есть в скриптовом движке бота, просто я хз как её правильно применять. Хотя, после Вашего ответа, кое-что прояснилось. Видимо нам сначала необходимо получить экземпляр нужного итема, а затем к нему применить сей функцию. Только тут возникает вопрос: доступ к инвентарю происходит через класс TInventory, в скриптах через имя Inventory. Экземпляр нужного объекта можно получить при помощи функции ByID, которая входит в класс TItemList, а функция же Count, которая меня интересует, входит в класс TL2Item. И, вроде как, надпись Inventory.User.ByID не имеет смысла, ведь в классе инвентаря нет метода ByID? Или я чего-то не понимаю?
Да, я в паскале не особо силен, но скрипты для экста, например, писал без особых проблем, все было понятно. А тут... вообще не понимаю что куда и зачем.
Последний раз редактировалось CptMcMillan, 13.10.2014 в 00:46.
все правильно поняли, но:
" доступ к инвентарю происходит через класс TInventory"
" Экземпляр нужного объекта можно получить при помощи функции ByID, которая входит в класс TItemList"
Пропущена явно связь Tinventory и TItemList
у TInventory есть поля User, Quest, Pet. Это списки к разным инвентарям, что подсказывает их название. Вот как раз они и есть тип TItemList.
Добавлено через 3 минуты
Цитата:
Сообщение от Владимир Курамшин
Вон у Джунглера был C# с подключаемыми DLLками... Красота
Что за джунглер? Это для АА бот только?
__________________
lllllllllllllllllll
Последний раз редактировалось Antharas, 15.10.2014 в 14:50.
Причина: Добавлено сообщение
Джунглер радар, а не бот даже, но апи было хорошее, да и в MS Visual Studio писать с intellisense, их компилятором, приятно. Хотя и в Notepad ++ тоже терпимо
Добавлено через 3 минуты
Как одеть сережки или кольца? Если useitem - оно оденет и снимет. Проверять, одето ли?
Последний раз редактировалось Владимир Курамшин, 15.10.2014 в 16:52.
Причина: Добавлено сообщение
Джунглер радар, а не бот даже, но апи было хорошее, да и в MS Visual Studio писать с intellisense, их компилятором, приятно. Хотя и в Notepad ++ тоже терпимо
То есть разработчик радара выдавал библиотеку классов? И ты уже сам компилировал что хочешь?
Цитата:
Сообщение от Владимир Курамшин
Добавлено через 3 минуты
Как одеть сережки или кольца? Если useitem - оно оденет и снимет. Проверять, одето ли?
Это вопрос по шадоу?
Перебрать все итемы, и одевать не надетое. Хоть одинаковый хоть нет.
Да, была библиотека, которую подключали (references) к скрипту. Сам скрипт - dll, выбирался из списка.
Хотя даже платные скрипты легко просматриваются из байт-кода...