铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 3183|回复: 1

[通用] 苍龙LUA版菜单数字快捷键的实现代码

[复制链接]
发表于 2011-10-15 23:30 | 显示全部楼层 |阅读模式
如下方法可以实现用数字键选择菜单选项的功能(按下数字键后不需要再按enter键或者space键)。个人觉得这个功能最有用的是用来选武功。如果某个人物的主力武功是第5个武功,需要按1下“down”,1下"space",4下"down",1下“space”才能选中,使用数字快捷键只需要快速连续按下“25”即可。当出战人物有5、6个人的时候还是能明显感觉方便一些的。当然,快捷键用来选大地图的系统菜单或者马车的到达地点等等也应该蛮方便的。

实现数字快捷键很简单,直接在jymain.lua这个文件里找到ShowMenu这个函数中的下面这两行(论坛上下载的LUA原版的话大概在2100行附近)
    keyPress=WaitKey();
    lib.Delay(100);
在这两行之后添加如下这段代码:
    if keyPress == 48 and num >= 10 then -- key '0'
        current = start +10 -1;
        keyPress = VK_RETURN;
    elseif keyPress >= 49 and keyPress <= 57 then -- key '1' ~ '9'
        local offset = keyPress-49;
        if offset < num then
            current = start + offset;
            keyPress = VK_RETURN;
        end
    end
这样就完成了。

关于上面的代码的说明,
1。这段代码只能响应0-9这10个键(正好对应10个武功),其中0代表10。如果“2”被按下,那么当前菜单中正在被显示的选项中的第2个选项就被直接选中了(不需要再按space/enter键)。
2。如果当前菜单里不足10个选项,比如只有7个,那么按8、9、0就没有反应
3。物品选择菜单没有使用ShowMenu函数,因此快捷键无效。

附件中是添加了上面代码的jymain.lua文件,可以直接覆盖论坛上提供的lua原版中的同名文件然后直接运行即可。另外,除了这个帖子里介绍的数字快捷键功能以外,附件中的jymain.lua文件还实现了下面这个帖子里提到的功能(战斗回放和4个bug修复)。
http://www.txdx.net/thread-517893-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x

评分

参与人数 1声望 +10 收起 理由
jy02785317 + 10 好贴奖励

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-16 23:49 | 显示全部楼层
非常不错……明天爬上来加分……
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-15 13:56

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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