找回密码
 点一下
查看: 1516|回复: 20

英雄开场宝物如何设定?

[复制链接]
发表于 2011-5-17 07:36:17 | 显示全部楼层 |阅读模式
RT,比如对战的时候首发英雄身上会带有个回城卷,如何设置这个宝物?求解,跪谢!
发表于 2011-5-17 07:45:50 | 显示全部楼层
你随便打开一张普通对战地图,看看它的触发,其中有一个是为首发英雄添加一个回程卷轴。伸手前动动脑先啊
回复

使用道具 举报

 楼主| 发表于 2011-5-17 08:23:49 | 显示全部楼层
请教,是哪个?请说清楚点。
Snap25.jpg
回复

使用道具 举报

发表于 2011-5-17 08:55:19 | 显示全部楼层
双击你要加东系的英雄    然后就能看到英雄的物品栏,选东系就能加了
回复

使用道具 举报

发表于 2011-5-17 08:55:38 | 显示全部楼层
Give trained Heroes a Scroll of Town Portal (for all players)
这种自己简单翻译下不就知道了么,又不是什么很难的英文,连个冷僻词都没的
回复

使用道具 举报

 楼主| 发表于 2011-5-17 09:19:13 | 显示全部楼层
就不能说详细点吗?所谓会者不难难者不会!
如果要使首发英雄带有回城和另一样东西怎么弄。请详细点,只想显示自己不想帮助别人的就不要回复了!谢谢
回复

使用道具 举报

发表于 2011-5-17 09:43:49 | 显示全部楼层
点击英雄  再按空格  就会出现物品栏  添加物品就行  不用那么麻烦
回复

使用道具 举报

发表于 2011-5-17 09:52:08 | 显示全部楼层
看懂没?
QQ截图未命名.png
回复

使用道具 举报

发表于 2011-5-17 09:53:17 | 显示全部楼层
就像这样  添加
爱我的.png
回复

使用道具 举报

发表于 2011-5-17 10:04:11 | 显示全部楼层
    触发上是第二条哦

          不过 = =  换个 Ui 吧
回复

使用道具 举报

发表于 2011-5-17 10:06:46 | 显示全部楼层
不鸟我!!!  我也不鸟你了!!
回复

使用道具 举报

发表于 2011-5-17 10:38:39 | 显示全部楼层
你去下个WE汉化补丁,自己看看那几条触发,你就知道自己问的问题有多么呆。如果你连下补丁也不会,把英文复制到谷歌在线翻译你做得到吧,翻译后的汉字你总看得懂吧?不是说什么想显示自己,是你根本什么都不做就上来伸手,像你这种态度在AG真的没什么人乐意帮助你
回复

使用道具 举报

发表于 2011-5-17 10:50:59 | 显示全部楼层
引用第8楼zhf1211671513于2011-05-17 09:53发表的  :
就像这样  添加
这样做只每次只能添加在一个英雄身上,不知要弄到什么时候,所以还是触发方便
回复

使用道具 举报

发表于 2011-5-17 10:55:15 | 显示全部楼层
哈哈哈,原来不够详细啊,那么弄得详细些?

[codes=jass]//***************************************************************************
//*
//*  Melee Template Granted Hero Items
//*
//***************************************************************************

//===========================================================================
function MeleeTrainedUnitIsHeroBJFilter takes nothing returns boolean
    return IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO)
endfunction

//===========================================================================
// The first N heroes trained or hired for each player start off with a
// standard set of items.  This is currently:
//   - 1x Scroll of Town Portal
//
function MeleeGrantItemsToHero takes unit whichUnit returns nothing
    local integer owner   = GetPlayerId(GetOwningPlayer(whichUnit))

    // If we haven't twinked N heroes for this player yet, twink away.
    if (bj_meleeTwinkedHeroes[owner] < bj_MELEE_MAX_TWINKED_HEROES) then
        call UnitAddItemById(whichUnit, 'stwp')
        set bj_meleeTwinkedHeroes[owner] = bj_meleeTwinkedHeroes[owner] + 1
    endif
endfunction

//===========================================================================
function MeleeGrantItemsToTrainedHero takes nothing returns nothing
    call MeleeGrantItemsToHero(GetTrainedUnit())
endfunction

//===========================================================================
function MeleeGrantItemsToHiredHero takes nothing returns nothing
    call MeleeGrantItemsToHero(GetSoldUnit())
endfunction

//===========================================================================
function MeleeGrantHeroItems takes nothing returns nothing
    local integer index
    local trigger trig

    // Initialize the twinked hero counts.
    set index = 0
    loop
        set bj_meleeTwinkedHeroes[index] = 0

        set index = index + 1
        exitwhen index == bj_MAX_PLAYER_SLOTS
    endloop

    // Register for an event whenever a hero is trained, so that we can give
    // him/her their starting items.
    set index = 0
    loop
        set trig = CreateTrigger()
        call TriggerRegisterPlayerUnitEvent(trig, Player(index), EVENT_PLAYER_UNIT_TRAIN_FINISH, filterMeleeTrainedUnitIsHeroBJ)
        call TriggerAddAction(trig, function MeleeGrantItemsToTrainedHero)

        set index = index + 1
        exitwhen index == bj_MAX_PLAYERS
    endloop

    // Register for an event whenever a neutral hero is hired, so that we
    // can give him/her their starting items.
    set trig = CreateTrigger()
    call TriggerRegisterPlayerUnitEvent(trig, Player(PLAYER_NEUTRAL_PASSIVE), EVENT_PLAYER_UNIT_SELL, filterMeleeTrainedUnitIsHeroBJ)
    call TriggerAddAction(trig, function MeleeGrantItemsToHiredHero)

    // Flag that we are giving starting items to heroes, so that the melee
    // starting units code can create them as necessary.
    set bj_meleeGrantHeroItems = true
endfunction[/codes]

以上是主干部分,简单的说就是注册两种类型的触发事件,一个是玩家训练英雄,另一个是中立玩家出售英雄
下面是涉及到的一下相关变量

[codes=jass]
constant integer   bj_MELEE_MAX_TWINKED_HEROES_V0   = 3
constant integer   bj_MELEE_MAX_TWINKED_HEROES_V1   = 1
integer            bj_MELEE_MAX_TWINKED_HEROES = 0

set v = VersionGet()
    if (v == VERSION_REIGN_OF_CHAOS) then
        set bj_MELEE_MAX_TWINKED_HEROES = bj_MELEE_MAX_TWINKED_HEROES_V0
    else
        set bj_MELEE_MAX_TWINKED_HEROES = bj_MELEE_MAX_TWINKED_HEROES_V1
    endif

integer array      bj_meleeTwinkedHeroes
[/codes]
这个呢,简单的说就是要塞东西的英雄数量,对于混乱之治是3,对于冰封王座是1,以及记录每个玩家已经训练或者买了的英雄数量的数组

[codes=jass]constant integer   bj_MAX_PLAYERS                   =  12
constant integer   bj_MAX_PLAYER_SLOTS              =  16[/codes]
最大玩家数量,区别是前者不包含中立的那4个

[codes=jass]boolexpr           filterMeleeTrainedUnitIsHeroBJ    = null

set filterMeleeTrainedUnitIsHeroBJ = Filter(function MeleeTrainedUnitIsHeroBJFilter)[/codes]
判断条件的变量,判断训练/买出来的是不是英雄

以上是和这个触发动作相关的bj代码了,那个触发动作本身调用的是MeleeGrantHeroItems函数,最终实际起到给物品的是MeleeGrantItemsToHero这个函数,‘stwp’这个就是回城卷轴的物品id,要自定义的话,删掉这条触发动作,然后重写上面主干部分的那些函数并调用就可以了,是不是够详细了呢
回复

使用道具 举报

 楼主| 发表于 2011-5-17 17:11:31 | 显示全部楼层
引用第11楼843161060于2011-05-17 10:38发表的  :
你去下个WE汉化补丁,自己看看那几条触发,你就知道自己问的问题有多么呆。如果你连下补丁也不会,把英文复制到谷歌在线翻译你做得到吧,翻译后的汉字你总看得懂吧?不是说什么想显示自己,是你根本什么都不做就上来伸手,像你这种态度在AG真的没什么人乐意帮助你    
我是求教,又不是让你帮做,怎么能教伸手要呢,你就是那种典型想显示自己又不想自己太麻烦。说话不要老把AG挂嘴边,你又不是版主,你代表不了AG.等你做版主的时候我发誓绝对不看你的网页,我着个题目也不需要你帮忙,请你自重,见过很懂高手都不会像你这么狂,就是个半瓶醋才摇得叮铛响!
回复

使用道具 举报

 楼主| 发表于 2011-5-17 17:12:43 | 显示全部楼层
引用第10楼zhf1211671513于2011-05-17 10:06发表的  :
不鸟我!!!  我也不鸟你了!!  
谢谢你的帮助,但是英雄还没造出来的,怎么点空格啊???
回复

使用道具 举报

发表于 2011-5-17 17:34:46 | 显示全部楼层
回复

使用道具 举报

发表于 2011-5-17 17:42:08 | 显示全部楼层
[trigger]对战初始化
    事件
        地图初始化
    条件
    动作
        对战游戏 - 使用对战昼夜设置
        对战游戏 - 使用对战英雄设置
        对战游戏 - 给首发英雄一个回城卷轴
        对战游戏 - 设置初始资源
        对战游戏 - 删除已使用开始点附近的中立生物
        对战游戏 - 创建对战初始单位
        对战游戏 - 对电脑玩家运行对战AI脚本
        对战游戏 - 强制使用对战胜利/失败条件
[/trigger]
        对战游戏 - 给首发英雄一个回城卷轴
删掉这句就可以删掉TP
        要添加其他物品就没这么简单了,你可以:
[trigger]对战初始化
    事件
        单位 - 单位进入 (完整地图区域)
    条件
        ((触发单位) 是 英雄) 等于 TRUE
    动作
        英雄 - 创建 国王之冠 +5 给 (触发单位)
[/trigger]
回复

使用道具 举报

 楼主| 发表于 2011-5-17 18:10:52 | 显示全部楼层
谢谢   希瓦 ,终于明白了  ,谢谢 !
回复

使用道具 举报

发表于 2011-5-17 19:02:34 | 显示全部楼层
用希瓦的方法的话建议将是否为镜像也判断一下
不然每次用镜像都出现多个物品就麻烦咯

好吧,其实上面说的只是为了下面的话:
话说AG是什么?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 13:30 , Processed in 0.052456 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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