找回密码
 点一下
查看: 2470|回复: 8

JASS检查出现错误

[复制链接]
发表于 2011-4-14 22:01:47 | 显示全部楼层 |阅读模式
[trigger]lean 02
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 风暴之锤
    动作
        设置 UintID = 111
        设置 GTU = (触发单位)
        设置 GSU = (技能施放目标)
        自定义代码:   call JassA(udg_UintID,udg_GTU,udg_GSU)
[/trigger]
[jass]
function JassA takes intrger UID,unit TU,unit SU returns nothing
    local location UL
    local unit U
    local unit LU
    local integer i = 0
    set UL = GetUnitLoc(TU)
    set U = CreateUintAtloc( GetOwningPlayer(TU), UID, UL, 0)
    set LU = GetLastCreatedUnit()
    call PauseUnitBJ( true, TU)
    loop
        set i = i+1
        exitwhen i>5
        call SetUnitAnimation( TU, "attack" )
        call IssuePointOrderLoc( LU, "thunderbolt", SU)
        call ResetUnitAnimation( TU)
        call PolledWait(1)
    endloop
    call KillUnit( LU)
    call PauseUnitBJ( false, TU)
endfunction
[/jass]
newscreen15325163.jpg
又是错误...求解决办法,JASS之路真难
发表于 2011-4-15 01:03:46 | 显示全部楼层
第一行 整型应该是 integer
第七行 创建单位在点 CreateUnitAtLoc
第十四行 对目标单位发布命令应该用 IssueTargetOrder
你发布的命令是风暴之锤,对点发也放不出去
你后面的目标也不是点,而是单位
看你错的地方颜色有什么不同
[jass]
function JassA takes integer UID,unit TU,unit SU returns nothing
    local location UL
    local unit U
    local unit LU
    local integer i = 0
    set UL = GetUnitLoc(TU)
    set U = CreateUnitAtLoc( GetOwningPlayer(TU), UID, UL, 0)
    set LU = GetLastCreatedUnit()
    call PauseUnitBJ( true, TU)
    loop
        set i = i+1
        exitwhen i>5
        call SetUnitAnimation( TU, "attack" )
        call IssueTargetOrder( LU, "thunderbolt", SU)
        call ResetUnitAnimation( TU)
        call PolledWait(1)
    endloop
    call KillUnit( LU)
    call PauseUnitBJ( false, TU)
endfunction
[/jass]
你的 LU 和 U 根本就是同一个东西
回复

使用道具 举报

 楼主| 发表于 2011-4-15 12:13:48 | 显示全部楼层
newscreen2174341.jpg 为什么会有:未声明函数 JassA??
回复

使用道具 举报

发表于 2011-4-15 12:25:19 | 显示全部楼层
只能调用在前面的函数,不能调用在后面的。
回复

使用道具 举报

 楼主| 发表于 2011-4-16 07:33:14 | 显示全部楼层
什么意思?那地图我用来实验的,就一个T和一个J,那个算前?那个算后?
回复

使用道具 举报

发表于 2011-4-16 08:15:07 | 显示全部楼层
你在前面调用,而函数在后面定义
1.gif
回复

使用道具 举报

 楼主| 发表于 2011-4-16 11:36:20 | 显示全部楼层
哦~~~,怎么更改顺序
懂了,更改触发名字
回复

使用道具 举报

发表于 2011-4-16 12:52:46 | 显示全部楼层
像这种系统性的函数,直接放到自定义代码区,就能保证在触发这前了。
2.gif
回复

使用道具 举报

 楼主| 发表于 2011-4-16 16:35:21 | 显示全部楼层
thanks
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 11:04 , Processed in 0.179213 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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