找回密码
 点一下
楼主: lijianlove2l2l

【游戏多面板】求助具体详细触发

[复制链接]
发表于 2013-10-21 01:32:25 来自手机 | 显示全部楼层
本帖最后由 kp1997 于 2013-10-21 01:54 编辑

用了YDWE之後基本上其他UI就不能開了XD,因為YDWE有太多自訂函數,比較難知道哪些是WE自己本身有的。不過YD的確很方便這點沒錯
還有。。因為1.20的魔獸沒有hashtable(哈希表),所以當然開不了
哈希表是1.24以後才有的,自此之前基本都是用return bug(+CG?)代替哈希表的功能

点评

嗯知道了,谢谢你的回答和帮助。。昨晚捣鼓一个晚上差不多把多面板弄好了,再有bug的话我就分10个触发一个个分开设定每个玩家的刷兵数。。。。嗯那我还是不用YDwe了。。再次感谢你!  详情 回复 发表于 2013-10-21 13:27
回复

使用道具 举报

发表于 2013-10-21 11:22:34 | 显示全部楼层
换别的UI作图之前记得备份……

其实不推荐用YDWE,因为这个WE添加了太多额外的东西,也更容易崩溃……记得经常备份吧……不然真的崩溃了,欲哭无泪啊……

然后,既然做这个图5年了,莫非魔兽还是1.20的……现在都用1.26了……

点评

嗯那还是不用YDwe了。。哈哈是啊地图和编辑器还是1.20的。。。。表示很弱弱。。。断断续续做了5年。。本来大学时候就可以做好的没想到期间太忙。。。何况对we一直一知半解。。之前还有朋友一起参谋现在他们都工作了  详情 回复 发表于 2013-10-21 13:35
回复

使用道具 举报

 楼主| 发表于 2013-10-21 13:27:45 来自手机 | 显示全部楼层
kp1997 发表于 2013-10-21 01:32
用了YDWE之後基本上其他UI就不能開了XD,因為YDWE有太多自訂函數,比較難知道哪些是WE自己本身有的。不過YD ...

嗯知道了,谢谢你的回答和帮助。。昨晚捣鼓一个晚上差不多把多面板弄好了,再有bug的话我就分10个触发一个个分开设定每个玩家的刷兵数。。。。嗯那我还是不用YDwe了。。再次感谢你!
回复

使用道具 举报

 楼主| 发表于 2013-10-21 13:35:13 来自手机 | 显示全部楼层
lo 发表于 2013-10-21 11:22
换别的UI作图之前记得备份……

其实不推荐用YDWE,因为这个WE添加了太多额外的东西,也更容易崩溃……记 ...

嗯那还是不用YDwe了。。哈哈是啊地图和编辑器还是1.20的。。。。表示很弱弱。。。断断续续做了5年。。本来大学时候就可以做好的没想到期间太忙。。。何况对we一直一知半解。。之前还有朋友一起参谋现在他们都工作了分各地就我一个在坚持这个看似不符合我年龄的事情。。。。哈哈哈
回复

使用道具 举报

发表于 2013-10-21 15:42:03 | 显示全部楼层
感觉可能是变量的原因吧。
我按你要求做了张,感觉你可以加个英雄一级学习的是什么技能,然后大招图标判断是不是在冷却。
我记得多面板有泄露,字符串好像也有的。 多面板排泄我找到别人的方法,但不知道正不正确。
触发
A
┣━事件
┃   └─时间 - 当游戏逝去 0.00 秒
┣━条件
┗━动作
     ├─-------- 圣骑士头像 --------
     ├─设置 string[1] = ReplaceableTextures\CommandButtons\BTNHeroPaladin.blp
     ├─设置 DanWei[1] = 圣骑士
     ├─-------- 大魔法师头像 --------
     ├─设置 string[2] = ReplaceableTextures\CommandButtons\BTNHeroArchMage.blp
     ├─设置 DanWei[2] = 大魔法师
     ├─-------- 为小酒馆添加英雄。 --------
     ├─-------- 复活点 --------
     ├─设置 Point[1] = (能量圈 0005 <预设> 的位置)
     ├─设置 Point[2] = (能量圈 0004 <预设> 的位置)
     ├─-------- 初始化多面板 --------
     ├─多面板 - 创建一个列数为 5 行数为 11 标题为 魔兽争霸 的多面板
     ├─设置 D = 最后创建的多面板 <New>
     ├─设置 XM = (D 的第 0 行,第 0 列项)
     ├─多面板 - 设置 XM 的显示风格: 显示 文字 隐藏 图标
     ├─多面板 - 设置 XM 的项目文本为 玩家
     ├─多面板 - 设置 XM 的项目宽度为 0.08 倍屏幕宽度
     ├─多面板 - 删除 XM
     ├─设置 XM = (D 的第 0 行,第 1 列项)
     ├─多面板 - 设置 XM 的项目文本为 击杀敌将
     ├─多面板 - 删除 XM
     ├─设置 XM = (D 的第 0 行,第 2 列项)
     ├─多面板 - 设置 XM 的项目文本为 死亡数
     ├─多面板 - 删除 XM
     ├─设置 XM = (D 的第 0 行,第 3 列项)
     ├─多面板 - 设置 XM 的项目文本为 击杀敌数
     ├─多面板 - 删除 XM
     ├─设置 XM = (D 的第 0 行,第 4 列项)
     ├─多面板 - 设置 XM 的项目文本为 复活时间
     ├─多面板 - 删除 XM
     ├─循环动作[循环整数A]从 2 到 5, 运行 (Loop - 动作)
    │     Loop - 动作
    │         循环动作[循环整数B]从 1 到 11, 运行 (Loop - 动作)
    │             Loop - 动作
    │                 设置 XM = (D 的第 (循环整数B [R] - 1) 行,第 (循环整数A [R] - 1) 列项)
    │                 多面板 - 设置 XM 的项目宽度为 0.04 倍屏幕宽度
    │                 多面板 - 设置 XM 的显示风格: 显示 文字 隐藏 图标
    │                 多面板 - 删除 XM
     ├─-------- 玩家名字 WJ --------
     ├─循环动作[循环整数A]从 2 到 11, 运行 (Loop - 动作)
    │     Loop - 动作
    │         如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
    │             If - 条件
    │                 ((玩家 (循环整数A [R] - 1)) 的游戏状态) 等于 正在游戏
    │             Then - 动作
    │                 设置 WJ[(循环整数A [R] - 1)] = ((玩家 (循环整数A [R] - 1)) 的名字)
    │             Else - 动作
    │                 设置 WJ[(循环整数A [R] - 1)] = 未出战
    │         设置 XM = (D 的第 (循环整数A [R] - 1) 行,第 0 列项)
    │         多面板 - 设置 XM 的项目宽度为 0.08 倍屏幕宽度
    │         多面板 - 设置 XM 的项目文本为 WJ[(循环整数A [R] - 1)]
    │         多面板 - 设置 XM 的显示风格: 显示 文字 显示 图标
    │         多面板 - 删除 XM
     └─多面板 - 设置 D 显示

B
┣━事件
┃   └─单位 - 任意单位 出售单位
┣━条件
┗━动作
     ├─-------- 判断购买者是玩家几,然后判断被贩卖的单位类型等于XX,然后改变XX玩家的头像。 --------
     ├─设置 u[3] = (((购买者) 的所有者) 的玩家索引号)
     ├─设置 Unit[u[3]] = (被贩卖单位)
     └─循环动作[循环整数B]从 1 到 2, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        ((被贩卖单位) 的类型) 等于 DanWei[循环整数B [R]]
                    Then - 动作
                        玩家 - 设置 DanWei[循环整数B [R]] 不可取得的 对 (玩家 1)
                        玩家 - 设置 DanWei[循环整数B [R]] 不可取得的 对 (玩家 2)
                        -------- 注意循环整数,因为只有2个英雄,循环整数就是2. --------
                        设置 XM = (D 的第 u[3] 行,第 0 列项)
                        多面板 - 设置 XM 的项目图标为 string[循环整数B [R]]
                        多面板 - 删除 XM
                    Else - 动作
                        不做任何动作

C
┣━事件
┃   └─单位 - 任意单位 死亡
┣━条件
┃   └─((触发单位) 是 ((凶手单位) 的所有者) 的敌对单位) 等于 TRUE
┗━动作
     ├─设置 u[1] = (((凶手单位) 的所有者) 的玩家索引号)
     ├─设置 u[2] = (((死亡单位) 的所有者) 的玩家索引号)
     ├─如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
    │     If - 条件
    │         ((触发单位) 是 英雄) 等于 TRUE
    │     Then - 动作
    │         -------- XX玩家杀死敌方将的数字 --------
    │         设置 JS[u[1]] = (JS[u[1]] + 1)
    │         -------- XX玩家杀死敌方将的数字的字符串 --------
    │         设置 JS2[u[1]] = (转换 JS[u[1]] 为字符串)
    │         -------- 改变XX玩家杀敌将数 --------
    │         设置 XM = (D 的第 u[1] 行,第 1 列项)
    │         多面板 - 设置 XM 的项目文本为 JS2[u[1]]
    │         多面板 - 删除 XM
    │         -------- XX玩家被杀的数字 --------
    │         设置 SW[u[2]] = (SW[u[2]] + 1)
    │         -------- XX玩家被杀的数字的字符串 --------
    │         设置 SW2[u[2]] = (转换 SW[u[2]] 为字符串)
    │         -------- 改变XX玩家死亡数 --------
    │         设置 XM = (D 的第 u[2] 行,第 2 列项)
    │         多面板 - 设置 XM 的项目文本为 SW2[u[2]]
    │         多面板 - 删除 XM
    │         -------- I 复活时间 --------
    │         设置 I[u[2]] = ((Unit[u[2]] 的等级) x 4)
    │         设置 FH[u[2]] = (转换 I[u[2]] 为字符串)
    │         计时器 - 启动 timer[u[2]],应用计时方式: 循环,计时周期为 1.00 秒
    │         设置 XM = (D 的第 u[2] 行,第 4 列项)
    │         多面板 - 设置 XM 的项目文本为 FH[u[2]]
    │         多面板 - 删除 XM
    │     Else - 动作
    │         如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
    │             If - 条件
    │                 ((触发单位) 是 英雄) 等于 FALSE
    │                 ((触发单位) 是 召唤单位) 等于 FALSE
    │                 ((触发单位) 是 建筑) 等于 FALSE
    │                 ((触发单位) 是镜像单位) 等于 FALSE
    │             Then - 动作
    │                 -------- XX玩家杀死敌方小兵的数字 --------
    │                 设置 SD[u[1]] = (SD[u[1]] + 1)
    │                 -------- XX玩家杀死敌方小兵的数字的字符串 --------
    │                 设置 SD2[u[1]] = (转换 SD[u[1]] 为字符串)
    │                 设置 XM = (D 的第 u[1] 行,第 3 列项)
    │                 多面板 - 设置 XM 的项目文本为 SD2[u[1]]
    │                 多面板 - 删除 XM
    │             Else - 动作
    │                 不做任何动作
     └─循环动作[循环整数A]从 1 到 2, 运行 (Loop - 动作)
            Loop - 动作
                设置 u[循环整数A [R]] = 0
D
┣━事件
┃   ├─时间 - timer[1] 到期
┃   ├─时间 - timer[2] 到期
┃   ├─时间 - timer[3] 到期
┃   ├─时间 - timer[4] 到期
┃   ├─时间 - timer[5] 到期
┃   ├─时间 - timer[6] 到期
┃   ├─时间 - timer[7] 到期
┃   ├─时间 - timer[8] 到期
┃   ├─时间 - timer[9] 到期
┃   └─时间 - timer[10] 到期
┣━条件
┗━动作
     └─循环动作[循环整数B]从 1 到 10, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        (到期的计时器) 等于 timer[循环整数B [R]]
                    Then - 动作
                        设置 I[循环整数B [R]] = (I[循环整数B [R]] - 1)
                        设置 FH[循环整数B [R]] = (转换 I[循环整数B [R]] 为字符串)
                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                            If - 条件
                                I[循环整数B [R]] 小于或等于 0
                            Then - 动作
                                计时器 - 暂停 timer[循环整数B [R]]
                                英雄 - 立即复活 Unit[循环整数B [R]] 在 Point[循环整数B [R]] , 隐藏 复活动画
                                设置 FH[循环整数B [R]] = <空字符串>
                                设置 XM = (D 的第 循环整数B [R] 行,第 4 列项)
                                多面板 - 设置 XM 的项目文本为 FH[循环整数B [R]]
                                多面板 - 删除 XM
                            Else - 动作
                                设置 XM = (D 的第 循环整数B [R] 行,第 4 列项)
                                多面板 - 设置 XM 的项目文本为 FH[循环整数B [R]]
                                多面板 - 删除 XM
                    Else - 动作
                        不做任何动作

E
┣━事件
┃   └─玩家 - 任意玩家 离开游戏
┣━条件
┗━动作
     ├─设置 WJ[((触发玩家) 的玩家索引号)] = 离开游戏了。
     ├─设置 XM = (D 的第 ((触发玩家) 的玩家索引号) 行,第 0 列项)
     ├─多面板 - 设置 XM 的项目文本为 WJ[((触发玩家) 的玩家索引号)]
     ├─多面板 - 设置 XM 的显示风格: 显示 文字 隐藏 图标
     └─多面板 - 删除 XM
g
┣━事件
┃   └─时间 - 当游戏逝去 2.00 秒
┣━条件
┗━动作
     ├─单位 - 使 玩家2(蓝色) 对 小酒馆 0000 <预设> 发布 中立商店 - 选择单位 <New> 命令到目标: 能量圈 0004 <预设>
     ├─等待 2.00 秒
     └─单位 - 使 玩家2(蓝色) 从 小酒馆 0000 <预设> 处购买 DanWei[(随机整数,最小值: 1 最大值: 2)]


一直想求个问题,就是做技能时候,怎么用单位想自带的技能一样,投射物发射像是在单位做动作的部位的位置。

多面板.w3x

24.76 KB, 下载次数: 3

点评

lo
一般来说使用原版的英雄不存在这个问题,但导入的英雄经常会出现动作不协调,投射物位置不正确等问题。 除去模型本身的问题外,都是在物体编辑器里没有正确设置造成的。 需要调节的参数有以下几个: 1.攻击伤害  详情 回复 发表于 2013-10-21 15:53
回复

使用道具 举报

发表于 2013-10-21 15:53:52 | 显示全部楼层
ip68681 发表于 2013-10-21 15:42
一直想求个问题,就是做技能时候,怎么用单位想自带的技能一样,投射物发射像是在单位做动作的部位的位置。

一般来说使用原版的英雄不存在这个问题,但导入的英雄经常会出现动作不协调,投射物位置不正确等问题。
除去模型本身的问题外,都是在物体编辑器里没有正确设置造成的。

需要调节的参数有以下几个:
1.攻击伤害点;攻击回复点
这项用于调节单位做攻击动作和造成伤害的时间点是否协调
2.魔法伤害点;魔法回复点
这项用于调节单位做施法动作和造成效果(或抛出投射物)的时间点是否协调
3.射弹偏移 - X ;射弹偏移 - Y ;射弹偏移 - Z ;射弹偏移 - Z (深水)
这项用于调节投射物飞出的起点位置。
其中“射弹偏移 - Z (深水) ”是可在水中移动的单位,处于水中时的投射位置调节。

点评

3.射弹偏移 - X ;射弹偏移 - Y ;射弹偏移 - Z ;射弹偏移 - Z (深水) 恩外导的模型应该怎么根据修改呢,这个有没有通过其他软件获得模型的,我是想用创建触发器制作一些简单的技能,但马甲单位要创建在模型动  详情 回复 发表于 2013-10-21 18:48
回复

使用道具 举报

发表于 2013-10-21 15:56:21 | 显示全部楼层
其实我想说....多面板那个文本的泄漏比变量还要少...
不管他都没事...

还有我做的那个范例里面玩家离开和玩家英雄的图标也没做(懒....)你就参考LS几乎可以了

至于LS那个问题嘛..貌似是改特效附加点就可以了,在物编找一找吧...
回复

使用道具 举报

发表于 2013-10-21 18:48:06 | 显示全部楼层
lo 发表于 2013-10-21 15:53
一般来说使用原版的英雄不存在这个问题,但导入的英雄经常会出现动作不协调,投射物位置不正确等问题。
...

3.射弹偏移 - X ;射弹偏移 - Y ;射弹偏移 - Z ;射弹偏移 - Z (深水)

恩外导的模型应该怎么根据修改呢,这个有没有通过其他软件获得模型的,我是想用创建触发器制作一些简单的技能,但马甲单位要创建在模型动作的部位的位置,能获得模型手一些部位的坐标和模型的位置相关。
回复

使用道具 举报

发表于 2013-10-21 21:10:28 来自手机 | 显示全部楼层
单从lz的触发看,并不存在导致击杀数出错的问题,也许这个触发本身没错,也许是我测试时漏掉了一些问题。lz可以尝试禁用掉部分触发器再次测试,以找到导致问题的关键触发。这类问题建议上传地图,不过鉴于WE爱好者人数持续减少,求助别人解决问题也不能得到满意答复。

点评

图我发布到成品区拉~~~嘿嘿希望得到你的支持!!~  详情 回复 发表于 2013-10-21 21:11
回复

使用道具 举报

 楼主| 发表于 2013-10-21 21:11:54 | 显示全部楼层
lo 发表于 2013-10-21 21:10
单从lz的触发看,并不存在导致击杀数出错的问题,也许这个触发本身没错,也许是我测试时漏掉了一些问题。lz ...

图我发布到成品区拉~~~嘿嘿希望得到你的支持!!~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 08:30 , Processed in 0.159345 second(s), 29 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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