特征
- 允许有权限的玩家生成模块化汽车
- 每个玩家一次可以拥有一辆汽车,使用命令
mycar
- 汽车可能会生成准备驾驶,具体取决于插件配置和玩家权限
- 支持多种类型的预设,包括个人预设
- API 和管理员/服务器命令允许生成具有多种选项的无限汽车
快速入门
用例 #1:允许玩家使用命令生成汽车mycar
- 授予权限以允许玩家使用命令生成 4 插槽汽车。
spawnmodularcar.spawn.4
mycar
- 查看文档的其余部分,了解其他功能和选项。
用例 #2:允许玩家创建和管理自己的预设
- 授予权限,例如允许玩家生成汽车。
spawnmodularcar.spawn.4
- 授予允许玩家保存和管理自己的预设的权限。
spawnmodularcar.presets
- 在文档的>部分阅读有关此功能启用的命令的信息。
Commands
Personal presets
用例 #3:允许管理员为整个服务器创建和管理预设
- 授予权限,例如允许玩家生成汽车。
spawnmodularcar.spawn.4
- 授予允许玩家从常见预设生成汽车的权限。
spawnmodularcar.presets.common
- 向管理员授予权限,以允许创建和管理通用预设。
spawnmodularcar.presets.common.manage
这将允许:
- 管理员使用 保存常用预设,以及使用类似命令更新和删除常用预设。
mycar common save <name>
- 玩家使用 .
mycar common <name>
在文档的“>”部分中阅读有关此功能启用的命令的更多信息。Commands
Common presets
用例 #4:允许管理员生成无限的预设汽车
- 更新此插件配置的部分以定义一个或多个命名预设。
ServerPresets
- 重新加载插件。
- 向管理员授予权限。
spawnmodularcar.givecar
这允许管理员使用命令使用指定的预设在指定玩家前方生成汽车。这可以根据需要多次完成。givecar <player> <preset>
用例 #5:允许玩家通过其他插件(如 GUI 商店)生成预设汽车
- 更新此插件的配置部分,以定义一个或多个命名预设供玩家购买。有关示例,请参阅>部分。
ServerPresets
Configuration
Server presets
- 重新加载插件。
- 请参阅 GUI 商店或任何插件的文档,了解如何配置商店列表以调用该命令。它可能看起来像 。
givecar
givecar $player.id preset1
命令
此插件使用相同的语法提供聊天和控制台命令。在聊天中使用命令时,请在其前面加上正斜杠:“/”。
生成命令
mycar
— 如果已保存,则使用您的“默认”预设生成一辆模块化汽车,否则根据您的权限生成一辆具有最大允许插座数量的随机汽车。mycar <2|3|4>
— 生成一个具有指定插座数量的随机模块化汽车。mycar <name>
— 从指定的个人预设中生成一辆模块化汽车。有关详细信息,请参阅个人预设部分。mycar common <name>
— 从特权管理员管理的通用预设中生成模块化汽车。有关详细信息,请参阅常见预设部分。givecar <player> <preset>
— 使用指定的服务器范围预设为目标玩家生成一辆汽车。有关详细信息,请参阅服务器预设配置部分。
当一辆模块化汽车诞生时,它将处于完全健康状态。此外,根据您授予的权限和个人设置:
- 它可以加油(数量可配置)。
- 它可能通过车辆部署锁插件自动拥有密码锁。
- 它可能通过车辆部署的锁插件自动拥有钥匙锁。
- 所有油罐车模块都可以自动注满淡水(水量可配置)。
- 所有发动机模块都可以自动填充您允许的最高质量的发动机零件。
其他命令
mycar fix
— 修好你的车。这会将其恢复到原始状态,就像您刚刚生成它一样,但它不会添加或删除锁,无论您的 OR 设置如何。发动机零件也将得到维修。如果您被授予任何权限,则会添加缺少的发动机零件,并将质量较低的零件替换为您允许的最高质量零件。AutoCodeLock
AutoKeyLock
spawnmodularcar.engineparts.*
mycar fetch
— 以直立的姿势将你的车传送到你身边。mycar destroy
— 摧毁你的汽车,让你生成一辆新车。- 非空存储模块将在汽车所在的位置旁边放置一个装有其物品的袋子。
- 如果汽车的发动机模块包含的零件质量高于您的权限所允许的程度,如果有空间,这些零件将被添加到您的库存中,否则就会掉到您面前的地面上。
spawnmodularcar.engineparts.*
mycar help
— 打印可用命令及其用法的列表。仅显示您的权限允许的命令。
个人预设
拥有该权限的玩家可以保存自定义模块配置,允许他们使用保存的预设生成他们的汽车或就地更换他们的汽车。spawnmodularcar.presets
mycar list
— 列出您保存的模块配置预设。mycar save <name>
— 将汽车的当前模块配置保存在指定的预设名称下。mycar update <name>
— 使用汽车的当前模块配置覆盖现有预设。mycar load <name>
— 将指定的预设(支持部分名称匹配)加载到现有汽车上,替换任何与预设不匹配的模块。如果您当前的汽车被占用,或者它的插座数量与预设不同,则不允许加载预设。- 汽车将按照与 相同的规则进行固定。
mycar fix
- 如果汽车不再具有至少一个驾驶舱模块,则汽车的锁将被移除。
- 更换的非空存储模块将在汽车旁边放置一个装有物品的袋子。
- 任何质量高于您的权限允许的发动机部件都将在加载的预设中重新分布到整个引擎模块中,其中最高质量的部件朝向最前面的发动机模块。如果有任何发动机零件剩余,如果有空间,这些零件将被添加到您的库存中,否则会掉到您面前的地面上。
spawnmodularcar.engineparts.*
- 汽车将按照与 相同的规则进行固定。
mycar rename <name> <new name>
— 重命名预设。mycar delete <name>
— 删除指定的预设。
注意:如果未指定预设名称,则 、 和 命令将使用“默认”预设。save
update
load
delete
常用预设
获得许可的玩家可以选择将他们的汽车保存为通用预设,供服务器的其余部分使用。任何拥有权限的玩家都可以列出通用预设并从通用预设中生成汽车,只要玩家的权限允许预设中的插槽数量即可。spawnmodularcar.presets.common.manage
spawnmodularcar.presets.common
spawnmodularcar.spawn.*
mycar common list
— 根据您的权限列出您有权生成的所有常用预设。spawnmodularcar.spawn.*
mycar common load <name>
— 将指定的通用预设加载到您现有的汽车上。有关加载工作原理的详细信息,请参阅个人预设部分。mycar common save <name>
— 将汽车的当前模块配置保存在指定的通用预设名称下。mycar common update <name>
— 用汽车的当前模块配置覆盖现有的通用预设。mycar common rename <name> <new name>
— 重命名常用预设。mycar common delete <name>
— 删除指定的常用预设。
个人设置
mycar autocodelock
— 切换自动代码锁。开启时,生成您的汽车将自动创建一个密码锁,并将其添加到最前面的驾驶舱模块(如果有)中。需要许可。spawnmodularcar.autocodelock
mycar autokeylock
— 切换 AutoKeyLock。开启时,只要汽车至少有一个驾驶舱模块,生成您的汽车将自动创建一个钥匙锁并将匹配的钥匙添加到您的库存中。需要许可。spawnmodularcar.autokeylock
mycar autofilltankers
— 切换 AutoFillTankers。开启时,生成您的汽车、修理它或加载预设将自动用淡水将任何油罐车模块填充到允许的容量(可配置),替换其中已有的任何盐水。需要许可。spawnmodularcar.autofilltankers
权限
此插件使用权限系统。要分配权限,请使用 。要删除权限,请使用 。
oxide.grant <user or group> <name or steam id> <permission>
oxide.revoke <user or group> <name or steam id> <permission>
以下权限控制允许玩家在其汽车上拥有的最大模块插槽数。如果这些都没有被授予,玩家就无法生成一辆汽车,即使是从预设中。
spawnmodularcar.spawn.2
— 允许生成带有 2 个插座的汽车。spawnmodularcar.spawn.3
— 允许生成具有 2-3 个插槽的汽车。spawnmodularcar.spawn.4
— 允许生成具有 2-4 个插槽的汽车。
授予以下权限将导致玩家的汽车自动生成,每个引擎模块中都有相应质量的发动机部件。如果这些都没有得到批准,汽车就会在没有任何发动机部件的情况下生成,因此在玩家添加它们之前无法驾驶它。
spawnmodularcar.engineparts.tier1
— 用劣质的发动机零件生成你的汽车。spawnmodularcar.engineparts.tier2
— 用中等质量的发动机零件生成你的汽车。spawnmodularcar.engineparts.tier3
— 用高质量的发动机零件生成你的汽车。
预设:
spawnmodularcar.presets
— 允许您从个人预设中生成您的汽车。还启用 、 和 preset 命令。save
update
rename
delete
spawnmodularcar.presets.load
— 需要使用 和 。mycar load <preset>
mycar common load <preset>
spawnmodularcar.presets.common
— 需要使用 和 。mycar common <preset>
mycar common load <preset>
spawnmodularcar.presets.common.manage
— 需要管理常用预设。spawnmodularcar.givecar
— 需要使用该命令。givecar
杂项:
spawnmodularcar.fix
— 需要使用 。mycar fix
spawnmodularcar.fetch
— 需要使用 。mycar fetch
spawnmodularcar.despawn
— 需要使用 。mycar destroy
spawnmodularcar.autofuel
— 自动为您的汽车加油。spawnmodularcar.autocodelock
— 需要使用自动代码锁定功能(即 )。mycar autocodelock
spawnmodularcar.autokeylock
— 需要使用自动按键锁定功能(即 )。mycar autokeylock
spawnmodularcar.autofilltankers
– 需要使用油罐车模块的自动填充(即)。mycar autofilltankers
spawnmodularcar.autostartengine
— 立即启动汽车发动机。
配置
可以在目录下的文件中配置设置和选项。建议使用编辑器和验证器,以避免格式问题和语法错误。
SpawnModularCar
config
{
"CanSpawnWhileBuildingBlocked": false,
"CanFetchWhileBuildingBlocked": false,
"CanFetchWhileOccupied": false,
"CanDespawnWhileOccupied": false,
"DismountPlayersOnFetch": true,
"FuelAmount": 500,
"FreshWaterAmount": -1,
"MaxPresetsPerPlayer": 10,
"EnableEffects": true,
"Cooldowns": {
"SpawnCarSeconds": 3600,
"FetchCarSeconds": 600,
"LoadPresetSeconds": 3600,
"FixCarSeconds": 3600
},
"Presets": []
}
CanSpawnWhileBuildingBlocked
(true
或者 ) — 是否允许玩家在积木时生成他们的汽车。false
CanFetchWhileBuildingBlocked
(true
或者 ) — 是否允许玩家在积木时取车。false
CanFetchWhileOccupied
(true
或者 ) — 是否允许玩家在汽车被占用时取回他们的汽车。如果 ,获取一辆汽车将安全地将玩家从座椅和平板模块中弹出,否则这些玩家将被传送到汽车中。false
true
DismountPlayersOnFetch
true
CanDespawnWhileOccupied
(true
或者 ) — 是否允许玩家在汽车被占用时使用。如果 ,将汽车从座椅和平板模块中安全地弹出。false
mycar destroy
true
DismountPlayersOnFetch
(true
或者 ) — 是否在取车时将所有玩家从车上卸下。没有效果,除非也是.false
CanFetchWhileOccupied
true
FuelAmount
— 产卵时添加到油箱中的低品位燃料量。仅当玩家具有权限时才适用。在修理汽车或加载预设时,只会添加缺失的量以达到此最小目标值。默认值为表示最大堆栈大小。spawnmodularcar.autofuel
-1
FreshWaterAmount
— 产卵时添加到汽车的每个油罐车模块中的淡水量。仅当玩家拥有权限并开启了 AutoFillTankers 设置时才适用。默认值为表示最大堆栈大小。注意:如果由于某种原因汽车有多个油罐车(即没有其他模块),则此数量将添加到每个油罐车中。spawnmodularcar.autofilltankers
-1
MaxPresetsPerPlayer
— 每个玩家允许保存的最大模块配置预设数。EnableEffects
(true
or ) — 从预设生成汽车时启用音频和视觉效果,使用 或 。false
mycar fix
mycar load
Cooldowns
— 各种冷却时间用于平衡。
服务器预设
服务器预设必须在插件的配置文件中手动定义。可以使用带有命令的服务器预设为玩家生成汽车。以这种方式生成的汽车将使用预设中提供的设置,而不是使用常规插件配置、玩家权限和玩家设置。这些汽车不计入玩家一辆汽车的限制,也不能生成它们或使用 .givecar <player> <preset>
mycar
以下是帮助您入门的预设示例列表。
"Presets": [
{
"Name": "LongChassis",
"Options": {
"Modules": [0, 0, 0, 0]
}
},
{
"Name": "TourBus",
"Options": {
"Modules": [
"vehicle.1mod.cockpit.with.engine",
"vehicle.2mod.passengers",
"vehicle.1mod.rear.seats"
],
"EnginePartsTier": 2,
"FuelAmount": 100,
"CodeLock": true
}
},
{
"Name": "ArmoredCar",
"Options": {
"Modules": [
"vehicle.1mod.engine",
"vehicle.1mod.cockpit.armored",
"vehicle.1mod.cockpit.armored"
],
"EnginePartsTier": 3,
"FuelAmount": 500,
"KeyLock": true
}
},
{
"Name": "DoubleTanker",
"Options": {
"Modules": [
"vehicle.2mod.fuel.tank",
"vehicle.2mod.fuel.tank"
],
"FreshWaterAmount": 50000
}
}
],
以下是您可以为每个预设定义的所有可用选项。唯一需要的选项是 。其余部分默认为 或 。Modules
0
false
Modules
— 将自动添加到汽车的模块项目 ID 或短名称列表。该数字表示空套接字。项目名称和 ID 可以在 uMod 项目列表页面上找到。0
- 以前,此字段被命名为 。该名称仍然适用于向后兼容性,但它只接受 id。
ModuleIDs
- 以前,此字段被命名为 。该名称仍然适用于向后兼容性,但它只接受 id。
CodeLock
(true
或者 ) — 是否在汽车上部署密码锁。false
KeyLock
(true
或者 ) — 是否创建钥匙锁并将匹配的钥匙添加到玩家的物品栏中。false
EnginePartsTier
(0
–3
) — 自动添加到所有发动机模块的发动机零件的质量(对于没有发动机零件)。0
FuelAmount
— 放入油箱的燃油量(最大值)。-1
FreshWaterAmount
— 如果适用,添加到每个油罐车模块的淡水量(最大值)。-1
推荐的兼容插件
- 车辆部署锁 — 允许将密码锁或钥匙锁部署到车辆
- 与此插件集成,允许自动将代码锁和钥匙锁部署到特权玩家生成的汽车上
- 车辆衰减保护 — 允许在各种情况下减少或禁用车辆衰减
- 车辆存储 — 允许在特权玩家拥有的车辆上添加或增加存储空间
- 汽车生成设置 (Car Spawn Settings) — 允许配置随机汽车生成的模块、生命值、燃料和发动机部件
- 当玩家使用 Spawn Modular Car 生成随机汽车时,该插件中定义的模块预设也将适用
- 工艺汽车底盘 — 允许玩家在汽车升降机上制作空白底盘
以下插件仅影响发动机部件。
地方化
默认消息位于目录下的文件中。要添加对另一种语言的支持,请创建一个新的语言文件夹(例如 对于德语),如果尚未创建,请将默认语言文件复制到新文件夹,然后自定义邮件。
SpawnModularCar
lang/en
de
{
"Generic.Setting.On": "<color=yellow>ON</color>",
"Generic.Setting.Off": "<color=#bbb>OFF</color>",
"Generic.Error.NoPermission": "You don't have permission to use this command.",
"Generic.Error.LocationRestricted": "Error: Cannot do that here.",
"Generic.Error.BuildingBlocked": "Error: Cannot do that while building blocked.",
"Generic.Error.NoPresets": "You don't have any saved presets.",
"Generic.Error.NoCommonPresets": "There are no common presets.",
"Generic.Error.CarNotFound": "Error: You need a car to do that.",
"Generic.Error.CarOccupied": "Error: Cannot do that while your car is occupied.",
"Generic.Error.Cooldown": "Please wait <color=yellow>{0}s</color> and try again.",
"Generic.Error.NoPermissionToPresetSocketCount": "Error: You don't have permission to use preset <color=yellow>{0}</color> because it requires <color=yellow>{1}</color> sockets.",
"Generic.Error.PresetNotFound": "Error: Preset <color=yellow>{0}</color> not found.",
"Generic.Error.PresetMultipleMatches": "Error: Multiple presets found matching <color=yellow>{0}</color>. Use <color=yellow>mycar list</color> to view your presets.",
"Generic.Error.PresetAlreadyTaken": "Error: Preset <color=yellow>{0}</color> is already taken.",
"Generic.Error.PresetNameLength": "Error: Preset name may not be longer than {0} characters.",
"Generic.Error.InsufficientSpace": "Error: Not enough space.",
"Generic.Info.CarDestroyed": "Your modular car was destroyed.",
"Generic.Info.PartsRecovered": "Recovered engine components were added to your inventory or dropped in front of you.",
"Command.Spawn.Error.SocketSyntax": "Syntax: <color=yellow>mycar <2|3|4></color>",
"Command.Spawn.Error.CarAlreadyExists": "Error: You already have a car.",
"Command.Spawn.Error.CarAlreadyExists.Help": "Try <color=yellow>mycar fetch</color> or <color=yellow>mycar help</color>.",
"Command.Spawn.Success": "Here is your modular car.",
"Command.Spawn.Success.Locked": "A matching key was added to your inventory.",
"Command.Spawn.Success.Preset": "Here is your modular car from preset <color=yellow>{0}</color>.",
"Command.Fix.Success": "Your car was fixed.",
"Command.Fetch.Error.StuckOnLift": "Error: Unable to fetch your car from its lift.",
"Command.Fetch.Error.StuckOnLift.Help": "You can use <color=yellow>mycar destroy</color> to destroy it.",
"Command.Fetch.Success": "Here is your modular car.",
"Command.SavePreset.Error.TooManyPresets": "Error: You may not have more than <color=yellow>{0}</color> presets. You may delete another preset and try again. See <color=yellow>mycar help</color>.",
"Command.SavePreset.Error.PresetAlreadyExists": "Error: Preset <color=yellow>{0}</color> already exists. Use <color=yellow>mycar update {0}</color> to update it.",
"Command.SavePreset.Success": "Saved car as <color=yellow>{0}</color> preset.",
"Command.UpdatePreset.Success": "Updated <color=yellow>{0}</color> preset with current module configuration.",
"Command.LoadPreset.Error.SocketCount": "Error: Unable to load <color=yellow>{0}</color> preset (<color=yellow>{1}</color> sockets) because your car has <color=yellow>{2}</color> sockets.",
"Command.LoadPreset.Success": "Loaded <color=yellow>{0}</color> preset onto your car.",
"Command.DeletePreset.Success": "Deleted <color=yellow>{0}</color> preset.",
"Command.RenamePreset.Error.Syntax": "Syntax: <color=yellow>mycar rename <name> <new_name></color>",
"Command.RenamePreset.Success": "Renamed <color=yellow>{0}</color> preset to <color=yellow>{1}</color>",
"Command.List": "Your saved modular car presets:",
"Command.List.Item": "<color=yellow>{0}</color> ({1} sockets)",
"Command.Common.List": "Common modular car presets:",
"Command.Common.Error.Syntax": "Try <color=yellow>mycar help</color>",
"Command.Common.LoadPreset.Error.Syntax": "Syntax: <color=yellow>mycar common load <name></color>",
"Command.Common.SavePreset.Error.Syntax": "Syntax: <color=yellow>mycar common save <name></color>",
"Command.Common.SavePreset.Error.PresetAlreadyExists": "Error: Common preset <color=yellow>{0}</color> already exists. Use <color=yellow>mycar common update {0}</color> to update it.",
"Command.Common.UpdatePreset.Error.Syntax": "Syntax: <color=yellow>mycar common update <name></color>",
"Command.Common.RenamePreset.Error.Syntax": "Syntax: <color=yellow>mycar common rename <name> <new_name></color>",
"Command.Common.DeletePreset.Error.Syntax": "Syntax: <color=yellow>mycar common delete <name></color>",
"Command.ToggleAutoCodeLock.Success": "<color=yellow>AutoCodeLock</color> set to {0}",
"Command.ToggleAutoKeyLock.Success": "<color=yellow>AutoKeyLock</color> set to {0}",
"Command.ToggleAutoFillTankers.Success": "<color=yellow>AutoFillTankers</color> set to {0}",
"Command.Give.Error.Syntax": "Syntax: <color=yellow>givecar <player> <preset></color>",
"Command.Give.Error.PlayerNotFound": "Error: Player <color=yellow>{0}</color> not found.",
"Command.Give.Error.PresetTooFewModules": "Error: Preset <color=yellow>{0}</color> has too few modules ({1}).",
"Command.Give.Error.PresetTooManyModules": "Error: Preset <color=yellow>{0}</color> has too many modules ({1}).",
"Command.Give.Success": "Modular car given to <color=yellow>{0}</color> from preset <color=yellow>{1}</color>.",
"Command.Help": "<color=orange>SpawnModularCar Command Usages</color>",
"Command.Help.Spawn.Basic": "<color=yellow>mycar</color> - Spawn a random car with max allowed sockets",
"Command.Help.Spawn.Basic.PresetsAllowed": "<color=yellow>mycar</color> - Spawn a car using your <color=yellow>default</color> preset if saved, else spawn a random car with max allowed sockets",
"Command.Help.Spawn.Sockets": "<color=yellow>mycar <2|3|4></color> - Spawn a random car of desired length",
"Command.Help.Fetch": "<color=yellow>mycar fetch</color> - Fetch your car",
"Command.Help.Fix": "<color=yellow>mycar fix</color> - Fix your car",
"Command.Help.Destroy": "<color=yellow>mycar destroy</color> - Destroy your car",
"Command.Help.Section.PersonalPresets": "<color=orange>--- Personal presets ---</color>",
"Command.Help.ListPresets": "<color=yellow>mycar list</color> - List your saved presets",
"Command.Help.Spawn.Preset": "<color=yellow>mycar <name></color> - Spawn a car from a saved preset",
"Command.Help.LoadPreset": "<color=yellow>mycar load <name></color> - Load a preset onto your car",
"Command.Help.SavePreset": "<color=yellow>mycar save <name></color> - Save your car as a preset",
"Command.Help.UpdatePreset": "<color=yellow>mycar update <name></color> - Overwrite a preset",
"Command.Help.RenamePreset": "<color=yellow>mycar rename <name> <new_name></color> - Rename a preset",
"Command.Help.DeletePreset": "<color=yellow>mycar delete <name></color> - Delete a preset",
"Command.Help.Section.CommonPresets": "<color=orange>--- Common presets ---</color>",
"Command.Help.Common.ListPresets": "<color=yellow>mycar common list</color> - List common presets",
"Command.Help.Common.Spawn": "<color=yellow>mycar common <name></color> - Spawn a car from a common preset",
"Command.Help.Common.LoadPreset": "<color=yellow>mycar common load <name></color> - Load a common preset onto your car",
"Command.Help.Common.SavePreset": "<color=yellow>mycar common save <name></color> - Save your car as a common preset",
"Command.Help.Common.UpdatePreset": "<color=yellow>mycar common update <name></color> - Overwrite a common preset",
"Command.Help.Common.RenamePreset": "<color=yellow>mycar common rename <name> <new_name></color> - Rename a common preset",
"Command.Help.Common.DeletePreset": "<color=yellow>mycar common delete <name></color> - Delete a common preset",
"Command.Help.Section.PersonalSettings": "<color=orange>--- Personal settings ---</color>",
"Command.Help.ToggleAutoCodeLock": "<color=yellow>mycar autocodelock</color> - Toggle AutoCodeLock: {0}",
"Command.Help.ToggleAutoKeyLock": "<color=yellow>mycar autokeylock</color> - Toggle AutoKeyLock: {0}",
"Command.Help.ToggleAutoFillTankers": "<color=yellow>mycar autofilltankers</color> - Toggle automatic filling of tankers with fresh water: {0}",
"Command.Help.Section.OtherCommands": "<color=orange>--- Other commands ---</color>",
"Command.Help.Give": "<color=yellow>givecar <player> <preset></color> - Spawn a car for the target player from the specified server preset"
}
Developer API
Cars spawned by the API methods are independent of .mycar
API_SpawnPreset
ModularCar API_SpawnPreset(Dictionary<string, object> options, BasePlayer player, Vector3 position, Quaternion rotation)
- Spawns a car using the specified preset options, at the specified position and rotation.
- If the position is equal to , the spawn position and rotation will be determined by the player.
Vector3.zero
- Returns if the car could not be spawned, such as if the preset is missing module ids, or if another plugin blocked it with a hook.
null
Below is an example with all options provided:
var car = SpawnModularCar.Call("API_SpawnPreset",
new Dictionary<string, object>
{
["CodeLock"] = true,
["KeyLock"] = false,
["EnginePartsTier"] = 3,
["FreshWaterAmount"] = 50000,
["FuelAmount"] = 500,
["Modules"] = new object[]
{
"vehicle.1mod.cockpit.with.engine",
"vehicle.2mod.fuel.tank"
},
},
player
) as ModularCar;
The available options (e.g., locks, fuel, water) are the same as for server presets. See that section for more details.
API_SpawnNamedPreset
ModularCar API_SpawnNamedPreset(string presetName, BasePlayer player, Vector3 position, Quaternion rotation)
- Spawns a car using the specified ServerPreset from the configuration file, at the specified position and rotation.
- If the position is equal to , the spawn position and rotation will be determined by the player.
Vector3.zero
- Returns if the car could not be spawned, such as if the preset does not exist.
null
API_SpawnPresetCar (legacy)
ModularCar API_SpawnPresetCar(BasePlayer player, Dictionary<string, object> options)
Hooks
CanSpawnModularCar
- Called when a player or a plugin tries to spawn a modular car.
- Returning will prevent the default behavior.
false
- Returning will result in the default behavior.
null
bool? CanSpawnModularCar(BasePlayer player)
CanSpawnMyCar
- Called when a player tries to spawn their car with any of the various commands.
mycar
- Returning will prevent the default behavior.
false
- Returning will result in the default behavior.
null
bool? CanSpawnMyCar(BasePlayer player)
CanFetchMyCar
- Called when a player tries to fetch their car with .
mycar fetch
- Returning will prevent the default behavior.
false
- Returning will result in the default behavior.
null
bool? CanFetchMyCar(BasePlayer player, ModularCar car)
CanFix我的车
- 当玩家试图用 修理他们的汽车时调用。
mycar fix
- 返回将阻止默认行为。
false
- 返回将导致默认行为。
null
bool? CanFixMyCar(BasePlayer player, ModularCar car)
CanLoadMyCar预设
- 当玩家尝试使用各种命令中的任何一个将预设加载到他们现有的汽车上时调用。
mycar
- 返回将阻止默认行为。
false
- 返回将导致默认行为。
null
bool? CanLoadMyCarPreset(BasePlayer player, ModularCar car)
CanDestroyMyCar(坎摧毁我的汽车)
- 当玩家试图用 消失他们的汽车时调用。
mycar destroy
- 返回将阻止默认行为。
false
- 返回将导致默认行为。
null
bool? CanDestroyMyCar(BasePlayer player, ModularCar car)