找回密码
 点一下
楼主: on9son

出了一个触法问题,请帮一下

[复制链接]
发表于 2010-7-10 20:30:26 | 显示全部楼层
解决方法:
试试将这两句改成
[trigger]
动作
    自定义代码: call CreateNUnitsAtLoc( 1, 'h00J', GetTriggerPlayer(), GetUnitLoc(GetEventDamageSource()), bj_UNIT_FACING )
    自定义代码: call UnitDamageTargetBJ( GetLastCreatedUnit(), GetEventDamageSource(), ( GetEventDamage() * 0.85 ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL)
[/trigger]
回复

使用道具 举报

 楼主| 发表于 2010-7-10 20:48:20 | 显示全部楼层
還是出錯了,怎貼腳本,我只會貼觸法,腳本指什麼?
回复

使用道具 举报

发表于 2010-7-10 20:53:52 | 显示全部楼层
。。。
未命名.JPG
回复

使用道具 举报

 楼主| 发表于 2010-7-10 20:59:49 | 显示全部楼层
我不能用你的方法複製,我只可整個反白再複製,不知有沒有錯




//***************************************************************************
//*
//*  Global Variables
//*
//***************************************************************************

globals
    // User-defined
    real                    udg_T003                   = 0
    real                    udg_R001                   = 0
    integer                 udg_T005                   = 0
    unit                    udg_T005_hero              = null
    unit                    udg_T001                   = null
    location                udg_abcd                   = null
    boolean                 udg_abcc                   = false
    integer                 udg_CP_1                   = 0
    integer                 udg_CP_2                   = 0
    integer                 udg_CP_3                   = 0
    rect                    udg_loc_000                = null
    rect                    udg_loc_001                = null
    rect                    udg_loc_002                = null
    item array              udg_mission_item
    integer array           udg_mission_point
    integer                 udg_Skill_damage           = 0
    real                    udg_hero_blood             = 0
    effect array            udg_XXX
    effect array            udg_AAA
    effect array            udg_ZZZ
    effect                  udg_YYY                    = null
    unit                    udg_AT001                  = null
    integer                 udg_AD0011                 = 0
    integer                 udg_AT003A                 = 0
    unit                    udg_AT003B                 = null
    real                    udg_AT003C                 = 0
    real                    udg_AT003D                 = 0
    unit                    udg_AT003E                 = null
    location                udg_AT003F                 = null
    unit                    udg_SW001                  = null
    integer array           udg_HeroType
    integer                 udg_HeroTypeCount          = 0
    player                  udg_TempPlayer             = null
    location                udg_TempPoint              = null
    unit                    udg_TempUnit               = null
    integer                 udg_a                      = 0
    integer                 udg_b                      = 0
    integer                 udg_a001                   = 0
    unit                    udg_a002                   = null
    real                    udg_a003                   = 0
    real                    udg_a004                   = 0
    real                    udg_a005                   = 0
    integer                 udg_a006                   = 0
    integer                 udg_a007                   = 0
    integer                 udg_life                   = 0
    unit                    udg_Dead_Hero              = null
    location                udg_Dead_Point             = null
    unit                    udg_Power_Ring             = null
    player                  udg_I003P                  = null
    unit                    udg_I004                   = null
    unit                    udg_I003                   = null
    integer                 udg_I003I1                 = 0
    integer                 udg_I003I2                 = 0
    integer                 udg_I003I3                 = 0
    integer                 udg_I003I4                 = 0
    integer                 udg_I004S                  = 0
    integer                 udg_I004A                  = 0
    integer                 udg_I004I                  = 0
    location                udg_IT003                  = null
    group                   udg_damgeunit              = null
    unit                    udg_IT002HU                = null
    player                  udg_damgeunitplayer        = null
    unit                    udg_IT002                  = null

    // Generated
    rect                    gg_rct________000          = null
    rect                    gg_rct________001          = null
    rect                    gg_rct________002          = null
    rect                    gg_rct________003          = null
    rect                    gg_rct________004          = null
    rect                    gg_rct________005          = null
    string                  gg_snd_HeroicVictory
    sound                   gg_snd_Warning             = null
    sound                   gg_snd_BloodlustTarget     = null
    sound                   gg_snd_KnightNoRiderWarcry1 = null
    sound                   gg_snd_KnightNoRiderYes2   = null
    sound                   gg_snd_FrostBoltHit1       = null
    sound                   gg_snd_ThunderBoltMissileDeath = null
    trigger                 gg_trg_damgeunitsetting    = null
    trigger                 gg_trg_Revive_Hero_Copy    = null
    trigger                 gg_trg___________004       = null
    trigger                 gg_trg___________006       = null
    trigger                 gg_trg___________012       = null
    trigger                 gg_trg___________013       = null
    trigger                 gg_trg___________007       = null
    trigger                 gg_trg_ATTACK1             = null
    trigger                 gg_trg_ATTACK1_1           = null
    trigger                 gg_trg_ATTACK1_2           = null
    trigger                 gg_trg_ATTACK2             = null
    trigger                 gg_trg_ATTACK2_1           = null
    trigger                 gg_trg_ATTACK2_2           = null
    trigger                 gg_trg_ATTACK3             = null
    trigger                 gg_trg_ATTACK3_1           = null
    trigger                 gg_trg_ATTACK3_2           = null
    trigger                 gg_trg_move                = null
    trigger                 gg_trg_move_1              = null
    trigger                 gg_trg_move_2              = null
    trigger                 gg_trg_CENTER              = null
    trigger                 gg_trg_CENTER1             = null
    trigger                 gg_trg____________________002 = null
    trigger                 gg_trg___________004_Copy  = null
    trigger                 gg_trg___________007_Copy  = null
    trigger                 gg_trg___________004_Copy_Copy = null
    trigger                 gg_trg_Untitled_Trigger_002 = null
    trigger                 gg_trg___________002       = null
    trigger                 gg_trg_test                = null
    trigger                 gg_trg_skills              = null
    trigger                 gg_trg___________014       = null
    trigger                 gg_trg___________014_Copy  = null
    trigger                 gg_trg___________014_Copy_2 = null
    trigger                 gg_trg___________014_Copy_2_Copy = null
    trigger                 gg_trg___________014_Copy_2_Copy_2 = null
    trigger                 gg_trg_W0006               = null
    trigger                 gg_trg_A003                = null
    trigger                 gg_trg___________003       = null
    trigger                 gg_trg_A001                = null
    trigger                 gg_trg_A002                = null
    trigger                 gg_trg_W001                = null
    trigger                 gg_trg_W002                = null
    trigger                 gg_trg_W003                = null
    trigger                 gg_trg_W004                = null
    trigger                 gg_trg_W005                = null
    trigger                 gg_trg_O001                = null
    trigger                 gg_trg_O002                = null
    trigger                 gg_trg_W006                = null
    trigger                 gg_trg_A004                = null
    trigger                 gg_trg_S_W001              = null
    trigger                 gg_trg_S_R001              = null
    trigger                 gg_trg_S_R001_A            = null
    trigger                 gg_trg_S_R001_A_1          = null
    trigger                 gg_trg_S_R001_B            = null
    trigger                 gg_trg_S_R001_B_1          = null
    trigger                 gg_trg_S_R001_C            = null
    trigger                 gg_trg_S_R001_C_1          = null
    trigger                 gg_trg_S_R001_D            = null
    trigger                 gg_trg_S_R001_D_1          = null
    trigger                 gg_trg_S_R001_E            = null
    trigger                 gg_trg_S_R001_E_1          = null
    trigger                 gg_trg_S_E002              = null
    trigger                 gg_trg_S_R002              = null
    trigger                 gg_trg_I_D001              = null
    trigger                 gg_trg_I_W001              = null
    trigger                 gg_trg_I_R001              = null
    trigger                 gg_trg_I_T002_A            = null
    trigger                 gg_trg_I_T002_A1           = null
    trigger                 gg_trg_I_T002B             = null
    trigger                 gg_trg_I_T002_C            = null
    trigger                 gg_trg_I_R003              = null
    trigger                 gg_trg_I_T003_A            = null
    trigger                 gg_trg_I_T003_B            = null
    trigger                 gg_trg_I_T003_C            = null
    trigger                 gg_trg_I_W004              = null
    trigger                 gg_trg_I_R004              = null
    trigger                 gg_trg_I_T004              = null
    trigger                 gg_trg_A_T001_A            = null
    trigger                 gg_trg_A_T001_B            = null
    trigger                 gg_trg_A_T001_C            = null
    trigger                 gg_trg_A_T001_D            = null
    trigger                 gg_trg_A_R002              = null
    trigger                 gg_trg_A_T002              = null
    trigger                 gg_trg_A_W003              = null
    trigger                 gg_trg_A_E003              = null
    trigger                 gg_trg_A_T003A             = null
    trigger                 gg_trg_A_T003B             = null
    trigger                 gg_trg_a01                 = null
    trigger                 gg_trg_a02                 = null
    trigger                 gg_trg___________009       = null
    trigger                 gg_trg___________010       = null
    trigger                 gg_trg___________011       = null
    trigger                 gg_trg_Init_Random_Hero_List = null
    trigger                 gg_trg_Select_Hero         = null
    trigger                 gg_trg_Select_Random_Hero  = null
    trigger                 gg_trg_Select_Hero_Sub     = null
    unit                    gg_unit_hhou_0000          = null
    unit                    gg_unit_hmpr_0169          = null
    unit                    gg_unit_hkni_0162          = null
    unit                    gg_unit_hmpr_0168          = null
    unit                    gg_unit_hkni_0161          = null
    unit                    gg_unit_hmpr_0170          = null
    unit                    gg_unit_hspt_0122          = null
    unit                    gg_unit_hspt_0123          = null
    unit                    gg_unit_h00O_0047          = null
    unit                    gg_unit_hkni_0160          = null
    unit                    gg_unit_hhes_0119          = null
    unit                    gg_unit_nhem_0159          = null
    unit                    gg_unit_hcth_0124          = null
    unit                    gg_unit_nemi_0157          = null
    unit                    gg_unit_nhef_0158          = null
    unit                    gg_unit_hpea_0093          = null
endglobals

function InitGlobals takes nothing returns nothing
    local integer i = 0
    set udg_T003 =         0.0
    set udg_R001 =         0.0
    set udg_T005 =     0
    set udg_abcc =     false        
    set i = 0
    loop
        exitwhen (i > 12)
        set udg_mission_point =     0
        set i = i + 1
    endloop

    set udg_Skill_damage =     0
    set udg_hero_blood =         0.0
    set udg_AT003A =     0
    set udg_AT003C =         0.0
    set udg_AT003D =         0.0
    set udg_HeroTypeCount =     0
    set udg_a =     0
    set udg_b =     0
    set udg_a003 =         0.0
    set udg_a004 =         0.0
    set udg_a005 =         0.0
    set udg_a007 =     0
    set udg_life =     0
    set udg_I004S =     0
    set udg_I004A =     0
    set udg_I004I =     0
    set udg_damgeunit = null
endfunction

function Trig_I_T002B_Conditions takes nothing returns boolean
    if ( not ( UnitHasBuffBJ(GetTriggerUnit(), 'B001') == true ) ) then
        return false
    endif
    return true
endfunction

function Trig_I_T002B_Func004001003 takes nothing returns boolean
    return ( IsUnitAlly(GetTriggerUnit(), GetOwningPlayer(udg_IT002)) == true )
endfunction

function Trig_I_T002B_Func004A takes nothing returns nothing
    call UnitDamageTargetBJ( GetLastCreatedUnit(), GetEnumUnit(), ( ( ( ASAUDDamageValueUI() * 85.00 ) / 100.00 ) * 15.00 ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL )
endfunction

function Trig_I_T002B_Actions takes nothing returns nothing
    call CreateNUnitsAtLoc( 1, 'h00J', GetTriggerPlayer(), GetUnitLoc(GetEventDamageSource()), bj_UNIT_FACING )
    call UnitDamageTargetBJ( GetLastCreatedUnit(), GetEventDamageSource(), ( GetEventDamage() * 0.85 ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL)
    call ForGroupBJ( GetUnitsInRangeOfLocMatching(250.00, GetUnitLoc(ASAUDDamageSourceUI()), Condition(function Trig_I_T002B_Func004001003)), function Trig_I_T002B_Func004A )
endfunction

//===========================================================================
function InitTrig_I_T002B takes nothing returns nothing
    set gg_trg_I_T002B = CreateTrigger(  )
    call TriggerAddCondition( gg_trg_I_T002B, Condition( function Trig_I_T002B_Conditions ) )
    call TriggerAddAction( gg_trg_I_T002B, function Trig_I_T002B_Actions )
endfunction
回复

使用道具 举报

发表于 2010-7-10 21:04:33 | 显示全部楼层
。。好吧,我是说放在txt文件里面的。。

那么系统提示哪几句出错呢?
回复

使用道具 举报

 楼主| 发表于 2010-7-10 21:06:18 | 显示全部楼层
call UnitDamageTargetBJ( GetLastCreatedUnit(), GetEnumUnit(), ( ( ( ASAUDDamageValueUI() * 85.00 ) / 100.00 ) * 15.00 ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL )endfunction
還有
call ForGroupBJ( GetUnitsInRangeOfLocMatching(250.00, GetUnitLoc(ASAUDDamageSourceUI()), Condition(function Trig_I_T002B_Func004001003)), function Trig_I_T002B_Func004A )
endfunction
這個不用放.txt吧?
多口一問,為什麼要放在.txt
回复

使用道具 举报

发表于 2010-7-10 21:29:31 | 显示全部楼层
因为字太多了。。网页上看着麻烦,个人习惯。。。如果你不喜欢就不用了
问题已经解决:果然是苹果ui的问题。
为了解决这个问题,我跑去下载了一个苹果ui。
解决后的地图如下,看看行不行。

如果不行就用第二个TXT的脚本文件替换该触发的脚本(就是“编辑”“转换为自定义脚本”)

5?6?6?━10.7.8.14.54.w3x

1.63 MB, 下载次数: 2

新建 文本文档 (2).txt

2 KB, 下载次数: 1

回复

使用道具 举报

发表于 2010-7-10 21:38:48 | 显示全部楼层
另外,说一下:刚刚把“敌对”错写为“同盟”了。。所以如果你下载的是我修改前的版本的话,你还需要重新下一次。。。sorry
回复

使用道具 举报

 楼主| 发表于 2010-7-10 22:26:32 | 显示全部楼层
呀,我想問,你給我的觸法有沒有事件,當我用別的觸法加事件的時候,他又出錯了
回复

使用道具 举报

发表于 2010-7-10 22:28:05 | 显示全部楼层
没有事件。。。。你的触发好像也没有啊。。。
不过,我的编辑器打开的时候它说“版本不同,可能会丢失某些触发”
所以如果我的触发解决了问题,那么你还是将“它们”复制到你的地图,而不要直接用那张图好了。
回复

使用道具 举报

发表于 2010-7-10 22:40:16 | 显示全部楼层
引用第48楼on9son于2010-07-10 22:26发表的  :
呀,我想問,你給我的觸法有沒有事件,當我用別的觸法加事件的時候,他又出錯了
额。。这个。。是改过的触发报错吗??
回复

使用道具 举报

 楼主| 发表于 2010-7-10 22:52:02 | 显示全部楼层
引用第49楼希瓦于2010-07-10 22:28发表的 :
没有事件。。。。你的触发好像也没有啊。。。
不过,我的编辑器打开的时候它说“版本不同,可能会丢失某些触发”
所以如果我的触发解决了问题,那么你还是将“它们”复制到你的地图,而不要直接用那张图好了。


我有問題呀,我可能說的不太清楚,你有不明白的我一定會答你

就是這樣的,如果在地圖開始時選unit加事件一定會有問題的,因為當有新unit出現的時候,他不在事件中,他就不會觸法到事件。
要怎加事件最好呢?
回复

使用道具 举报

发表于 2010-7-10 23:01:35 | 显示全部楼层
[trigger]
Init
    事件
        地图初始化
    条件
    动作
        单位组 - 选取 ((完整地图区域) 内的所有单位) 内所有单位做动作
            Loop - 动作
                触发器 - 为 XXXXXX   添加事件: (单位 - (选取单位) 接受伤害)
[/trigger]
[TRIGGER]
Spawn
    事件
        单位 - 单位进入 (完整地图区域)
    条件
    动作
        触发器 - 为 XXXXXX  添加事件: (单位 - (触发单位) 接受伤害)
[/trigger]
是这样吗、?
回复

使用道具 举报

 楼主| 发表于 2010-7-10 23:14:17 | 显示全部楼层
這樣,一個觸法會不會有幾個事件/有沒有問題的?
回复

使用道具 举报

发表于 2010-7-10 23:19:07 | 显示全部楼层
一个触发有几个相同事件当然会有问题。
但是这样写是不会有重复的事件的,也就是不会有问题。
回复

使用道具 举报

 楼主| 发表于 2010-7-10 23:24:31 | 显示全部楼层
第一個觸法事件
地圖初始化可不可以改成時候經過1秒?這樣的話讀取便不用太多時間了。
是不是任何傷害事件都可以這樣做?
回复

使用道具 举报

发表于 2010-7-10 23:25:52 | 显示全部楼层
如果你没有新单位在这一秒中创造出来就没问题。

其实为了读取更快,还有其他方法:
XX单位发动“靈氣效果”时
选取周围拥有“靈氣效果”同时不在XXX单位组(变量)中的“匹配单位”:
               将“选取单位”加入XXX单位组(变量) 中
               为XXXX触发添加事件:“选取单位”接受伤害
回复

使用道具 举报

 楼主| 发表于 2010-7-10 23:31:36 | 显示全部楼层
哦...明白,可不可能解釋一下這兩觸法有什麼用處,我不太明白,還有,一個觸法一個以上的事件是什麼回事/有何用途/怎樣用。
什麼叫使用“靈氣效果,你說的變量又是什麼?
又怎加單位到UNIT組中?
回复

使用道具 举报

发表于 2010-7-10 23:42:24 | 显示全部楼层
因为“魔兽地图编辑器”是没有“任意单位——接受伤害”事件的,只有“指定单位——接受伤害”(某一个单位)
所以,如果我们要在多个单位接受伤害时触发事件,我们就需要“动态注册”,也就是在游戏运行中将 产生的单位 加入该触发。
因此,第一个触发就是将地图上本来就有的单位加入该触发,第二个触发就是将新产生的单位加入该触发中。
这样,只要这些单位接受伤害就会触发“靈氣效果”。


至于“怎样加单位入单位组”,使用以下触发就可以了。
[trigger]
单位组 - 添加 (触发单位) 到 XXXXX单位组(用变量来放)
[/trigger]
回复

使用道具 举报

发表于 2010-7-10 23:51:54 | 显示全部楼层
可以参考一下这个:将单位对敌人造成的伤害转换为它的生命值。
http://bbs.islga.org/read-htm-ti ... AC%D7%A2%B2%E1.html
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 13:20 , Processed in 0.111614 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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