找回密码
 点一下
楼主: 冷漠

关于输入混合指令的细致区分

[复制链接]
发表于 2013-1-31 23:20:22 | 显示全部楼层
冷漠 发表于 2013-1-31 23:13
意思就是无论你输入大写还是小写或者任何指令任何位置都能触发

当然能触发啊,比如dota的指令都是'-'开头,那么事件就是玩家输入-,部分匹配
至于后面输入的指令是否有效,有效的情况下分别输入了哪些指令都是截取出来再进行判断的

点评

喵哈哈哈,我做出来了,刚刚意思是要把文本转化为小写才能。 触发,求检查错漏: 对战初始化 事件 玩家 - 玩家1(红色) 输入的聊天信息包含 - ,匹配方式: 包含字符串 条件 (截  详情 回复 发表于 2013-1-31 23:24
回复

使用道具 举报

 楼主| 发表于 2013-1-31 23:24:57 | 显示全部楼层
chyj4747 发表于 2013-1-31 23:20
当然能触发啊,比如dota的指令都是'-'开头,那么事件就是玩家输入-,部分匹配
至于后面输入的指令是否有 ...

未命名.jpg

喵哈哈哈,我做出来了,刚刚意思是要把文本转化为小写才能。

触发,求检查错漏:

对战初始化
    事件
        玩家 - 玩家1(红色) 输入的聊天信息包含 - ,匹配方式: 包含字符串
    条件
        (截取 (输入的聊天信息) 的 1 - 1 字节部分) 等于 -
    动作
        设置 I = ((输入的聊天信息)的长度)
        设置 S = (截取 (输入的聊天信息) 的 1 - I 字节部分(不包括首字节))
        设置 I = (I - 1)
        设置 S = (转换 S 为 小写 形式)
        For循环整数A从 1 到 I, 做动作
            Loop - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (截取 S 的 1 - 循环整数A [R] 字节部分) 等于 ap
                    Then - 动作
                        游戏 - 对 玩家1(红色) 在屏幕位移(0.00,0.00)处显示文本: 运行Ap模式触...
                        设置 S = (截取 S 的 (循环整数A [R] + 1) - I 字节部分)
                    Else - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (截取 S 的 1 - 循环整数A [R] 字节部分) 等于 noswap
                    Then - 动作
                        游戏 - 对 玩家1(红色) 在屏幕位移(0.00,0.00)处显示文本: 运行NoSwap模式...
                        设置 S = (截取 S 的 (循环整数A [R] + 1) - I 字节部分)
                    Else - 动作


Ps:头目什么时候才能把T格式弄回来呢?

点评

我忽然想到,这条触发的写法还是错误…… 如果输入指令时最初的指令无效的话,那么后面的正确也无意义了…… 看来需要根据每道指令的长度各自配套才可以啊……  详情 回复 发表于 2013-2-2 19:38
回复

使用道具 举报

发表于 2013-1-31 23:59:18 | 显示全部楼层
冷漠 发表于 2013-1-31 23:24
喵哈哈哈,我做出来了,刚刚意思是要把文本转化为小写才能。

触发,求检查错漏:

所以说不用转换大小写啊。。直接判断是否等于Ap是否等于Noswap不就行了

点评

不是的,如果你输入的是Ap或aP又或是AP,都不能判断为"ap"  详情 回复 发表于 2013-2-1 00:14
回复

使用道具 举报

 楼主| 发表于 2013-2-1 00:14:19 | 显示全部楼层
chyj4747 发表于 2013-1-31 23:59
所以说不用转换大小写啊。。直接判断是否等于Ap是否等于Noswap不就行了

不是的,如果你输入的是Ap或aP又或是AP,都不能判断为"ap"
回复

使用道具 举报

发表于 2013-2-1 02:11:56 | 显示全部楼层
冷漠 发表于 2013-2-1 00:14
不是的,如果你输入的是Ap或aP又或是AP,都不能判断为"ap"


好吧。。。终于理解你的意思了……原来是要无视大小写

点评

新问题,如何判断字符串为英文还是数字? 比如输入指令“-SetKill ”随后转换1-5位字符为整数,比如1-2号为99,则转换,然后接着判断模式,比如AP什么的  详情 回复 发表于 2013-2-1 21:19
回复

使用道具 举报

发表于 2013-2-1 06:20:04 | 显示全部楼层
冷漠 发表于 2013-1-31 18:56
这个办法你无法判断输入字符的大小写,并且这样做就需要输入时必须按这个输入顺序……

不用按順序阿
我兩個判斷條件是獨立的
回复

使用道具 举报

 楼主| 发表于 2013-2-1 21:19:03 | 显示全部楼层
chyj4747 发表于 2013-2-1 02:11
好吧。。。终于理解你的意思了……原来是要无视大小写

新问题,如何判断字符串为英文还是数字?

比如输入指令“-SetKill ”随后转换1-5位字符为整数,比如1-2号为99,则转换,然后接着判断模式,比如AP什么的

点评

·
转化字符串为整数  详情 回复 发表于 2013-2-1 21:48
回复

使用道具 举报

发表于 2013-2-1 21:43:30 | 显示全部楼层
本帖最后由 · 于 2013-2-1 21:45 编辑

如图
无标题.png
回复

使用道具 举报

发表于 2013-2-1 21:48:27 | 显示全部楼层
冷漠 发表于 2013-2-1 21:19
新问题,如何判断字符串为英文还是数字?

比如输入指令“-SetKill ”随后转换1-5位字符为整数,比如1- ...

暂时没想到什么处理数字0的办法,但如果是其他数字的话就没什么问题,任何非'-'或非数字开头的字符串转成整数都是0
回复

使用道具 举报

发表于 2013-2-1 21:48:59 | 显示全部楼层
冷漠 发表于 2013-2-1 21:19
新问题,如何判断字符串为英文还是数字?

比如输入指令“-SetKill ”随后转换1-5位字符为整数,比如1- ...

转化字符串为整数

点评

不对啊亲,比如我输入的指令为-Sk 99Ap,如此混合,每次判断Sk 后面五位字符串的时候,如何在检测到不是数字的时候就终结。  详情 回复 发表于 2013-2-2 00:45
回复

使用道具 举报

 楼主| 发表于 2013-2-2 00:45:45 | 显示全部楼层
· 发表于 2013-2-1 21:48
转化字符串为整数

不对啊亲,比如我输入的指令为-Sk 99Ap,如此混合,每次判断Sk 后面五位字符串的时候,如何在检测到不是数字的时候就终结。

点评

·
对啊。。。逐字转化为整数,大于0即数字  详情 回复 发表于 2013-2-2 11:09
回复

使用道具 举报

发表于 2013-2-2 01:46:47 | 显示全部楼层
那你一個一個轉不就好了?
回复

使用道具 举报

发表于 2013-2-2 11:09:10 | 显示全部楼层
冷漠 发表于 2013-2-2 00:45
不对啊亲,比如我输入的指令为-Sk 99Ap,如此混合,每次判断Sk 后面五位字符串的时候,如何在检测到不是数 ...

对啊。。。逐字转化为整数,大于0即数字
回复

使用道具 举报

发表于 2013-2-2 13:02:35 | 显示全部楼层
· 发表于 2013-2-2 11:09
对啊。。。逐字转化为整数,大于0即数字

于是数字0要怎么判断。。。我是想不到什么办法来判断……

点评

·
或者说,苦力一些,把0~9字符用变量记录,直接逐字判断,这样可以更准确。不过LZ他仅仅是想要set kill的话不会输入0的吧。  详情 回复 发表于 2013-2-2 13:31
回复

使用道具 举报

发表于 2013-2-2 13:31:48 | 显示全部楼层
chyj4747 发表于 2013-2-2 13:02
于是数字0要怎么判断。。。我是想不到什么办法来判断……

或者说,苦力一些,把0~9字符用变量记录,直接逐字判断,这样可以更准确。不过LZ他仅仅是想要set kill的话不会输入0的吧。

点评

比如90什么的,如果检测不到0的话那就变成9了…… 而我最初的想法是再套一层循环整数来判断0~9,本想有更好的方法  详情 回复 发表于 2013-2-2 19:36
回复

使用道具 举报

 楼主| 发表于 2013-2-2 19:36:48 | 显示全部楼层
· 发表于 2013-2-2 13:31
或者说,苦力一些,把0~9字符用变量记录,直接逐字判断,这样可以更准确。不过LZ他仅仅是想要set kill的话 ...

比如90什么的,如果检测不到0的话那就变成9了……

而我最初的想法是再套一层循环整数来判断0~9,本想有更好的方法
回复

使用道具 举报

 楼主| 发表于 2013-2-2 19:38:14 | 显示全部楼层
冷漠 发表于 2013-1-31 23:24
喵哈哈哈,我做出来了,刚刚意思是要把文本转化为小写才能。

触发,求检查错漏:

我忽然想到,这条触发的写法还是错误……

如果输入指令时最初的指令无效的话,那么后面的正确也无意义了……

看来需要根据每道指令的长度各自配套才可以啊……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-23 06:01 , Processed in 0.256247 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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