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

Жесткий скриптинг Раздел для обсуждения готовых и тестируемых скриптов
Внимание! В разделе введена жесткая модерация, темы и сообщения публикуются только после проверки модераторами

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 11.01.2008, 04:07   #1
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Скрипт на рыбалку

Не пишите по несколько раз вопросы. Тема премодерируемая и пока модератор не посмотрит, сообщение не появиться.

Выкладываю мою версию рыбалки: fishing_by_NLObP.zip

//Автоматизация ловли рыбы by NLObP для L2PacketHack v.3.5+ by Xkor
//version 0.10.11 от 26.07.2009г.

Возможности скрипта:
Оффтоп

Спасибо Xkor за пакетхак!
Спасибо участникам форума CoderX.ru за идеи для скрипта!

Скрипт распространяется как есть, и я не несу ответственности за то,
что ВЫ натворили у себя, его используя.

MyICQ 402988808

by APXAHGEJI
Вот попробуй этот, на моем ХБэшном серве работает.
Единственно что, не переделал отключение клиента.
Скрипт не универсален, то есть работает тока под ХБ.

Ниже прикреплены скрипты
Так выглядит панель управления скриптом
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 3843
Размер:	64.8 Кб
ID:	34  
Вложения
Тип файла: rar by_APXAHGEJI.rar (21.7 Кб, 580 просмотров)
Тип файла: rar fishing_by_NLObP_10_7.rar (280.2 Кб, 430 просмотров)
Тип файла: rar fishing_by_NLObP_10_8_2.rar (240.9 Кб, 802 просмотров)

Последний раз редактировалось NLObP, 01.08.2009 в 02:45. Причина: обновление скрипта
NLObP вне форума   Ответить с цитированием
Старый 27.07.2009, 05:51   #51
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Поправил код под Грацию Финал (специально для Final_World.ru (java server)). И packetsT1.ini для Грации Финал.
Тестируйте.
Вложения
Тип файла: rar fishing_gracia_final.rar (22.4 Кб, 282 просмотров)
Тип файла: rar PacketsT1.rar (9.2 Кб, 191 просмотров)
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 01.08.2009 в 02:47.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 5 спасибками от:
Старый 16.08.2009, 04:07   #52
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

NLObP, у тебя в коде есть такое место:

Код:
//сюда вписываем ItemID предметов для автообмена
  TradeMultiItem=[6908,6909,6910,6911,6912,6913,6914,6915,6916]; //нельзя изменять, собъется обмен!
  //количество предметов в массиве TradeMultiItem
  TradeMultiItemCount=9;//нельзя изменять, собъется обмен!
Но я не хочу продавать Fish Gem'ы и Shiny Fish Gem'ы.
Что нужно для этого сделать?
Почему нельзя изменять?
Если убрать 6913 и 6914, а TradeMultiItemCount поставить равным 7, не будет работать?
Поясни, пожалуйста.
LiS вне форума   Ответить с цитированием
Старый 17.08.2009, 01:23   #53
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от LiS Посмотреть сообщение
NLObP, у тебя в коде есть такое место:

Код:
//сюда вписываем ItemID предметов для автообмена
  TradeMultiItem=[6908,6909,6910,6911,6912,6913,6914,6915,6916]; //нельзя изменять, собъется обмен!
  //количество предметов в массиве TradeMultiItem
  TradeMultiItemCount=9;//нельзя изменять, собъется обмен!
Но я не хочу продавать Fish Gem'ы и Shiny Fish Gem'ы.
Что нужно для этого сделать?
Почему нельзя изменять?
Если убрать 6913 и 6914, а TradeMultiItemCount поставить равным 7, не будет работать?
Поясни, пожалуйста.
Поставь вместо ID предметов, которые хочешь оставить, любое заведомо неподходящее под другие ID предметов число (например 999999 или 1) и оно просто будет пропущено. Причина в вычислении EntryId в пакете MultiSellChoose. ID предметов для обмена идут по порядку и пропускать их нельзя.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 2 спасибками от:
Старый 18.08.2009, 07:58   #54
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Совет: Добавьте строчку в скрипте, чтобы во время обмена у фишермена очищался контрол msg. Иначе через несколько часов происходит его переполнение и скрипт падает с ошибкой "List index out of bounds (4999)"

Код:
//***************************************************************
// Вся торговля здесь!!!
//***************************************************************
procedure OnTrade(Sender: TObject);
begin
     msg.Lines.Clear();
  case trade of
    //-------------------------------------------------
    //продаем фишерману из массива TradeSellItem
    //-------------------------------------------------
    200: begin

Последний раз редактировалось LiS, 23.08.2009 в 04:18.
LiS вне форума   Ответить с цитированием
За это сообщение LiS нажился спасибкой от:
Старый 19.08.2009, 18:52   #55
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Добавление строчки очистки Memo-эдита не помогло.
Все также через несколько часов вылетает ошибка "List index out of bounds (4999)".

Знатоки, подскажете куда смотреть?
Не приходит ничего путного на ум.
Где что может переполняться?

//nlobp: лог сообщений и лог пакетов давай. Выход за пределы массива вроде. Что там у нас на 5000 записей есть?

//LiS: Как только опять упадет - дам. А лог пакетов. Он же нереально большой. Может что-то конкретное надо?

Последний раз редактировалось LiS, 23.08.2009 в 12:44.
LiS вне форума   Ответить с цитированием
Старый 23.08.2009, 04:03   #56
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Сейчас переделываю бота на версию пакетхака 3.5.13.122
Ругается на вот это:

Код:
  //отключение клиента
  //YesFreeOnClientDisconnect;
  //YesFreeOnServerDisconnect;
Почему?

//nlodp: по другому называются. Поищи на форуме уже писали.

Последний раз редактировалось NLObP, 23.08.2009 в 15:14.
LiS вне форума   Ответить с цитированием
Старый 23.08.2009, 04:17   #57
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
Вопрос

Вот скрины при работе в версии пакетхака 3.4.1.83:
Окно бота:
Нажмите на изображение для увеличения
Название: Bot.jpg
Просмотров: 94
Размер:	96.4 Кб
ID:	463
http://coderx.ru/attachment.php?atta...1&d=1250982845

Лог сообщение в самом боте (после очистки лога при покупке наживки):
MemoLog.txt
http://coderx.ru/attachment.php?atta...1&d=1250982845

Сообщение об ошибке:
Нажмите на изображение для увеличения
Название: Error.jpg
Просмотров: 84
Размер:	33.4 Кб
ID:	462
http://coderx.ru/attachment.php?atta...1&d=1250982845

Сообщение об ошибке полностью:
ErrorLog.txt
http://coderx.ru/attachment.php?atta...1&d=1250982845

Извиняюсь, если ссылки и картинки вставил не так, как надо, но с этим "предмодерированием" одни проблемы
LiS вне форума   Ответить с цитированием
Старый 23.08.2009, 11:29   #58
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Вот часть кода:
В версии 3.4.1.83 работает нормально, а в версии 3.5.13.122 падает на выделенной синим цветом строке.
Если комментирую эту строку, то падает в следующей.
В чем причина? Подскажите, плиз.

Код:
//***************************************************************
//Вызывается при выключении скрипта
//***************************************************************
procedure Free;
begin
  ItemBase:=nil;  ItemBase2:=nil;

  //таймеры
  ShowInf.Enabled:=false;  ShowInf.Interval:=0;  ShowInf.Free; ShowInf.OnTimer:=nil;
  fishin.Enabled:=false;  fishin.Interval:=0;  fishin.Free; fishin.OnTimer:=nil;
  trade1.Enabled:=false;  trade1.Interval:=0;  trade1.Free; trade1.OnTimer:=nil;
  createpfo.Enabled:=false;  createpfo.Interval:=0;  createpfo.Free; createpfo.OnTimer:=nil;
  movetimer.Enabled:=false;  movetimer.Interval:=0;  movetimer.Free; movetimer.OnTimer:=nil;
LiS вне форума   Ответить с цитированием
Старый 23.08.2009, 12:17   #59
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Хм. Видимо проблема была в этом:
Код:
ShowInf.OnTimer:=nil;
fishin.OnTimer:=nil;
trade1.OnTimer:=nil;
createpfo.OnTimer:=nil;
movetimer.OnTimer:=nil;
Убрал, и больше не падает при вызове Free.

Но есть другой вопрос.

Компилирую скрипт. Ставлю галочку на запуск скрипта. Все отлично.
Снимаю галочку, форма исчезает. Еще раз ставлю галочку. Скрипт запускается, форма появляется, но в логах пишет:
Код:
ошибка в CreateItemBase->StringList.Add()
И еще ошибка такая (вернее не понятная мне вещь).
В версии 3.5.13.122 уже есть встроенный метод SendMsg(string).
В этом скрипте он почему-то не шлет сообщения в клиент.
Пришлось вставить такой метод в скрипт:
Код:
//.....................
procedure SendMsg_to_CL(msg:string);    // отправка системных сообщений клиенту
begin
  buf:=#$4A;
  WriteD(0);
  WriteD(10);
  WriteS('');
  WriteS(msg);
  SendToClientEx(Name);
end;
и использовать его.
LiS вне форума   Ответить с цитированием
Старый 23.08.2009, 15:08   #60
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Цитата:
Убрал, и больше не падает при вызове Free.
Смотрим порядок действий
Цитата:
ShowInf.Enabled:=false; ShowInf.Interval:=0; ShowInf.Free; ShowInf.OnTimer:=nil;
по русски: отключаем таймер, устанавливаем интервал = 0 (зачем?), высвобождаем таймер (что в принципе подразумевает его останов), пытаемся обнулить привязку процедуры к событию онтаймер.
последний шаг производиться на уже не существующем обьекте, что явно приведет к рантайм эррору.
в принципе, все эти 4 действия сводятся к банальному ShowInf.Free; больше ничего и не надо.

Цитата:
ошибка в CreateItemBase->StringList.Add()
что в статусбаре/еррорлоге написано, и код инит функции с подствеченой строкой на которой выбивает ошибку в студию.

Цитата:
В версии 3.5.13.122 уже есть встроенный метод SendMsg(string).
В этом скрипте он почему-то не шлет сообщения в клиент.
SendMsg встроенный в пх шлет сообщения в ЛОГ пх.
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 23.08.2009 в 15:12.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Жесткий скриптинг



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

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


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

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

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