 |
|
 |
|
| 星际RPG地图制作教程Z版(for 新手) |
| 【2006-9-21】 作者: |
| |
星际RPG地图制作教程 泽拉特(Zeratul0li)版 FOR 新手
作者 Zeratul0li
注: 文中很多资料来自中国RPG星际联盟 http://www2.scrpg.net/
§0 什么是星际RPG地图?
简单说星际RPG地图(即是UMS地图)和魔兽3RPG地图是同类的,不同于普通战役,游戏设定由作者改变增添了之后更加丰富,改变了以往的玩法.更加刺激新鲜~,RPG地图有作者设定的特殊玩法,比如类似青蛙过街的BOUND类RPG地图,或者真正的像仙剑那样的RPG地图...
注:星际RPG地图需要使用Use Map Sittings的GameType才能开启RPG模式.(在选择地图的界面那里)
§1 星际地图编辑器
做地图需要使用地图制作工具,正版的星际会包含暴雪提供的最初级地图编辑器StarEdit。另外还有高级的地图编辑器,有Emerald StarEdit(翡翠编辑器),StarCraft X-tra,Scmdraft2,StarForge等等,后文会介绍以上编辑器。
初学做地图的人最好先从原版的StarEdit开始学习,由于编辑器是英文版的,所以翻译软件不可少。不推荐使用汉化版StarEdit。 以下讲解以StarEdit的使用为主。
§2 基本的星际地图
一个基本的星际RPG地图必须包括这几样东西: 1:各个玩家的开始地点(Start Location,在游戏中不会显示,在地图编辑器中显示为一个十字外加圆圈),它是玩家一进游戏就看到的位置,也是普通地图中玩家的初始基地出现位置。通过Brush Palette可以找到Start Location,放置在合适地形就可以。
2:如果Player Sittings中设定了8个玩家中含有电脑(Control:Computer),那么必须在Forces选项卡中将Human玩家和Computer玩家分开,不能放在同一个Force框中。 3:触发(Triggers,可以简称trg),RPG地图如果没有触发,那么就不是RPG地图了.一个完整的RPG地图的触发一般包括玩家胜利、失败条件(比如StarEdit新建的地图会自动含有3个触发,其中一个失败触发是玩家控制的建筑数量小于等于0时失败),所以地图初始设置应该让玩家符合不失败的状态,不然一进入地图玩家就会输。 4:(这个不是必须包括,但是很有影响)在Player Sittings中,玩家的种族有4项:神,人,虫,玩家选择(User Selectabie)。如果选择了"玩家选择"一项,那么地图初始摆放的Units都不会在游戏中使用(就是被删了),而且在Start Location出现基地和4个农民。所以如果要使用地图摆放的Units,就要设定一个玩家种族(神,虫,人任何一个)。
星际地图编辑界面有很多东西,光是初始设定的Player Sittings,Forces就足够让新手头疼了。这里也不便详说,需要自己尝试才能弄清。 (借用别处的图,Player Sitting界面和Force界面)


§3 触发(Triggers,可以简称trg)的原理和使用方法 (初步)
触发是一个RPG地图的灵魂,任何RPG地图执行的后台动作都需要触发,比如在某个地点(Location,下文会解释)A创建XX个YY兵。触发就像一个开关,达到符合条件(执行条件)后就会执行设定的动作。一条触发分为3个部分: 1.执行玩家(player) 2.执行条件(Condition,该触发动作开始需满足的条件) 3.执行动作(Action,满足条件后执行的动作)
其中执行条件和执行动作是最难的,学好这2个以后,基本上做一个星际地图的基本技术就具备了。
这里有别人已经翻译好的星际地图执行条件,执行动作和层(Layer)的解释(节选,版式略有修改):
------------------------------------------------------------------------- 【Conditions(执行条件)说明】. 首先,我想大家明白,每当要设定和数字有关的Triggers时,都会遇见叁个额外设定,就是at least,at most和exactly.他们的意思分别是最少(多过或等如),最多(少过或等如)和相等.还有game seconds,正常游戏速度时每秒都是和实际时间相同的. 以下是Conditions的意思说明. 1.always-不须任何条件便执行Action,通常用来设定电脑ai和开始时的资源设定. 2.bring-和文字意思一样,当某pLayer带领某数量的单位到某地点时,便执行Action. 3.command-当拥有特定数量的单位时,便执行Action. 4.accumulate-当拥有特定数量的资源时,便执行Action. 5.countdown timer-当计时器倒数到特定时间时,便执行Action. 6.deaths-当玩家失去特定数量的单位时,便执行Action. 7.elapsed-当游戏开始後经过你所指定的时间,便执行Action. 8.kill-当玩家杀掉某数量的敌人或指定目标时,便执行Action. 9.never-这个和always相反,意思是永不执行你所指定的Action. 以上的Conditions,都是最常用到的,另外,你最好先弄懂location Layer的用法,才开始写Triggers.跟着来的部份是说明各Layer.各位要留意了.
【Layer(层)说明】 甚麽是Layer呢?就是编辑画面中的Layer工具,它是用来设定地图的地形,单位的配置和location的设定. 1.Terrain Layer:设定地形. 2.Dooded Layer:放置一些特别的装饰用的建建筑 (例如树木,斜坡,桥). 3.Unit Layer:放置或移去单位会用到. 4.location Layer:设定一个区域,每个location都有一个自己的名字. 需要配合Trig5.gers(应该是Trigger吧?--Zeratul0li)一起用的. ★重点. 6.Fog of war Layer:用来设定玩家一开始便可看到的地形. 以上的Layer使用方法很简单吧?下一部份会说明有关Action的设定,要留意了.
【Action(执行动作)说明】 Action就是当乎合条件Conditions,所作出的行动,设定Action和设定Condition一样,同样可以设定多个动作.图中所见的move up和move down是用来设定各行动的先後次序. 现在我替大家说明各Action的意思: center view-把画面移到你所指定的location. create Units-和字的意思一样,在指定的location中出现指定的单位. create Units with properties-和上面的一样,不过加入了出现单位的属性设定,例如生命值. defeat-任务失败. display text message-在画面上显示你所指定的文字,多用来提示玩者. draw-游戏以打和完结. give Units to Layer-在指定的location中,把某pLayer的部队送给某pLayer. kill Units-杀掉你所指定的单位. kill Units at location-在指定的location 杀掉你所指定的单位. minimap ping-在小地图上指示方位. modify Unit energy-修改你所指定的单位的能量值. modify Unit hangar count-修改你所指定的单位的载弹量(圣甲 ). modify Unit hit point-修改你所指定的单位的生命值. modify Unit resource amount-修改你所指定的资源的数量. modify Unit shield points-修改你所指定的单位的护盾值. move location-移动你所指定的location到某单位上. move Units-把指定的单位从一个地点传送到另一个地点. order-命令指定的单位进行移动,巡逻或进攻到目的location. pause-一看就知道吧? pause timer-把计时器停下来. play wav-播放音效,要在任务中加入音效,你需先执行sound file manager. preserve Trigger-重复执行这个Trigger. remove Unit-把指定的单位从任务中消失(和kill不同). run ai script-设定电脑的ai,我会在下部份再加说明. run ai script at location-设定电脑的ai,我会在下部份再加说明. set alliance status-修改同盟状态. set deaths-修改某单位的死亡数字,看上去这Action用途不大,不过它是用来和Conditions的deaths一起用的. set doodad state-用来控制门的开关时会用到. set invincibility-把某指定单位变成无敌. set mission objectives-修改任务目的指示. set next scenario-必须和draw,defeat和victory一起用,完成任务自动跳到下一个任务. set resources-修改玩家所持有的资源数量. talking portrait-显示单位的对话画面. transmission-和上面的Action一起用,显示单位所说的话及播放声音. unpause-pause的相反. unpause timer-pause timer的相反. victory-以胜利来完成任务. wait-通常放在Action与Action之间,替它们加入时间差. 注意,每1000milliseconds=1秒. 基本上的你明白以上Action的意思,便可以开始制作任务地图了,下一部份我会说明ai的设定.
【电脑AI设定】 即使你在地图配置了电脑单位,如果不替它们设定,它们都只会被动防守,不会作任何行动的.所以我们必须替它们设定行动. 要设定ai,便要在电脑玩家建立Trigger,Conditions须用always,及Action使用run at script. 现在说明各script的意思: ★1.run ai script: Send all Units on Strategic Suicide Missions:命令电脑所有部队进行攻击,进攻方法较醒目,直至所有人类玩家死去. Send all Units on Random Suicide Missions:和上面一样,但电脑进攻方法有点不同,只会狂攻. Switch Computer pLayer to Rescuable:使电玩变成Rescuable. ★2.run ai script at location: [Expansion] Custom Level:电脑会在你指定的location建立基地,扩张及进攻.(这script是假设电脑在游戏开始时是没有任何基地的) [Expansion] Campaign Easy:电脑会在你指定的location内的基地建设最基本的建 和军队,也会有少形进攻. [Expansion] Campaign Medium:电脑会在你指定的location内的基地建设大部份的建 和军队及进行研究,也会有中形进攻. [Expansion] Campaign Difficult:电脑会在你指定的location内的基地建设所有的建 和军队及进行研究,也会有大形进攻. Campaign Area Town:电脑会在你指定的location内的基地进行防守,但不会进攻. [Expansion] Campaign Insane:这个我都不明白.... Value this Area Higher:电脑会视你所指定的location为重要地区,会派兵到该location防守. Set pLayer To Enemy/Ally:没有甚麽用途的script,因为Action的set alliance status可做到相同效果. Enter Closest Bunker:命令location中的部队进入碉堡,就像下图那样. Enter Transport:命令location中的部队进入运输机. Exit Transport:命令location中的部队离开运输机. 注意:上面Enter closest bunker和enter transport, exit transport叁个script是可以用在人类玩家上的. 配合以上的script,便可以开始制作会动的电脑了 -------------------------------------------------------------------------
上面的资料很多吧?其实触发不难,弄懂上面得东西后就学得差不多了。星际RPG地图制作比编程序要简单多啦,但它是需要有耐力和恒心才能学好的哦。
【触发例子】 ◎触发效果:当Player 2的任何一个兵种走到Location B,那么Player 1在Location A创建5个Zealot,并且创建的Zealot向Location B攻击.。 ◎层(Layer)设定:在Location层状态下,在地图上设置合适的地点1,地点2,分别命名为Location 1,Location 2. ◎触发: 1.执行玩家(选中player 1) 2.执行条件 (切换到Conditions选项卡,点击New按钮,在弹出的对话框的下拉菜单中选择"BRING",之后在Condition Text框中出现 Player brings quantity units to 'location'.。 点击其中的蓝字修改,修改为:Player 2 brings at least 1 men to 'Location B'.) 3.执行动作 (切换到Actions选项卡,点击New按钮,在弹出的对话框的下拉菜单中选择"GREATE UNITS",点击蓝字修改为 Create 5 Protoss Zealot at 'Location A' for Player 1. 再点击New按钮,在弹出的对话框的下拉菜单中选择"ORDER",修改为Issue order to all men owned by Player 1 at 'Location A':Attack to 'Location B'.)
那么现在就动手设计自己的触发吧,只有自己不断尝试,失败,修改。。才会真正知道触发的用法。 |
|
| |
|
|
 |
|
 |
 |
暂时没有设置相关信息
|
 |
|
|