TMXL地图工具包

创作者: Platonymous
已更新:2023-03-08 00:04:04
400KB

前置 MOD

使用 TMXL地图工具包 时将自动安装

关于此 MOD

用于添加/编辑/替换地图和创建可构建内容的工具包。(原名TMXLoader)。

TMXL地图工具包

作者:Platonymous

原名为 TMXLoader。已重命名TMXL地图工具包因为此 mod 的纯 .tmx 文件加载部分现在是 SMAPI (3.2+) 的一部分

1.8.4 中的新功能

可构建图像层
要使用图像层,其名称必须以“UNIQUEID”结尾,例如“MyLayer-UNIQUEID”,但在室内地图上则不然。
可建造物着色
为了支持着色,图像图层需要包含两个属性:“Color”属性包含一个默认的 RGBA 值,例如“255 255 255 255”表示白色;以及一个“ColorId”属性,该属性可以是任意值。所有共享“ColorId”属性的图层都将以相同的方式着色。

1.8.0 中的新功能:
可建造物:
可以通过按 F2 来构建或删除可构建项(可以在配置文件中更改)
要移除地图上最后放置的可建造建筑,请在菜单打开时按 BACKSPACE 键。
常规可建造地图编辑:
"可构建项": [
{
"id":"Platonymous.Buildable",
“名称”:“可建造”,
“文件”:“assets/Buildable.tmx”,
"iconFile": "assets/icon.png",
“removeEmpty”:false,
“价格”:10000,
"set:": "其他"
},
  ]

建筑物:
"可构建项": [
{
"id":"Platonymous.SomeBuilding",
"name": "某栋建筑",
“文件”:“assets/SomeBuilding.tmx”,
“indoorsFile”:“assets/SomeBuildingInterior.tmx”,
"出口瓷砖":[1,3],
"iconFile": "assets/SomeIcon.png",
“removeEmpty”:false,
"buildItems":[
{
"索引":388,
“堆栈”:100
},
{
“名称”:“防风草”,
“堆栈”:1
}
],
“价格”:10000
}
  ]

exitTile 是玩家离开建筑物时会扭曲的点。要扭曲到该点,请使用 Action 或 TouchAction可退出在地图上或(使用 1.8.8+)在 Warp 属性中使用 BUILDINGLOCATION EXITXY,例如“Warp”:“9 24 BUILDLOCATION EXITXY”。
在可建造的(外部)建筑上,每个属性中使用的室内或唯一标识 (UNIQUEID) 都将被生成的值替换。要扭曲到内部使用,请执行以下操作:
室内曲速 14 3

1.4.2 中的新功能:
为没有节日地点的 NPC 设置节日地点。
格式节日景点:
“节日景点”:
[
{
“名称”:“Sandy”,
"map": "城镇集市",
"位置": [19, 35],
“方向”:1
}
]


1.4.0 中的新功能:
增加了一种更简单的方法来添加配偶房间配偶房间模板您可以在可选文件下找到
如果你用模板创建一个模型,不要发布时包含 towninterior.png 文件。

1.3.0版本重要变化:
TMXL 现在使用 SMAPI ContentPacks,这意味着所有包都直接进入 mod 文件夹,并且两个示例的 ContentPack 必须单独下载(可选文件)。

包括两个示例,两个端口UlithiumDragons 模组(剪切内容和丛林神庙).

附加图层和新的 TileActions 也将在未使用 TMXL 导入的地图中起作用。



ContenPacks content.js的Json结构:
剧透:
展示

{
“添加地图”:// 新地图
  [  
    {
"name": "丛林神庙外部",// 新位置的名称
“文件”:“JungleTempleExterior.tmx”,// ContentPacks 文件夹中的文件名
},
...
],
“合并地图”:// 替换地图的部分内容
  [  
    {
“名称”:“伍兹”,// 要合并到的地图
“文件”:“Woods.tmx”,
"源区域": [0,0,12,12],// 您想要放置的地图区域(x、y、宽度、高度)
"位置": [0,0],// 新内容应放置在地图上的位置(x,y)
“添加Warps”:// 添加 Warps ("entryX entryY TargetLocation exitX exitY")
      [
“7 -1 丛林神庙外部 14 34”,
....
],
“移除扭曲”:// 删除现有的 Warp(“entryX entryY TargetLocation exitX exitY”)
      [ 
“7 -1 丛林神庙外部 14 34”,
....
      ]
},
...
],
“替换地图”:// 完全替换 Maps
  [  
   {
"name": "Woods", // 要替换的地图
“文件”:“Woods.tmx”,
},
...
],
“onlyWarps”:// 仅改变 Warp
   [

    {
"name": "公交车站",
"addWarps": [
“12 8 城巴 2 6”
      ]
    }
],
“脚本”:[“script.lua”]
}
其他功能:
剧透:
展示


绘制的不仅仅是标准图层:
添加属性绘制/绘制上方或绘制前方对于您想要在游戏中看到的图层,该值需要是其之后/之前绘制的图层,例如。后退如果您想要另一个 Back-Layer。

添加了 TileActions (1.0.1),可用于 Action 或 TouchAction 属性。
自 1.1.0 版本起,您还可以使用地图属性“EntryAction”,只要玩家进入地图,该属性就会被触发。

说
你的文本
与 Message 的工作方式相同,但没有“ ”

说矮人语你的文本
与 Say 相同,但如果玩家没有翻译指南,则会显示矮人语文本。



切换层第 1 层:第 2 层
切换两个图层,甚至是未实际绘制的图层。

切换层
第 1 层:第 2 层:14:17
仅在图层 x:y 之间切换指定的 Tile

切换层层1:层2:1-5:5-7
在层 x1-x2:y1-y2 之间切换指定区域

SwitchLayers 操作可以通过一个接一个地写入来组合:
切换图层 建筑物:建筑物开放:4:6-9 建筑物:建筑物开放:9:5 正面:正面开放:4:6-9 始终正面:始终正面开放:4:6-9

锁1,380
如果 Active 对象属于指定索引,则调用 TileAction 锁定量索引
需要同一图块上的更多属性:

成功使用正确的物体并至少使用正确的数量时触发的动作
失败使用错误对象或使用不足时触发的操作
默认未持有任何物体时触发的动作

(1.1.0 新功能)
Lua您的文件夹名称 您的功能
从任意 lua 脚本调用函数

Lua 函数必须采用三个参数:location、tileposition 和 layerid

Lua 示例
剧透:
展示

pc = false
函数startPC(位置,tilepos,图层)
如果 pc 那么
Game1.playSound(“硬币”)
TMX.getTile(位置,"前面",36, 12).TileIndex = 991
pc = false
别的
Game1.playSound(“星滴”)
TMX.getTile(位置,"前面",36,12).TileIndex = 1153
pc = true
结尾
结尾


此外,可以通过向同一个 Tile 添加以下属性来设置每个 Action(和 TouchAction)的条件:
健康)状况条件可以是事件条件 (事件先决条件) 或如果前缀为个人电脑玩家条件(但尚未混合)
倒退如果条件不满足则触发操作(可选)

目前支持的玩家条件: catPerson 、 isMale 、 exhausted 、 hasGreenhouse 、 hasRustyKey 、 hasSkullKey 、 hasUnlockedSkullDoor 、 hasDarkTalisman 、 hasMagicInk 、 running 、 usingTool 、 usingSlingshot 、 bathingClothes 、 stardewHero 、 hasClubCard 、 canUnderstandDwarves

条件和玩家条件可以以不是将它们反转。


操作仍然非常有限,但会不断扩展。如果您需要特定的 TileAction,可以在SMAPI Discort(@常规)

SMAPI Mods 可以使用 PyTK 添加自己的 Tileactions:
使用 PyTK.类型;
TileAction Say = new TileAction("Say", sayAction).register();



已知错误:

Draw/DrawBefore/DrawAbove 并不总是适用于 Front 层。


已更改保存序列化程序警告
SMAPI 警告说,此模块“可能会损坏您的保存文件,或者如果您卸载它,则会使它们无法使用”。
这是因为 TMXL 访问了可以用来以这种方式更改序列化器的属性,但实际上并没有更改它。
因此,尽管有警告,但在使用或卸载此模块时,您的保存文件不会被损坏或变得无法使用。


如果您有任何疑问,通常可以在星露谷物语 Discord在用户名下常规#8715

如果你喜欢我的模组并想支持我,你可以通过贝宝或Patreon.

使用 Xmod 解锁 星露谷物语 的全部潜力 — 今天就探索这些顶级 MOD!