




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Indexer 系统全面教程 1. Indexer 系统有什么用 ? 做技能时 ,往往需要给单位绑定一些数据 ,比如做护盾类技能时需要绑定护盾能抵消 的伤害值 ,做一些持续伤害的技能时需要给技能目标单位绑定伤害来源单位和每秒的伤 害值. 目前常用的方法有全局变量、缓存和哈希表三种。全局变量有高效、方便使用的有 点,只需要设置变量 =xx 即可;缺点则是无法支持多人。市面上大多数支持多人的做 法是采用全局变量数组,用玩家索引做数组索引。在控制单英雄的地图中可以起到很 好的效果,但是对于需要支持更多单位、或者每个玩家多个单位的时候,就显得不够 用。缓存和哈希表分别对应 1.20 版本和 1.24
2、版本的魔兽。缓存需要使用 return bug , 需要使用 jass 或自定义代码来存储数据;哈希表提供了 GetHandleId 函数,但是在触 发器中没有合适的接口,最后还是需要通过自定义代码或第三方we (比如ydwe )提 供的功能来使用,比较复杂。 使用 Indexer 系统可以方便的记录很多数据,而且通过扩展,该系统可以支持位移 系统等更多的功能。 2. Indexer 系统的原理 Indexer 系统是基于 全局变量数组的记录方式。触发中有设置单位自定义值的功能, 自定义值可以是任意整数,而且可以绑定单位而没有其他副作用。 Indexer 系统通过一 定的算法,使得每个单位都拥
3、有不同的自定义值。这样,类似于利用玩家索引制作支 持多人的技能,可以将单位的自定义值作为数组索引来使得触发支持多人,可以支持 任意玩家的任意多个单位(理论上只能支持 8191 个单位,但绝大多数地图上不会同时 存在如此多的单位)。 Indexer 系统在地图初始化时选取全地图的单位来设置不同的自定义值。之后通过 单位进入可用地图区域来获取系统中新增的单位。由于单位进入可用地图区域事件有 延时,所以需要新建的单位立刻进入系统时(比如弹幕、马甲持续攻击芙蓉面还), 还需要一个新增单位的触发。当单位死亡时,判断是否为英雄单位。如果不是英雄, 则可以移出 Indexer 系统。 3. 简单的Index
4、er系统 IzulM_Grcmp 1显电掘.血1 t Ld亡Allnd世次 宀 用姿 1.皿位a ,整单单整 制作一个最简单的Indexer系统需要以下变量: o锻认) 空单傥组默认 -浚育- 0业 其中,Flag表示当前Indexer中最大的自定义值。Group将进入Indexer系统的单 位放入单位组,避免单位重复进入(创建单位手动添加的情况下)。Unit数组将单位 按自定义值作为索引添加到单位组,这样就可以通过单位自定义值来获取对应单位。 LocalIndex是个临时整数,用来记录当前单位的自定义值。 触发如下: D Iaitlndex a F爭件 地图胡始化 卜条件 -匕动作 8 设适
5、=(冋用地图区觀內祐足卫匹酉t单说)的娉虫枝能等级)等于0)的折有单位 _单位书-选取 InderGr oup 内所有单位做动作 白占Loop -动作 劭设盍InJeK_Unit01 =站取单位 須设置TK_FLm =(Xndtx.FLtg +1) 1单位-设蛊rndUnit0的自定义值为Id*xjlag 厘设蛊 Ini*x_Uni t Indtx_Fl - IndsM_Uni l0 市蛾器-为EatSrInd领莎添加事件:俚位-任意单位逬入可用丸囹区域RD 将初始化地图中的单位添加到Indexer系统中。这里利用数组的 0号索引作为临时 的变量,不作为实际存储使用。获取当前单位后(这里是单位
6、组循环中的选取单位), 将Flag的值+1,并作为单位的自定义值,即可保证每个单位的自定义值不同。 该触发最后一行是给下一个触发添加事件 鮭右器-为Ent = Inde_Fls.g. Q融岌器-运行AixiExFtiMt 咒觇榮件) 聘发器-为Entering横诰添加事件:单位-任意单位遊入可用地图区城IW i殳羞 Indeo:Flag2 - IndeM_flag Q Erit srln “事件 日剝牛 I【第发单位)的蝗虫技能等级)等于0 LtfliS单f立)在 Ind.sx Group 中)等于 FA1SE 白动作 翌早悝组-为tnieK_Crou.p添加埔虫发单包) 迟设畫Indcx_V
7、iu t 0 = (Si百单位) 设置 Index_FIQ融境器-运行恥5 无视条件) 稠开动作EffLLgp】从1 if Buffjlig,廷行(Loop -动作) 白Loop -动作 (Else -坊作) E 如果册有的条件成立)则运行(Th -鲂作)否则运行 :日 If -条件 lnff_Loop 大于 Buff_Flac Then -动作 退岀储环 _ Else -动作 -田而果斬育的聚件感立)则运行(H鴉-动作)看则运行 0 S if - 件 I池 ! E I.J 印IiiiOftitBiif_Li臬于 邃肓单位 -凸.Th也-动作 2 设養 uf_UnitBuff_Ucp = Bu
8、fF.lhii t Cluf_FLae 设養 EuEJUlX_L5p = 设養 Buf_BnfBuf_Locp = Buf_BuffLEuf_FLa 超设蓋 WCTimetBuffLo二 Buf_TlmeLTu_Flae E设置肮化Unit脚ff:F环二没有*位 设置 Euff_FLg = uf_Flig - 1) 石E5 -动作 主要触发上面的循环是判断Buff是否到期。下面的循环是从Buff系统的数组中移除 已经结束的Buff (这里将Unit数组的值设为没有单位来标记Buff结束)。 BufrLoa P事件 3条件 动作 设査t 0 = Bf 临讥住“啪 |如果扁条件咸立)则君行 (Th
9、wi - 动怕誓则话行0E1 e a it - 件 恥化讥口專于没肓单位 日曰Tken -动作 O琳过剩余动作 丘E1S.-动件 设畫 BE_WE0 -=irfp 日 Bif_iaBuE_Lcr =BMuffLWLocp =Buffer ineEBiifEJLcopl =(EufE_Tam*0 - BuE_Du3ring) 丧査欣4理向 肮化C耐XJ SS BE.Tirn, 0 如果斬有的衆件J立)则迄行(Then - ijMt)否则运行祖 E S 1 -条件 m 血-任意聚件ifi立 白童条件 IWf_Tlmeaj小于或等于0.00 (E口电心是免亡禹1)等于TRUB Thun -动件 单位
10、-拘 BUff_Unit0删瞧 Bu_ia0 单1 立-刪陳Ru_UnitOj甬聪琏用锂 触垸器-话行i Sger Bu_Lo opj氏视杀件) iE Bff_UnitBuf_UQP=没有单隹 些电-动作 设置 BuffLoop = Bnff TimeC -动作) 判断Buff剩余时间的触发。没啥好说的,简明易懂。 件件作 置S蛊羞墨置位fe 设设设设段设羊单 澹坏动作口即耀敎期从1到血圧运行血专-动作) 备Loop -动作 -动作) -19和果断有的条件臟)则运行吨-动作D香则运行 a if - 件 H Eiff_Uni t 循环整教A 幻等于 Etifft LO U Bnf_Idfj环整教
11、A. R等于 曰* Buff_Id坏整埶入EL等于 Buff_Id0 _ Thea -动作 Q 单位-対 -rAL-2:-rl*T= Fl材 1 fs am =二-i FT - 莘壬扁-( 岸土艮-I *=:*Tf 右=环 3. 30 0 X) I 11 a. JJ J. J0 0. K 电呉上Ali沁DmuU: 宇暝以期工归卫讥 1 1 J 点虽旳埒99 2lr 連柱&五博黛3 tri buff消失。同时图标也 n im 孩YF3命A fl-rf Ji-* mm .已丁右扌勺 id/? LIllrJ 転徒左侖赛萤-InlrRnffrcaDB |r -女匡諸| LIT扯cftHIr呼习理奸些L
12、kffffrrfCXli V 皐护聊ii論越匣帼,話MB制苗劇V a隔iiz.mt 口曾圮 息育 E P D Q :1存 歸嚴: 工程升级,这个技能就是Buff系统要用到的,功能是记录这间隔的0.55秒时间。 Till t Zhu an 曰p事件 囹姻初始化 1 剥牛 iJB - TU* -啊 早也- 单叩a 葷Y堀-许朋La诅i-b冋折岂晌?打盂(昨 _ atrft 知*耶Mil亡(I呢n -苛昨无叫呂厂Mf-Q作 if -隶特 Af 单莹I 2 凡亡a一 tEJ fT FQ5E el甲理|殳r;H 母于e(ise r.w.* zi h TStfl- loTi FC:百mi 弄亍 p ijf
13、i羽单舟i -4爭于 i tVnh - t.lfj 单齿-歸ftAe. vk u占転 nr壬 沖击輔,平争运晡现谢Jtr由删;耐 档砂sr 耐貳固轉:v ID.!* -ddi:i“SLnLkrSi3MIl.血 nLKd“:krl 44訓钿鹅纨豐泣)的 士工 SftlBi上 m-如 I=J匕.动作 二循环动作循环整数从1到 甩 运行 仏吟-动作) 曰孟LQOp -动作 8玩家-设费战家循环整数h R)的弹王樹硝餐境为甦用 工程升级这个技能有个很棒的地方就是直接禁用就可以隐藏图标而且效果还在。 J 口 lifter -nv3 Hh夸三连円孚于TR11 兰引 M呻,埼口碎殆代立:nhtij叶帼樹向冷11占什(11-*“ KJrti ; f iltwitlt RdS : ftAt :血小丁朋于 w - rt-n -迦| iJB i.ff_jm*(n= 砖目亡 iSE J_Li_idiLj =年三徒r抄里跑 ifiS ufjjtfn r irm ifi耆 M( T1JQJ - W Zhfl-BcX&d i吾f_Era Cf-u* Zfll - ZhB,arrTrnri J JSfi坤緘* 侥 fllH佯) 再T理发旱应)叭咤珀第 哪近壬切tn哥iJMf fgtINe,:*JIU;- 宓屮皿 I “芥宅1-我” :K? TK
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025“阴阳合同”的处理原则
- 2025翡翠首饰买卖合同模板
- 2025国际石油工程建设项目合同(中英文对照)
- 2025食品采购合同
- 2025关于软件升级的服务合同范本
- 2025实习生合同协议书
- 2025保险公司担保合同样本2
- 2025年商业地产租赁合同
- 2025年增亮膜项目合作计划书
- 2025年地质勘查专用设备项目建议书
- 期中模拟卷(新疆专用)-2024-2025学年八年级英语下学期核心素养素质调研模拟练习试题(考试版)A4
- 甲状旁腺切除术后的护理措施
- 2024慢性鼻窦炎诊断和治疗指南解读课件
- (T8联考)2025届高三部分重点中学3月联合测评生物试卷(含答案详解)河北版
- 员工入职申请表(完整版)
- T-GDEIIA 56-2024 垂直起降低空航空器起降场基础设施配置技术要求
- 整本书阅读《林海雪原》【知识精研】六年级语文下册 (统编版五四制2024)
- 9《我的战友邱少云》说课稿-2024-2025学年六年级语文上册统编版
- 亚朵酒店前台培训
- 大学假期安全主题班会课件
- 创业培训讲师手册
评论
0/150
提交评论