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

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 12.12.2007, 21:51   #1
Новичок
 
Регистрация: 13.10.2007
Сообщений: 10
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
ZZa
Смех Автоматизация сдачи всходов МАНОР МЕНЕДЖЕРУ

Здравствуйте, глубокоуважаемая команда скриптиров..

Напомню вам скриптик, предложенный вороном для автоматизации сдачи всходов на маноре:
Код:
//СКРИПТ АВТОМАТИЧЕСКОЙ СДАЧИ МАНОРА by Voron
//использование: скрипт запускается за несколько минут до объявления об олимпиаде
//при получении системного сообщения об ее начале засекается системное время и вычисляется время
//сдачи манора, также активируется таймер с интервалом 0,3 сек для контроля системного времени.
//после этого пытаемся сдать свои всходы- вручную. при этом мы получим ошибку что-
//манор система: выключена в данный момент. но при етом пакет на сдачу манора- скрипт запомнит в
//память для дальнейшего использования. через заданное время скрипт отправит 10 раз запомненный
//пакет с интервалом 0,3сек.
//проверено что: если манор сдастся примерно на 4-й раз (4-й повтор пакета) то остальные 6 повторов
//сервер принимает без ошибок, хотя в инвенторе отсутствуют нужные всходы- сервер на это не ругается

var
PaketManora: string; //Пакет на сдачу манора, который мы отправим серваку зараннее с помощью клиента
// и запомним его для того чтобы вручную не формировать его кодом.
//важно что оправлять его нужно после после объявления об олимпиаде.
//так как в пакете манора используются ИД сессии, которые изменяются
//каждый ровный час.

timer1: TTimer; //таймер контролирующий системное время

StartTime: TDateTime;
EndTime: TDateTime;


x:integer;

procedure Init; //Вызывается при включении скрипта
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer; //
timer1.enabled:=false; // таймер по умолчанию выключен
timer1.interval:=300; // через каждые 0,3сек будем засекать контрольное время сдачи манора

x:=0;
end;

procedure Free; //Вызывается при выключении скрипта
begin
timer1.Free; //освобождаем занимаемую память таймером
end;

//вызывается при срабатывании таймера
procedure OnTimer(Sender: TObject);
begin
//если наступило время сдавать манор и скрипт пока еще не отправил 10 попыток его сдать то
if (time >= EndTime) and (x<11) then
begin
//пишем сами себе в чат - что "ПОПЫТКА"
buf:=hstr('4A AB F6 A0 48 02 00 00 00 2D 00 3E 00 56 00 4F 00 52 00 4F 00 4E 00 37 00 00 00 3F 04 3E 04 3F 04 4B 04 42 04 3A 04 30 04 20 00 41 04 34 04 30 04 42 04 4C 04 00 00');
SendToClient;
// отправляем пакет на сдачу манора.
buf:=PaketManora;
SendToServer;
//счетчик попыток
x:=x+1;
end;
end;


begin

//если перехвачен пакет на сдачу манора то
if FromClient and (pck[1]=#$D0) and (pck[2]=#$09) and (pck[3]=#$00) then
begin
//запоминаем его полностью
PaketManora:=pck;
end;

//если получен пакет об начале олимпиады то
if FromServer and (pck[1]=#$64) and (pck[2]=#$69) and (pck[3]=#$06) then
begin
//засекаем текущее время
StartTime:=time;
//вычисляем время сдачи манора (прибавляем нужное время которое нужно засеч после получения сообщения об илимпиаде)
EndTime:=StartTime + EncodeTime(0,5,52,0); // изменяем и корректируем ето число в формате (ЧЧ,ММ,СС,МС)
//активируем таймер
timer1.enabled:=true;
//а ето- отправка сам себе сообщения о том что ВРЕМЯ ПОШЛО
buf:=hstr('4A AB F6 A0 48 02 00 00 00 2D 00 3E 00 56 00 4F 00 52 00 4F 00 4E 00 37 00 00 00 32 04 40 04 35 04 3C 04 4F 04 20 00 3F 04 3E 04 48 04 3B 04 3E 04 00 00');
SendToClient;
end;

end.
так вот, я немножко дописал этот скриптик, ну он у меня автоматически сейчас сам вырубается после того как пройдет хотя бы какая то продажа - т.е. когда что либо сдалось.. но тут же у меня возник вопрос насчет манор системы в ла2.. может кто подскажет.

итак, проиллюстрируем ситуцию когда я сдаю манор с этим скриптом.. я запускаю сам скрипт собственно, потом по всем правилам выставляю всходы на продажу (у меня их например 6 видов) - запоминается пакет. И когда наступает время скрипт пытается протолкнуть мой пакет заданное число попыток.. но не тут то было - я практически всегда нарываюсь на ошибку "not enough adena" - естесственно это липа - аден у меня не может не хватать.. их 40кк в инвентаре.. полистав много форумов я нашел и вычитал, что такая ошибка бывает тогда, когда я опоздал со сдачей всходов на несколько миллисекунд - погрешность пинга как я понимаю, т.е. у кого то пакет до сервера дошел быстрее моего.. ну да ладно, я поигрался с интервалом между попытками - и что вы думаете - я еще ни разу не смог нормально сдать манорчик - хотя испытываю его уже четвертый день..

вопрос первый? правильно ли я понимаю эту ошибочку при сдаче - not enough adena? если нет, то когда она вылетает и как от нее избавиться..


теперь дальше - я заметил, что такая ошибка вылетает тогда, когда я пвтаюсь сдать много видов всходов - если же я например пытаюсь сдать один вид всходов, например red coba, то я почти стопроцентно его сдаю, если много - всегда пролетаю.. отсюда вопрос второй? почему? и как этого избежать?
можно ли например пихать пакетики по очереди - т.е. сдать сначала один вид всхода, потом второй, потом третий??


Добавлено спустя 48 секунд:
з.ы. играю на шок1. может быть это именно у них такая защита на сдачу сразу нескольких видов всходов?
ZZa вне форума   Ответить с цитированием
Старый 13.12.2007, 13:06   #2
Пользователь
 
Регистрация: 15.11.2007
Сообщений: 67
Сказал Спасибо: 4
Имеет 2 спасибок в 2 сообщенях
boyan
По умолчанию

Я сдаю ручками.. прихожу в 20-00(после начала олимпа), сдаю то что надо, копирую пакеты в отсылку, ставлю интервал(100-300 мсек), и в 20-05-54 ставлю автопосылку.. сдается всегда!
каждый пакет на сдачу, в новой строке.. и со скриптами никаких геморов нет.. =)
про адену тоже иногда пишет.. но это не мешает мне получить награду =)
boyan вне форума   Ответить с цитированием
Старый 13.12.2007, 20:14   #3
Новичок
 
Регистрация: 13.10.2007
Сообщений: 10
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
ZZa
По умолчанию

текс... не понял.. а сдаешь по отдельности или все виды всходов за раз?
ZZa вне форума   Ответить с цитированием
Старый 13.12.2007, 20:51   #4
Пользователь
 
Регистрация: 15.11.2007
Сообщений: 67
Сказал Спасибо: 4
Имеет 2 спасибок в 2 сообщенях
boyan
По умолчанию Re:

Цитата:
Сообщение от ZZa
текс... не понял.. а сдаешь по отдельности или все виды всходов за раз?
все за раз.. но там получается что ты посылаеш несколько пакетов(если в разные города сдавать)
boyan вне форума   Ответить с цитированием
Старый 14.12.2007, 22:00   #5
Новичок
 
Регистрация: 13.10.2007
Сообщений: 10
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
ZZa
По умолчанию

хм... интересно.. спасибо за подсказку
Цитата:
Я сдаю ручками.. прихожу в 20-00(после начала олимпа), сдаю то что надо, копирую пакеты в отсылку, ставлю интервал(100-300 мсек), и в 20-05-54 ставлю автопосылку.. сдается всегда!
вот это вот мне интересно - своим скриптом я делаю тоже самое и уже пятый день мне пишет одно и то же - not enough adena - вообще ничего не пойму - такие же проблемы остались даже когда я по одному виду всходов сдавал

Добавлено спустя 2 минуты 39 секунд:
вот у ворона написано что в пакете прописана какая то ид сессии? может ли кто дать расщифровку пакета D0 полную??
и не отвечает ли случаем за эту ид сессии пакет ChangeWaitTime - ибо как раз при запуске манора у меня на серваке приходил такой пакет причем ни один раз..

может кто наведет на мысль?
ZZa вне форума   Ответить с цитированием
Старый 15.12.2007, 17:36   #6
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re:

Цитата:
может ли кто дать расщифровку пакета D0 полную??
и не отвечает ли случаем за эту ид сессии пакет ChangeWaitTime - ибо как раз при запуске манора у меня на серваке приходил такой пакет причем ни один раз.. может кто наведет на мысль?
Вот какие я знаю
Код:
[client]
D0=D0 Ex...:w(subID)
D001=RequestOustFromPartyRoom:w(subID)d(_id)
D002=RequestDismissPartyRoom:w(subID)d(d1)d(d2)
D003=RequestWithdrawPartyRoom:w(subID)d(d1)d(d2)
D004=RequestHandOverPartyMaster:w(subID)s(s)
D005=RequestAutoSoulShot:i(ItemID)d(FlagON)
D006=RequestExEnchantSkillInfo:w(subID)h(skillID)d(skillLvl)
D007=RequestExEnchantSkill:w(subID)h(skillID)d(skillLvl)
D008=RequestManorList:w(subID)
D009=RequestProcureCropList:w(subID)d(ListCount)d(d)d(d)d(d)d(d)
D00A=RequestSetSeed:w(subID)d(data1)d(size)d(l0)d(l1)d(l2)
D00B=RequestSetCrop:w(subID)d(data)d(size)d(l0)d(l1)d(l2)b(l3)
D00D=RequestExAskJoinMPCC:w(subID)s(name)
D00E=RequestExAcceptJoinMPCC:w(subID)d(d)
D00F=RequestExOustFromMPCC:w(subID)s(name)
D010=RequestExPledgeCrestLarge:w(subID)d(crestID)
D011=RequestExSetPledgeCrestLarge:w(subID)b(IconCrestData)
D012=RequestOlympiadObserverEnd:w(subID)
D013=RequestOlympiadMatchList:w(subID)
D014=RequestAskJoinPartyRoom:w(subID)s(player)
D015=AnswerJoinPartyRoom:w(subID)d(requesterID)
D016=RequestListPartyMatchingWaitingRoom:w(subID)
D017=RequestExitPartyMatchingWaitingRoom:w(subID)
D018=RequestGetBossRecord:w(subID)d(bossID)
D019=RequestPledgeSetAcademyMaster:w(subID)d(set)s(curPlayer)s(targetPlayer)
D01A=RequestPledgePowerGradeList:w(subID)
D01B=RequestPledgeMemberPowerInfo:w(subID)d(un1)s(player)
D01C=RequestPledgeSetMemberPowerGrade:w(subID)s(member)d(powerGrade)
D01D=RequestPledgeMemberInfo:w(subID)d(un1)s(player)
D01E=RequestPledgeWarList:w(subID)d(un1)d(tab)
D01F=RequestExFishRanking:w(subID)
D020=RequestPCCafeCouponUse:w(subID)
D022=RequestCursedWeaponList:w(subID)
D023=RequestCursedWeaponLocation:w(subID)
D024=RequestPledgeReorganizeMember:w(subID)d(d)s(s)d(d)s(s)
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 4 спасибками от:
Старый 15.12.2007, 21:29   #7
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 209
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию

м.. че характерно- у меня ошибка с нехваткой адены вылазило часто- и похер на нее... 1 фиг при етом манор сдовался... я немог разобраться почему ета ощибка вылазит
но у меня на серваке ета ошибка не влияла на сдачу маора- никак... она вылазила но при етом мманор- сдовался...
я неспорю- странно- но хз мыслей нет...
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
VORON вне форума   Ответить с цитированием
За это сообщение VORON нажился спасибкой от:
Старый 18.12.2007, 05:23   #8
Новичок
 
Регистрация: 13.10.2007
Сообщений: 10
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
ZZa
По умолчанию

вообще фигня какая то - манор сдать невозможно.. эта же ошибка появляется даже когда один вид всходов сейчас сдаю..

Код:
D009=RequestProcureCropList:w(subID)d(ListCount)d(d)d(d)d(d)d(d)
что такое SubID вот тутя вот и числа в конце пакета?

VORON, а вот у меня приходит ошмбка и со сдачей я обламываюсь.. а когда вручную пытаюсь сдавать та же самая хрень, сдавать получалось только молд глу и все.. с остальными всходами ничего..

Добавлено спустя 5 минут 39 секунд:
так с последними д-шками разобрался, а что такое саб ид?

Код:
list[i][0] = readD(); // 0 ???
			_list[i][1] = readD(); // crop id
			_list[i][2] = readD(); // territory
			_list[i][3] = readD(); // sales
ZZa вне форума   Ответить с цитированием
За это сообщение ZZa нажился спасибкой от:
Старый 22.12.2007, 02:13   #9
Пользователь
 
Регистрация: 20.12.2007
Сообщений: 5
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
ugadayKto
По умолчанию

а че на шоках л2пх работает или єтот скрипт можно засунуть в волкер.У меня было 1 раз когда клиентом сдавал писалось что не хватает адены.Просто я считаю нада уменьшить интервал сдачи, это получается что 2 игрока в 1 и тоже время сдают и такой баг.
ugadayKto вне форума   Ответить с цитированием
Старый 22.12.2007, 15:13   #10
Новичок
 
Регистрация: 13.10.2007
Сообщений: 10
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
ZZa
По умолчанию

хах.. я бы понял это если бы это было раз, ну два... но 10 это уже слишком..

Добавлено спустя 4 минуты 26 секунд:
скажите кто точно знает когда обновление времени манора на шоке и сколько длится maintenance time манор менеджера там?
ZZa вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



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

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


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

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

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