|
发表于 2011-3-18 01:16:46
|
显示全部楼层
hero resurrection.w3x
(3.38 MB, 下载次数: 7)
麻烦希瓦大.帮忙看下...我写的这个成不成...
跟瓦哥学习.也来帮人做点力所能及的.
给你写了一下...
我写的是用局部变量....一般的情况,应该可以应付过去吧. 擦汗.自己也不是非常肯定.
也请高手指点.
不过我没有搞明白你里面的玩家同盟是谁跟谁,不过也不太重要.我设定的是 玩家1的同盟英雄死后在 光明复活. 玩家6的同盟死后在 黑暗 复活
这个你可以自己改.
另外
单位死亡时 显示操纵的玩家和英雄称谓+英雄名字+凶手单位
单位复活时 显示同上...只是不显示凶手单位.
单位复活时恢复100%的魔法最大值...这个没有测试.不过应该没有问题吧.因为读图太慢了.现在又太晚了.明天还有事.
另外在你的地图上放置很多单位.....你自己删除一下吧.它们和地图中的T无关.都是复制过来的.
....突然想起在你地图里面还写了一个 初始化全局变量的T....你就删除掉吧...没有什么大碍.
不过我看你也不太会去优化这个地图吧....毕竟不是自己写的.里面的变量名字.看着.很不顺眼....
[jass]
function Trig_hero_fh_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function Trig_hero_fh_Actions takes nothing returns nothing
local timer kof97js = CreateTimer()
local timerdialog ko97cc
call DisplayTextToForce( GetPlayersAll(), ( GetPlayerName(GetTriggerPlayer()) + ( "的" + ( GetHeroProperName(GetTriggerUnit()) + ( GetUnitName(GetTriggerUnit()) + ( "阵亡了." + ( "杀死它的是" + GetUnitName(GetKillingUnitBJ()) ) ) ) ) ) ) )
call StartTimerBJ( kof97js, false, ( I2R(GetUnitLevel(GetTriggerUnit())) * 0.00 ) )
call CreateTimerDialogBJ( kof97js, ( GetUnitName(GetTriggerUnit()) + "复活时间" ) )
set ko97cc = GetLastCreatedTimerDialogBJ()
call TriggerSleepAction( ( I2R(GetUnitLevel(GetTriggerUnit())) * 0.00 ) )
call DestroyTimer( kof97js )
call DestroyTimerDialog(ko97cc)
set kof97js = null
set ko97cc =null
if ( not ( IsUnitAlly(GetTriggerUnit(), Player(0)) == false ) ) then
call ReviveHero( GetTriggerUnit(), GetRectCenterX(gg_rct_Light_Home), GetRectCenterY(gg_rct_Light_Home), true )
call DisplayTextToForce( GetPlayersAll(), ( GetPlayerName(GetTriggerPlayer()) + ( "的" + ( GetHeroProperName(GetTriggerUnit()) + ( GetUnitName(GetTriggerUnit()) + "已经复返战场!" ) ) ) ) )
call SetUnitState( GetTriggerUnit(), UNIT_STATE_MANA, GetUnitState(GetTriggerUnit(), UNIT_STATE_MAX_MANA) )
else
if ( not ( IsUnitAlly(GetTriggerUnit(), Player(5)) == false ) ) then
call ReviveHero( GetTriggerUnit(), GetRectCenterX(gg_rct_Dark_Home), GetRectCenterY(gg_rct_Dark_Home), true )
call DisplayTextToForce( GetPlayersAll(), ( GetPlayerName(GetTriggerPlayer()) + ( "的" + ( GetHeroProperName(GetTriggerUnit()) + ( GetUnitName(GetTriggerUnit()) + "已经复返战场!" ) ) ) ) )
call SetUnitState( GetTriggerUnit(), UNIT_STATE_MANA, GetUnitState(GetTriggerUnit(), UNIT_STATE_MAX_MANA) )
else
endif
endif
endfunction
//===========================================================================
function InitTrig_hero_fh takes nothing returns nothing
set gg_trg_hero_fh = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_hero_fh, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_hero_fh, Condition( function Trig_hero_fh_Conditions ) )
call TriggerAddAction( gg_trg_hero_fh, function Trig_hero_fh_Actions )
endfunction
[/jass] |
|