找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 132|回复: 2

[教程] 实战示例1:GMSv83大地图初始位置居中显示

[复制链接]

33

主题

12

回帖

100

积分

管理员

积分
100
发表于 2025-1-20 12:00:53 | 显示全部楼层 |阅读模式

要点总结:通过图层初始坐标或者图层的宽高等数据查找到相关代码


083的世界地图(大地图)每次打开的位置都不在居中的位置,这在原来的800x600的分辨率下看起来没什么,但是在1366x768或者更大的分辨率下,看起来就不那么完美了。

我此前已经把修改的代码发布在 dc 上了,有兴趣的可以先看看:https://discord.com/channels/350 ... 1285992174420234394

  1. int wordMapX, wordMapY;
  2. DWORD wordMapUIccRtn = 0x009EB5A1;

  3. __declspec(naked) void wordMapUIcc()
  4. {
  5.     __asm {
  6.         push 20Ch
  7.         push 29Ah
  8.         push wordMapY
  9.         push wordMapX
  10.         jmp wordMapUIccRtn
  11.         }
  12. }

  13. void Hook()
  14. {
  15.     wordMapX = (Client::m_nGameWidth - 666) / 2;
  16.     wordMapY = (Client::m_nGameHeight - 524) / 2;
  17.     Memory::CodeCave(wordMapUIcc, 0x009EB594, 13);
  18. }
复制代码


这次示例将讲述我是如何找到这个UI的位置,并修改的。

购买主题 已有 1 人购买  本主题需向作者支付 3 蘑菇币 才能浏览
我尽可能地不设置回复可见,希望让跟帖更有质量,有问题欢迎跟帖提问。

0

主题

5

回帖

43

积分

新手上路

积分
43
发表于 2025-1-20 15:45:18 | 显示全部楼层
正好需要,感谢大佬。

评分

参与人数 1金钱 +30 收起 理由
leevccc + 30 神马都是浮云

查看全部评分

0

主题

3

回帖

15

积分

新手上路

积分
15
发表于 2025-1-21 01:01:55 | 显示全部楼层
来学习了来学习了!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|蘑菇物语

GMT+8, 2025-4-20 07:29 , Processed in 0.054229 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表