前言:前三期作业在GA绝对领域区,并且在置顶里的教程里有;以后会继续出作业和自测试题。
这期作业,分为中级和高级两种。中级作业考察函数的应用,能独立编写函数并能正确地运用参数传递;高级作业则是考察对数据绑定的掌握,如何构建一个写入和读取数据库。
中级作业和高级作业的主题都一样——群体技能, 就是山丘扔出N个锤子砸晕敌人,够简单吧! 要求写个函数,格式为
function Muti_Ability takes unit hero,unit TargetUnit,integer uid,integer ab,string oderID returns nothing
其中,hero是使用技能的单位,TargetUnit是技能目标单位,uid是辅助单位类型,ab是技能(可以是触发技能,也可以是自定义的辅助技能),orderID是技能的命令窜。
这个函数的用法是: 复制内容到剪贴板 代码:Muti_Ability 事件 单位 - 单位 开始施放一种技能 环境 ((触发单位) 是 一个英雄) 等于 TRUE (使用的技能) 等于 妖术 动作 设置 hero = (触发单位) 设置 TargetUnit = (目标的单位) 设置 uid = 阴影 设置 ability = (使用的技能) 设置 S = hex 自定义: call Muti_Ability(udg_hero,udg_TargetUnit,udg_uid,integer udg_ability,udg_S) 或者 复制内容到剪贴板 代码:Muti_Ability 事件 单位 - 单位 开始施放一种技能 环境 (使用的技能) 等于 妖术 动作 设置 hero = (触发单位) 设置 TargetUnit = (目标的单位) 设置 uid = 阴影 设置 ability = 妖术 辅助 设置 S = hex 自定义: call Muti_Ability(udg_hero,udg_TargetUnit,udg_uid,udg_S) 这个Muti_Ability函数可以用来做群体风暴之锤、群体暗影突袭和群体闪电链等,请完成这个Muti_Ability函数,并用它至少做三个群体技能,以.w3x的格式上交作业。
=======================高级作业=================== 首先,完成上面的Muti_Ability函数。
构建个库,使用函数将数据输入缓存,如下面的Muti_Ability_uid_order
function Muti_Ability_uid_order takes integer uid,integer ab,string oderID returns nothing call StoreString(udg_GC,I2S(ab),"Mutu_ability_unitID",uid) call StoreString(udg_GC,I2S(ab),"Mutu_ability_order",oderID) endfunction
你也可以用自己习惯的自定义函数输入数据,也可以采用上面的Muti_Ability_uid_order。
(以上就是所谓的数据绑定,将辅助单位类型,命令窜跟技能绑定。)
然后,动态注册事件,创建触发器,事件为“任意单位使用技能”,条件为“GetStoredString(udg_GC,I2S(GetSpellAbilityId),"Mutu_ability_order")不为null”(也可以判断"Mutu_ability_unitID"这项是否为0),动作是从缓存中读出辅助单位类型和命令窜,调用前面的Muti_Ability函数。
至少用Muti_Ability_uid_order注册三个群体技能,然后创建上述触发器。同样要求以.w3x格式提交作业。
|