当前位置:千优问>常见问答>星际争霸地图编辑器的触发器怎么用啊?

星际争霸地图编辑器的触发器怎么用啊?

2022-12-15 00:18:18 编辑:join 浏览量:589

星际争霸地图编辑器的触发器怎么用啊?

星际争霸地图编辑器的触发器怎么用啊?

Trigger(触发器)教程  (一)什么是Trigger  Trigger是触发器的英文,触发器就是“使某个对象在满足一定条件的时候自动触发一系列行动“的东东  打个比方:就把阴天下雨当成一个Trigger  这里面的乌云就是对象(Players)  空气温度就是触发条件(Conditions)  下雨就是行动(Actions)  当空气到了一定低的温度的时候,乌云中的水蒸气变成了水,因为太重所以就落下来了,这就是阴天下雨的过程,而触发器就是这么个原理!很简单吧!  (二)Trigger的三元素(这是我为了方便记忆随便取的名字,你不喜欢可以叫它别的)  一个完整的Triggers包括三方面Players Conditions Actions,这三样缺一不可  (1)Players (对象)  (在Trigger编辑栏中单击New...创建一个新的Trigger,首先要输入的就是Players)  Trigger所说的Players可以是单个的Player也可以是多个Player所组成的Force  在Trigger中可选的Players一共有13个:  ①Player * (*是1-8任意)  ②Force * (*是1-4任意)  ③All Players  PS:  这里的13个Player只是Trigger中第一个元素Players可以选择的  在Condition和Action中还有其它的Player可选,在以后讨论  在Force选项中如果更改Force 1-4的名称的话,在Trigger中也随之改变  (2)Conditions (条件)  (从字面直接翻译就知道是条件,它是一个完整的Trigger里面第二个元素,新建一个Trigger,选定Players之后单击下一步就该选择Conditions)了  在Trigger中可选的Conditions一共有22个  因为在经典教程里面有所有的Conditions介绍,我这里就不说了,我举个例子来简单讲解一下  (经典教程:http://cat.cpgl.net/pages/6scrpg.htm)  例1:  Players选择All players  完整的Triggers如下:  CONDITIONS:  - Always:  ACTIONS:  - Center view for current player at ’’Start’’.  这个例子中的Conditions是Always命令  Always的意思是“总是“,用在Trigger里面就是“无论怎样都执行此Trigger的Actions“  所以测试地图的时候就会在游戏刚开始就能执行此Trigger  PS:  在讲Players的时候提到了Conditions和Actions中可选的Player  在一些Conditions和Actions中要设置Player参数  可是在选择的时候你会发现这里面的Player参数会比较多  例如在Bring这个Conditions中可选的Player参数就不只13个  还有另外5个:  ①Current player  ②Foes  ③Allies  ④Neutral players  ⑤Non Allied Victory Players  Current player:  翻译过来是“当前玩家“  如果第一元素Players选择的是Player 1,那么在Conditions和Actions中选择Current Player和选择Player 1是一样的  (※以下为重点内容※)  如果第一元素Players选择的是Force 1,并且Force 1中包括2个或者2个以上的Players的话,那么在Conditions和Actions中选择Current Player的时候可要注意了  假设这里的Force 1中含有Player 1和Player 2 两个  在Conditions中选择Current Player的话就相当于这个Trigger分别以Player 1和Player 2为第一元素做了2个Trigger,节省一个Trigger  在Conditions中选择Force 1的话就完全不同了,相当于这个Trigger以Player 1或Player 2位第一元素做了1个Trigger,此Trigger不含有节省不节省的关系  细心的朋友会注意到上面讲的是数学中常见的逻辑问题“和“ “或“的区别  而且这么讲也太抽象,有的人不一定能接受,我还是举个例子说明吧  和刚才假设的一样Force 1中只含有Player 1和Player 2  第一元素选择Force 1  完整的Trigger如下:  CONDITIONS:  - Current player brings at least 1 Zerg Drone to ’’Create’’.  ACTIONS:  - Create 1 Zerg Zergling at ’’Create’’ for Current player.  写了这一个Trigger相当于写了两个类似的Trigger  第一元素是Player 1的  CONDITIONS:  - Player 1 brings at least 1 Zerg Drone to ’’Create’’.  ACTIONS:  - Create 1 Zerg Zergling at ’’Create’’ for Player 1.  和  第一元素是Player 2的  CONDITIONS:  - Player 2 brings at least 1 Zerg Drone to ’’Create’’.  ACTIONS:  - Create 1 Zerg Zergling at ’’Create’’ for Player 2.  意思是:  当Player 1的一个Drone走到’’Create’’这个地方的时候 在’’Create’’这个地方创造一个Zergling给Player 1  当Player 2的一个Drone走到’’Create’’这个地方的时候 在’’Create’’这个地方创造一个Zergling给Player 2  这样的Trigger如果8个人的话就要写8次,但是合理的使用Current Player的话写一次就可以,所以说节省Trigger  接下来该说不用Current Player而用Force 1有什么不一样了  第一元素还是Force 1  完整的Trigger如下:  CONDITIONS:  - Force 1 brings at least 1 Zerg Drone to ’’Create’’.  ACTIONS:  - Create 1 Zerg Zergling at ’’Create’’ for Force 1.  意思是Force 1中的任何一个Player的Drone走到’’Create’’这个地方的时候 在’’Create’’这个地方给Force 1中的每一个Player 创造一个Zergling  是不是截然不同啊! 希望新手们多多注意呀  (3)Actions (行动)  (完整的Trigger中最后一个环节,正确的写好一个Conditions,单击完成下一步就该选择Actions了)  Actions可以说是Trigger中的重头戏  为什么这么说呢?  先看数量!  Actions一共有57个!  Conditions和Players加起来也没它多  另外还有2个特殊的Actions  那就是Run AI Script 和Run AI Script at location  这就是被人传颂的AI 建议初学者先不要学这里  这样就剩下55个Actions了  希望初学者认真观看经典教程的Trigger触发器部分  (我再贴一次地址http://cat.cpgl.net/pages/6scrpg.htm)  了解了Actions的重要之后就该知道Actions是什么  Actions直接翻译就是行动 作用的意思  在星际中体现为 给某个player加点水晶呀 杀死某个单位呀……  结束语:  本讲大概的讲解一下什么是Trigger 和Trigger的三要素  如何灵活运用触发不是看看教程就能明白的,希望新手们多多实践  每个Players Conditions Actions都拿出来做成一个完整的Trigger  在星际中测试一下,如此反复实践,才能记住每个语句的真正意思  (在经典教程中的Trigger部分虽然每个Conditions和Actions都解释了一次,但那只是字面理解,而且也有少许错误,新手们只要参考就行,不要完全当成绝对正确)  相信大家应该玩过星际的 RPG 地图,也见到那里的角色是会变身的。如果你觉得这很神奇,又想掌握这种板机,就莫错过这篇文章!  首先,要掌握几个简单的板机:Condition 部分:  1.Score  Actions 部分:  1.Move location  2.Kill unit at location 或是 Remove unit at location  3.Create units  4.Leader Board ( Points )  然后(这里制作一个,其他的你们想想就会作),作一个位置就叫“ P1 ”,再作一个就叫“ Fighter ”,还要一个 Terran 的平民,接着做个板机:  Players :  - Player1  Conditions :  - Player1 brings last 1 Civilian to “ Fighter ”  Actions :  - Remove all Civilian for player 1 at “ Fighter ”  - Create 1 Zergling at “ Fighter ” for Player1  战士出来了。可是星际的事件是离不开 Location 的,一定要在指定位置才会发生事件,但是升级的事是说不定在哪的!所以就要把 Location 沾到主角身上。这也是最重要的步骤。  Player :  - Player1  Conditions :  - Always  Actions :  - Center location labeled “ P1 ” on Zergling (我挑的战士) owned by Player1 at “ Anywhere ”(这就是 Move location 的那个板机)  - Preserve trigger  好!位置沾上去了。这里有几点注意:为什么在 Anywhere (红色的字那里)?当然不一定的!如果把地图分开几部分升级地域的话,比如你想把主角在不同的迷宫修炼就专职为不同的人物,那就把各个迷宫都画上 Location ,再多画个拿来贴的位置,然后就照搬上去就是了!呵呵!  为什么要加 Preserve trigger ? 因为主角是不断走动的,所以用它来使 location “沾”到主角身上!呵呵!  好了,怎么计算 EXP ?怎么让主角专职?  首先让玩家看看自己已经得到的 EXP:  Player:  - Player1  Conditions :  - Always  Actions :  - Show leader Board for most Kill and Razings .Display lable : “ Exp ” 〔 Leader Board ( Points )〕  这样,在游戏时便可在屏幕的左上方看到各玩家的 Exp 。 Exp 这个词当然喜欢改什么都可以! Kill and Razings 是计分项目的一种,也就是说你可以选别的,但是 Kill and Razings 最适合做我们一般的 RPG 地图,当然杀死单位的 Exp 是根据 StarCraft 自身固有的给分规则来定,或许除了用 StarDraft 外,是没法改的。  好!到升级部分了! Score 有用了!  Player :  - Player1  Conditions :  - Player1 Kill and Razings score at least 1200 .( 这就是 Score 板机)  Actions :  - Remove all Zergling for player 1 at “ P1 ”〔当然,为了有不同效果可以适当选择 Kill Unit at location 〕  - Create 1 Devouring One ( Zergling ) at “ P1 ” for Player1  呵呵!一个进化的板机好啦!当然那个 1200 可以因应需要而作出合理的变动,以使游戏玩起来不会太难,或是太易。  但是一个升级总是不那么好,太普通了。可以结合 Switch 多作出几个升级来!或是加上一些恢复生命值的板机,做法几乎一样!看……  Player :  - Player1  Conditions :  - Player1 Kill and Razings score at least 1200 .  Actions :  - Remove all Zergling for player 1 at “ P1 ”  - Create 1 Devouring One ( Zergling ) at “ P1 ” for Player1  - Set “ Level2 ”  但是这时又要把 -P1- 沾到 Devouring One ( Zergling )上了……  Player :  - Player1  Conditions :  - Always  - “ Level2 ” is set  Actions :  - Center location labeled “ P1 ” on Devouring One ( Zergling )(我的战士升级了) owned by Player1 at “ Anywhere ”  - Preserve trigger  呵呵,再作……  Player :  - Player1  Conditions :  - Player1 Kill and Razings score at least 2400 .  -“ level2 ” is set (这里顺便说说!有时有的条件似乎可以不要,但是为了制作的水平,应该尽量完整)  Actions :  - Remove all Devouring One ( Zergling ) at “ P1 ”  - Create 1 Ultralisk at “ P1 ” for Player1  - Set “ Level3 ”  ……  如此类推一个 RPG 就完成了一半,呵呵!另一半就是地形,这就不是我的职责了,发挥你们的创意吧!  还有一点要主意的,不知是星际编辑器的 Bug 还是什么,把位置沾到主角身上的板机的排列顺序也有考究!不然就会产生 Bug ,比如,升级时地图中间变了个升级后的人物出来,但是原来的人物又没被取消,呵呵!我也搞不懂为什么!  到底怎么排呢?只要按照那个板机发生的先后排就行。  如上面我的升级方案是: Zergling - Devouring One ( Zergling )- Ultralisk -……  所以可以把看 Exp 的板机放第一, 把 P1 沾到 Zergling 上的板机放第二,把 P1 沾到 Devouring One(Zergling) 上的板机放第三,如此类推……  我都是这么个做法!当然不一定要这样。  还有些朋友问,怎么 RPG 里的人物的数据和正常的有出入?  这可到 Scenario/Unit and Hero setting 里改,当然可以用热键打开。我建议这些朋友去看看小组以前的一些有关的文章,有所广益,呵呵!  啊!(突然想起)刚才提到到一定 Exp 时可恢复 HP 的,其实不止 HP 可以就连 MP 和其他一些东西也可以!看看 Actions 中的“ Modify unit ……”类的板机,那里就有加减单位的各项值的量。  有时 Exp 的循环、加减是必不可少的,有玩过我的 Visitor 的朋友或许发现每当 Exp 拿到 1000 点时玩家的各类数字就会满,当超过 4500 就会回落到 3000 ,再次到达是玩家的数字又会满,以达到循环不息的效果。在这有需要讲讲……  我们又要掌握一个 Actions 中的“ Set Score ”:  Player :  - Player1  Conditions :  - Player1 Kill and Razings score at least 4500 .  Actions :  - Modify score for Player1 : set to 3000 Kill and razings.  -……(这都是些 Modify unit ×××那类的板机,呵呵!)  - Preserve trigger  条件列表  条件有很多种  ACCUMULATE Player accumulates quantity resources.  该玩家积累多少资源时  ALWAYS Always.  总是  BRING Player brings quantity units to location.  该玩家带多少单位到特定区域时  COMMAND Player commands quantity units.  该玩家控制多少单位时  COMMAND THE LEAST Current player commands the least units.  当前玩家最少控制多少单位时  COMMAND THE LEAST AT Current player commands the least units at location.  当前玩家在特定区域最少控制多少单位时  COMMAND THE MOST Current player commands the most units.  当前玩家最多控制多少单位时  COMMAND THE MOST AT Current player commands the most units at location.  当前玩家在特定区域最多控制多少单位时  COUNTDOWN TIMER Countdown timer is duration game seconds.  游戏时间倒数计时多少秒时  DEATHS Player has suffered quantity deaths of unit.  该玩家损失多少单位时  ELAPSED TIME Elapsed scenario time is duration game seconds.  游戏时间经过多少秒时(游戏时间)  HIGHEST SCORE Current player has highest score points.  当前玩家得分最高时  KILL Player kills quantity units.  该玩家杀死一定数量的单位时  LEAST KILLS Current player has least kills of unit.  当前玩家杀死单位最少时  LEAST RESOURCES Current player has least resources.  当前玩家积累资源最少时  LOWEST SCORE Current player has lowest score points.  当前玩家得分最低时  MOST KILLS Current player has most kills of unit.  当前玩家杀死单位最多时  MOST RESOURCES Current player has most resources.  当前玩家积累资源最多时  NEVER Never. 从不  OPPONENTS Player has quantity opponents remaining in the game.  该玩家在游戏拥有多少对手时  SCORE Player score type score is quantity.  该玩家得分是多少时  SWITCH Switch is set.  开关被设置或清除时  结果列表  结果也有很多种  CENTER VIEW Center view for current player at location.  将画面转至某特定区域  COMMENT Comment: comment.  对触发器加以说明,使之便于阅读  CREATE UNITS Create quantity unit at location for player  在特定区域为玩家创造一定数量的单位  CREATE UNITS WITH PROPERTIES Create quantity  unit at location for player. Apply properties  在特定区域为玩家创造一定数量的具有一定属性(如隐形,钻地等)的单位  DEFEAT End scenario in defeat for current player.  当前玩家任务失败  DISPLAY TEXT MESSAGE Display for current player: text.  为当前玩家显示一些交代文字  DRAW End the scenario in a draw for all players.  所有玩家平手  GIVE UNITS TO PLAYER Give quantity units owned by player at location to player.  将特定区域的一个玩家(前者)的一定数量的部队给另一个玩家(后者)  KILL UNIT Kill all units for player.  杀死玩家的所有单位  KILL UNITS AT LOCATION Kill quantity units for player at location.  杀死玩家的在特定区域的一定数量的单位  LEADER BOARD (CONTROL ATLOCATION)  Show Leader Board for most control of units at location. Display label: label  显示目前特定区域里的单位控制情况  LEADER BOARD (CONTROL)  Show Leader Board for most control of unit. Display label: label  显示目前单位控制情况  LEADER BOARD (GREED)  Show Greed Leader Board for player closest to accumulation of number ore and gas.  显示目前总的资源收集情况  LEADER BOARD (KILLS)  Show Leader Board for most kills of unit. Display label: label  显示目前杀死单位的情况  LEADER BOARD (POINTS)  Show Leader Board for most points. Display label: label  显示目前得分情况  LEADER BOARD (RESOURCES)  Show Leader Board for accumulation of most resource. Display label: label  显示目前资源收集情况  LEADER BOARD GOAL(CONTROL AT LOCATION)  Show Leader Board for player closest to control of number of units at location. Display label: label  显示还需在特定区域里控制多少单位可达目标  LEADER BOARD GOAL(CONTROL)  Show Leader Board for player closest to control of number of unit. Display label: label  显示还需控制多少单位可达目标  LEADER BOARD GOAL (KILLS)  Show Leader Board for player closest to number kills of unit. Display label: label  显示还需杀死多少单位可达目标  LEADER BOARD GOAL (POINTS)  Show Leader Board for player closest to number points. Display label: label  显示距离目标得分还差多少  LEADER BOARD GOAL(RESOURCES)  Show Leader Board for player closest to accumulation of number resource. Display label: label  显示还需收集资源可达目标  LEADER BOARD COMPUTER PLAYERS Set use of computer players in leaderboard calculations.  关闭或打开电脑的情况显示  MINIMAP PING Show minimap ping for current player at location.  当前玩家的小地图显示警告框  MODIFY UNIT ENERGY Set energy points for quantity units owned by player at location to percent%.  修改特定区域里一定数量的玩家控制单位的能量  MODIFY UNIT HANGAR COUNT Add at most quantity to hangar for quantity units at location owned by player.  修改特定区域里一定数量的玩家控制单位的弹药(如航母,金甲虫)  MODIFY UNIT HIT POINTS Set hit points for quantity units owned by player at location to percent%.  修改特定区域里一定数量的玩家控制单位的生命值  MODIFY UNIT RESOURCE AMOUNT Set resource amount for quantity resource sources owned by player at location to quantity.  修改特定区域里一定数量的玩家控制单位的能量MODIFY UNIT HANGAR COUNT Add at most quantity to hangar for quantity units at location owned by player.  修改特定区域里一定数量的玩家控制单位的弹药(如航母,金甲虫)  MODIFY UNIT HIT POINTS Set hit points for quantity units owned by player at location to percent%.  修改特定区域里一定数量的玩家控制单位的生命值  MODIFY UNIT RESOURCE AMOUNT Set resource amount for quantity resource sources owned by player at location to quantity.  修改特定区域里一定数量的玩家控制单位的能量  MODIFY UNIT SHIELD POINTS Set shield points for quantity units owned by player at location to percent%.  修改特定区域里一定数量的玩家控制单位的护盾  MOVE LOCATION Center location labeled location on units owned by player at location.  将一个特定区域移动到一个单位身上在一个特定区域内  MOVE UNITS Move quantity units for player at location to destination.  将玩家一定数量的单位由一个特定区域移动到另一个特定区域  MUTE UNIT SPEECH Mute all non-trigger unit sounds for current player.  关闭当前玩家所有非触发单位的声音  ORDER Issue order to all units owned by player at location: order to destination.  命令玩家的单位在从一个特定区域里移动.攻击.巡逻到另一个特定区域  PAUSE GAME Pause the game.  暂停游戏  PAUSE TIMER Pause the countdown timer.  暂停倒计时  PLAY WAV Play WAV file  播放一段声音  PRESERVE TRIGGER Preserve Trigger.  循环执行当前触发  REMOVE UNIT Remove all units for player.  移除玩家所有单位  REMOVE UNITS AT LOCATION Remove quantity units for player at location.  移除玩家在特定区域里的一定数量的单位  RUN AI SCRIPT Execute AI script script.  运行一个人工智能  RUN AI SCRIPT AT LOCATION Execute AI script script at location.  在特定区域运行一个人工智能  SET ALLIANCE STATUS Set Player to Ally status.  设置当前玩家与另一个玩家同盟或敌对  SET COUNTDOWN TIMER Modify Countdown Timer: Set duration seconds.  设置倒计时时间  SET DEATHS Modify death counts for player: Set quantity for unit.  设置玩家的死亡单位计数  SET DOODAD STATE Set doodad state for units for player at location.  特定区域里小物件的设置  SET INVINCIBILITY Set invincibility for units owned by player at location  设置特定区域里的玩家单位无敌  SET MISSION OBJECTIVES Set Mission Objectives to: text.  设定本关任务  SET NEXT SCENARIO Load scenario after completion of current game.  设定当前任务结束后读取的地图  SET RESOURCES Modify resources for player: Set quantity resource.  为玩家设定一定数量的资源  SET SCORE Modify score for player: Set quantity points.  设定玩家得分  SET SWITCH Set switch.  开关设置  TALKING PORTRAIT Show unit talking to current player for duration milliseconds.  为当前玩家显示单位肖像一段时间  TRANSMISSION Send transmission to current player from unit at location.Play WAV file.Modify transmission duration: Set number milliseconds.Display the following text: Text  设置一段对话。包括小地图上单位的地点显示,伴随的声音及文字  UNMUTE UNIT SPEECH Unmute all non-trigger unit sounds for current player.  解除当前玩家所有非触发单位的声音的关闭  UNPAUSE GAME Unpause the game.  解除游戏暂停  UNPAUSE TIMER Unpause the countdown timer.  解除倒计时暂停  VICTORY End scenario in victory for current player.  当前玩家任务胜利  WAIT Wait for duration milliseconds.  等待一段时间(千分之一秒)

标签:星际争霸,编辑器,触发器