Здравствуйте, глубокоуважаемая команда скриптиров..
Напомню вам скриптик, предложенный вороном для автоматизации сдачи всходов на маноре:
Код:
//СКРИПТ АВТОМАТИЧЕСКОЙ СДАЧИ МАНОРА 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. может быть это именно у них такая защита на сдачу сразу нескольких видов всходов?
Помогите пожалуйста...захожу прогой загружаю скрипт в СКРИПТЫ
delphi Код:
//СКРИПТ АВТОМАТИЧЕСКОЙ СДАЧИ МАНОРА 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)thenbegin//пишем сами себе в чат - что "ПОПЫТКА"
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)thenbegin//запоминаем его полностью
PaketManora:=pck;
end;
//если получен пакет об начале олимпиады тоif FromServer and(pck[1]=#$64)and(pck[2]=#$69)and(pck[3]=#$06)thenbegin//засекаем текущее время
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.
Затем загружаю его в ПОСЫЛКА ставлю 300 сек....Затем ставлю галочку отсылки кажд 400 сек и меня дисконект
ПОМОГИТЕ ПОЖАЛУЙСТА
Последний раз редактировалось Grinch, 21.05.2008 в 21:45.
Ставить на пасылку ни чё не надо,просто перед манором включаешь скрипт,дальше все сделает пакет хак,главное попробовать пару раз здать манора вручную.И в следующий раз читай интсррукцию
Последний раз редактировалось Grinch, 21.05.2008 в 21:43.
Причина: нет флуду
Fifty,
Хотел уточнить,чтобы загребски ресурсов при сдаче манора посылку делть ненадо тока поставить галку на скрип и нажать на манора сделать сдачу в 20-01 а затем ждать или или вставить пакет отправки и отправлять его кажд 10 млс??
вопрос первый? правильно ли я понимаю эту ошибочку при сдаче - not enough adena? если нет, то когда она вылетает и как от нее избавиться..
прикол-наблюдения за ошибкой етой... если попытки сдать довольно частые и всходов есть с запасом в 10 раз превышающий кол-во скупаемых всходов городом.. то есть возможность сдать 2-3 раза в 1 город... было несколько раз такое что при наличии 2000+ всходов.. город скупал 260 всходов.. я сдал етим скриптом 1000+ всходов... ппц... так как реал нехватало на большее денег то ошипка вылезла.. вапще ето я так понимаю что сервак 2 условия проверяет при сдаче манора..
1- покупаетли город еще всходы?
2- хватаетли у тебя денег расплатится
так как все ето от многих пользователей одновременно.. то сервак реал крезит и притормаживает.. проверив первое условие- что город покупает твои всходы- на втором- притормаживает и пропускает несколько попыток сдать- подряд..
пропуская заранее 10-15 попыток сдать всходы он потом докумекывает что на ето денег не хватит и ошибку выдает... что денег нет
но тем не менее часто попытки сдать подрят пропускает-))
вопщем етот процесс сдачи манора оч интересен-) и к скрипту тут притензий быть не может-) а если ошипка возникает- то радоваться надо значит сервак лагает в момент сдачи манора значит неуспевает запросы обрабатывать-)
и возможно что пропустит несколько попыток подрят на сдачу-)
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами