Просмотр полной версии : модификация клиента С4 (как быстро убрать трупы?)
собственно проблема - моб умирает, и лежит секунд 5. бывает тело довольно большое и не видно что из него выпало. то есть стоит ли подбежать за дропом или хрен с ним.
ладно один моб, а если я торчу в сайлент валей и бью половинки, те что в пати из 5 мобов - это капец :) 5 трупов, если играть в окошке 800х600 пол окна трупами завалено.
эта была вводная к вопросу. теперь сам вопрос - как можно убрать это самое время, то есть чтобы моб исчезал сразу после смерти? путем химии с пакетами - не предлагать. л2пх убивает пинг в моем случае. нужна именно модификация клиента. где какой параметр можно подправить, чтобы мобы сразу испарялись после смерти и таргет тутже освобождался от мертвой цели. оооо и если можно то и игроки тоже. то есть умер - испарился, и таргет мой пропал, его реснули - он проявился из ниоткуда. суть в том, что если пати кучно стоит, ты начинаешь лупить - а в толпе не видно жив твой таргет или уже умер. потом стоишь, жмешь кнопки и думаешь - чего мой чар не стреляет скатина? а оказываеца таргет умер давно.
В С4 хз, но в гф это пакет
[Server]
...
08=DeleteObject:d(ObjectID)d(0)
...
Слушай пакет
00=Die:d(CharID)d(1)d(HasHideout)d(HasCastle)d(Fla gs)d(Sweepable)d(Access)
Если поступил, сразу обрабатывай и посылай клиенту, а реальный от сервера, который приходит позже - киляй pck:='';
смущает слово "пакет" - то есть без помощи сторонних программ, внести эти настройки в клиент не получится? хотелось бы именно в самом клиенте подобное "настроить" - без l2ph.
смущает слово "пакет" - то есть без помощи сторонних программ, внести эти настройки в клиент не получится? хотелось бы именно в самом клиенте подобное "настроить" - без l2ph.
Удаление мертвых мобов происходит по команде (именно тот пакет о котором писал Xen) с сервера, без этой команды тело будет лежать вечно. Клиент без этой команды ничего делать не будет.
SeregaZ, ну разве что подправить метод вызываемый при приходе пакета Die что бы он вызывал сразу и метод реагирующий на DeleteObject
ЗЫ в принципе это не очень сложно
Теоритически можно в клиенте убрать всю анимацию скиллов?)
Для чего нужно? Осады, тв и другие масс мероприятия, в которых происходит жуткое падение дпс, независимо от тачки, т.к. движек л2 не оптимизированный для таких случаев. Тогда зачем анимацию скиллов показывать?) Фтопку ее!:D
Если не всю, то хотябы выборочно, есть на подозрения а некоторые файлы в папке систем, ктото пробывал такое?
Хотел сначало сделать откл. тестр, но в рунете прочитал, что отключением текстур (видны только контуры) клиент все равно грузит текстуру, но элементарно не отображает ее.
так дело не пойдет :) сперва мой вопрос решаем, потом Xen твой со скилами :)
кстати попробуй chargrp.dat времеено удалить. тогда вообще ни одного чара отображать не будет :))) хотя... я кажись на окнах удалял. по моему клиент критовал, как кто-либо рядом стоящий начинал стрелять. но в целом для бишопа самый цвет. список сопати видишь и капец. ни чаров, ни скилов... пустыня :)
xkor какой файлик нужно расковырять, и чем, и какой язык программирования при этом нужно знать?
xkor какой файлик нужно расковырять, и чем, и какой язык программирования при этом нужно знать?
1.
Engine.dll
Core.dll
Fire.dll
2. Ассемблер (для анализа имеющегося кода) + Паскаль||Си (для реализации инъекта)
Возможно можно обойтись Ассемблер + Hiew (для битхака)
Для анализа кода клиента можно использовать OllyDbg
Теоритически можно в клиенте убрать всю анимацию скиллов?)
Можно, эфекты анимации в каком то из *.dat файлов описаны... почистить в нем колонку со ссылками на эффекты анимации, и ниодин скилл анимироватся не будет.
1.
Engine.dll
Core.dll
Fire.dllCore.dll и Fire.dll я бы сказал тут даже и не нужны, хватит ковыряния engine.dll, хотя это для интерлюда и более высоких хроник, вроде в каких то более ранних некоторые нужные функции содержались в core.dll, хотя это точно не помню
Про fire.dll сказал ибо там тоже какие то рисовалки текстур реализованы, F3 тоталкомандера с плагином показало имена ф-ций...
Хотя да, по именам ф-ций скорее всего отрисовка эфектов воды огня льда....
ясно... в самом л2пх все просто:
var
j:integer;
idtela:string;
procedure Init; //Вызывается при включении скрипта
begin
useforconnectname := 'SeregaZ';
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$06) then begin //умер моб
idtela:=pck[2]+pck[3]+pck[4]+pck[5];
buf:=HStr('12 ') + idtela + HStr(' 00 00 00 00');
SendToClient;
end;
end.
косяк правда - когда убивают меня - клиент критует :) и плюс лаги из-за л2пх. и нужно еще чуток привыкнуть. так получается, что пакет исчезания приходить раньше, чем Die - то есть моб тебя еще бьет, и начинает испарятся. но в целом как раз то что я хотел по функционалу, но хотелось бы средствами клиента без сторонних программ.
Prixmegently
05.06.2010, 15:04
В UserInfo ид твоего персонажа.
и нужно еще чуток привыкнуть. так получается, что пакет исчезания приходить раньше, чем Die - то есть моб тебя еще бьет, и начинает испарятсядык а что мешает сделать скрипт таким:
var
j:integer;
idtela:string;
procedure Init; //Вызывается при включении скрипта
begin
useforconnectname := 'SeregaZ';
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$06) then begin //умер моб
idtela:=Copy(pck,2,4);
buf:=pck;
SendToClient;
pck:=#$12+idtela+#0#0#0#0;
end;
end.
косяк правда - когда убивают меня - клиент критует
Запомни свое ID и для всех кроме этого ID делай DeleteObject
спасибо :)
насчет моего ID это то я знаю. потом руки дойдут доделаю, тут сразу готовый выкладывать нельзя. ведь прийдут такие же люди как я - скопируют готовое решение и будут считать себя крутыми хакерами :)
другое дело если лежит болванка. как бы показывает идею и реализацию этой идеи - но нет тонкостей, то есть побуждает человека самому подумать и что-то добавить от себя, улучшить, проявить фантазию, посидеть по изучать код. проблема линейки в том, что человек начинает реально отупевать - ведь есть база л2дб.ру - зашел, все прочитал. и выполнение квеста превращается в чистый фарс - ты не читаешь текст нпс, не ищешь сам вручную эту локацию, вся информация уже у тебя в голове и весь процесс доведен до автоматизма.
я пришел в линейку из 2 готики. разбирал её вручную без единой подсказки по прохождению. прошел паладинкой (не знал вообще что там кучи вариантов было). и тут, сто лет спустя, как-то попался диск на руки. установил, запустил, думаю поиграть - предаться ностальгии... и епрс... как в это можно играть?!?!?! дошел до фермы и удалил к черту.
и все равно модификацию клиента надо. л2пх в сайлент валей не оставляет шансов отбиться от пкшников. лагает :( отключал обработку пакетов - чтобы они не отображались в окне программы, клиент на минимальных настройках и зараза лагает :( может еще какие порты там поотключать не линеечные?
без л2пх пинг примерно 120.
тут сразу готовый выкладывать нельзя
Хз, затруднений с реализацией того что тебе нужно, кроме тебя, мало у кого возникло. Проблема отепения она более глобальна.
Helleraser
06.06.2010, 15:11
Проблема отепения она более глобальна.
Как избавиться от трупов это проблема еще глобальнее, Не даром крематории в моду входить стали ))
Готовый скрипт.
var
CharId,UserID:Cardinal;
begin
if FromServer and (pck[1]=#$04) then
begin
UserID:=ReadD($12);
end;
if FromServer and (pck[1]=#$06) and (UserID<>0) then
begin
CharId:=ReadD(2);
if CharId=UserId then Exit;
if ReadD($16)=0 then
begin
buf:=#$12;
WriteD(CharId);
WriteD(0);
SendToClient;
end;
end;
end.
а пакетхак у меня при таком скрипте не тормозит трафик...
а у меня даже без скриптов, с отключенной обработкой пакетов катастрофа :) с небольшим опозданием от пх до клиента пакеты доходят, что сурьезно ухудшает пинг.
вот настройки. может какую галку убрать\поставить и оно поможет делу?
попробуй снеми галку Перехват, и поставь Использовать LSP перехват, по идее LSP шустрее должен работать.
по идее LSP шустрее должен работатьэто по какой такой идее?)
alexteam
11.06.2010, 19:26
в редиме перехвата соединения он работает идентично.
в режиме перехвата данных еще тормознутей будет.
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot