| 纯美苹果园首页 |
搜索
会员列表
Dice Roller
|
| 欢迎游客 ( 登陆 | 注册 ) | 重新发送验证电子邮件 |
![]() ![]() ![]() |
| 无名亡者 |
发表于: Aug 15 2008, 09:47 AM
|
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
顶楼留做索引,欢迎各位提供自己的MapTool使用心得和技巧。
一楼:MapTool的4E战役设置 二楼:MapTool指示物设置 三楼:MapTool中的宏 本文章由 无名亡者于 Aug 15 2008, 02:11 PM 重新编辑过 |
| 无名亡者 |
发表于: Aug 15 2008, 09:49 AM
|
||||||
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
MapTool的4E战役设置 这里使用的是MapTool 1.3.b39版,之前的版本有些功能也许会有所不同,不过大体上是一样的。在MapTool中点编辑=>战役设置,打开的窗口有Token Properties,Repositories,Sight,Light和States这5项。下面逐个讲解。 Token Properties 由于MapTool自带的Token Properties是适合3版规则的,许多4E的新属性都没有(比如HS),因而无法在宏中直接引用。所以为了实现计算操作一键搞定,需要添加新的Properties。 点击New,在Name中填上Property名称,比如4E PC,然后把以下内容粘贴到Name下面的空白处。
其中每一行都是一个可以在宏中调用的数值,具体含义会在下面的Token设置中解释。贴完点右下的Update保存这个Property。 Repositories 说实话,这一项我还不知道有什么用。等以后弄清楚了再补充 :em002 Sight 这里设置各种特殊视觉。特殊视觉效果会影响PC探开战争迷雾的能力。默认的有黑暗视觉Darkvision,后面的r60是有效距离,单位是英尺。由于4E里黑视已经变成无限距离了,所以我们可以把它改成一个大大的数字,比如300。普通视觉Normal我们不去管它。昏暗视觉Lowlight在4E中威力大减,没了原本的x2,所以把它去掉。 Light 光源设置。给PC的指示物设定好手中的光源,就可以在战争迷雾中正确的显示出他们的可见范围。 每一行冒号之前的是光源名称,可以用中文来写。冒号后面的是光源有效范围,单位是英尺。其中靠前的数字是明亮范围,靠后带着#000000的是昏暗范围。由于4E的光源也改了,要么全亮要么全黑,所以我们可以只填上一个明亮范围就好。另外要记得增加一个范围只有2英尺的“无照明”,因为MapTool默认不设置光源就是大白天,所以没有这个选项的话不拿灯就等于自动获得黑视了 :em008 想懒省事也可以直接把下面这段复制过去。
另外4E该死的新行动距离计算法变成了斜着走也是算1格(这需要到“参数设置”里把移动改成“ONE-ONE-ONE”),这样一来如果用默认的圆形光照范围,就会出现PC斜向看到的距离比能走到的距离近的现象。不想这样的话可以在光源范围的数字前面加上一个square参数,把照明范围改成方的。(我们既然有了火立方,当然也能有光立方! :em014 )
States 设置状态标志。1.3.b39版允许使用图片当作状态图标。状态名称可以用中文填。如果Type选Image,Corner Image或者Grid Image就能调用现有的图片当作状态标志了。个人比较喜欢用Grid Image,Grid Size设成4x4,跑团时就能看到一排图标在指示物右下角排的整整齐齐了。 最后,附件是已经按上文调整好的战役参数文件,其中4E - b39 - circlelight.mtprops是圆形光源,4E - b39 - squarelight.mtprops是方形光源,可以按战役设置左下角的Import直接调用。 本文章由 无名亡者于 Aug 15 2008, 10:57 AM 重新编辑过 附加文件 ( 下载次数: 107 )
MapTool_4E_Properties.rar
|
||||||
| 无名亡者 |
发表于: Aug 15 2008, 09:52 AM
|
||
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
MapTool指示物设置 弄好了战役设置,现在MapTool已经是4E团的环境了。接下来要做的就是添加指示物(Token)。 MapTool的指示物堆放从上到下分成Token,Hidden,Object和Background共4层。平时跑团移动的PC和怪物大都是在Token层;Hidden层可以用来放一些暂时不想叫PC看到的东西(比如各种刺儿和坑儿);Object层放各种家具宝箱什么的;Background一般放是整个跑团过程中都不去移动的地图等。 选文件=>添加图片库路径,把你放指示物图片的目录加进来吧。先在右上角的层次窗口选好摆放指示物的图层,然后在左上角的树状结构中找到那个目录,再把图片直接拖进窗口。如果是Token层,那么会跳出一个窗口,要你设置指示物名称和属性。其中Name是大家都可见的,而GM Name是只有GM能看到的(比如你可以给一个怪标上“山贼甲”,但GM知道他其实是个“变形怪”!) 指示物放好以后,在右键点击的菜单中可以设置体型、光源、状态等等,也能把这个Token保存成文件以便下次调用。双击指示物就能进入编辑窗口。除顶上的名称外,这里还有Notes,Properties,State,Macros,Speech,Ownership和Config共7项。下面逐一解释。 Notes 没啥好说的,想写啥写啥。GM Notes只有GM可见。 Properties 指示物属性,但要先在Config里选择好Properties才能出现正确的表格。这里假定Properties已经选成之前我们添加的4E PC,下面是表格每项的意义和填法。
State 设置指示物状态,比右键菜单一个一个点要快。 Macros 自定义宏,最华丽的部分,回头单独开一贴讲这个。 Speech 预先设定好若干常用语句,像祈祷、战呼啥的(Blood! Death! And vengeance!! :em014 )。左栏是名称,右栏是要说的话或做的动作。设定好以后从右键菜单的Speech里选。 Ownership 设定指示物的归属权。 Config 一些杂项设置。左边Shape不知道什么用,Size改变指示物大小,Properties选择指示物类型,Has Sight设置视力类型。右边Snap to Grid按格子移动还是随意移动,Visible to Player决定玩家是否可见,放隐形怪物用的。 附件是我填好的一个指示物,包括了一些基础的宏,可以拿来当模板。下载后和其他Token放在一个目录下,调用方法和一般Token一样。 本文章由 无名亡者于 Aug 16 2008, 01:46 PM 重新编辑过 附加文件 ( 下载次数: 78 )
Template_ch.rptok
|
||
| 无名亡者 |
发表于: Aug 15 2008, 12:58 PM
|
||||
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
MapTool中的宏 MapTool的宏分为世界Global,战役Campaign和指示物特有。世界宏在所有战役中都能使用,战役宏自然就只限于此次战役,而指示物宏是随指示物保存并且每次调出这个指示物都能用的。显然指示物宏适合设定为生物的攻击和防御等。在上面附件的Token里有一些设定好的指示物宏,可以作为参考。 要建立一个世界或战役宏,选择Global或Campaign窗口,右键点击空白处建立新按钮,然后右键菜单编辑按钮,在编辑窗口的空白中写上宏的内容。 要建立一个指示物宏,打开指示物编辑窗口,在Macros一项里面填写宏的命令。设定好的指示物宏在选中这个指示物后可以在Selection窗口看到运行宏的按钮,或者扮演(Impersonated)这个指示物时在Impersonated窗口也能看到这些按钮。 MapTool的宏可以用来显示中文,名称也能用中文,但是所有命令必须是英文的。我对宏也只是刚入门的程度,现在基本上只能用现成的宏拼来拼去。所以我只能以我的Token中有的宏为例简单谈一点宏的使用。
这个宏的效果是从总HP中自动扣除所受的伤害,临时HP优先扣除。点击宏按钮后弹出的窗口中填入所受伤害,然后宏就会自动计算出剩余的HP量,并修改Properties中的HP和TempHP两项而指示物旁显示出的数据就会自动更新了。 <span style=font-size:0>和</span>之间的部分在运行后不会显示出来,可以让运行结果看起来干净一些。 [DamageTaken = ChangeHP] 只是简单的把DamageTaken的数值定义成你输入的ChangeHP,但是在最后显示结果时有用。 [TempHP = TempHP - DamageTaken] 优先从临时HP中扣除伤害。 [HP = HP + min(0, TempHP)] 剩余HP等于原HP加上0和现在的临时HP中较小的一个,这样只有临时HP变负数了才会减HP。 [TempHP = max(0,TempHP)] 重新给临时HP赋值,取0和现在的临时HP值中较大的一个。 <b> [DamageTaken]! </b> 用加粗字体显示所受伤害。 剩余[HP]点。 用普通字体显示剩余HP。
这个宏的用途是自动完成投攻击骰、判定是否重击和按判定结果投伤害骰这三步。运行后弹出的第一个窗口是输入此次攻击的额外攻击加值(比如战斗优势),第二个是输入额外伤害加值。 <!--[DiceRoll = 1d20]--> 定义DiceRoll =1d20。 [DiceRoll+Weapon1Bonus+AtkMod] 投攻击骰。 <span style=font-size:0>[DmgMod=DmgMod]</span> 隐藏DmgMod赋值过程。 {if(DiceRoll == 20,"CH","")} 判定,如果DiceRoll投出20则显示前面引号中的CH,否则显示后面引号中的空白。 {if(DiceRoll == 20,Weapon1MaxDamage+Weapon1Crit+Weapon1DamBonus+DmgMod,Weapon1Damage+Weapon1DamBonus+DmgMod)} 判定,如果DiceRoll投出20则按前面的公式Weapon1MaxDamage+Weapon1Crit+Weapon1DamBonus+DmgMod计算并显示结果,否则按后面的公式计算。注意Weapon1Damage和Weapon1Crit在Properties中的表达式必须填写正确才能自动投伤害骰。 由于能力有限,我也只能抖嘞出这么点干货了 :em002 。希望大家也能把自己的心得拿出来交流一下,让我们把这个强大的跑团工具用的更好。 本文章由 无名亡者于 Aug 16 2008, 12:56 PM 重新编辑过 |
||||
| donkey |
发表于: Aug 15 2008, 07:18 PM
|
||
|
大红莲团团长 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 究極版主 发表总数: 2813 会员编号: 239 注册日期: 21-August 04 |
实际上由于b39的BUG,在属性里填上表达式是会现实成字符串的好像,明明b38就可以的说…… |
||
| donkey |
发表于: Aug 15 2008, 07:23 PM
|
|
大红莲团团长 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 究極版主 发表总数: 2813 会员编号: 239 注册日期: 21-August 04 |
宏么用老外做好的就行,推荐几个宏(只要战役设置里有相应属性[正确填写]和状态)就行,另外别忘记在IM情况下用:
PC受伤宏: <span style=font-size:0> [DamageTaken = ChangeHP] [TempHP = TempHP - DamageTaken] [HP = HP + min(0, TempHP)] [TempHP = max(0,TempHP)] [state.Dying = 1 - max(0,min(1,HP))][state.Bloodied = 1 - max(0, min(1,HP - Bloodied))] [state.Prone = state.Dying + state.Prone]</span> <b> [DamageTaken]! </b> [HP] remaining. 这个宏会自动标记状态,像半血、濒死,倒地什么的。 怪物受伤宏: <span style="font-size:0">[DamageTaken = ChangeHP][TempHP = TempHP - DamageTaken][HP = HP + min(0, TempHP)][TempHP = max(0,TempHP)][state.Dying = 1 - max(0,min(1,HP))][state.Bloodied = 1 - max(0, min(1,HP - Bloodied))][state.Prone = 1 - max(0,min(1,HP))]</span> <b>[DamageTaken]!</b> 这个宏跟上面好像差不多,不过PC看不到怪物还剩多少血。 长休息宏: <span style=font-size:0> [HP = MaxHP] [SurgeRemaining = SurgePerDay] [AP = 1] [TempHP = 0][state.Bloodied = 1 - max(0, min(1,HP - Bloodied))][state.Dying = 1 - max(0,min(1,HP))] </span> <b>Extended Rest!</b> HP full, Surges refilled, AP reset to 1! AP归1,临时HP归0,HP补满,HS补满 使用HS宏: <span style=font-size:0> [HP = min((max(HP,0)) +(min(SurgeRemaining,1) * SurgeValue) , MaxHP )] </span> <b>Healing Surge!</b> Gained [SurgeValue] hit points, new totals: [HP] <span style=font-size:0>[state.Dying = 1 - max(0,min(1,HP))] [SurgeRemaining = max(0,SurgeRemaining - 1)][state.Bloodied = 1 - max(0, min(1,HP - Bloodied))]</span> [SurgeRemaining] 会自动改状态,扣HS等等。 医疗宏: <span style=font-size:0>[HealingGained = ChangeHP][HP = min((max(HP,0)) +HealingGained,MaxHP)][state.Dying = 1 - max(0,min(1,HP))][state.Bloodied = 1 - max(0, min(1,HP - Bloodied))]</span> <b>[HealingGained]!</b> [HP] remaining. 这个是不扣HS的,主要和上面的宏配合使用,比如牧师给你加血,那么你可以先用一下HS宏,牧师投1d6+x,你再用医疗宏补1d6+x的血。 临时HP宏: <span style=font-size:0>[TempHP = max(TempHP, NewTemp)]</span> <b>Temporary HP Gained!</b> [TempHP] 如果你经常有临时HP,也可以用一下的说。 亡者老大的基础攻击宏看来不错,等我有空研究研究 :em003 |
| 无名亡者 |
发表于: Aug 15 2008, 07:44 PM
|
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
我现在用的就是这几个,所见略同啊 :em009 不过我把自动标记状态的部分都取消了,因为用了中文状态名称以后这个功能就成了摆设,还不如去掉的好。
至于你说的显示问题我没有碰到,用我现在写的这几个表达式都能正确的显示出4防数值来。 |
| donkey |
发表于: Aug 15 2008, 07:53 PM
|
|
大红莲团团长 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 究極版主 发表总数: 2813 会员编号: 239 注册日期: 21-August 04 |
难道是我RP问题……
中文的话,那些宏里state.xx改成中文可能也能用? 另外,虽然没试过, 不过<!--[DiceRoll = 1d20]--> 应该是看不见的?那么就有信任问题了…… |
| 无名亡者 |
发表于: Aug 15 2008, 09:18 PM
|
||
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
我试过了,不可以。不但这个,所有表达式中调用的数据(比如武器伤害加值)都不能用中文名,一用就出错。多语言支持问题不小啊= = 那个攻击宏输出的结果是这样的。
伤害运算过程不显示,但是攻击骰还是会显示出来的。 PS:你在TROW那边发的帖子里,有些表达式前后少了{ },没这个是会出错的。可能问题在这? 本文章由 无名亡者于 Aug 16 2008, 10:44 AM 重新编辑过 |
||
| 胡子 |
发表于: Aug 16 2008, 11:36 AM
|
|
Diver ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 1358 会员编号: 91 注册日期: 23-April 04 |
写个通用攻击的宏吧?· ·
攻击加值、伤害骰和伤害加值都是手动填写的…… 或者来个方便投骰子的宏也不错…… 话说老外的宏都在那里啊? |
| AlbertNi |
发表于: Aug 16 2008, 12:10 PM
|
|
Sleeper, Lord of Helpless, The Brainless ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 4509 会员编号: 2590 注册日期: 3-September 06 |
|
| AlbertNi |
发表于: Aug 16 2008, 12:15 PM
|
|
Sleeper, Lord of Helpless, The Brainless ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 4509 会员编号: 2590 注册日期: 3-September 06 |
回胡子,老外的宏们基本都在rptools/maptool的论坛
|
| 无名亡者 |
发表于: Aug 16 2008, 01:36 PM
|
||||||||
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
Properties里的WeaponDamage项目不能正确引用的问题已经找到了,在楼上的帖子中用红色字添加的部分就是问题所在。这样一来,攻击骰、判定CH和计算伤害就可以真正的全自动完成了,需要做的只是在Properties中把武器伤害填好而已。其实如果不怕宏写的太长,连种族加值啊、重伤时的额外AB啊什么的,也都可以利用判定自动计算。 带自动判定CH的通用攻击宏,投出20会自动显示Critical Hit!字样。
普通伤害宏,输入DmgRoll时要用{伤害骰}这样的格式,如果有多种不同大小的可以用{伤害骰1+伤害骰2}这样。
手动CH宏,CritCheck输1就计算CH伤害。不想自动运算的话把前后表达式分别换成CH和非CH时的伤害骰算式就可以了。
DM用带自动判定命中和CH的通用攻击宏,会按照投骰结果和目标防御显示Miss!、Hit!或Critical Hit!。运行时AtkMod输入怪物攻击加值,TargetDef输入被攻击PC的对应防御值。
其实在我看来,如果不用自动调用自动运算的宏,那么还不如打好字然后复制粘贴来得快。 本文章由 无名亡者于 Aug 16 2008, 02:20 PM 重新编辑过 |
||||||||
| 无名亡者 |
发表于: Aug 18 2008, 03:34 AM
|
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
|
| 无名亡者 |
发表于: Sep 16 2008, 05:13 PM
|
||
|
Danse Macabre ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 组: 高级会员 发表总数: 2042 会员编号: 83 注册日期: 21-April 04 |
最新的b42和b43版增加了血条,这也是可以自动设置的。
另外,谁知道怎么增加新bar?我怎么选那个Add按钮都是灰色的…… |
||
|
![]() ![]() ![]() |