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

求J高手翻译成T

[复制链接]
发表于 2012-3-6 13:34:28 | 显示全部楼层 |阅读模式
剑圣无敌斩技能 移植成功 但是不方便修改其中参数 比如添加随机伤害 修改无敌斩匹配目标等
function Trig_Omnislash_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A02I'        
endfunction
function Unit_Group takes nothing returns boolean
    return GetBooleanAnd( IsUnitAliveBJ(GetFilterUnit()) == true, IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true )
endfunction
function Trig_Omnislash_Actions takes nothing returns nothing
    local unit Caster = GetTriggerUnit()
    local integer i = 0
    local group UnitGroup
    local unit TargetRandom
    local unit Target = GetSpellTargetUnit()
    local effect Phoenix   
    local location R
    local real Damage = 150
    local integer Amount = 1 + ( GetUnitAbilityLevelSwapped('A02I', Caster) * 2 )
    call TriggerSleepAction( 0.20 )
    call SelectUnitRemove( Caster )
    call SetUnitVertexColor( Caster, 150, 150, 150, 150 )
    call SetUnitInvulnerable( Caster, true )   
    set Phoenix = AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl",Caster,"weapon" )
    call DestroyEffect(AddSpecialEffectTarget( "Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl", Caster, "chest" ))
    call SetUnitPositionLocFacingBJ( Caster, PolarProjectionBJ(GetUnitLoc(Target), 50.00, GetRandomDirectionDeg()), AngleBetweenPoints(GetUnitLoc(Caster), GetUnitLoc(Target)) )
    call UnitDamageTarget( Caster, Target, Damage, false, true, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_AXE_MEDIUM_CHOP )
    call SetUnitAnimation( Caster, "attack" )
    call TriggerSleepAction( 0.25 )
    call SelectUnitRemove( Caster )   
    loop
        set i = i + 1        
        exitwhen i > Amount
            set UnitGroup = GetUnitsInRangeOfLocMatching(600.00, GetUnitLoc(Caster), Condition(function Unit_Group))
            if ( IsUnitGroupEmptyBJ(UnitGroup) == false ) then
                set TargetRandom = GroupPickRandomUnit(UnitGroup)
                set R = GetUnitLoc(TargetRandom)
                call DestroyEffect(AddSpecialEffectTarget( "Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl", Caster, "chest" ))
                call SetUnitPositionLocFacingBJ( Caster, PolarProjectionBJ(R, 50.00, GetRandomDirectionDeg()), AngleBetweenPoints(GetUnitLoc(Caster), GetUnitLoc(TargetRandom)) )
                call UnitDamageTarget( Caster, TargetRandom, Damage, false, true, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_AXE_MEDIUM_CHOP )
                call SetUnitAnimation( Caster, "attack" )
                call RemoveLocation ( R )
                call TriggerSleepAction( 0.25 )
                call SelectUnitRemove( Caster )               
            else
            endif
            call DestroyGroup(UnitGroup)           
        endloop   
    call SelectUnitForPlayerSingle( Caster, GetTriggerPlayer() )
    call SetUnitInvulnerable( Caster, false )
    call SetUnitVertexColor( Caster, 255, 255, 255, 255 )
    call DestroyEffect( Phoenix )  
    set Phoenix = null   
    set Caster = null     
    set UnitGroup = null
    set TargetRandom = null
    set Target = null   
    set Amount = 0
    set R = null
    set Damage = 0
endfunction
//===========================================================================
function InitTrig_Omnislash takes nothing returns nothing
    set gg_trg_Omnislash = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Omnislash, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Omnislash, Condition( function Trig_Omnislash_Conditions ) )
    call TriggerAddAction( gg_trg_Omnislash, function Trig_Omnislash_Actions )
endfunction
发表于 2012-3-6 13:57:28 | 显示全部楼层
不可逆
回复

使用道具 举报

 楼主| 发表于 2012-3-6 14:21:43 | 显示全部楼层
只要说成T的意思便可
回复

使用道具 举报

发表于 2012-3-6 14:40:51 | 显示全部楼层
有局部变量,改成T全部都是自定义代码了。
回复

使用道具 举报

发表于 2012-3-6 17:13:49 | 显示全部楼层
  我居然看懂了。
回复

使用道具 举报

发表于 2012-3-6 18:16:39 | 显示全部楼层
[jass]
function Trig_Omnislash_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A02I'        
endfunction
[/jass]
这段是判断技能条件

[jass]
function Unit_Group takes nothing returns boolean
    return GetBooleanAnd( IsUnitAliveBJ(GetFilterUnit()) == true, IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true )
endfunction
[/jass]
单位组动作

[jass]
function Trig_Omnislash_Actions takes nothing returns nothing
    local unit Caster = GetTriggerUnit()
    local integer i = 0
    local group UnitGroup
    local unit TargetRandom
    local unit Target = GetSpellTargetUnit()
    local effect Phoenix   
    local location R
    local real Damage = 150
    local integer Amount = 1 + ( GetUnitAbilityLevelSwapped('A02I', Caster) * 2 )
    //以上全是局部变量声明
    call TriggerSleepAction( 0.20 )
    //等待0.2秒
    call SelectUnitRemove( Caster )
    //让玩家取消选择剑圣
    call SetUnitVertexColor( Caster, 150, 150, 150, 150 )
    //设置剑圣颜色
    call SetUnitInvulnerable( Caster, true )
    //无敌   
    set Phoenix = AddSpecialEffectTarget("Abilities\\\\Weapons\\\\PhoenixMissile\\\\Phoenix_Missile_mini.mdl",Caster,"weapon" )
    //添加特效
    call DestroyEffect(AddSpecialEffectTarget( "Abilities\\\\Spells\\\\NightElf\\\\Blink\\\\BlinkCaster.mdl", Caster, "chest" ))
    //删除特效
    call SetUnitPositionLocFacingBJ( Caster, PolarProjectionBJ(GetUnitLoc(Target), 50.00, GetRandomDirectionDeg()), AngleBetweenPoints(GetUnitLoc(Caster), GetUnitLoc(Target)) )
    //位移
    call UnitDamageTarget( Caster, Target, Damage, false, true, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_AXE_MEDIUM_CHOP )
    //伤害
    call SetUnitAnimation( Caster, "attack" )
    //播放动作
    call TriggerSleepAction( 0.25 )
    //等待0.25秒
    call SelectUnitRemove( Caster )
    //取消选择   
    loop
        set i = i + 1        
        exitwhen i > Amount
    //循环开始
            set UnitGroup = GetUnitsInRangeOfLocMatching(600.00, GetUnitLoc(Caster), Condition(function Unit_Group))
    //选取单位
            if ( IsUnitGroupEmptyBJ(UnitGroup) == false ) then
    //如果单位组内不是空的
                set TargetRandom = GroupPickRandomUnit(UnitGroup)
    //随机选一个倒霉蛋
                set R = GetUnitLoc(TargetRandom)
    //那个倒霉蛋的位置
                call DestroyEffect(AddSpecialEffectTarget( "Abilities\\\\Spells\\\\NightElf\\\\Blink\\\\BlinkCaster.mdl", Caster, "chest" ))
    //创建特效,删除特效
                call SetUnitPositionLocFacingBJ( Caster, PolarProjectionBJ(R, 50.00, GetRandomDirectionDeg()), AngleBetweenPoints(GetUnitLoc(Caster), GetUnitLoc(TargetRandom)) )
    //位移
                call UnitDamageTarget( Caster, TargetRandom, Damage, false, true, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_AXE_MEDIUM_CHOP )
    //伤害
                call SetUnitAnimation( Caster, "attack" )
    //播放动作
                call RemoveLocation ( R )
    //排泄
                call TriggerSleepAction( 0.25 )
    //等待
                call SelectUnitRemove( Caster )  
    //取消选择              
            else
            endif
            call DestroyGroup(UnitGroup)
            //排泄         
        endloop
    //循环结束   
    call SelectUnitForPlayerSingle( Caster, GetTriggerPlayer() )
    //选择剑圣
    call SetUnitInvulnerable( Caster, false )
    //取消无敌
    call SetUnitVertexColor( Caster, 255, 255, 255, 255 )
    //设置颜色
    call DestroyEffect( Phoenix )  
    //删除特效
    set Phoenix = null   
    set Caster = null     
    set UnitGroup = null
    set TargetRandom = null
    set Target = null   
    set Amount = 0
    set R = null
    set Damage = 0
endfunction
[/jass]
主触发

最后那段可忽略
回复

使用道具 举报

 楼主| 发表于 2012-3-6 18:26:46 | 显示全部楼层
懂了......
回复

使用道具 举报

发表于 2012-3-6 19:12:11 | 显示全部楼层
不是有T版的无敌斩吗?
回复

使用道具 举报

 楼主| 发表于 2012-3-6 20:06:32 | 显示全部楼层
T版的貌似都只支持单人的......只是貌似      多人的基本都是Jass
回复

使用道具 举报

发表于 2012-3-6 21:33:22 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-6 22:27:52 | 显示全部楼层
我看都不会看
回复

使用道具 举报

发表于 2012-3-7 00:55:35 | 显示全部楼层
找到一个强化版本的无敌斩,带幻影多人使用的。效果出奇的好。。。。

我打开看过是纯T制作的。。。

= =等我找到附加在传上来,目前找不到了。目前只找到图。

复件 3.gif

2.gif
回复

使用道具 举报

发表于 2012-3-7 23:28:01 | 显示全部楼层
等楼上LS等了好久...
回复

使用道具 举报

发表于 2012-3-7 23:34:22 | 显示全部楼层
找不到了= =
这不是我做的。。。。

对不起啦~~~~~~

[s:175]
回复

使用道具 举报

发表于 2012-3-13 05:11:45 | 显示全部楼层
T版運\用插入JASS。使用JASS的局域變量儲存部隊資料之類的,在wait類型的函數後再用局域變量代回全局變量,也是可以做出多重施法。

不過麻煩後...還是麻煩。直接用jass更好
回复

使用道具 举报

 楼主| 发表于 2012-3-14 12:46:40 | 显示全部楼层
饿 我要是会JASS就不问你们了
回复

使用道具 举报

发表于 2012-3-27 11:33:39 | 显示全部楼层
撩过过往的忧伤,拂去一世的尘埃,哀琴佛音驻,苦叹海无边。在阳光初聚的岁月,在阴霾消散的时光,拾荒的日子像泡沫般终结了那遥远的期盼。谓独舞磐圼,群鹤当空,隐藏在旭日背后的,岁月的痕迹,时空的轮回,失去了方向的合肥白癜风灵魂究竟会寻得怎样的彼岸?
回复

使用道具 举报

发表于 2012-3-28 19:58:02 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-28 22:12:48 | 显示全部楼层
话说 无敌斩这技能都有不少的话题
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 12:33 , Processed in 0.083857 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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