找回密码
 点一下
查看: 1810|回复: 5

[已解决]技能转为JASS后的移植问题

[复制链接]
发表于 2008-5-12 14:56:14 | 显示全部楼层 |阅读模式
自己用T做好技能后转为了JASS,在自己的地图上使用没有任何问题,但是复制粘贴到别的图上好想就无效了,变量就一个并且已经在新图中重新声明了,也为触发开辟了空间,就是不知道哪有问题,代码如下
[codes=jass]
function Trig_dilei_001_Conditions takes nothing returns boolean
    if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'nglm' ) ) then
        return false
    endif
    return true
endfunction

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

function Trig_dilei_001_Func001002 takes nothing returns nothing
    call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( GetUnitStateSwap(UNIT_STATE_MAX_LIFE, GetEnumUnit()) * 0.10 ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_MAGIC )
endfunction

function Trig_dilei_001_Actions takes nothing returns nothing
    call ForGroupBJ( GetUnitsInRangeOfLocMatching(400.00, GetUnitLoc(GetTriggerUnit()), Condition(function Trig_dilei_001_Func001001003)), function Trig_dilei_001_Func001002 )
endfunction

//===========================================================================
function InitTrig_dilei_001 takes nothing returns nothing
    set gg_trg_dilei_001 = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_dilei_001, EVENT_PLAYER_UNIT_DEATH )
    call TriggerAddCondition( gg_trg_dilei_001, Condition( function Trig_dilei_001_Conditions ) )
    call TriggerAddAction( gg_trg_dilei_001, function Trig_dilei_001_Actions )
endfunction
[/codes]
是不是还要在地图中加function InitCustomTriggers takes nothing returns nothing什么的来调用触发器函数?
盼高人解答
发表于 2008-5-12 15:17:53 | 显示全部楼层
这没必要转jass再移植吧,直接复制trigger该很简单。。。
如果是贴到war3map j 里初始化触发InitTrig_dilei_001自然得在InitCustomTriggers之类的出现
回复

使用道具 举报

 楼主| 发表于 2008-5-12 16:11:35 | 显示全部楼层
主要是新图是别人用J写的,我不太清楚一张图里能不能又有T又有JASS......而且刚刚试了一下貌似加了InitCustom还是没用,实在是奇怪的很
回复

使用道具 举报

发表于 2008-5-12 16:11:39 | 显示全部楼层
开始游戏时
调用下InitTrig_dilei_001  就行了吧
回复

使用道具 举报

 楼主| 发表于 2008-5-12 17:50:45 | 显示全部楼层
自己找到原因了,原来就算没有function InitCustomTriggers takes nothing returns nothing这个函数只要在main函数里调用一下也是一样的,呵呵
回复

使用道具 举报

发表于 2008-5-12 18:21:41 | 显示全部楼层
LZ,jass可以高亮的,你那样写,读起来很费劲的~~~
像这样
[jass]
function Trig_dilei_001_Conditions takes nothing returns boolean
    if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'nglm' ) ) then
        return false
    endif
    return true
endfunction
[/jass]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 12:49 , Processed in 0.069739 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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