Вернуться   CoderX :: Forums > Lineage II > ASI
Войти через OpenID

ASI Обсуждение программы ASI (автор - pcoder)

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 09.10.2014, 20:54   #1
Пользователь
 
Аватар для CptMcMillan
 
Регистрация: 07.04.2012
Адрес: Челябинск
Сообщений: 62
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
CptMcMillan пока неопределено
По умолчанию Скрипты для... L2Shadow

Всем привет, прошу прощения у Алекса что пишу тут соовсем не по теме, но так как скриптовые языки у экста и шадова абсолютно идентичны думаю тут найдется пара человек которые смогут подсказать. Так вот, как в шадове проверить МР/НР/СР/ персонажа или количество итемов в инвентаре??? Я просто не втыкаю, всмысле вообще никак, как юзать эти функции: Количество итемов, Количество СР, Количество НР???
Вот тут, например, все прозрачно и ясно.
Пробовал в шадове делать так:
Код:
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. Подскажите пожалуйста как надо?
CptMcMillan вне форума   Ответить с цитированием
Старый 10.10.2014, 21:05   #2
Новичок
 
Регистрация: 10.10.2014
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Владимир Курамшин пока неопределено
По умолчанию

Не разбирался ни в чем этом, но мне кажется, что он жалуется на необъявленную переменную Count. Возможно, ее нужно где-то объявить, типа var Count: integer;
или не знаю... Вон у Джунглера был C# с подключаемыми DLLками... Красота
Владимир Курамшин вне форума   Ответить с цитированием
Старый 11.10.2014, 16:43   #3
Местный
 
Аватар для Antharas
 
Регистрация: 26.11.2012
Сообщений: 207
Сказал Спасибо: 23
Имеет 18 спасибок в 18 сообщенях
Antharas пока неопределено
По умолчанию

Разберитесь в Паскале, с самого начало. Тут даже 1 словом не сказать в чем вы не правы.
А функция про которую вы говорите я написал вот так:
delphi Код:
function ItemCount(ID : cardinal) : int64;     var         NovObj : TL2Item;     begin         Result := 0;         if Inventory.User.ByID(ID, NovObj) then             Result := NovObj.Count         Else if Inventory.Quest.ByID(ID, NovObj) then             Result := NovObj.Count;     end;

Добавлено через 1 минуту
И использование ее под ваши задачи:
delphi Код:
begin  if (ItemCount(1464) < 3000) then // Если Ц сосок меньше 3к   begin    Engine.MoveTo(146339, 25354, -2039);   end;  end.
__________________
lllllllllllllllllll

Последний раз редактировалось Antharas, 11.10.2014 в 16:43. Причина: Добавлено сообщение
Antharas вне форума   Ответить с цитированием
Старый 13.10.2014, 00:41   #4
Пользователь
 
Аватар для CptMcMillan
 
Регистрация: 07.04.2012
Адрес: Челябинск
Сообщений: 62
Сказал Спасибо: 14
Имеет 2 спасибок в 2 сообщенях
CptMcMillan пока неопределено
По умолчанию

Спасибо за ответ, я кое-что понял, хотя Вы, очевидно, не совсем поняли меня. Функция такая уже есть в скриптовом движке бота, просто я хз как её правильно применять. Хотя, после Вашего ответа, кое-что прояснилось. Видимо нам сначала необходимо получить экземпляр нужного итема, а затем к нему применить сей функцию. Только тут возникает вопрос: доступ к инвентарю происходит через класс TInventory, в скриптах через имя Inventory. Экземпляр нужного объекта можно получить при помощи функции ByID, которая входит в класс TItemList, а функция же Count, которая меня интересует, входит в класс TL2Item. И, вроде как, надпись Inventory.User.ByID не имеет смысла, ведь в классе инвентаря нет метода ByID? Или я чего-то не понимаю?
Да, я в паскале не особо силен, но скрипты для экста, например, писал без особых проблем, все было понятно. А тут... вообще не понимаю что куда и зачем.

Последний раз редактировалось CptMcMillan, 13.10.2014 в 00:46.
CptMcMillan вне форума   Ответить с цитированием
Старый 15.10.2014, 14:50   #5
Местный
 
Аватар для Antharas
 
Регистрация: 26.11.2012
Сообщений: 207
Сказал Спасибо: 23
Имеет 18 спасибок в 18 сообщенях
Antharas пока неопределено
По умолчанию

все правильно поняли, но:
" доступ к инвентарю происходит через класс TInventory"
" Экземпляр нужного объекта можно получить при помощи функции ByID, которая входит в класс TItemList"

Пропущена явно связь Tinventory и TItemList

у TInventory есть поля User, Quest, Pet. Это списки к разным инвентарям, что подсказывает их название. Вот как раз они и есть тип TItemList.

Добавлено через 3 минуты
Цитата:
Сообщение от Владимир Курамшин Посмотреть сообщение
Вон у Джунглера был C# с подключаемыми DLLками... Красота
Что за джунглер? Это для АА бот только?
__________________
lllllllllllllllllll

Последний раз редактировалось Antharas, 15.10.2014 в 14:50. Причина: Добавлено сообщение
Antharas вне форума   Ответить с цитированием
Старый 15.10.2014, 16:52   #6
Новичок
 
Регистрация: 10.10.2014
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Владимир Курамшин пока неопределено
По умолчанию

Джунглер радар, а не бот даже, но апи было хорошее, да и в MS Visual Studio писать с intellisense, их компилятором, приятно. Хотя и в Notepad ++ тоже терпимо

Добавлено через 3 минуты
Как одеть сережки или кольца? Если useitem - оно оденет и снимет. Проверять, одето ли?

Последний раз редактировалось Владимир Курамшин, 15.10.2014 в 16:52. Причина: Добавлено сообщение
Владимир Курамшин вне форума   Ответить с цитированием
Старый 17.10.2014, 00:30   #7
Местный
 
Аватар для Antharas
 
Регистрация: 26.11.2012
Сообщений: 207
Сказал Спасибо: 23
Имеет 18 спасибок в 18 сообщенях
Antharas пока неопределено
По умолчанию

Цитата:
Сообщение от Владимир Курамшин Посмотреть сообщение
Джунглер радар, а не бот даже, но апи было хорошее, да и в MS Visual Studio писать с intellisense, их компилятором, приятно. Хотя и в Notepad ++ тоже терпимо
То есть разработчик радара выдавал библиотеку классов? И ты уже сам компилировал что хочешь?

Цитата:
Сообщение от Владимир Курамшин Посмотреть сообщение
Добавлено через 3 минуты
Как одеть сережки или кольца? Если useitem - оно оденет и снимет. Проверять, одето ли?
Это вопрос по шадоу?
Перебрать все итемы, и одевать не надетое. Хоть одинаковый хоть нет.
__________________
lllllllllllllllllll
Antharas вне форума   Ответить с цитированием
Старый 17.10.2014, 11:07   #8
Новичок
 
Регистрация: 10.10.2014
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Владимир Курамшин пока неопределено
По умолчанию

Да, была библиотека, которую подключали (references) к скрипту. Сам скрипт - dll, выбирался из списка.
Хотя даже платные скрипты легко просматриваются из байт-кода...
Владимир Курамшин вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > ASI


Опции темы
Опции просмотра

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

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


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

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

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