第五节 ☆ 整数&实数&字符串 之所以把这三项放在一节里说,是因为它们有一定的共通性,在特定情况下可以相互转换。整数,我想大家都理解吧,标准的阿拉伯数字;实数是带有小数点后两位数的,一般实数的作用于没有精确到整数的数值,比如游戏的时间以及单位的生命等都属于实数;字符串看似和前面两个数值没有关系,但在输出显示文本的时候,整数和实数必须要转换成字符串,而如果字符串的内容是数值的话,同样可以转换成整数或实数。 关于这三个分类的函数实在太多了>。<,而且这些内容的应用非常广,所以这里只是举一些实例来说明一些用法,只要你知道标准的数字就是整数,带小数点的就是实数,文本的就是字符串就OK了;达到必要条件的时候相互都可以转换。 例24:当英雄“骑士”升级到20级的时候,自动转职成“圣骑士”。 ');//--> Trigger Tree Present: Zoxc @ wc3campaigns | Migration: Greedwind | 展开 | 收缩 | 复制 事件: 单位 - 任意单位 提升等级 条件: ((触发单位) 的类型) 等于 骑士 ((触发单位) 的英雄等级) 等于 20 动作: 单位 - 将 (触发单位) 替换为 圣骑士 使用 新单位的最大 生命和魔法 英雄 - 设置 (最后替换的单位) 的英雄等级为 1 , 隐藏 升级动画 PS:这里用了一个“单位-替换”动作,会把单位整个替换掉,但物品全部保留,也可以保留生命值百分比。而第二个动作“英雄-设置英雄等级”为1,主要是为了让转职显得更加真实,当然不修改的话,转职后的单位就会是20级;属性方面,和转职后单位自己的设定有关,和转职前的单位的设定无关。 例25:当8级英雄大法师-吉安娜死亡以后,等待死亡英雄的等级*2秒的时间,复活死亡的英雄在自己开始位置,然后输出文字“英雄名字+英雄等级+‘已经复活!’” ');//--> Trigger Tree Present: Zoxc @ wc3campaigns | Migration: Greedwind | 展开 | 收缩 | 复制 事件: 单位 - 任意单位 死亡 条件: ((触发单位) 是 英雄) 等于 TRUE 动作: 等待 ((转换 ((触发单位) 的等级) 为实数) x 2.00) 秒 英雄 - 立即复活 (触发单位) 在 (((触发单位) 的所有者) 的游戏开始位置) , 显示 复活动画 游戏 - 对 (所有玩家) 发送文本信息: (((触发单位) 的称谓) + ((Lv + (转换 ((触发单位) 的英雄等级) 为字符串)) + 已经复活!)) PS:这里可以看到,因为计算的方式不同,显示的内容也不同。在等待语句中,因为等待是时间,也就是实数,而英雄等级是整数,因此必须要把整数转换成实数,然后再乘以2.00,取得正确的等待时间。而游戏中输出的,是字符串的计算方式;字符串相加的话,就是把字符串连在一起,所以输出的是“吉安娜lv8已经复活!” 例26:当中立敌对的单位死亡以后,有30%的机率掉落物品。 ');//--> Trigger Tree Present: Zoxc @ wc3campaigns | Migration: Greedwind | 展开 | 收缩 | 复制 事件: 单位 - 中立敌对 的单位 死亡 条件: (随机整数,最小值: 1 最大值: 100) 小于或等于 30 动作: 物品 - 创建 (等级 8 的随机 任何 物品类型) 在 ((触发单位) 的位置) PS:在这个例子里,用到了两个随机,一个是条件中的随机整数(整数函数里面),取一个从1到100之间的数,再判断这个数小于或等于30,也就是达到30%的机率的目的。而后面一个是创建物品动作里面的一个函数,按物品的等级来算,等级8就有机率掉落“国王之冠”“死亡面罩”“能量之书”其中之一。随机数的用处很多,基本上一些带概率的事件都可以利用随机数来做,掌握随机数会让触发更加有意思。 第五节 完
|