找回密码
 点一下
查看: 2537|回复: 25

怎么改变单位的所属?

[复制链接]
发表于 2011-7-28 18:26:55 | 显示全部楼层 |阅读模式
比如说:玩家一的恐惧魔王对玩家二的步兵施放蛊惑技能,玩家一占时获得步兵的所有权,技能持续时间结束,玩家二重新获得步兵的所有权。
发表于 2011-7-28 19:20:23 | 显示全部楼层
改变 技能释放目标 的玩家所有为 触发单位的所有者
再启用一个计时器就可以了,计时器到期再把该单位变回去,当让之前要用变量记录下单位和单位的原所有者!
回复

使用道具 举报

发表于 2011-7-28 19:23:49 | 显示全部楼层
我记得“符咒”能改持续时间口牙……
回复

使用道具 举报

发表于 2011-7-28 20:03:34 | 显示全部楼层
这。。。。。。有点难
回复

使用道具 举报

发表于 2011-7-28 20:05:08 | 显示全部楼层
一点都不难

[trigger]对战初始化
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 蛊惑
    动作
        设置 A = ((技能施放目标) 的所有者)
        设置 AA = (技能施放目标)
        单位 - 改变 AA 所属为 ((触发单位) 的所有者) 并 改变颜色
        等待 10.00 秒游戏时间
        单位 - 改变 AA 所属为 A 并 改变颜色
[/trigger]


貌似就这么简单
回复

使用道具 举报

发表于 2011-7-28 20:13:39 | 显示全部楼层
小爱有没有想过按照你的触发多个玩家在短时间内对同一个单位使用此技能会出现什么状况?
回复

使用道具 举报

 楼主| 发表于 2011-7-28 20:30:33 | 显示全部楼层

回 1楼(lfglvstory) 的帖子

根据你的建议,我把触发器写成了这样:
未命名触发器 015
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 蛊惑之言
    动作
        设置 Y = (技能施放目标)
        单位 - 改变 Y 所属为 (触发玩家) 并 改变颜色
        等待 ((转换 (蛊惑之言  的等级对 (触发单位)) 为实数) x 10.00) 秒
        单位 - 改变 Y 所属为 (原所有者) 并 改变颜色
结果技能释放目标永久属于我了,愣是把放逐(我使用放逐做的马甲)改成了初级符咒了。
回复

使用道具 举报

 楼主| 发表于 2011-7-28 20:31:26 | 显示全部楼层

回 2楼(lo) 的帖子

符咒无视技能持续时间。我试过了。
回复

使用道具 举报

发表于 2011-7-28 21:22:06 | 显示全部楼层
引用第5楼zhuzeitou于2011-07-28 20:13发表的  :
小爱有没有想过按照你的触发多个玩家在短时间内对同一个单位使用此技能会出现什么状况?

啊喔 , 当时还真没想这些耶
回复

使用道具 举报

发表于 2011-7-28 21:26:55 | 显示全部楼层
用数组记录还是局部变量?
回复

使用道具 举报

发表于 2011-7-28 21:29:10 | 显示全部楼层
A替换为local player A = GetOwningPlayer(GetSpellTargetUnit())
AA替换为local unit AA = GetSpellTargetUnit()
如果你的时间不需要十分精确可以采用局部+等待的办法
回复

使用道具 举报

发表于 2011-7-28 21:36:14 | 显示全部楼层
引用第10楼·于2011-07-28 21:29发表的  :
A替换为local player A = GetOwningPlayer(GetSpellTargetUnit())
AA替换为local player AA = GetSpellTargetUnit()
如果你的时间不需要十分精确可以采用局部+等待的办法

还是不能解决多人对一个单位施法的问题……会导致单位永久变成“倒数第二个用技能的玩家”的(假设大家技能等级相同)。用ht吧。
回复

使用道具 举报

 楼主| 发表于 2011-7-28 22:00:31 | 显示全部楼层

回 11楼(幻之皮卡丘) 的帖子

何为HT?
回复

使用道具 举报

发表于 2011-7-28 23:02:07 | 显示全部楼层
HT是HashTable,哈希表,可以用来存储数据
1.24+才有的功能,未经加强的UI只有一堆相关的BJ函数,而且似乎没有返回句柄地址的函数
回复

使用道具 举报

发表于 2011-7-29 03:04:06 | 显示全部楼层
我试着做了一下。。。HT可以不用。。但是不用局部变量就很难弄了。。
回复

使用道具 举报

 楼主| 发表于 2011-7-29 08:44:10 | 显示全部楼层
看来这技能还挺棘手。
回复

使用道具 举报

发表于 2011-7-29 08:51:07 | 显示全部楼层
不用局部的话数组法也是个好选择,不过稍有点麻烦
回复

使用道具 举报

发表于 2011-7-29 09:22:59 | 显示全部楼层
晕晕 来来回回试了好几次都没达到你想要的效果....每次都是变成我的了 然后就不变回去了....
设置 A = ((技能施放目标) 的所有者)  咦...你这个A是个什么变量 我怎么找不到.....
哎....用数组....  为什么我在改变完单位所属后 设置C[N]=被改变所属的单位 没有效果....?
回复

使用道具 举报

发表于 2011-7-29 11:43:12 | 显示全部楼层
其实全局数组变量完全胜任……搭配上单位自定义值更方便……
回复

使用道具 举报

发表于 2011-7-29 13:36:19 | 显示全部楼层
引用第18楼lo于2011-07-29 11:43发表的  :
其实全局数组变量完全胜任……搭配上单位自定义值更方便……
那个。。我就是用自定义值+一两个全局的。。。
结果还是需要一个局部变量才行。。。不过我现在想不起来是哪个东西要局部了。。那个半成品的图我也懒得去看了……


另外如果用动态数组的话…………似乎需要两组。。或者更多……
毕竟要多玩家同时间对不同单位使用 + 对同一单位使用(+ 蛊惑时间结束前CD好了再次使用……这个也许可以不要)。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 18:18 , Processed in 0.046593 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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