Тема: L2PacketHack 3.5.x
Показать сообщение отдельно
Старый 05.05.2009, 02:04   #782
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

Что если реализовать для удобства подобные функции:

delphi Код:
unit L2Packets; interface type   RL2CharSelected = record     name,title:string;     charID,sessionID,clanID,sex,race,classID,x,y,z,sp,level,karma,int,str,con,men,dex,wit:longword;     currentHP,currentMP: Double;   end; function GetL2CharSelected(const pck: string;var l2Obj: RL2CharSelected): boolean; implementation uses phxPlugins; function GetL2CharSelected(const pck: string;var l2Obj: RL2CharSelected): boolean; var   i: integer; begin   Result:= false;   if pck[1] <> #$0B then exit;   i:= 2;   l2Obj.name:= ReadS(pck, i);   l2Obj.charID:= ReadD(pck, i);   l2Obj.title:= ReadS(pck, i);   l2Obj.sessionID:= ReadD(pck, i);   l2Obj.clanID:= ReadD(pck, i);   inc(i, 4);   l2Obj.sex:= ReadD(pck, i);   l2Obj.race:= ReadD(pck, i);   l2Obj.classID:= ReadD(pck, i);   inc(i, 4);   l2Obj.x:= ReadD(pck, i);   l2Obj.y:= ReadD(pck, i);   l2Obj.z:= ReadD(pck, i);   l2Obj.currentHP:= ReadF(pck, i);   l2Obj.currentMP:= ReadF(pck, i);   l2Obj.sp:= ReadD(pck, i);   inc(i, 8);   l2Obj.level:= ReadD(pck, i);   l2Obj.karma:= ReadD(pck, i);   inc(i, 4);   l2Obj.int:= ReadD(pck, i);   l2Obj.str:= ReadD(pck, i);   l2Obj.con:= ReadD(pck, i);   l2Obj.men:= ReadD(pck, i);   l2Obj.dex:= ReadD(pck, i);   l2Obj.wit:= ReadD(pck, i);   Result:= true; end; end.

зы: в функциях ReadS и.т.д. поправил что бы был инкремент передаваемого индекса на количество считанных байт.
Yegor вне форума   Ответить с цитированием