|
楼主 |
发表于 2010-3-10 15:45:27
|
显示全部楼层
引用第3楼ESPER_PALE于2010-03-10 15:18发表的 :
这下可好, 改了allianceid 10的地图, 其他launcher跑图会有错误提示了...
replay, 打完就放问题不大吧, 不patch code肯定不行, 不同步是必然的
支持完善
已经解决了,更新了 patch code,把两个 AllianceData 一起 or 一下就 OK 了。
allianceId 最大的确就是 9,PlayerSetAlliance(1, 10, 2) 实际上更新到 AllianceData2 去了 - -
- 0x55, // push ebp
- 0x8B, 0xEC, // mov ebp, esp
- 0x56, // push esi
- 0xC1, 0xE2, 0x04, // shl edx, 4 ; allianceId
- 0x03, 0xD1, // add edx, ecx
- 0x33, 0xF6, // xor esi, esi
- 0x46, // inc esi
- 0x8A, 0x4D, 0x08, // mov cl, byte ptr [ebp+8]
- 0xD3, 0xE6, // shl esi, cl ; 1 << target
- 0x09, 0x34, 0x95, 0xA0, 0xE8, 0xA9, 0x01, // or dword ptr [edx*4+1A9E8A0], esi ; AllianceData1[allianceId][player] |= Data
- 0x09, 0x34, 0x95, 0x20, 0xEB, 0xA9, 0x01, // or dword ptr [edx*4+1A9EB20], esi ; AllianceData2[allianceId][player] |= Data
- 0x5E, // pop esi
- 0x5D, // pop ebp
- 0xC2, 0x04, 0x00, // retn 4
复制代码 |
|