作者 主题: MapTool使用相关  (阅读 15180 次)

副标题:

离线 无名亡者

  • Danse Macabre
  • 版主
  • *
  • 帖子数: 2042
  • 苹果币: 0
    • http://
MapTool使用相关
« 于: 2008-08-15, 周五 09:47:49 »
顶楼留做索引,欢迎各位提供自己的MapTool使用心得和技巧。

一楼:MapTool的4E战役设置
二楼:MapTool指示物设置
三楼:MapTool中的宏
« 上次编辑: 2008-08-15, 周五 14:11:03 由 无名亡者 »
凡祈求的,就得着。寻找的,就寻见。
                   -马太福音 7:8

————————————————————
白骨荒野,某死人的Blog

离线 无名亡者

  • Danse Macabre
  • 版主
  • *
  • 帖子数: 2042
  • 苹果币: 0
    • http://
MapTool使用相关
« 回帖 #1 于: 2008-08-15, 周五 09:49:48 »
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下面的空白处。
引用
-------------------|CORE|-------------------
Level
ClassHP
MaxHP
*TempHP
MiscHP
*HP
Bloodied
SurgeValue
SurgePerDay
*SurgeRemaining
*AP
TempAC
*AC
*Fortitude
*Reflex
*Will
*Speed
Elevation
Notes
Description
----------------|EQUIPMENT|-----------------
ArmorCheckPenalty (ACP)
Weapon1Bonus (WB1)
Weapon2Bonus (WB2)
Weapon3Bonus (WB3)
Weapon1Damage (WD1)
Weapon2Damage (WD2)
Weapon3Damage (WD3)
Weapon1DamBonus
Weapon2DamBonus
Weapon3DamBonus
Weapon1MaxDamage
Weapon2MaxDamage
Weapon3MaxDamage
Weapon1Crit
Weapon2Crit
Weapon3Crit
Implement1Bonus
Implement2Bonus
Implement3Bonus
Implement1DamBonus
Implement2DamBonus
Implement3DamBonus
Implement1Crit
Implement2Crit
Implement3Crit
----------------|ATTRIBUTES|----------------
Strength (Str)
Constitution (Con)
Dexterity (Dex)
Intelligence (Int)
Wisdom (Wis)
Charisma (Cha)
------------------|SKILLS|------------------
Acrobatics
Arcana
Athletics
Bluff
Diplomacy
Dungeoneering
Endurance
Heal
History
Insight
Intimidate
Nature
Perception
Religion
Stealth
Streetwise
Thievery
------------------|BONUS|-------------------
StrBonus
ConBonus
DexBonus
IntBonus
WisBonus
ChaBonus
LevelBonus
InitBonus
其中每一行都是一个可以在宏中调用的数值,具体含义会在下面的Token设置中解释。贴完点右下的Update保存这个Property。

Repositories
  说实话,这一项我还不知道有什么用。等以后弄清楚了再补充 :em002

Sight
  这里设置各种特殊视觉。特殊视觉效果会影响PC探开战争迷雾的能力。默认的有黑暗视觉Darkvision,后面的r60是有效距离,单位是英尺。由于4E里黑视已经变成无限距离了,所以我们可以把它改成一个大大的数字,比如300。普通视觉Normal我们不去管它。昏暗视觉Lowlight在4E中威力大减,没了原本的x2,所以把它去掉。

Light
  光源设置。给PC的指示物设定好手中的光源,就可以在战争迷雾中正确的显示出他们的可见范围。
  每一行冒号之前的是光源名称,可以用中文来写。冒号后面的是光源有效范围,单位是英尺。其中靠前的数字是明亮范围,靠后带着#000000的是昏暗范围。由于4E的光源也改了,要么全亮要么全黑,所以我们可以只填上一个明亮范围就好。另外要记得增加一个范围只有2英尺的“无照明”,因为MapTool默认不设置光源就是大白天,所以没有这个选项的话不拿灯就等于自动获得黑视了 :em008 想懒省事也可以直接把下面这段复制过去。
引用
D20 4E
----
无照明 - 0 : 2#000000
火把 - 5 : 25
蜡烛 - 2 : 10#000000
提灯 - 10 : 50
照明杖 - 20 : 100
营火 - 10 : 50
  另外4E该死的新行动距离计算法变成了斜着走也是算1格(这需要到“参数设置”里把移动改成“ONE-ONE-ONE”),这样一来如果用默认的圆形光照范围,就会出现PC斜向看到的距离比能走到的距离近的现象。不想这样的话可以在光源范围的数字前面加上一个square参数,把照明范围改成方的。(我们既然有了火立方,当然也能有光立方! :em014
引用
D20 4E
----
火把 - 5 : square 25
蜡烛 - 2 : square 10#000000
提灯 - 10 : square 50
照明杖 - 20 : square 100
无照明 - 0 : square 2#000000
营火 - 10 : square 50

States
  设置状态标志。1.3.b39版允许使用图片当作状态图标。状态名称可以用中文填。如果Type选Image,Corner Image或者Grid Image就能调用现有的图片当作状态标志了。个人比较喜欢用Grid Image,Grid Size设成4x4,跑团时就能看到一排图标在指示物右下角排的整整齐齐了。

  最后,附件是已经按上文调整好的战役参数文件,其中4E - b39 - circlelight.mtprops是圆形光源,4E - b39 - squarelight.mtprops是方形光源,可以按战役设置左下角的Import直接调用。
« 上次编辑: 2008-08-15, 周五 10:57:04 由 无名亡者 »
凡祈求的,就得着。寻找的,就寻见。
                   -马太福音 7:8

————————————————————
白骨荒野,某死人的Blog

离线 无名亡者

  • Danse Macabre
  • 版主
  • *
  • 帖子数: 2042
  • 苹果币: 0
    • http://
MapTool使用相关
« 回帖 #2 于: 2008-08-15, 周五 09:52:11 »
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,下面是表格每项的意义和填法。

引用
Level             填入角色的等级
ClassHP            填入角色加上体质值以前的HP,比如战士是15,游侠是12,法师是10
MaxHP             最大HP(自动计算),填入{ClassHP+MiscHP+(Level-1)*n+Constitution},其中n是每次升级能获得的HP
*TempHP            填入临时HP,开始时一般都是0
MiscHP             填入杂项HP,比如从“强壮”专长获得的额外HP
*HP              填入你现在的HP
Bloodied            重伤域值(自动计算),填入{floor(MaxHP/2)}
SurgeValue           恢复力数值(自动计算),一般人填入{floor(MaxHP/4)},龙裔则是{floor(MaxHP/4)+ConBonus}
SurgePerDay          每日复原力(自动计算),填入{n+ConBonus-LevelBonus},n随职业而定
*SurgeRemaining        填入剩余复原力
*AP              填入现有AP,开始时通常是1
TempAC             填入因威能等获得的临时AC,通常是0
*AC              AC就是AC了(自动计算),穿轻甲填入{10+if(DexBonus>=IntBonus,DexBonus,IntBonus)+n},重甲填入{10+LevelBonus+n} ,n是盔甲和盾牌等提供的AC总和
*Fortitude           强韧防御(自动计算),填入{if(StrBonus>=ConBonus,StrBonus,ConBonus)+10+n},n是职业、装备等提供的强韧防御总和
*Reflex            反射防御(自动计算),填入{if(DexBonus>=IntBonus,DexBonus,IntBonus)+10+n} ,n是职业、装备等提供的反射防御总和
*Will             意志防御(自动计算),填入{if(WisBonus>=ChaBonus,WisBonus,ChaBonus)+10+n} ,n是职业、装备等提供的意志防御总和
*Speed             填入你的速度
Elevation           填入你距离地面的高度,通常都是0吧
Notes             没用
Description          还是没用
----------------|EQUIPMENT|-----------------
ArmorCheckPenalty (ACP)    填入盔甲检定惩罚
Weapon1Bonus (WB1)       填入武器1的攻击加值,等级、属性、装备、专长等,不包括威能和战斗优势等临时效果
Weapon1Damage (WD1)      填入武器1的基础伤害骰,注意:伤害骰必须填成{dx}的形式才能在宏中被正确引用并投骰!比如伤害骰2d4的武器就要填{2d4},两端的{与}符号必不可少!
Weapon1DamBonus        填入武器1伤害加值,同样只包括那些“永久的”加值
Weapon1MaxDamage        填入武器1最大伤害,这个数值可以正常引用
Weapon1Crit          填入武器1重击时的额外伤害骰,注意:额外伤害骰必须填成{dx}的形式才能在宏中被正确引用并投骰!比如额外伤害骰1d10+2d6就必须填成{1d10+2d6},两端的{与}符号必不可少!
Implement1Bonus        填入法器1的攻击加值
Implement1DamBonus       填入法器1的伤害加值
Implement1Crit         填入法器1重击时的额外伤害骰,注意:额外伤害骰必须填成{dx}的形式才能在宏中被正确引用并投骰!比如额外伤害骰1d10+2d6就必须填成{1d10+2d6},两端的{与}符号必不可少!
----------------|ATTRIBUTES|----------------  这6项没啥好说的,填入你的属性值
------------------|SKILLS|------------------  填入你的技能值,但不要带上等级加值和属性加值
------------------|BONUS|-------------------  这一堆都是自动计算的
StrBonus            {floor(Strength/2-5)+LevelBonus}
ConBonus            {floor(Constitution/2-5)+LevelBonus}
DexBonus            {floor(Dexterity/2-5)+LevelBonus}
IntBonus            {floor(Intelligence/2-5)+LevelBonus}
WisBonus            {floor(Wisdom/2-5)+LevelBonus}
ChaBonus            {floor(Charisma/2-5)+LevelBonus}
LevelBonus           {floor(Level/2)}
InitBonus            先攻加值,填入除正常的敏捷加值和等级加值以外,专长和职业能力等提供的其它先攻加值

State
  设置指示物状态,比右键菜单一个一个点要快。

Macros
  自定义宏,最华丽的部分,回头单独开一贴讲这个。

Speech
  预先设定好若干常用语句,像祈祷、战呼啥的(Blood! Death! And vengeance!! :em014 )。左栏是名称,右栏是要说的话或做的动作。设定好以后从右键菜单的Speech里选。

Ownership
  设定指示物的归属权。

Config
  一些杂项设置。左边Shape不知道什么用,Size改变指示物大小,Properties选择指示物类型,Has Sight设置视力类型。右边Snap to Grid按格子移动还是随意移动,Visible to Player决定玩家是否可见,放隐形怪物用的。

  附件是我填好的一个指示物,包括了一些基础的宏,可以拿来当模板。下载后和其他Token放在一个目录下,调用方法和一般Token一样。
« 上次编辑: 2008-08-16, 周六 13:46:17 由 无名亡者 »
凡祈求的,就得着。寻找的,就寻见。
                   -马太福音 7:8

————————————————————
白骨荒野,某死人的Blog

离线 无名亡者

  • Danse Macabre
  • 版主
  • *
  • 帖子数: 2042
  • 苹果币: 0
    • http://
MapTool使用相关
« 回帖 #3 于: 2008-08-15, 周五 12:58:19 »
MapTool中的宏

  MapTool的宏分为世界Global,战役Campaign和指示物特有。世界宏在所有战役中都能使用,战役宏自然就只限于此次战役,而指示物宏是随指示物保存并且每次调出这个指示物都能用的。显然指示物宏适合设定为生物的攻击和防御等。在上面附件的Token里有一些设定好的指示物宏,可以作为参考。

  要建立一个世界或战役宏,选择Global或Campaign窗口,右键点击空白处建立新按钮,然后右键菜单编辑按钮,在编辑窗口的空白中写上宏的内容。

  要建立一个指示物宏,打开指示物编辑窗口,在Macros一项里面填写宏的命令。设定好的指示物宏在选中这个指示物后可以在Selection窗口看到运行宏的按钮,或者扮演(Impersonated)这个指示物时在Impersonated窗口也能看到这些按钮。

  MapTool的宏可以用来显示中文,名称也能用中文,但是所有命令必须是英文的。我对宏也只是刚入门的程度,现在基本上只能用现成的宏拼来拼去。所以我只能以我的Token中有的宏为例简单谈一点宏的使用。

引用
受伤宏
<span style=font-size:0> [DamageTaken = ChangeHP] [TempHP = TempHP - DamageTaken] [HP = HP + min(0, TempHP)] [TempHP = max(0,TempHP)]</span> <b> [DamageTaken]! </b> 剩余[HP]点。
  这个宏的效果是从总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+Weapon1Bonus+AtkMod] <span style=font-size:0>[DmgMod=DmgMod]</span> {if(DiceRoll == 20,"CH","")}伤害 {if(DiceRoll == 20,Weapon1MaxDamage+Weapon1Crit+Weapon1DamBonus+DmgMod,Weapon1Damage+Weapon1DamBonus+DmgMod)}
  这个宏的用途是自动完成投攻击骰、判定是否重击和按判定结果投伤害骰这三步。运行后弹出的第一个窗口是输入此次攻击的额外攻击加值(比如战斗优势),第二个是输入额外伤害加值。

<!--[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 。希望大家也能把自己的心得拿出来交流一下,让我们把这个强大的跑团工具用的更好。
« 上次编辑: 2008-08-16, 周六 12:56:25 由 无名亡者 »
凡祈求的,就得着。寻找的,就寻见。
                   -马太福音 7:8

————————————————————
白骨荒野,某死人的Blog

离线 donkey

  • 大红莲团团长
  • Diver
  • ******
  • 帖子数: 2809
  • 苹果币: 0
MapTool使用相关
« 回帖 #4 于: 2008-08-15, 周五 19:18:56 »
引用
*Fortitude           强韧防御(自动计算),填入{if(StrBonus>=ConBonus,StrBonus,ConBonus)+10+n},n是职业、装备等提供的强韧防御总和
实际上由于b39的BUG,在属性里填上表达式是会现实成字符串的好像,明明b38就可以的说……
 

离线 donkey

  • 大红莲团团长
  • Diver
  • ******
  • 帖子数: 2809
  • 苹果币: 0
MapTool使用相关
« 回帖 #5 于: 2008-08-15, 周五 19:23:33 »
宏么用老外做好的就行,推荐几个宏(只要战役设置里有相应属性[正确填写]和状态)就行,另外别忘记在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  
« 上次编辑: 2008-08-15, 周五 19:44:10 由 donkey »

离线 无名亡者

  • Danse Macabre
  • 版主
  • *
  • 帖子数: 2042
  • 苹果币: 0
    • http://
MapTool使用相关
« 回帖 #6 于: 2008-08-15, 周五 19:44:45 »
我现在用的就是这几个,所见略同啊 :em009 不过我把自动标记状态的部分都取消了,因为用了中文状态名称以后这个功能就成了摆设,还不如去掉的好。

至于你说的显示问题我没有碰到,用我现在写的这几个表达式都能正确的显示出4防数值来。
凡祈求的,就得着。寻找的,就寻见。
                   -马太福音 7:8

————————————————————
白骨荒野,某死人的Blog

离线 donkey

  • 大红莲团团长
  • Diver
  • ******
  • 帖子数: 2809
  • 苹果币: 0
MapTool使用相关
« 回帖 #7 于: 2008-08-15, 周五 19:53:40 »
难道是我RP问题……

中文的话,那些宏里state.xx改成中文可能也能用?

另外,虽然没试过, 不过<!--[DiceRoll = 1d20]--> 应该是看不见的?那么就有信任问题了……

离线 无名亡者

  • Danse Macabre
  • 版主
  • *
  • 帖子数: 2042
  • 苹果币: 0
    • http://
MapTool使用相关
« 回帖 #8 于: 2008-08-15, 周五 21:18:30 »
我试过了,不可以。不但这个,所有表达式中调用的数据(比如武器伤害加值)都不能用中文名,一用就出错。多语言支持问题不小啊= =

那个攻击宏输出的结果是这样的。
引用
基础攻击  &laquo; DiceRoll+Weapon1Bonus+AtkMod = 5 + 10 + 0 = 15 &raquo; &laquo; DmgMod mgMod = DmgMod = 0 = 0 &raquo; 伤害 12
伤害运算过程不显示,但是攻击骰还是会显示出来的。

PS:你在TROW那边发的帖子里,有些表达式前后少了{ },没这个是会出错的。可能问题在这?
« 上次编辑: 2008-08-16, 周六 10:44:02 由 无名亡者 »
凡祈求的,就得着。寻找的,就寻见。
                   -马太福音 7:8

————————————————————
白骨荒野,某死人的Blog

离线 胡子

  • Chivary
  • *****
  • 帖子数: 1851
  • 苹果币: 1
    • http://mylogs.blog.sohu.com/
MapTool使用相关
« 回帖 #9 于: 2008-08-16, 周六 11:36:25 »
写个通用攻击的宏吧?· ·
攻击加值、伤害骰和伤害加值都是手动填写的……
或者来个方便投骰子的宏也不错……
话说老外的宏都在那里啊?
有人管这叫懒惰,我称其为深思。