PDA

Просмотр полной версии : Рыбалка на пакетном уровне. КАК?


finomen
31.01.2010, 00:45
Те скрипты что нашел, не работают. Лог пакетов во вложении. Подскажите, как происходит рыбалка в грации?

Breadfan
31.01.2010, 02:21
Я, конечно, понимаю, что вопрос может показаться идиотским....Но все же: а КАК ИМЕННО они не работают? С настройками, скринами, листингом скрипта, и прочим, если можно

finomen
31.01.2010, 11:51
вылетают вместе с пакетхаком с ошибкой Reading Access Violation at address 0x00000000, скрипт by Nlobp не видит вещей. Бот-локомотив вылетает также. IgExt пашет, но через 5-10 минут дисконнект
ОС Windows 7 x32
Сервер fan-age.ru
тако ощущение, что косячит пакетхак....от сервера практически нет пакетов.
Перехват трафика как прокси сервер в связке с Proxifier.

Добавлено через 1 минуту
да, собсно основной вопрос-что происходит на пакетном уровне...скрипт я и сам напишу, но пакетов от сервера не наблюдаю.

alexteam
31.01.2010, 12:53
finomen, в дополнительно\фильтр пакетов загляни...

finomen
31.01.2010, 20:05
alexteam, действительно, проблема была в фильтре. убрал все галки, вернул обратно-все норм...пока....

sinles
01.02.2010, 22:41
на пакетном уровне ничего сложного. От сервера приходит сообщение о том куда движется ползунок, для нас это указание что делать рил или помп. В ответ на это сообщение мы отправляем использование соответствующего скила. Во время завершения рыбалки нам так же приходит сообщение от сервера с результатами. Вот кусок кода обрабатывающий эти сообщения (взят из скрипта товарища NLObP и возможно чуть переделан)
//FE1E00=ExFishingStart:h(subID)d(ObjectID)d(FishTyp e)d(X)d(Y)d(Z)c(0)c(0)c(isNightLure)c(0)
//FE1F00=ExFishingEnd:h(subID)d(CharID)c(isWin)
//--FE1500=ExFishingStartCombat:h(charOID)d(time)d(HP) b(Fighting)b(LureType)b(isFishDeceptive)
//FE2800=ExFishingHPRegen:h(subID)d(ObjectID)d(Time) d(FishHP)c(HPstop/Rise)c(GoodUse)c(Anim)d(Penalty)c(BarColor)
#$FE: begin
//if Status and (MyOID<>0) then begin
case pck[2] of
//FE1F00=ExFishingEnd:h(charObjtId)b(isWin)
#$1F: begin
//msg.Lines.Add('S>Пакет ExFishingEnd #$FE1F00');
if MyOID=ReadD(4) then begin
gooduse:=0;
isFishing:=false; //сейчас не ловим
if ReadC(8)=1 then begin
msg1('Поймали!');
end else begin
if stop then exit; //нажали кнопку стоп!
msg1('Сорвалась!');
end;

fishin.enabled:=true;
end;
end;
//FE2800=ExFishingHPRegen:h(subID)d(ObjectID)d(Time) d(FishHP)c(HPstop/Rise)c(GoodUse)c(Anim)d(Penalty)c(BarColor)
#$28: begin
//SendMsg2('S>Пакет ExFishingHpRegen #$FE2800');
if MyOID=ReadD(4) then begin
if (pck[16]=#$00) then begin
//SendMsg2('pump');
pumping;
exit;
end;
if (pck[16]=#$01) then begin
//SendMsg2('reel');
reeling;
exit;
end;
end;
end;
end;
//end;
end;
А вообще сам принцип проводимых на пакетном уровне опираций ты можешь посмотреть вот тут (http://coderx.ru/showpost.php?p=132&postcount=3) или тут (http://coderx.ru/showthread.php?t=198) или вот мой вариант (http://coderx.ru/showpost.php?p=48344&postcount=67) (в нем поменьше кода будет :) )

а самый надежный вариант узнать что там происходит, это взять и посмотреть ;)

finomen
02.02.2010, 00:20
хм...действительно....спасибо