找回密码
 点一下
查看: 1198|回复: 16

烤人BUG~

[复制链接]
发表于 2010-2-4 21:39:53 | 显示全部楼层 |阅读模式
我以
[
复活骷髅]
这个技能为模板做了个类似
[
烤肉]
的技能:当单位释放
[烤肉]
技能时,召唤空的单位,并用触发创建一个物品烤肉在施法单位的位置。
问题来了,假设A拥有这个
[烤肉]
技能并开始施放,同时B单位正在使用
[得到尸体]
这个技能,诡异的事情就发生了:B单位就消失了,接着魔兽崩溃,各位有啥好办法避免这种情况么。
发表于 2010-2-4 21:46:01 | 显示全部楼层
引用楼主八不戒于2010-02-04 21:39发表的 烤人BUG~ :
我以
[
复活骷髅]
这个技能为模板做了个类似
[
烤肉]
的技能:当单位释放
[烤肉]
技能时,召唤空的单位,并用触发创建一个物品烤肉在施法单位的位置。
问题来了,假设A拥有这个
[烤肉]
技能并开始施放,同时B单位正在使用
[得到尸体]
这个技能,诡异的事情就发生了:B单位就消失了,接着魔兽崩溃,各位有啥好办法避免这种情况么。

从问题描述来看,貌似是复活骷髅和得到尸体这两个War3技能的冲突。LZ可以把具体情况详细说一下,或者贴上触发。
回复

使用道具 举报

 楼主| 发表于 2010-2-4 21:49:15 | 显示全部楼层
function Trig_KAOROU_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A02D' ) ) then
        return false
    endif
    if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'h00E' ) ) then
        return false
    endif
    return true
endfunction

function Trig_KAOROU_Actions takes nothing returns nothing
    local location kaorouloc = GetUnitLoc(GetTriggerUnit())
    call CreateItemLoc( 'I00N', kaorouloc  )
    call RemoveLocation(kaorouloc)
    set kaorouloc = null
endfunction

//===========================================================================
function InitTrig_KAOROU takes nothing returns nothing
    set gg_trg_KAOROU = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_KAOROU, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_KAOROU, Condition( function Trig_KAOROU_Conditions ) )
    call TriggerAddAction( gg_trg_KAOROU, function Trig_KAOROU_Actions )
endfunction
回复

使用道具 举报

 楼主| 发表于 2010-2-4 21:49:59 | 显示全部楼层
就这么一段 产生烤肉的物品。

英雄身上的技能。

英雄身上的技能。

篝火身上的技能。

篝火身上的技能。
回复

使用道具 举报

发表于 2010-2-4 21:52:22 | 显示全部楼层
引用第3楼八不戒于2010-02-04 21:49发表的  :
就这么一段 产生烤肉的物品。
你可以试试看默认War3的复活骷髅+得到尸体的效果会不会产生崩溃。
回复

使用道具 举报

 楼主| 发表于 2010-2-4 21:58:24 | 显示全部楼层
如果有冲突 咋个避免列。。
回复

使用道具 举报

发表于 2010-2-4 22:03:54 | 显示全部楼层
引用第5楼八不戒于2010-02-04 21:58发表的  :
如果有冲突 咋个避免列。。
嗯……貌似没有冲突呢。
我的测试图你看看吧。

Dead.w3x

17 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2010-2-4 22:06:29 | 显示全部楼层
我也测试了,好象真是不冲突,那到底问题出在哪。。
回复

使用道具 举报

发表于 2010-2-4 22:07:28 | 显示全部楼层
烤肉

得到尸体
的技能设置呢?
比如目标允许什么的。
回复

使用道具 举报

发表于 2010-2-4 22:08:18 | 显示全部楼层
引用第9楼寂寞的季节于2010-02-04 22:07发表的  :
等价物的问题?
这年头没有人会用等价物的。
再说这问题基本和科技等价物无关……
科技等价物循环嵌套的表现为:只要涉及到此等价物的时候,War3直接崩溃。
好吧……关于科技等价物这只是某个极端无聊的人写的东西,LZ基本可以无视掉。
回复

使用道具 举报

 楼主| 发表于 2010-2-4 22:08:39 | 显示全部楼层
我可能改了点技能设置,我把技能复制到测试图试下。
回复

使用道具 举报

 楼主| 发表于 2010-2-4 22:23:05 | 显示全部楼层
看我2楼给的图,里面有保持原位这个技能 不过顺序不一样,不知道有没影响。是4楼~还是找不到问题。。
回复

使用道具 举报

 楼主| 发表于 2010-2-4 23:39:36 | 显示全部楼层
我看了两遍BUG录象,那个英雄第一次装了具尸体,篝火没自动烤,装第2具尸体,然后篝火自动烤,人就没了,接着几秒后就报错。
回复

使用道具 举报

发表于 2010-2-5 06:22:09 | 显示全部楼层
引用第14楼八不戒于2010-02-04 23:39发表的  :
我看了两遍BUG录象,那个英雄第一次装了具尸体,篝火没自动烤,装第2具尸体,然后篝火自动烤,人就没了,接着几秒后就报错。
经过测试之后发现:
你必须添加一个绞肉车的“卸载尸体”才可以。
这是为什么呢?
因为烤肉是可以对你装载的尸体使用的。
但是~这尸体必须先卸载下来,才可以释放复活骷髅(你在我的测试图里,让车子装载所有尸体,然后让巫师复活骷髅,你就会发现车子先让尸体卸载下来,然后巫师再释放技能)。
而你的图里却没有卸载尸体,于是就悲剧啦~

当然啦~如果你不想在平常的时候显示卸载尸体,你可以在巫师准备释放技能的时候为车子添加卸载尸体技能,而开始释放技能的时候把卸载尸体删除即可(在我的测试图里有)。

Dead.w3x

18 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2010-2-5 07:44:44 | 显示全部楼层
疑问:没有卸载尸体也可以把尸体卸载下来。
也就是说,如果没卸载尸体 就会有几率出现BUG?几率为100%么?
PS:卸载尸体在没尸体时就已经是不显示的了。。
回复

使用道具 举报

发表于 2010-2-5 09:04:14 | 显示全部楼层
引用第16楼八不戒于2010-02-05 07:44发表的  :
疑问:没有卸载尸体也可以把尸体卸载下来。
也就是说,如果没卸载尸体 就会有几率出现BUG?几率为100%么?
PS:卸载尸体在没尸体时就已经是不显示的了。。
好吧……实际上我在测试图里没试过LZ的情况……
回复

使用道具 举报

发表于 2010-2-5 11:38:51 | 显示全部楼层
经过测试发现即便是不加卸载尸体也可以……
我那个演示误导人了……
Sorry。
把那两个触发禁用掉,貌似无事还是可以招东西的。
我再仔细看看……郁闷了……
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 20:57 , Processed in 0.155203 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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