nil
:跟服务器有毛线关系
明明是你的客户端报错了导致的
个人怀疑是地图问题。。。你用的哪个地图?
物品名称太长了。
地图和data、物品变量显示补丁、物价补丁、英文名显示补丁、maphack等等这些都会导致要显示的内容加长。也许单独使用某一个都不导致出错,但是联合起来使用就有可能导致错误。
一旦内容超过128字节还是汉字来着(1汉字=2字节)(不知道有没有记错,源代码已经删除了大半年了,编译器都卸载了)
D2就会崩溃
这是显然的,如果一个物品可以无限制显示无限多内容,那么掉落一个物品就能把整个D2窗口遮盖住,D2没法玩了
众所周知,任何内存都不是无限制的,D2给将要显示的物品名称字符串分配的内存就只有那么多,此外显示缓存区域也要分配内存等等
超出了限制,必然产生内存越界或者数组越界等致命错误,D2窗口必然崩溃
我调试代码的时候发现过这个,如果在data或者maphack里把物品名称定义得很长很长,那么就会导致D2崩溃。
可以自行实验的。
双开,一个窗口开纯净的D2,不加载地图,不挂-direct参数,也不挂载任何mpq文件,这个窗口是绝无可能崩溃的。
另外一个开你平时喜欢使用的加长补丁,材料筛选补丁,91D2物价显示补丁,maphack等等
扔一个危险物品到地上。
加长显示的D2窗口崩溃了,纯净的D2窗口不会崩溃的,捡起来物品,修改加长补丁和maphack的内容(当然是缩短要显示的内容长度了)
然后再试
直到一个个物品都不再出错为止。