procedure TForm1.shuaxinBBTimer(Sender: TObject);
beginDJG:=nageBB^;
self.Edit9.Text := inttostr(DJG);
if (DJG <> 0) or (DJG <> 1) or (DJG <> 2) or (DJG <> 3) then
begin
self.label32.Caption := '未召唤宠物...';
self.Label33.Caption := '未召唤宠物...';
self.Label34.Caption := '未召唤宠物...';
self.Label35.Caption := '未召唤宠物...';
self.Label36.Caption := '未召唤宠物...';
end
else
begin
self.label32.Caption := ming2;
self.Label33.Caption := IntToStr(BBjy1^)+'/'+IntToStr(BBjy2^);
self.Label34.Caption := IntToStr(BBhp1^)+'/'+IntToStr(BBhp2^);
self.Label35.Caption := IntToStr(BBMP1^)+'/'+IntToStr(BBMP2^);
self.Label36.Caption := IntToStr(BBzhongcheng^);
endend;
这个判断不知道为什么,能编译通过,但是结果是错的DJG 的值是 0 1 2 3 为召唤第几个宝宝 比如DJG为0就是召唤第1个宝宝
如果DJG的值不等于 0 1 2 3 那么显示 '未召唤宠物...'问题来了,我写完判断,怎么测试都不行,结果都错误,明明召唤出来宠物还出现 '未召唤宠物...'我确定我召唤宠物时候DJG 的值是 0 1 2 3 因为已经在self.Edit9.Text := inttostr(DJG); 这句中显示了 0 或1或 2或 3
求高手指点,是不是IF哪句写错了?
beginDJG:=nageBB^;
self.Edit9.Text := inttostr(DJG);
if (DJG <> 0) or (DJG <> 1) or (DJG <> 2) or (DJG <> 3) then
begin
self.label32.Caption := '未召唤宠物...';
self.Label33.Caption := '未召唤宠物...';
self.Label34.Caption := '未召唤宠物...';
self.Label35.Caption := '未召唤宠物...';
self.Label36.Caption := '未召唤宠物...';
end
else
begin
self.label32.Caption := ming2;
self.Label33.Caption := IntToStr(BBjy1^)+'/'+IntToStr(BBjy2^);
self.Label34.Caption := IntToStr(BBhp1^)+'/'+IntToStr(BBhp2^);
self.Label35.Caption := IntToStr(BBMP1^)+'/'+IntToStr(BBMP2^);
self.Label36.Caption := IntToStr(BBzhongcheng^);
endend;
这个判断不知道为什么,能编译通过,但是结果是错的DJG 的值是 0 1 2 3 为召唤第几个宝宝 比如DJG为0就是召唤第1个宝宝
如果DJG的值不等于 0 1 2 3 那么显示 '未召唤宠物...'问题来了,我写完判断,怎么测试都不行,结果都错误,明明召唤出来宠物还出现 '未召唤宠物...'我确定我召唤宠物时候DJG 的值是 0 1 2 3 因为已经在self.Edit9.Text := inttostr(DJG); 这句中显示了 0 或1或 2或 3
求高手指点,是不是IF哪句写错了?
这次又要麻烦前辈了,虽然只有115分了...Socket.SendBuf(hex,Sizeof(hex)); 能详细点参数吗? 或者源码?我只看的动 SIZE长度 hex里面估计是封包吧?请教~~~~谢谢你了...你人真好
procedure TForm1.Button1Click(Sender: TObject);
var
strData: string;
mysend: array[0..65535] of Char;
begin
Edit2.Text:='AA 3F 4E 5F';
StrData := Edit2.Text;
StrPCopy(mysend,strData);
ClientSocket1.Socket.SendBuf(mysend, SizeOf(strData)+1024); //封包内容以及长度
end;
恩,我去掉了clientsocket1, 可是.这个呢? 是不是要加什么控件或单元?
楼主如果uses winsock
可以用send,具体用法可以看下delphi的sdk帮助或者msdn
http://blog.csdn.net/lishuqian/archive/2006/09/04/1176683.aspx
我已经安装了 ClientSocket控件
代码需要你自己去写
TCP和UDP发送是不同的
就几个API
MSDN都有纤细的例子,翻译成DELPHI就完了,偷点懒用INDY就可以了
当DJG=1时, (DJG <> 0)的值为True, (DJG <> 2)的值也是True, 还有(DJG <> 3)的值也是True
......显然与你的原意不符。
if (DJG <> 0) and (DJG <> 1) and (DJG <> 2) and (DJG <> 3) then
Or运算符:三个表达式,其中只要有一个为True,整个表达式就是True
就是这个代码编译通过...完整的通过了..可是发不了包点了这个单击事件没反映因为我开着WPE截着发送包呢,截不到,DLL注入到游戏进程了。.也呼出了我的程序 ..
TCP要先连接的,
自己在发送的时候抓下网络异常就知道发送结果了
游戏一般都是TCP吧
另外 怎么连接? 请教?Service IP?
Port 端口?Active true?
TCP/UDP:TCP
安全级别: 未知
本机IP端口:123.*.*.*:1077
远程IP端口:218.60.132.167:7207
状态:连接
PID:2244
路径:E:\三亿传奇\热血传奇\DDM2.dat
详细信息:
得用钩子类的东西,自己控制网络,判断是否是你要修改的数据,然后改了,再丢回去
这样用的还是它原来的协议,你这样直接用SOCKET去连,你自己根本不知道它协议,
意思是,我发不了封包了?
我IP也填了,端口也填了,而且也连接上了,
就是发不了包..为什么WPE发包这么容易,选择一下进程,直接发送数据包
建议看下整个数据包的格式