Просмотр полной версии : пакет в котором есть информация о ХП выделенного игрока
подскажите пожалуйста пакет в котором есть информация о ХП выделенного игрока, не юзера те себя а другого игрока
если такого нет
то каким образом показывают ХП программы типа L2Control
сервер С4, говорят что начиная с Т0 инфу о ХП сервер не отсылает..
как это можно реализовать посредством скрипта
StatusUpdate пакет, его ID не помню...
эм, в пакете:
0E=StatusUpdate:h(ObjectID)d(Attributes)
(h ObjectID: 0x4FD0878F
d Attributes: 2)
где есть инфа о ХП:confused:
опишите пожалуйста пакет
в какой строке ХП
у меня приходит пакет:
0E 7B 53 10 48 02 00 00 00 0A 00 00 00 4D 12 00 00 09 00 00 00 4D 12 00 00
metalFan
29.07.2008, 20:37
сервер не посылает инфу о хп противника никаким образом
сервер не посылает инфу о хп противника никаким образом
но что-то всетаки есть
раз l2control видит ХП таргета
и сервер С4 не Т0, а как до этого слышал что начиная с Т0 сервер перестал отсылать инфу о ХП противника
Добавлено через 6 минут
м длина у пактеа разная
есть и
0E 7C 54 20 48 04 00 00 00 09 00 00 00 80 0B 00 00 0A 00 00 00 80 0B 00 00 21 00 00 00 C0 05 00 00 22 00 00 00 C0 05 00 00
metalFan
29.07.2008, 21:24
оесть у тебя старая сборка ц4 на сервере? не могу ничем помочь:search:
Можно взять в пакете
s0E=StatusUpdate:h(psize)c(ID)d(ObjectID)d(AttribC ount:For.0002)d(AttrID:Get.FSup)d(AttrValue)
Расшифровка AttrValue
function GetFSup(ar1 : integer) : string;
// внешняя ф-ция, вызывается не из скрипта, а по аргументу
// :Get.FSup - Status Update ID
begin
case ar1 of
01: result := 'Level'; 02: result := 'EXP'; 03: result := 'STR';
04: result := 'DEX'; 05: result := 'CON'; 06: result := 'INT';
07: result := 'WIT'; 08: result := 'MEN'; 09: result := 'cur_HP';
$0A: result := 'max_HP'; $0B: result := 'cur_MP'; $0C: result := 'max_MP';
$0D: result := 'SP'; $0E: result := 'cur_Load'; $0F: result := 'max_Load';
$11: result := 'P_ATK'; $12: result := 'ATK_SPD'; $13: result := 'P_DEF';
$14: result := 'Evasion'; $15: result := 'Accuracy'; $16: result := 'Critical'
$17: result := 'M_ATK'; $18: result := 'CAST_SPD'; $19: result := 'M_DEF';
$1A: result := 'PVP_FLAG'; $1B: result := 'KARMA'; $21: result := 'cur_CP';
$22: result := 'max_CP';
else result := '?'
end;
result := #2+result+#15;
end;;
ps: взято из wpp Sauron'а
спасибо большое
Добавлено через 11 минут
чета всеранво не пойму как узнать ХП
и выводилось к примеру в
procedure SendMsg(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;
те через этот пакет можно узнать и левел и ЦП..
как сделать что писался левел хп и цп в SendMsg:confused:
спасибо большое
Добавлено через 11 минут
чета всеранво не пойму как узнать ХП
и выводилось к примеру в
procedure SendMsg(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;
те через этот пакет можно узнать и левел и ЦП..
как сделать что писался левел хп и цп в SendMsg:confused:
Из пакета StatusUpdate это можно узнать, при условии, что эти параметры изменяются, например ты бъешь чара, то в пакете будет приходить изменение HP, CP и возможно MP.
По второму вопросу. Сформируй строковую переменную msg и отсылай её.
допустим эта чась скрипта узнает координаты имя расса пол и тп..
if FromServer and (pck[1]=#$03) then
begin
I:=2;
X:=Readd(i);
Y:=ReadD(i);
Z:=ReadD(i);
I:=22;
Name:=ReadS(i);
RaceID:=ReadD(i);
SexID:=ReadD(i);
ClassID:=ReadD(i);
..
как подобнам способом узнать хп цп мп
if FromServer and (pck[1]=#$0E) then
begin
..
..
end;
как подобнам способом узнать хп цп мп
Примерно так. По ObjectID узнавай чьи данные в этом пакете.
procedure TargetStatusUpdate; //обновление данных о цели
var
i: integer;
begin
for i:=0 to ReadD(6)-1 do
case pck[i*8+10] of
#$09: AttackerHP:=ReadD(i*8+14);
#$0A: AttackerMaxHP:=ReadD(i*8+14);
end;
end;
//************************************************** *************
procedure StatusUpdate; //обновление данных о себе
var
i: integer;
begin
for i:=0 to ReadD(6)-1 do
case pck[i*8+10] of
#$09: MyHP:=ReadD(i*8+14);
#$0A: MyMaxHP:=ReadD(i*8+14);
#$0B: MyMP:=ReadD(i*8+14);
#$0C: MyMaxMP:=ReadD(i*8+14);
end;
if (MyMaxHP<>0) then //вычисляем процентное соотношение хп
begin
PercentHP:=strtoint(EditHealt.Text);
NeedBuy:=strtoint(EditLure.Text);
but:=Round((MyMaxHP/100)*PercentHP); //при каком количестве хп юзать бутылку лечения
end;
end;
begin
...
if FromServer and (pck[1]=#$0E) then begin
//msg.Lines.Add('S>Пакет StatusUpdate #$0E');
if (MyOID=ReadD(2)) then StatusUpdate; //обновление информации о хп
if (AttackerOID=ReadD(2)) then TargetStatusUpdate; //обновление информации о хп
end;
...
end.
NLObP, СР и МР там приходят только для твоего чара.., да и НР цели приходит только при выделении...
ура!
СПАСИБО ОГРОМНОЕ
:yahoo:
еше бы кто помог с http://coderx.ru/showthread.php?t=606
Вот мой скриптик
Только исходник DLL я где-то потерял, завтра на работе посмотрю :)
тут вроде нехватает только НР сопартийцев...
удобно
посмотри пожалуйста
еше такой бы панелькой узнавать во что одет таргет
metalFan
30.07.2008, 11:51
Rity, есть такая старенькая программа hingame
она показывает мапу хп противника (если оступно на сервере) шмот и п деф:cool:
ингейм очень давно не работает
Вот, версия немного другая, но работать должна...
hingame Неработает? Ну поправь исходники....
metalFan
30.07.2008, 17:16
Rity, на ц4? вроде работал на ц5-6 не пашет 100% :))
hingame Неработает? Ну поправь исходники....
Внимание!!! Антивирусы обнаруживают Троян внутри. NOD32 ругается на Win32/PSW.OnLineGames, Касперский на Trojan-PSW.Win32.Nilage.bzw , Dr.Web на BackDoor.Muma. Во избежание, перекомпилируйте inject.dll и убедитесь что закладок нет.
RoZ, троян в исходнике????, ты сам понял что сказал?
там просто inside.dll уже скомпиленый, его можно удалить и скомпилить самому если пароное...
Там в архиве inside.dll это примерно тоже самое, что и inject.dll в ПХ
Можете проверить исходники и перекомпилить...
А код для С5-С6 там изменить не сложно, хоть хинт и коряво пишет, но разобрать где идет декодирование и инициализация ключа можно.
RoZ, троян в исходнике????, ты сам понял что сказал?
там просто inside.dll уже скомпиленый, его можно удалить и скомпилить самому если пароное...
Я параноик, и решил таки проверить.
http://www.kaspersky.ru/scanforvirusПроверенный файл: 5f8acda5(2).rar - Инфицирован
5f8acda5(2).rar/inside.dll - инфицирован Trojan-PSW.Win32.Nilage.bzw
http://online.us.drweb.com/5f8acda5(2).rar/inside.dll infected with BackDoor.Muma
Каждый решает сам что с этим делать :) моё дело предупредить. Меня неломает компилить, так надёжнее.
у меня приходит пакет:
0E 7B 53 10 48 02 00 00 00 0A 00 00 00 4D 12 00 00 09 00 00 00 4D 12 00 00
cmd: 0E
ObjId: 7B 53 10 48
count:02 00 00 00
UpdId:0A 00 00 00 (MAX_HP)
Val: 4D 12 00 00
UpdId:09 00 00 00 (CUR_HP)
Val:4D 12 00 00
пакет приходит только для себя и членов пати
пакет приходит только для себя и членов патине-не, для всех во время таргета приходит.
metalFan
31.07.2008, 12:17
QaK, в ц4 или авообще?:(
QaK, в ц4 или авообще?c4 точно, остальное не тестировал.
metalFan
31.07.2008, 12:21
вот вот я уже испугался
с с1, с2, с3, с4, с5, с6 точно приходит)
metalFan
31.07.2008, 23:01
xkor, хп ИГРОКОВ???
пошел проверять:confused::(
гы, во америку открыли :D
metalFan
01.08.2008, 00:42
а цп можно посмотреть? О_О
свое
а у таргетов тока КуррХП и МаксХП
Вот, версия немного другая, но работать должна...
нет, не работает
окношко в ней больше тока заметил но не рабочее
нет, не работает
окношко в ней больше тока заметил но не рабочее
Просто версия другая, хотел чтоб еще показывала сопортийцев с их МП и ЦП, просто надо в скрипте все TargetUpdate заменить на TargetHPUpdate.
в какой дельфи открывать?
в 7ой чета не хочет
Professor
03.10.2008, 12:04
Я параноик, и решил таки проверить.
http://www.kaspersky.ru/scanforvirus
http://online.us.drweb.com/
Каждый решает сам что с этим делать :) моё дело предупредить. Меня неломает компилить, так надёжнее.
если не сложно, выложи плиз перекомпиленый тобой вариант l2phx
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot