找回密码
 点一下
查看: 1403|回复: 19

怎么满格合成物品?

[复制链接]
发表于 2012-5-5 20:56:45 | 显示全部楼层 |阅读模式
我最近下载了一个演示图,听说可以英雄不用腾出物品格合成物品,但是我打开演示图,怎么也看不懂,求高人详细解释和演示.........
           演示图原出处:http://tieba.baidu.com/p/1475636477?pn=1
            满格拾取物品栏.zip (18 KB, 下载次数: 27)
         
发表于 2012-5-5 20:57:53 | 显示全部楼层
一般采用单位替代物品
另外就是头目的一个演示
回复

使用道具 举报

 楼主| 发表于 2012-5-5 22:00:59 | 显示全部楼层

回 疯人¢衰人 的帖子

疯人¢衰人:一般采用单位替代物品
另外就是头目的一个演示 (2012-05-05 20:57) 
.........什么叫“用单位代替物品”?求阁下的演示啊
回复

使用道具 举报

发表于 2012-5-5 22:05:43 | 显示全部楼层
卖的是单位,再用触发给物品
当然不用单位用书本也成
回复

使用道具 举报

发表于 2012-5-5 22:32:14 | 显示全部楼层
我想说  单位 书本 都要。。。
商店卖的是单位  非商店满格合成用书
回复

使用道具 举报

发表于 2012-5-5 22:46:05 | 显示全部楼层
商店也能卖书的啊……
回复

使用道具 举报

发表于 2012-5-5 23:03:47 | 显示全部楼层

回 zhuzeitou 的帖子

zhuzeitou:商店也能卖书的啊……
 (2012-05-05 22:46) 
涉及到所有者和共享单位购买的问题
回复

使用道具 举报

发表于 2012-5-5 23:08:55 | 显示全部楼层
咦,对哦,疏忽了~~
回复

使用道具 举报

 楼主| 发表于 2012-5-6 00:43:56 | 显示全部楼层
我都看得糊涂了,究竟是怎么满格合成啊?求各位演示图啊
回复

使用道具 举报

发表于 2012-5-6 07:49:05 | 显示全部楼层
这个就是把smart这个点命令,用通魔技能替换,这样只要用鼠标点击,就能触发smart,从而触发这个通魔技能。
回复

使用道具 举报

发表于 2012-5-6 11:30:30 | 显示全部楼层
用书或者单位都是因为他们不会在满格的时候告诉你物品栏已满。

所以我是这么做的。把所有单位和书、实际物品、禁用状态、卷轴、合成公式都注册一遍

得到物品(书)时循环一下,当前物品符合该物品下注册的公式就可以合成了。这么做之后添加新物品的时候也非常方便。包括拆分已合成物品也很方便。

DOTA是不是这样我不知道,不过效果基本上没区别了。
回复

使用道具 举报

 楼主| 发表于 2012-5-6 21:29:39 | 显示全部楼层

回 cynsw 的帖子

cynsw:用书或者单位都是因为他们不会在满格的时候告诉你物品栏已满。

所以我是这么做的。把所有单位和书、实际物品、禁用状态、卷轴、合成公式都注册一遍

得到物品(书)时循环一下,当前物品符合该物品下注册的公式就可以合成了。这么做之后添加新物品的时候也非常方便。包括拆分已合 .. (2012-05-06 11:30) 
跪求高人演示!
回复

使用道具 举报

发表于 2012-5-6 22:41:36 | 显示全部楼层
[trigger]设置 ItemRegist1[1] = 加速手套
设置 ItemRegist2[1] = 加速手套
设置 ItemRegist3[1] = 加速手套
设置 ItemRegist4[1] = 加速手套[/trigger]


第一个是书 第二个是真物品 第三个是不可用(也就是别人拾取之后) 第四个是单位(商店贩卖)



哈希表储存字符串 主索引为转化物品类型的整数 子索引为0 内容是得到这个物品时需要判断的合成公式数量 (之后调用来loop)


哈希表储存字符串 主索引为转化物品类型的整数 子索引为1 字符串内容  0 000 000 000 000 000 000 000


有几个公式 就要注册几次,按照这个写法,子索引6就是第六个公式,子索引为0的那一条的内容就是6(蓝字部分)


这只是个格式 第一个0代表了满足这个公式需要的物品数量(也是调用来loop的),为的是检查之后的000(当然也可以不这么做 直接判断内容)


第一个000到第6个000都是代表的需要的物品(绿字部分,也就是注册时的索引,比如加速手套是001)第七个是合成的目标物品


注册公式需要判断得到的是真物品还是假物品(书) 因为假物品是没有实体的 只是拿来触发事件的


真正合成触发只需要1个
从1loop到你的总物品数 然后再loop检查得到的这个物品一共有多少种公式 再loop检查每一个公式是否符合(用截取字符串读取之前的公式内容)


原理大概是这样了,这个方法可能很笨,不过奏效。


还有些细节问题就不赘述了,比如拥有卷轴的物品,可以升级的物品。都是稍加条件区分就可以了的。
回复

使用道具 举报

 楼主| 发表于 2012-5-6 23:52:50 | 显示全部楼层

回 cynsw 的帖子

cynsw:[trigger]设置 ItemRegist1[1] = 加速手套
设置 ItemRegist2[1] = 加速手套
设置 ItemRegist3[1] = 加速手套
设置 ItemRegist4[1] = 加速手套[/trigger]

....... (2012-05-06 22:41) 
没有T演示吗?
回复

使用道具 举报

 楼主| 发表于 2012-5-6 23:53:19 | 显示全部楼层

回 cynsw 的帖子

cynsw:[trigger]设置 ItemRegist1[1] = 加速手套
设置 ItemRegist2[1] = 加速手套
设置 ItemRegist3[1] = 加速手套
设置 ItemRegist4[1] = 加速手套[/trigger]

....... (2012-05-06 22:41) 
没有T演示吗?
回复

使用道具 举报

发表于 2012-5-16 02:40:52 | 显示全部楼层
既然LZ 连发了 偶做苦工 来试试farm这个question。
[trigger]
物品编号
    事件
        地图初始化
    条件
    动作
        设置 Zs = 3
        -------- 1 --------
        设置 up[1] = 合成配方(需要物品A和物品B)
        设置 Wupin_A[1] = 物品 A
        设置 Wupin_B[1] = 物品 B
        设置 Wupin_up[1] = 物品 up(A+B)
        -------- 2 --------
        设置 up[2] = 生命手册
        设置 Wupin_A[2] = 霜冻之球
        设置 Wupin_B[2] = 三月之钥的另外一个部分
        设置 Wupin_up[2] = 三月之钥
        -------- 3 --------
        设置 up[3] = 力量之书
        设置 Wupin_A[3] = 赛纳留斯的号角
        设置 Wupin_B[3] = 雷电花芯
        设置 Wupin_up[3] = 魔法宝石
[/trigger]
回复

使用道具 举报

发表于 2012-5-16 02:43:25 | 显示全部楼层
有点长。。。
A
[trigger]
物品合成过程
    事件
        单位 - 任意单位 获得物品
    条件
        ((被操作物品) 的分类) 等于 能量提升
    动作
        循环动作[循环整数A]从 1 到 Zs, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        ((被操作物品) 的类型) 等于 up[循环整数A [R]]
                    Then - 动作
                        设置 A = Wupin_A[循环整数A [R]]
                        设置 B = Wupin_B[循环整数A [R]]
                        设置 C = Wupin_up[循环整数A [R]]
                        设置 D = up[循环整数A [R]]
                    Else - 动作
        设置 P = (((触发单位) 的所有者) 的游戏开始位置)
        单位 - 创建 1 个 小精灵 给 ((触发单位) 的所有者) 在 P ,面向角度为 默认建筑朝向 度
        单位 - 设置 最后创建的单位 <New> 的状态为 隐藏
        英雄 - 创建 A 给 (最后创建的单位)
        设置 A_Name = (最后创建的物品)
        英雄 - 创建 B 给 (最后创建的单位)
        设置 B_Name = (最后创建的物品)
        点 - 清除 P
        循环动作[循环整数A]从 1 到 6, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        A 不等于 (没有物品 的类型)
                        (((触发单位) 物品栏第 循环整数A [R] 格的物品) 的类型) 等于 A
                    Then - 动作
                        设置 X_A = 1
                        设置 A_Acc = ((触发单位) 物品栏第 循环整数A [R] 格的物品)
                    Else - 动作
        循环动作[循环整数B]从 1 到 6, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        B 不等于 (没有物品 的类型)
                        (((触发单位) 物品栏第 循环整数B [R] 格的物品) 的类型) 等于 B
                    Then - 动作
                        设置 X_B = 1
                        设置 B_Acc = ((触发单位) 物品栏第 循环整数B [R] 格的物品)
                    Else - 动作
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                X_A 等于 1
                X_B 等于 1
            Then - 动作
                物品 - 删除 A_Acc
                物品 - 删除 B_Acc
                英雄 - 创建 C 给 (触发单位)
                设置 C_Name = (最后创建的物品)
                游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示文本: ((C_Name 的名字) + 合成成功!)
            Else - 动作
[/trigger]
回复

使用道具 举报

发表于 2012-5-16 02:47:53 | 显示全部楼层
霸屏见谅
B
[trigger]
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                Or - 任意条件成立
                    条件
                        X_A 等于 0
                        X_B 等于 0
            Then - 动作
                游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示文本: 材料不足。
                设置 P = ((触发单位) 的位置)
                物品 - 创建 D 在 P
                点 - 清除 P
            Else - 动作
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                X_A 等于 0
            Then - 动作
                游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示文本: (缺失 + (A_Name 的名字))
            Else - 动作
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                X_B 等于 0
            Then - 动作
                游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示文本: (缺失 + (B_Name 的名字))
            Else - 动作
[/trigger]
回复

使用道具 举报

发表于 2012-5-16 02:51:21 | 显示全部楼层
最后的超弱排泄
C
(太长了 自我排版)        
物品 - 删除 ((最后创建的单位) 所持有的 A)  【@。@】    物品 - 删除 ((最后创建的单位) 所持有的 B)
单位 - 为 (最后创建的单位) 设置 水元素 类型的生命周期,持续时间为 0.10 秒
设置 X_A = 0 【@。@】  设置 X_B = 0 【@。@】  
设置 A = (没有物品 的类型)【@。@】  设置 B = (没有物品 的类型)  【@。@】  设置 C = (没有物品 的类型)  【@。@】  设置 D = (没有物品 的类型)
设置 A_Name = 没有物品   【@。@】   设置 B_Name = 没有物品    【@。@】   设置 C_Name = 没有物品
设置 A_Acc = 没有物品【@。@】  设置 B_Acc = 没有物品
这么长不会说我刷分吧- -
112233.w3x (18 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2012-5-16 10:41:37 | 显示全部楼层
一个物品都这么麻烦 那编辑不烦死了~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 20:01 , Processed in 0.143757 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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