找回密码
 点一下
查看: 1601|回复: 22

什么无效的变量数字!。。

[复制链接]
发表于 2010-1-19 14:41:06 | 显示全部楼层 |阅读模式
function Trig_AK_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A009' ) ) then
        return false
    endif
    return true
endfunction

function Trig_AK_Func001001003 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true )
endfunction

function Trig_AK_Func001A takes nothing returns nothing
    call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), 500.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
endfunction

function Trig_AK_Actions takes nothing returns nothing
    local location a1
    local location a2
    local real b3
    local group b4
    local integer long1
    set b3 = 80.00
loop
    exitwhen long1 < 20
    set a1 = GetUnitLoc(GetTriggerUnit())
    set a2 = PolarProjectionBJ(a1, b3 , GetUnitFacing(GetTriggerUnit()))
    set b4 = GetUnitsInRectMatching(66.00, a2, Condition(function Trig_AK_Func001001003))
    call ForGroup( b4 , function Trig_AK_Func001A )
    set long1=long1+1
    set b3 = b3 + 80.00
endloop  
    call PlaySoundOnUnitBJ( gg_snd_ak47_1, 100, GetTriggerUnit() )
endfunction

//===========================================================================
function InitTrig_AK takes nothing returns nothing
    set gg_trg_AK = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_AK, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_AK, Condition( function Trig_AK_Conditions ) )
    call TriggerAddAction( gg_trg_AK, function Trig_AK_Actions )
endfunction




这个是某技能的一个J,我做完了一存就和我说
我在线等,各位大侠!。。。
H22ALV1T0BZDDFQ4S75K5CY.jpg
发表于 2010-1-19 15:03:20 | 显示全部楼层
你把最后一段移动到最前面看看能不能解决。
回复

使用道具 举报

 楼主| 发表于 2010-1-19 15:04:59 | 显示全部楼层
哪段?
回复

使用道具 举报

 楼主| 发表于 2010-1-19 15:05:21 | 显示全部楼层
是不是function InitTrig_AK takes nothing returns nothing
    set gg_trg_AK = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_AK, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_AK, Condition( function Trig_AK_Conditions ) )
    call TriggerAddAction( gg_trg_AK, function Trig_AK_Actions )
endfunction
回复

使用道具 举报

发表于 2010-1-19 15:06:42 | 显示全部楼层
恩,这段。
不确定是否成功的噢。
回复

使用道具 举报

 楼主| 发表于 2010-1-19 15:08:18 | 显示全部楼层
失败了
回复

使用道具 举报

 楼主| 发表于 2010-1-19 15:10:02 | 显示全部楼层
这样了
WP47(TQT@37GV{6JI%[A%}8.jpg
回复

使用道具 举报

 楼主| 发表于 2010-1-19 15:18:13 | 显示全部楼层
神人出现吧!!!!!!!!!!!!我真的急需帮助!
回复

使用道具 举报

发表于 2010-1-19 15:19:39 | 显示全部楼层
set b4 = GetUnitsInRectMatching(66.00, a2, Condition(function Trig_AK_Func001001003))
这里,第二个参数应该是矩形区域而不是点……
回复

使用道具 举报

发表于 2010-1-19 15:20:03 | 显示全部楼层
诶,仔细看了貌似没啥语法错误阿……
回复

使用道具 举报

发表于 2010-1-19 15:20:44 | 显示全部楼层
既然小a插楼了,那么继续……
应该是InRangeOfLoc而不是InRect
回复

使用道具 举报

 楼主| 发表于 2010-1-19 15:21:41 | 显示全部楼层
哇!神人真的出现了!!!
回复

使用道具 举报

 楼主| 发表于 2010-1-19 15:22:43 | 显示全部楼层
额!没想到是这。。。。。。我想我查上百遍了不会有语法错。。。 哇!4000多个小时!超神了!
回复

使用道具 举报

发表于 2010-1-19 15:22:57 | 显示全部楼层
诶……
我盯着a2看了半天没发现错误……原来如此
回复

使用道具 举报

发表于 2010-1-19 15:24:29 | 显示全部楼层
这个么……
WE的报错比较挫,报错那行的前后1-2行内都有可能是真正的报错位置……
回复

使用道具 举报

 楼主| 发表于 2010-1-19 15:27:44 | 显示全部楼层
谢谢了成功了
回复

使用道具 举报

发表于 2010-1-19 15:31:58 | 显示全部楼层
另外说下,你的循环跳出条件貌似有点问题
1、你的循环变量long1没有初始化
2、你的循环中变量是自增的,调处条件缺是小于某职,其结果一般为直接跳出或者死循环

问题解决掉的话不要忘记改分类
回复

使用道具 举报

发表于 2010-1-19 16:11:46 | 显示全部楼层
就现在情况来看应该是直接跳出。
因为War3 integer初始值就是0啦~
猪头大人忘记了?
回复

使用道具 举报

发表于 2010-1-19 20:36:56 | 显示全部楼层
integer不初始化在exitwhen中是会跳的.......
回复

使用道具 举报

发表于 2010-1-19 20:54:52 | 显示全部楼层
局部整型变量(非数组)不初始化的话会导致语句执行错误,后面的语句都不会再执行
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 01:41 , Processed in 0.065170 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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