找回密码
 点一下
查看: 2144|回复: 7

单体技能怎么改成群体技能?如山丘的T 晕人

  [复制链接]
发表于 2008-8-1 20:28:08 | 显示全部楼层 |阅读模式
就是吧单体指向性技能改成群体的    
我不会JASS [s:166]
发表于 2008-8-4 09:24:57 | 显示全部楼层
http://www.islga.org/bbs/read.ph ... A%CC%E5%BC%BC%C4%DC

建议发帖前,先搜索一下论坛
回复

使用道具 举报

恶声恶气 该用户已被删除
发表于 2008-8-4 09:30:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2008-8-4 10:22:54 | 显示全部楼层
看看视频吧..

群体技能演示.rar

3.48 MB, 下载次数: 84

回复

使用道具 举报

发表于 2008-8-4 11:00:25 | 显示全部楼层
这个…………………………


转过来的:
[codes=jass]
//***************************************************************************
//* Single Cast to Plurality Cast                                           *
//* Edit by feelerly,Provide by 堕落圣童                                    *
//* 2008.01.26                                                              *
//***************************************************************************
// 单体技能变群体技能,只需要一个辅助单位(单位有魔法值),便可以释放技能了.十分简单
function AbilityPlayerEnemy takes nothing returns boolean
    return IsUnitHidden(GetFilterUnit()) == false and IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false and IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), GetOwningPlayer(GetTriggerUnit())) == true and GetFilterUnit() != GetSpellTargetUnit()
endfunction
function AbilityPlayerAlly takes nothing returns boolean
    return IsUnitHidden(GetFilterUnit()) == false and IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false and IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), GetOwningPlayer(GetTriggerUnit())) == false and GetFilterUnit() != GetSpellTargetUnit()
endfunction
function AbilityCastCounts takes nothing returns nothing
    local unit u = CreateUnit(GetOwningPlayer(GetTriggerUnit()),GetHandleInteger(GetTriggerUnit(),"CastUnit"),GetUnitX(GetTriggerUnit()),GetUnitY(GetTriggerUnit()),0.00)
    call UnitAddAbility( u, GetSpellAbilityId() )
    call SetUnitMoveSpeed( u, 0.00 )
    call ShowUnit( u, false )
    call SetUnitAbilityLevel( u, GetSpellAbilityId(), GetUnitAbilityLevel(GetTriggerUnit(), GetSpellAbilityId()) )
    call UnitApplyTimedLife( u, 'BHwe', 15.00 )
    if GetUnitFlyHeight(GetTriggerUnit()) != 0.00 then
        call UnitAddAbility(u, 'Arav' )
        call UnitRemoveAbility( u, 'Arav' )
        call SetUnitFlyHeight( u, GetUnitFlyHeight(GetTriggerUnit()), 0.00 )
    endif
    call IssueTargetOrder( u, GetHandleString(GetTriggerUnit(),"CurrentOrder"), GetEnumUnit() )
    set u = null
endfunction
function AbilityGo_AnyOne takes integer id,location l,real d,integer count returns nothing
    local group g = null
    local group fg = null
    local player p1 = GetOwningPlayer(GetTriggerUnit())
    local player p2 = GetOwningPlayer(GetSpellTargetUnit())
    if p1 != null and p2 != null then
        // 以释放技能目标为准选取其他单位,比如,如果技能目标与释放者同一个玩家,则就选择同属一个玩
        // 或联盟的单位,让辅助单位施法,一般这类技能是辅助技能;反之则选敌人.
        if p1 == p2 then
            set g = GetUnitsInRangeOfLocMatching(d,l,Condition(function AbilityPlayerAlly))
            call GroupRemoveUnit(g,GetSpellTargetUnit())
        endif
        if p1 != p2 then
            if IsPlayerAlly(p1,p2)==true then
                set g = GetUnitsInRangeOfLocMatching(d,l,Condition(function AbilityPlayerAlly))
            elseif IsPlayerEnemy(p1,p2)==true then
                set g = GetUnitsInRangeOfLocMatching(d,l,Condition(function AbilityPlayerEnemy))
                call GroupRemoveUnit(g,GetTriggerUnit())
            endif
            call GroupRemoveUnit(g,GetSpellTargetUnit())
        endif
        call SetHandleString( GetTriggerUnit(),"CurrentOrder",OrderId2StringBJ(GetUnitCurrentOrder(GetTriggerUnit())) )
        if id == 0 then
            call SetHandleInteger( GetTriggerUnit(),"CastUnit", 'e000' )
        else
            call SetHandleInteger( GetTriggerUnit(),"CastUnit", id )
        endif
        if CountUnitsInGroup(g) > count then
            set fg = GetRandomSubGroup(count, g)
            call ForGroup( fg, function AbilityCastCounts )
        else
            call ForGroup( g, function AbilityCastCounts )
        endif
    endif
    call SetHandleString( GetTriggerUnit(),"CurrentOrder", null)
    set l = null
    call DestroyGroup( g )
    call DestroyGroup( fg )
    set g = null
    set fg = null
    set p1 = null
    set p2 = null
endfunction
[/codes]

WOW8精选功能 - 单体技能变群体.txt

4 KB, 下载次数: 32

回复

使用道具 举报

发表于 2008-8-4 12:20:16 | 显示全部楼层
LS很强大
回复

使用道具 举报

发表于 2008-8-4 14:26:52 | 显示全部楼层
你们在说我那?
回复

使用道具 举报

发表于 2008-8-4 14:27:10 | 显示全部楼层
搜索一下一条瀑布。竟然还发帖子来。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 12:33 , Processed in 0.033122 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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