找回密码
 点一下
查看: 2767|回复: 8

[新手向演示教程]一个资源采集排行榜的演示地图。

[复制链接]
发表于 2010-9-16 09:57:48 | 显示全部楼层 |阅读模式
这个只是很新手级别演示,主要是为了解决sc20同学提的这个问题。

http://bbs.islga.org/read-htm-tid-45288.html

这里用的主要是SC2的排行榜。这东西和大致相当于war3的排行榜+多面板的组合。


这里简单地就这位sc20同学说的显示所有玩家的采矿进度条的效果做个演示。(下载在最下面)

Screenshot2010-09-16 09_17_17.jpg

下面是核心部分的触发:


Board Int
    Events
        Game - Map initialization
    Local Variables
        i = 1 <Integer>
    Conditions
    Actions
        Leaderboard - Create a leaderboard with 2 columns and 1 rows, with the name "Minerals", and using (100%, 100%, 100%) color.       //(创建一个排行榜,标题为Minerals,晶矿。总共2列,1列用来显示玩家名,2列用来显示采矿进度条。)
        Variable - Set LB = (Last created leaderboard)
        Leaderboard - Set the automatic player column for LB to column 1 (Do group by teams)        //(这个动作是用来和玩家插入排行榜一起用的。我们可以决定排行榜中的一列为玩家名,这样插入玩家的时候这一列就会自动显示玩家名。当然也可以直接用修改项目的动作来加入玩家名。这里只是演示一下这个动作的用途而已。)
        Leaderboard - Sort LB by column 2, in Descending order, with priority 1// (这里做了个自动排序效果,排序基准为第二列。也就是水晶的采集量。这样,在游戏进行过程中,玩家排行榜中的玩家就会不断改变位置,晶矿最多的玩家会排在第一列,之后按照晶矿数量轮流排列。)
        Leaderboard - Set width of 2 column in LB to 15.0 (% of the screen) //(我们将第二列的宽度写死为15%的屏幕宽度,为了更清晰地显示进度条。)
        Player Group - Pick each player in (Active Players) and do (Actions)
            Actions
                Leaderboard - Add player (Picked player) to LB    //(将每一个玩家都加入排行榜,由于上面我们定义了玩家名这列,所以这里插入的玩家会自动在第一列显示玩家名)
                Variable - Modify i: + 1
                Variable - Set RowID[(Picked player)] = i  // (i用来记录新插入的玩家的行号。注意,这个行号不会因为排行榜的排序而改变。如果玩家2在第2行,但是由于拥有最多的钱所以升到了第一位,那么这一行的行号其实还是2。)
                Leaderboard - Set LB item text color at column 1 and row i to (Color((Current player (Picked player) color)))  //(为了视觉效果,这里将玩家涂上玩家所属的颜色。)
                Leaderboard - Set LB item progress bar at column 2 and row i to range from 0.0 to 1000.0  //(我们将进度条上限设为1000。这个是随便你弄的。你动态更改也可以)
                Leaderboard - Set LB item icon at column 2 and row i to Assets\Textures\icon-mineral.dds, placing it on the Left side of the text          //   (在每个玩家的进度条左边显示晶矿的图标,这样看起来很明确这个进度条是表示晶矿采集量)
                Leaderboard - Set LB item progress bar color at column 2 and row i to (Color((Current player (Picked player) color))) for step 1  //(把进度条颜色改为玩家颜色,这个其实没什么必要,只是为了展示下这个修改进度条颜色动作的用法)
                Leaderboard - Show progress bar for LB item at column 2 and row i  //(为每一个玩家在第二列显示进度条,注意,如果没有这一条,进度条是不会显示出来的。)
        Leaderboard - Enable Sorted state for LB for (Active Players)  //(开启排行榜的排序状态。注意没有这一条动作的话,排行榜不会进行自动排序,就算你设定了排序依据列。)






[trigger]
Board Update
    Events
        Player - Player -1 Minerals changes  // (注意这个事件,这里我们用任何玩家的晶矿数量变更来作为刷新排行榜的事件。在SC2的脚本事件中,大部分场合下可以用-1来代表“任何玩家”,这样可以省去注册多个事件的麻烦。)
    Local Variables
    Conditions
    Actions
        Leaderboard - Set LB item text at column 2 and row RowID[(Triggering player)] to (Text((Player (Triggering player) Minerals)))  //(每次玩家的晶矿变更后,就更改这玩家所在行第二列的数字为该玩家当前的晶矿数量。注意这些字默认是显示在进度条的中间位置的。如果不写数字进度条也能显示,但是这样不直观,也失去排序依据了。注意这里的RowID之所以可以直接用是因为行号并不会因为排序变化而变更。)
        Leaderboard - Set LB item progress value at column 2 and row RowID[(Triggering player)] to (Real((Player (Triggering player) Minerals)))   //(一并更新进度条的进度)
[/trigger]  

LTBoard.SC2Map

1.53 MB, 下载次数: 82

发表于 2010-9-16 10:50:29 | 显示全部楼层
偶表示由于智商不足学习这东西会很吃力~因此在比较忙的近期无缘CS2编辑器了。。。。
回复

使用道具 举报

发表于 2010-9-16 14:16:34 | 显示全部楼层
太感动了快下来研究
回复

使用道具 举报

发表于 2010-9-17 00:38:15 | 显示全部楼层
引用第1楼达子于2010-09-16 10:50发表的 :
偶表示由于智商不足学习这东西会很吃力~因此在比较忙的近期无缘CS2编辑器了。。。。


不是智商的问题,建议去接触一些简单的编程语言,例如 VB、Delphi、C#,锻炼一下逻辑思维能力。
编辑器的触发器与事件,跟编程语言中的事件是有点相似的。
回复

使用道具 举报

发表于 2010-9-17 10:45:56 | 显示全部楼层
没激情.无动力
回复

使用道具 举报

发表于 2010-9-17 17:21:13 | 显示全部楼层
可以直接放电影么。
比如说水晶矿那里摆个投影幕布,然后放《地道战》。

SC2好方便!
-1万岁!
回复

使用道具 举报

发表于 2010-9-17 17:36:25 | 显示全部楼层
电影么,头目以前好像演示过...
回复

使用道具 举报

 楼主| 发表于 2010-9-17 17:38:50 | 显示全部楼层
放电影当然可以咯。
回复

使用道具 举报

发表于 2010-9-17 18:01:51 | 显示全部楼层
SC2对于音频方面和War3有哪些区别?
War3的音频完全不够用,我甚至不知道如何暂停……(硬要模拟太麻烦)

全类型制霸!除了FPS。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 19:39 , Processed in 0.048771 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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