魔兽地图编辑器吧 关注:65,324贴子:3,840,757

分享-重置版-任意单位接受伤害实现

只看楼主收藏回复

核心是 单位 - 玩家单位 接受伤害 , GUI里面好像没有这项,EVENT_PLAYER_UNIT_DAMAGED是可以使用的
demo
事件
单位 - A unit owned by 玩家 1 (红色) 接受伤害 (好像没有接受伤害的选项,可能是我看错了)
条件
动作
游戏 - Display to (All players) the text: (String((Damage taken)))
下列例子就是 注册一个触发器 回显单位所受的伤害
function Trig_demo_Actions takes nothing returns nothing
call DisplayTextToForce( GetPlayersAll(), R2S(GetEventDamage()) )
endfunction
//===========================================================================
function InitTrig_demo takes nothing returns nothing
set gg_trg_demo = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_demo, Player(0), EVENT_PLAYER_UNIT_DAMAGED)
call TriggerAddAction( gg_trg_demo, function Trig_demo_Actions )
endfunction


IP属地:广东1楼2020-02-08 12:35回复


    IP属地:广东2楼2020-02-08 12:37
    收起回复
      2025-07-20 04:42:40
      广告
      楼主是没玩过1.29吗


      IP属地:江苏来自Android客户端3楼2020-02-08 12:40
      收起回复
        更正
        call TriggerRegisterAnyUnitEventBJ( gg_trg_DamagingEventSkill, EVENT_PLAYER_UNIT_DAMAGING) 实现任意单位造成伤害
        call TriggerRegisterAnyUnitEventBJ( gg_trg_DamagingEventSkill, EVENT_PLAYER_UNIT_DAMAGED) 实现任意单位受到伤害


        IP属地:广东5楼2020-02-08 14:45
        收起回复
          不会J能用吗


          6楼2020-02-08 16:03
          收起回复
            地图初始化的时候添加事件
            修改 gg_trg_触发器名称
            例子 实现的触发器名称为X , 因此 初始化的时候 就是 gg_trg_X
            =================================
            触发器
            名称 Melee Initialization
            事件
            Map initialization
            条件
            动作
            Custom script: call TriggerRegisterAnyUnitEventBJ( gg_trg_X, EVENT_PLAYER_UNIT_DAMAGED)
            =================================
            触发器
            名称 X
            事件
            条件
            动作
            游戏 - Display to (All players) the text: (String((Damage taken)))


            IP属地:广东7楼2020-02-08 16:29
            收起回复
              支持了,感谢tig


              IP属地:重庆8楼2020-02-08 16:40
              回复
                1.31版本就有人意单位受伤事件吧,不需要自己写的


                IP属地:江苏来自Android客户端9楼2020-02-08 17:13
                回复
                  2025-07-20 04:36:40
                  广告
                  感谢楼主


                  10楼2020-02-10 09:45
                  回复
                    楼主很乐意分享,ga也看到函数分享贴了


                    来自iPhone客户端11楼2020-02-10 11:32
                    回复
                      非常感谢楼主分享
                      function Trig_demo_Actions takes nothing returns nothing
                      call DisplayTextToForce( GetPlayersAll(), "伤害"+R2S(GetEventDamage()) )
                      endfunction
                      //===========================================================================//
                      function InitTrig_demo takes nothing returns nothing
                      local integer i=0
                      set gg_trg_demo = CreateTrigger( )
                      loop
                      call TriggerRegisterPlayerUnitEventSimple( gg_trg_demo, Player(i), EVENT_PLAYER_UNIT_DAMAGED)
                      set i=i+1
                      exitwhen i>=24
                      endloop
                      call TriggerAddAction( gg_trg_demo, function Trig_demo_Actions )
                      endfunction
                      我这么写,这个函数还需要排泄吗?


                      IP属地:山东12楼2020-02-13 08:59
                      收起回复
                        function TriggerRegisterPlayerUnitEventSimple takes trigger trig, player whichPlayer, playerunitevent whichEvent returns event
                        return TriggerRegisterPlayerUnitEvent(trig, whichPlayer, whichEvent, null)
                        endfunction
                        //===========================================================================
                        function TriggerRegisterAnyUnitEventBJ takes trigger trig, playerunitevent whichEvent returns nothing
                        local integer index
                        set index = 0
                        loop
                        call TriggerRegisterPlayerUnitEvent(trig, Player(index), whichEvent, null)
                        set index = index + 1
                        exitwhen index == bj_MAX_PLAYER_SLOTS
                        endloop
                        endfunction
                        作为一个JASS新手,我找了找函数表,好像差不多
                        就是不知道 TriggerRegisterPlayerUnitEventSimple 跟TriggerRegisterPlayerUnitEvent 有啥区别。
                        TriggerRegisterPlayerUnitEvent(trig, whichPlayer, whichEvent, null)传参最后的NULL是啥意思,没看懂


                        IP属地:山东13楼2020-02-13 14:27
                        收起回复
                          想做个群体按比例扣血的技能,用了献祭,不过重制版不会用任意伤害事件加伤害目标单位的这个组合,游戏总闪退,要么只能用回指定区域单位组这种笨方法了。


                          IP属地:山东来自iPhone客户端14楼2020-02-18 21:20
                          收起回复
                            请问去哪操作注册这些呢?。


                            IP属地:广东来自Android客户端15楼2020-11-06 00:45
                            回复