找回密码
 点一下
查看: 1717|回复: 12

哪位好心的帮我看看这代码错哪了[已OK~~,谢谢猪头哥帮忙查错]

[复制链接]
发表于 2009-1-22 23:28:57 | 显示全部楼层 |阅读模式
有N个错误.... 我找了好久了.....哭.....

[jass]function overfear takes nothing   returns nothing
      local integer playernumber = GetStoredInteger(udg_gc,I2S(H2I(GetEnumUnit())),"PlayerNumber")
      call UnitRemoveAbility( GetEnumUnit(), 'Atwa' )                    
      call SetUnitOwner( GetEnumUnit(), Player(playernumber), false )
endfunction

function overtime takes group fearedgroup returns nothing
      call TriggerSleepAction(4.00)
      call ForGroup(fearedgroup, function overfear )
endfunction

function StoreHarm takes nothing returns nothing
      local real harm = GetEventDamage()
      local real lastharm = GetStoredReal(udg_gc,I2S(H2I(GetTriggerUnit())),"harm")
      local integer playernumber = GetStoredInteger(udg_gc,I2S(H2I(GetTriggerUnit())),"PlayerNumber")
      set harm = harm + lastharm
      if (harm < GetStoredReal(udg_gc,"Fear","FearHarmMax")) then   
      call StoreReal(udg_gc,I2S(H2I(GetTriggerUnit())),"harm",harm)
      else
      call UnitRemoveAbility( GetTriggerUnit(), 'Atwa' )                    
      call SetUnitOwner( GetTriggerUnit(), Player(playernumber), false )
      endif
endfunction              

function IfUnitHasBuff takes nothing returns boolean
      return ( UnitHasBuffBJ(GetFilterUnit(), 'BNht') == true )
endfunction

function FearUnit takes nothing returns nothing
        local trigger FearedUnitHarm = CreateTrigger()
        local integer playernumber = GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit()))
        if ( GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit())) <= 5 )   then
           call SetUnitOwner( GetEnumUnit(), Player(0), false )
        
        endif   
        if (   GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit())) == 12 )   then
                    call   DoNothing()
        else   
        call SetUnitOwner( GetEnumUnit(), Player(11), false )
        endif
      call TriggerRegisterUnitEvent( FearedUnitHarm, GetEnumUnit(), EVENT_UNIT_DAMAGED )
      call TriggerAddAction( FearedUnitHarm, function StoreHarm )
      call UnitAddAbility( GetEnumUnit(), 'Atwa' )
      call StoreInteger(udg_gc,I2S(H2I(GetEnumUnit())), "PlayerNumber" , playernumber)
endfunction

function FearedGroup takes nothing returns nothing
      local real fearharmmax = I2R(GetUnitAbilityLevel(GetTriggerUnit(), 'ANht'))
      local location point = GetUnitLoc(GetTriggerUnit())
      local group fearedgroup = CreateGroup()
      set fearharmmax = fearharmmax * 55
      call StoreReal(udg_gc,"fear","fearharmmax",fearharmmax)      
      call TriggerSleepAction(0.01)
      call ForGroup( GroupEnumUnitsInRangeOfLoc(fearedgroup, point, 375, Condition(function IfUnitHasBuff)),function FearUnit)
      call overtime(fearedgroup)
endfunction
//===========================================================================
function InitTrig_fear takes nothing returns nothing
      set gg_trg_fear = CreateTrigger(   )
      call TriggerRegisterAnyUnitEventBJ( gg_trg_fear, EVENT_PLAYER_UNIT_SPELL_FINISH )
      call TriggerAddAction( gg_trg_fear, function FearedGroup )
endfunction [/jass]

改了N-1个错误
 楼主| 发表于 2009-1-22 23:33:30 | 显示全部楼层
斑竹帮帮我啊....
回复

使用道具 举报

发表于 2009-1-22 23:35:00 | 显示全部楼层
第一句读取缓存就有错
回复

使用道具 举报

 楼主| 发表于 2009-1-22 23:36:35 | 显示全部楼层
怎么改..
回复

使用道具 举报

发表于 2009-1-22 23:37:04 | 显示全部楼层
你自己数数参数吧,参数个数都不对
回复

使用道具 举报

 楼主| 发表于 2009-1-22 23:41:09 | 显示全部楼层
[jass] local integer playernumber = GetStoredInteger(udg_GC,I2S(H2I(GetEnumUnit())),"PlayerNumber")[/jass]  那还有其他错误的呢
回复

使用道具 举报

发表于 2009-1-22 23:44:04 | 显示全部楼层
下面还有一个一模一样的

话说,你在WE里编译,不是会报出错误的么
回复

使用道具 举报

 楼主| 发表于 2009-1-22 23:47:33 | 显示全部楼层
WE说的好奇怪 一说一大堆 我只能改个大概 已经改了很多了...

还有剩下的 也帮忙找找吧...
回复

使用道具 举报

 楼主| 发表于 2009-1-22 23:54:53 | 显示全部楼层
拜托!..
回复

使用道具 举报

发表于 2009-1-23 00:14:14 | 显示全部楼层
udg_GC大小写不分
FearGroup中ForGroupBJ函数完全不对,连group参数都没有
回复

使用道具 举报

 楼主| 发表于 2009-1-23 10:05:37 | 显示全部楼层
我写的错误...很搞笑对吧
回复

使用道具 举报

 楼主| 发表于 2009-1-23 10:30:59 | 显示全部楼层
还剩下一个错误

[jass]call ForGroup( GroupEnumUnitsInRangeOfLoc(fearedgroup, point, 375, Condition(function IfUnitHasBuff)),function FearUnit)
      call overtime(fearedgroup)[/jass]

这一句显示:无效的变量类型(void)

怎么改捏
回复

使用道具 举报

发表于 2009-1-23 14:58:05 | 显示全部楼层
这个就是我前面提到的了

因为GroupEnumUnitsXXX返回的根本不是group而是什么都不返回
这里分开做吧,先call GroupEnumXX,然后调用ForGroup
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 09:49 , Processed in 0.039616 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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