找回密码
 点一下
查看: 1409|回复: 18

帮忙看看这个触发~~出了些问题

[复制链接]
发表于 2008-6-6 18:18:05 | 显示全部楼层 |阅读模式
一个技能~~每秒吸取别人2点智力给自己,持续4秒,60秒后归还,
我自己写了是
事件---单位发动技能效果
条件----施放技能=吸智
动作----英雄--修改智力对(技能施放目标):减去2点
             英雄--修改智力对(触发单位):增加2点
            等待游戏时间1秒
             英雄--修改智力对(技能施放目标):减去2点
             英雄--修改智力对(触发单位):增加2点
            等待游戏时间1秒
             英雄--修改智力对(技能施放目标):减去2点
             英雄--修改智力对(触发单位):增加2点
            等待游戏时间1秒
             英雄--修改智力对(技能施放目标):减去2点
             英雄--修改智力对(触发单位):增加2点
             等待游戏时间57秒
            英雄--修改智力对(技能施放目标):增加8点
            英雄--修改智力对(触发单位):减少8点


现在的问题是,技能放完后,就没了技能施放目标了,吸了的智力就还不了.......水平有限....解决不了...
发表于 2008-6-6 18:21:09 | 显示全部楼层

Re:做了个技能~~出了些问题

用变量保存

事件---单位发动技能效果
条件----施放技能=吸智
动作----设置unit1=施法单位
      设置unit2=技能施放目标

英雄--修改智力对(unit2):减去2点
            英雄--修改智力对(unit1):增加2点
            等待游戏时间1秒
            英雄--修改智力对(unit2):减去2点
            英雄--修改智力对(unit1):增加2点
            等待游戏时间1秒
            英雄--修改智力对(unit2):减去2点
            英雄--修改智力对(unit1):增加2点
            等待游戏时间1秒
            英雄--修改智力对(unit2):减去2点
            英雄--修改智力对(unit1):增加2点
            等待游戏时间57秒
            英雄--修改智力对(unit2):增加8点
            英雄--修改智力对(unit1):减少8点
回复

使用道具 举报

发表于 2008-6-6 18:21:56 | 显示全部楼层
8点智力拿来干什么。
回复

使用道具 举报

发表于 2008-6-6 18:22:47 | 显示全部楼层
加等待会导致某些触发信息消失。
回复

使用道具 举报

发表于 2008-6-6 18:23:21 | 显示全部楼层
最好用局部变量,否则如果60秒内释放第二次就会出问题
回复

使用道具 举报

 楼主| 发表于 2008-6-6 18:24:59 | 显示全部楼层
   设置unit2=技能施放目标,那技能施放完后,这个目标还保留着吗?
若有另一个技能判断目标也用设置unit2=技能施放目标,那会不会造成出错呢
回复

使用道具 举报

 楼主| 发表于 2008-6-6 18:26:13 | 显示全部楼层
  [s:166]   其实..我一直都没会用局部变量!!!!!!!!!!
请说下,怎么做局部变量的
回复

使用道具 举报

发表于 2008-6-6 18:30:00 | 显示全部楼层
引用第4楼zhuzeitou于2008-06-06 18:23发表的  :
最好用局部变量,否则如果60秒内释放第二次就会出问题
哎,我就是局部变量用的烂。自己做了个技能创建了单位以及计时器数组来保存每次的信息。当计时器到期后重置数组索引。
不知道这思路可以不?
回复

使用道具 举报

 楼主| 发表于 2008-6-6 18:31:55 | 显示全部楼层
  [s:166]   刚找了下有关局部变量的文章...貌似....是J来的..........
简单一句.....是英文就不懂........
回复

使用道具 举报

发表于 2008-6-6 18:54:00 | 显示全部楼层
对是基础的J。
自定义代码: local integer A
这样A就是局部变量了,只在当前触发中起作用,而且不会起冲突。
其他的数据类型很多,同理~~
回复

使用道具 举报

发表于 2008-6-6 18:56:16 | 显示全部楼层
这个如果不用局部变量的话,会很麻烦的,像7楼那样,用数组,而且实际操作中很容易一个失误就冲突了

下面用一个局部变量与全局变量同名的办法,可以减少自定义代码的使用
先定义两个全局的单位变量unit1和unit2,然后触发如下
[trigger]某触发
  事件
    单位发动技能效果
  条件
    施放技能=吸智
  动作
    自定义代码:local unit udg_unit1
    自定义代码:local unit udg_unit2   
    设置unit1=施法单位
    设置unit2=技能施放目标
    英雄--修改智力对(unit2):减去2点
    英雄--修改智力对(unit1):增加2点
    等待游戏时间1秒
    英雄--修改智力对(unit2):减去2点
    英雄--修改智力对(unit1):增加2点
    等待游戏时间1秒
    英雄--修改智力对(unit2):减去2点
    英雄--修改智力对(unit1):增加2点
    等待游戏时间1秒
    英雄--修改智力对(unit2):减去2点
    英雄--修改智力对(unit1):增加2点
    等待游戏时间57秒
    英雄--修改智力对(unit2):增加8点
    英雄--修改智力对(unit1):减少8点[/trigger]
回复

使用道具 举报

发表于 2008-6-6 19:05:41 | 显示全部楼层
局部变量是某些领域里的王道啊~~
回复

使用道具 举报

 楼主| 发表于 2008-6-6 20:12:26 | 显示全部楼层
引用第10楼zhuzeitou于2008-06-06 18:56发表的  :
这个如果不用局部变量的话,会很麻烦的,像7楼那样,用数组,而且实际操作中很容易一个失误就冲突了

下面用一个局部变量与全局变量同名的办法,可以减少自定义代码的使用
先定义两个全局的单位变量unit1和unit2,然后触发如下
[trigger]某触发
.......
看不见

!!
回复

使用道具 举报

发表于 2008-6-6 20:21:02 | 显示全部楼层
貌似需要ie7支持额………………
事件
单位发动技能效果
条件
施放技能=吸智
动作
自定义代码:local unit udg_unit1
自定义代码:local unit udg_unit2
设置unit1=施法单位
设置unit2=技能施放目标
英雄--修改智力对(unit2):减去2点
英雄--修改智力对(unit1):增加2点
等待游戏时间1秒
英雄--修改智力对(unit2):减去2点
英雄--修改智力对(unit1):增加2点
等待游戏时间1秒
英雄--修改智力对(unit2):减去2点
英雄--修改智力对(unit1):增加2点
等待游戏时间1秒
英雄--修改智力对(unit2):减去2点
英雄--修改智力对(unit1):增加2点
等待游戏时间57秒
英雄--修改智力对(unit2):增加8点
英雄--修改智力对(unit1):减少8点
回复

使用道具 举报

 楼主| 发表于 2008-6-7 11:04:44 | 显示全部楼层
引用第3楼thody于2008-06-06 18:22发表的  :
加等待会导致某些触发信息消失。
那怎么办~~~不能用等待..............可以用什么代替

!!!!!!!!!!!!!!!!!!!!!!!!!,
回复

使用道具 举报

 楼主| 发表于 2008-6-7 11:17:06 | 显示全部楼层
出了2个错~~一个是类型不匹配
set udg_diren = GetUnitLoc(GetSpellTargetUnit())
另一个是无效的变量类型
    call UnitApplyTimedLife( GetLastCreatedUnit(), 'BHwe', 4.00 )
注:diren=技能施放目标的位置!

由于本人是J盲...不知道怎样更改..J的变量类型......

还有,麻烦说明下,为什么要+udg_
回复

使用道具 举报

发表于 2008-6-7 11:57:23 | 显示全部楼层
udg是we默认的全局变量标识

你把触发贴上来看看呢,光这两句谁会知道哪里错了

至于说是j盲,既然知道了,就去学吧,并不是很难的
回复

使用道具 举报

 楼主| 发表于 2008-6-7 12:20:06 | 显示全部楼层
恩~行了.,我搜索了个点的J码,代进去就行了,不过呢~~+了udg何没加udg有什么重要的区别吗
回复

使用道具 举报

发表于 2008-6-7 12:23:50 | 显示全部楼层
一般局部变量是不用加这个udg的

额,我发的这个触发里,加udg是为了让局部变量与全局变量重名,这样就能用T来完成原本需要用j自定义代码的工作(貌似是因为变量名相同,会优先对局部变量进行操作),是一种取巧偷懒的办法

对j熟练后,这种方法是不推荐的,还是老老实实写代码的好,因为这种方法可能会造成问题的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-20 18:10 , Processed in 0.032524 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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