找回密码
 点一下
查看: 1200|回复: 2

学Jass真的把T触发转J看后会明白?

[复制链接]
发表于 2008-7-24 17:06:15 | 显示全部楼层 |阅读模式
[jass]function Trig_xuejass_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'AHtb' ) ) then
// 'AHtb' 是技能
        return false
    endif
    return true
endfunction

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

function Trig_xuejass_Func003A takes nothing returns nothing
    call CreateNUnitsAtLoc( 1, 'h000', GetTriggerPlayer(), GetUnitLoc(GetTriggerUnit()), GetUnitFacing(GetTriggerUnit()) )
//上面一句是创建单位的.
    call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
//上面一句是设置最后的创建单位的生命为1
    call UnitAddAbilityBJ( 'A000', GetLastCreatedUnit() )
//上面一句是给辅助技能这个单位.'A000'是技能
    call SetUnitAbilityLevelSwapped( 'A000', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('AHtb', GetTriggerUnit()) )
//设置技能与技能同等级
    call IssueTargetOrderById( GetLastCreatedUnit(), 852095, GetEnumUnit() )
endfunction

function Trig_xuejass_Actions takes nothing returns nothing
    set udg_dian[100] = GetSpellTargetLoc()
    set udg_QTJN_Dian[100] = GetUnitsInRangeOfLocMatching(500.00, udg_dian[100], Condition(function Trig_xuejass_Func002002003))
    call ForGroupBJ( udg_QTJN_Dian[100], function Trig_xuejass_Func003A )
    call RemoveLocation( udg_dian[100] )
    call GroupClear( udg_QTJN_Dian[100] )
endfunction

//===========================================================================
function InitTrig_xuejass takes nothing returns nothing
    set gg_trg_xuejass = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_xuejass, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_xuejass, Condition( function Trig_xuejass_Conditions ) )
    call TriggerAddAction( gg_trg_xuejass, function Trig_xuejass_Actions )
endfunction
[/jass]
以上就是把T转J的(风暴之锤),将这个J跟T一句句对着来看,一般都会明白.可是我觉得这样做我怎么理解得到J的精髓啊?
求各位告诉我怎么学啊.
发表于 2008-7-24 17:14:32 | 显示全部楼层
谁告诉你理解不到了?恩~我想你的意思是“这样做和用T有什么区别?”
这样做的目的是先理解JASS基本语法。的确,JASS的精髓:ReturnBUG、Timer、局部变量是T无法实现的。那么建议你去看看JASS教程
回复

使用道具 举报

发表于 2008-7-24 17:51:51 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 00:22 , Processed in 0.144333 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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