Пакет
Сборка: база интерлюд
Краткое изложение СУТИ проблемы: л2пнх > антитаргет
Вопрос: Возможно ли в ядре создать,если так можно сказать правило,когда игрок будет использовать определенный пакет,в моем случае антитаргет,то будет получать кик или бан чара(пакет я знаю.) м? кто знает как это сделать напишите что и куда,заранее спасибо.
Мои соображения по этому поводу: думааю возможно на все 101%,но я не очень в яве...
апчег
Opinion: Сборка: база интерлюд
Краткое изложение СУТИ проблемы: л2пнх > антитаргет
Вопрос: Возможно ли в ядре создать,если так можно сказать правило,когда игрок будет использовать определенный пакет,в моем случае антитаргет,то будет получать кик или бан чара(пакет я знаю.) м? кто знает как это сделать напишите что и куда,заранее спасибо.
Мои соображения по этому поводу: думааю возможно на все 101%,но я не очень в яве...
возможно .. нужны исходники сервака и точный пакет который используют для антитаргета
If FromClient and (pck=hstr('38 2E 00 6F 00 6E 00 00 00 00 00 00 00')) then
begin
Buf:=#$9F;
WriteD(a);
buf:=buf+ hstr('01 00 00 00 56 0D 20 10 02 00 00 00');
нечестно так
по честному ето - игрок хочет антитаргета - получяй фашист гранату
запретить ему пакет таргета, пусть больше ничего он невозмёт на таргет :) :)
ssass: If FromClient and (pck=hstr('38 2E 00 6F 00 6E 00 00 00 00 00 00 00')) then
begin
Buf:=#$9F;
WriteD(a);
buf:=buf+ hstr('01 00 00 00 56 0D 20 10 02 00 00 00');
в скриптинге для phx несилен .. точно укажите какой пакет высылается на серве рпосле чего игрока нельзя взять в таргет
CKA3KA: в скриптинге для phx несилен .. точно укажите какой пакет высылается на серве рпосле чего игрока нельзя взять в таргет
+1, немного непонятно, что там от клиента идет, и какой пакет он сооружает.... я в дельфи не силен...
не в таргете дело ) и не в хлапе проиЙопа сборки , "дубликат чара " на самом деле перс находится в другой координате и при таргете позиция меняется на стартовую . приоткрою завесу по натуралу он мертвый и мб в городе ^^ тоже думал полный бред пока мне не продемонстрировали
38 2E 00 6F 00 6E 00 00 00 00 00 00 00 отклиента розшифровуитца как .on
01 00 00 00 56 0D 20 10 02 00 00 00 сам пакет на анти таргет ток врятли поможит игрок сможит поменять кординаты и все советую ставить скориу там атни таргет непашит втимболия на ал2базе есть фишка с гмовский хилам и бесмертям
омг)) угу ..в платных все нормально..кроме этого пакета..Новичок
Группа: Newbies
Сообщений: 2
Регистрация: 12.10.2009
Поблагодарили: 0 * ...эт что реклама скории?)
ssass: 38 2E 00 6F 00 6E 00 00 00 00 00 00 00 отклиента розшифровуитца как .on
01 00 00 00 56 0D 20 10 02 00 00 00 сам пакет на анти таргет ток врятли поможит игрок сможит поменять кординаты и все советую ставить скориу там атни таргет непашит втимболия на ал2базе есть фишка с гмовский хилам и бесмертям
а ты в этом уверен?,а то у себя не замечал...
ssass: 38 2E 00 6F 00 6E 00 00 00 00 00 00 00 отклиента розшифровуитца как .on
01 00 00 00 56 0D 20 10 02 00 00 00 сам пакет на анти таргет ток врятли поможит игрок сможит поменять кординаты и все советую ставить скориу там атни таргет непашит втимболия на ал2базе есть фишка с гмовский хилам и бесмертям
В скории это решено след образом
if (activeChar == null)
return;
if (!(FloodProtector.getInstance().tryPerformAction(activeChar.getObjectId(), 13)))
{
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
this._curX = activeChar.getX();
this._curY = activeChar.getY();
this._curZ = activeChar.getZ();
if (activeChar.isInBoat())
{
activeChar.setInBoat(false);
}
if (activeChar.getTeleMode() > 0)
{
if (activeChar.getTeleMode() == 1)
activeChar.setTeleMode(0);
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
activeChar.teleToLocation(this._targetX, this._targetY, this._targetZ, false);
return;
}
if ((this._moveMovement == 0) && (Config.GEODATA < 1))
{
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
}
else if ((activeChar.isAttackingNow()) && (activeChar.getActiveWeaponItem() != null) && (activeChar.getActiveWeaponItem().getItemType() == L2WeaponType.BOW))
{
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
}
else
{
double dx = this._targetX - this._curX;
double dy = this._targetY - this._curY;
if ((activeChar.isOutOfControl()) || (dx * dx + dy * dy < 98010000.0D))
{
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(this._targetX, this._targetY, this._targetZ, 0));
if (activeChar.getParty() != null)
activeChar.getParty().broadcastToPartyMembers(activeChar, new PartyMemberPosition(activeChar));
}
Красным выделено . .я так понимаю что если игрок находиться под атакой то пакет фактически по функционалу игнорируется
если доходчиво если игрок в режиме боя то антитаргет не пройдет..
решение не блестящее но в принципе эффективное
у меня возникла идея,вот думаю...а как сделать..чтобы при вводе .on в игре,например кидало из игры?...или тп делал в тюрягу..ну вообщем идея тут понятна,при вводе скрипта и в игровом процессе .on , включается антитаргет...вот хочу сделать чтобы при вводе в игре не .on к примеру..кидало из игры или тп в тюрьму...кто подскажет как?..или что в ядре изменить надо?...вообщем тут уже опытные нужны..ну собственно я на базе...надеюсь помогут
хм..я просто в ядро ещё и не лазил..СКАЗКА,можешь сказать что и куда надо прописать....? c меня пасибки..
если что,исходники есть
Это делается парой строчек кода, но этот вариант никуда не годный, т.к. в самом скрипте в л2пнх человек поменяет текст команды - и все вернется на свои места.
Opinion: у меня возникла идея,вот думаю...а как сделать..чтобы при вводе .on в игре,например кидало из игры?...или тп делал в тюрягу..ну вообщем идея тут понятна,при вводе скрипта и в игровом процессе .on , включается антитаргет...вот хочу сделать чтобы при вводе в игре не .on к примеру..кидало из игры или тп в тюрьму...кто подскажет как?..или что в ядре изменить надо?...вообщем тут уже опытные нужны..ну собственно я на базе...надеюсь помогут
хм..я просто в ядро ещё и не лазил..СКАЗКА,можешь сказать что и куда надо прописать....? c меня пасибки..
если что,исходники есть
в net.sf.l2j.gameserver.clientpackets
лежит MoveBackwardToLocation
в него вносишь то что ф выделил красным
.. думаю там разберешься куда именно у себя это пихать в пакет
глуппый вопрос..но с какой по можно открыть норм исходники,ну то есть определенное..я попытался через винрар..но сам файл открыть не как...либо каракули...бр))
Дебильная идея номер раз
1. Ставим хук
2. пишем говнокод, первое что в бошку всбрело (инклуды и main не пишу):
hwnd = ::FindWindow("класс окна линяги тут",NULL);
while(;;)
{
if(IsWindow(hwnd)==0) { Sleep(500); exit(0); }
if ((GetAsyncKeyState(0xBE)==-32767)||(GetAsyncKeyState(0x6E)==-32767))
{
Sleep(100);
if ((GetAsyncKeyState(0x4F)==-32767))
{
Sleep(100);
if ((GetAsyncKeyState(0x4E)==-32767))
{
.....
TerminateProcess(... );
}
}
}
}
Параметр в GetAsyncKey() - не hex, а dec
Всё выше мной написанное - бред.






