找回密码
 点一下
查看: 1337|回复: 6

菜鸟求助,来帮我弄下好吗

[复制链接]
发表于 2011-3-13 23:13:32 | 显示全部楼层 |阅读模式
我弄的一个地图,她复活貌似出现了一个问题,玩家控制的2个单位,如果第一个死了,第2个也是了,第一死的复活时间直接变成第2个死的时间了,而且复活后只复活一个英雄另一个英雄就不复活了,求高手帮我修改下吧

ChengHai_3c_5[1].56-CREG-JTJ2.w3x

3.38 MB, 下载次数: 9

发表于 2011-3-14 06:44:38 | 显示全部楼层
那就针对两个英雄分别做触发呢,不设置变量。我是菜鸟团初级会员,更菜哈哈哈
回复

使用道具 举报

发表于 2011-3-14 07:43:29 | 显示全部楼层
表示打不开这图
回复

使用道具 举报

发表于 2011-3-14 08:27:36 | 显示全部楼层
搜索支持多人触发吧
回复

使用道具 举报

发表于 2011-3-14 14:07:46 | 显示全部楼层
回复

使用道具 举报

发表于 2011-3-16 10:33:25 | 显示全部楼层
计时器变量要用数组,通过玩家索引号达到目的.
回复

使用道具 举报

发表于 2011-3-18 01:16:46 | 显示全部楼层
12.jpg
hero resurrection.w3x (3.38 MB, 下载次数: 7)
引用第4楼希瓦于2011-03-14 14:07发表的 :
http://bbs.islga.org/read.php?ti ... =1&toread=1#tpc

麻烦希瓦大.帮忙看下...我写的这个成不成...


跟瓦哥学习.也来帮人做点力所能及的.
给你写了一下...
我写的是用局部变量....一般的情况,应该可以应付过去吧. 擦汗.自己也不是非常肯定.
也请高手指点.

不过我没有搞明白你里面的玩家同盟是谁跟谁,不过也不太重要.我设定的是 玩家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]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 16:04 , Processed in 0.136950 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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