Merge pull request #11 from zaoqi/master

[WIP]增加多语言支持中
brake-improvement
D00Med 2017-01-28 06:26:36 +10:00 committed by GitHub
commit 9622d356bd
7 changed files with 271 additions and 72 deletions

View File

@ -1,6 +0,0 @@
# Names should be added to this file as one of
# Organization's name
# Individual's name <submission email address>
# Individual's name <submission email address> <email2> <emailN>
D00Med <heiselong@gmx.com>
zaoqi <zaoqiff@gmail.com>

View File

@ -1,4 +1,4 @@
--vehicles/mounts api by D00Med, based on lib_mount(see below)
--vehicles/mounts api by D00Med and zaoqi, based on lib_mount(see below)
--License of lib_mount:
-- Minetest mod: lib_mount
@ -527,10 +527,11 @@ function vehicles.on_punch(self, puncher)
end
vehicles.explodinate(self, 5)
end
if self.driver == puncher then
if self.driver == puncher and (self.object:get_hp() == self.hp_max-1 or self.object:get_hp() == self.hp_max or minetest.setting_getbool("creative_mode")) then
local name = self.object:get_luaentity().name
local pos = self.object:getpos()
minetest.env:add_item(pos, name.."_spawner")
vehicles.object_detach(self, self.driver, {x=1, y=0, z=1})
self.object:remove()
end
end

View File

@ -1,4 +1,5 @@
default
tnt
dye
stairs?
stairs?
intllib?

130
init.lua
View File

@ -1,3 +1,7 @@
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
vehicles = {}
dofile(minetest.get_modpath("vehicles").."/api.lua")
@ -97,12 +101,12 @@ minetest.register_entity("vehicles:missile", {
minetest.register_craftitem("vehicles:missile_2_item", {
description = "Missile",
description = S("Missile"),
inventory_image = "vehicles_missile_inv.png"
})
minetest.register_craftitem("vehicles:bullet_item", {
description = "Bullet",
description = S("Bullet"),
inventory_image = "vehicles_bullet_inv.png"
})
@ -345,8 +349,8 @@ minetest.register_entity("vehicles:turret", {
end,
})
vehicles.register_spawner("vehicles:tank", "Tank", "vehicles_tank_inv.png")
vehicles.register_spawner("vehicles:turret", "Gun turret", "vehicles_turret_inv.png")
vehicles.register_spawner("vehicles:tank", S("Tank"), "vehicles_tank_inv.png")
vehicles.register_spawner("vehicles:turret", S("Gun turret"), "vehicles_turret_inv.png")
minetest.register_entity("vehicles:assaultsuit", {
visual = "mesh",
@ -430,7 +434,7 @@ minetest.register_entity("vehicles:firetruck", {
end,
})
vehicles.register_spawner("vehicles:firetruck", "Fire truck", "vehicles_firetruck_inv.png")
vehicles.register_spawner("vehicles:firetruck", S("Fire truck"), "vehicles_firetruck_inv.png")
minetest.register_entity("vehicles:geep", {
visual = "mesh",
@ -497,7 +501,7 @@ minetest.register_entity("vehicles:geep", {
end,
})
vehicles.register_spawner("vehicles:geep", "Geep", "vehicles_geep_inv.png")
vehicles.register_spawner("vehicles:geep", S("Geep"), "vehicles_geep_inv.png")
minetest.register_entity("vehicles:ambulance", {
visual = "mesh",
@ -555,7 +559,7 @@ minetest.register_entity("vehicles:ambulance", {
end,
})
vehicles.register_spawner("vehicles:ambulance", "Ambulance", "vehicles_ambulance_inv.png")
vehicles.register_spawner("vehicles:ambulance", S("Ambulance"), "vehicles_ambulance_inv.png")
minetest.register_entity("vehicles:ute", {
visual = "mesh",
@ -622,7 +626,7 @@ minetest.register_entity("vehicles:ute", {
end,
})
vehicles.register_spawner("vehicles:ute", "Ute (dirty)", "vehicles_ute_inv.png")
vehicles.register_spawner("vehicles:ute", S("Ute (dirty)"), "vehicles_ute_inv.png")
minetest.register_entity("vehicles:ute2", {
visual = "mesh",
@ -670,7 +674,7 @@ minetest.register_entity("vehicles:ute2", {
end,
})
vehicles.register_spawner("vehicles:ute2", "Ute (clean)", "vehicles_ute_inv.png")
vehicles.register_spawner("vehicles:ute2", S("Ute (clean)"), "vehicles_ute_inv.png")
minetest.register_entity("vehicles:astonmaaton", {
visual = "mesh",
@ -712,7 +716,7 @@ minetest.register_entity("vehicles:astonmaaton", {
end,
})
vehicles.register_spawner("vehicles:astonmaaton", "Aston Maaton (white)", "vehicles_astonmaaton_inv.png")
vehicles.register_spawner("vehicles:astonmaaton", S("Aston Maaton (white)"), "vehicles_astonmaaton_inv.png")
minetest.register_entity("vehicles:nizzan", {
visual = "mesh",
@ -773,7 +777,7 @@ minetest.register_entity("vehicles:nizzan", {
end,
})
vehicles.register_spawner("vehicles:nizzan", "Nizzan (brown)", "vehicles_nizzan_inv.png")
vehicles.register_spawner("vehicles:nizzan", S("Nizzan (brown)"), "vehicles_nizzan_inv.png")
minetest.register_entity("vehicles:nizzan2", {
visual = "mesh",
@ -834,7 +838,7 @@ minetest.register_entity("vehicles:nizzan2", {
end,
})
vehicles.register_spawner("vehicles:nizzan2", "Nizzan (green)", "vehicles_nizzan_inv2.png")
vehicles.register_spawner("vehicles:nizzan2", S("Nizzan (green)"), "vehicles_nizzan_inv2.png")
minetest.register_entity("vehicles:lambogoni", {
visual = "mesh",
@ -876,7 +880,7 @@ minetest.register_entity("vehicles:lambogoni", {
end,
})
vehicles.register_spawner("vehicles:lambogoni", "Lambogoni (grey)", "vehicles_lambogoni_inv.png")
vehicles.register_spawner("vehicles:lambogoni", S("Lambogoni (grey)"), "vehicles_lambogoni_inv.png")
minetest.register_entity("vehicles:lambogoni2", {
visual = "mesh",
@ -918,7 +922,7 @@ minetest.register_entity("vehicles:lambogoni2", {
end,
})
vehicles.register_spawner("vehicles:lambogoni2", "Lambogoni (yellow)", "vehicles_lambogoni2_inv.png")
vehicles.register_spawner("vehicles:lambogoni2", S("Lambogoni (yellow)"), "vehicles_lambogoni2_inv.png")
minetest.register_entity("vehicles:masda", {
visual = "mesh",
@ -960,7 +964,7 @@ minetest.register_entity("vehicles:masda", {
end,
})
vehicles.register_spawner("vehicles:masda", "Masda (pink)", "vehicles_masda_inv.png")
vehicles.register_spawner("vehicles:masda", S("Masda (pink)"), "vehicles_masda_inv.png")
minetest.register_entity("vehicles:masda2", {
visual = "mesh",
@ -1002,7 +1006,7 @@ minetest.register_entity("vehicles:masda2", {
end,
})
vehicles.register_spawner("vehicles:masda2", "Masda (orange)", "vehicles_masda_inv2.png")
vehicles.register_spawner("vehicles:masda2", S("Masda (orange)"), "vehicles_masda_inv2.png")
minetest.register_entity("vehicles:policecar", {
visual = "mesh",
@ -1044,7 +1048,7 @@ minetest.register_entity("vehicles:policecar", {
end,
})
vehicles.register_spawner("vehicles:policecar", "Police Car (US)", "vehicles_policecar_inv.png")
vehicles.register_spawner("vehicles:policecar", S("Police Car (US)"), "vehicles_policecar_inv.png")
minetest.register_entity("vehicles:musting", {
visual = "mesh",
@ -1086,7 +1090,7 @@ minetest.register_entity("vehicles:musting", {
end,
})
vehicles.register_spawner("vehicles:musting", "Musting (purple)", "vehicles_musting_inv2.png")
vehicles.register_spawner("vehicles:musting", S("Musting (purple)"), "vehicles_musting_inv2.png")
minetest.register_entity("vehicles:musting2", {
visual = "mesh",
@ -1128,7 +1132,7 @@ minetest.register_entity("vehicles:musting2", {
end,
})
vehicles.register_spawner("vehicles:musting2", "Musting (white)", "vehicles_musting_inv.png")
vehicles.register_spawner("vehicles:musting2", S("Musting (white)"), "vehicles_musting_inv.png")
minetest.register_entity("vehicles:fewawi", {
visual = "mesh",
@ -1181,7 +1185,7 @@ minetest.register_entity("vehicles:fewawi", {
end,
})
vehicles.register_spawner("vehicles:fewawi", "Fewawi (red)", "vehicles_fewawi_inv.png")
vehicles.register_spawner("vehicles:fewawi", S("Fewawi (red)"), "vehicles_fewawi_inv.png")
minetest.register_entity("vehicles:fewawi2", {
visual = "mesh",
@ -1234,7 +1238,7 @@ minetest.register_entity("vehicles:fewawi2", {
end,
})
vehicles.register_spawner("vehicles:fewawi2", "Fewawi (blue)", "vehicles_fewawi_inv2.png")
vehicles.register_spawner("vehicles:fewawi2", S("Fewawi (blue)"), "vehicles_fewawi_inv2.png")
minetest.register_entity("vehicles:pooshe", {
visual = "mesh",
@ -1276,7 +1280,7 @@ minetest.register_entity("vehicles:pooshe", {
end,
})
vehicles.register_spawner("vehicles:pooshe", "Pooshe (red)", "vehicles_pooshe_inv.png")
vehicles.register_spawner("vehicles:pooshe", S("Pooshe (red)"), "vehicles_pooshe_inv.png")
minetest.register_entity("vehicles:pooshe2", {
visual = "mesh",
@ -1318,7 +1322,7 @@ minetest.register_entity("vehicles:pooshe2", {
end,
})
vehicles.register_spawner("vehicles:pooshe2", "Pooshe (yellow)", "vehicles_pooshe_inv2.png")
vehicles.register_spawner("vehicles:pooshe2", S("Pooshe (yellow)"), "vehicles_pooshe_inv2.png")
minetest.register_entity("vehicles:boat", {
visual = "mesh",
@ -1348,7 +1352,7 @@ minetest.register_entity("vehicles:boat", {
end,
})
vehicles.register_spawner("vehicles:boat", "Speedboat", "vehicles_boat_inv.png", true)
vehicles.register_spawner("vehicles:boat", S("Speedboat"), "vehicles_boat_inv.png", true)
minetest.register_entity("vehicles:jet", {
visual = "mesh",
@ -1387,7 +1391,7 @@ minetest.register_entity("vehicles:jet", {
end,
})
vehicles.register_spawner("vehicles:jet", "Jet", "vehicles_jet_inv.png")
vehicles.register_spawner("vehicles:jet", S("Jet"), "vehicles_jet_inv.png")
minetest.register_entity("vehicles:plane", {
visual = "mesh",
@ -1429,7 +1433,7 @@ minetest.register_entity("vehicles:plane", {
end,
})
vehicles.register_spawner("vehicles:plane", "Plane", "vehicles_plane_inv.png")
vehicles.register_spawner("vehicles:plane", S("Plane"), "vehicles_plane_inv.png")
minetest.register_entity("vehicles:parachute", {
visual = "mesh",
@ -1457,7 +1461,7 @@ minetest.register_entity("vehicles:parachute", {
})
minetest.register_tool("vehicles:backpack", {
description = "Parachute",
description = S("Parachute"),
inventory_image = "vehicles_backpack.png",
wield_scale = {x = 1.5, y = 1.5, z = 1},
tool_capabilities = {
@ -1534,7 +1538,7 @@ minetest.register_entity("vehicles:wing_glider", {
})
minetest.register_tool("vehicles:wings", {
description = "Wings",
description = S("Wings"),
inventory_image = "vehicles_backpack.png",
wield_scale = {x = 1.5, y = 1.5, z = 1},
tool_capabilities = {
@ -1579,7 +1583,7 @@ minetest.register_tool("vehicles:wings", {
})
minetest.register_tool("vehicles:rc", {
description = "Rc (use with missiles)",
description = S("Rc (use with missiles)"),
inventory_image = "vehicles_rc.png",
wield_scale = {x = 1.5, y = 1.5, z = 1},
tool_capabilities = {
@ -1608,37 +1612,37 @@ minetest.register_tool("vehicles:rc", {
--crafting recipes and materials
minetest.register_craftitem("vehicles:wheel", {
description = "Wheel",
description = S("Wheel"),
inventory_image = "vehicles_wheel.png",
})
minetest.register_craftitem("vehicles:engine", {
description = "Engine",
description = S("Engine"),
inventory_image = "vehicles_engine.png",
})
minetest.register_craftitem("vehicles:body", {
description = "Car Body",
description = S("Car Body"),
inventory_image = "vehicles_car_body.png",
})
minetest.register_craftitem("vehicles:armor", {
description = "Armor plating",
description = S("Armor plating"),
inventory_image = "vehicles_armor.png",
})
minetest.register_craftitem("vehicles:gun", {
description = "Vehicle Gun",
description = S("Vehicle Gun"),
inventory_image = "vehicles_gun.png",
})
minetest.register_craftitem("vehicles:propeller", {
description = "Propeller",
description = S("Propeller"),
inventory_image = "vehicles_propeller.png",
})
minetest.register_craftitem("vehicles:jet_engine", {
description = "Jet Engine",
description = S("Jet Engine"),
inventory_image = "vehicles_jet_engine.png",
})
@ -1977,20 +1981,20 @@ minetest.register_node("vehicles:"..name, {
})
end--function vehicles.register_simplenode(name, desc, texture, light)
vehicles.register_simplenode("road", "Road surface", "vehicles_road.png", 0)
vehicles.register_simplenode("concrete", "Concrete", "vehicles_concrete.png", 0)
vehicles.register_simplenode("arrows", "Turning Arrows(left)", "vehicles_arrows.png", 10)
vehicles.register_simplenode("arrows_flp", "Turning Arrows(right)", "vehicles_arrows_flp.png", 10)
vehicles.register_simplenode("checker", "Checkered surface", "vehicles_checker.png", 0)
vehicles.register_simplenode("stripe", "Road surface (stripe)", "vehicles_road_stripe.png", 0)
vehicles.register_simplenode("stripe2", "Road surface (double stripe)", "vehicles_road_stripe2.png", 0)
vehicles.register_simplenode("stripe3", "Road surface (white stripes)", "vehicles_road_stripes3.png", 0)
vehicles.register_simplenode("stripe4", "Road surface (yellow stripes)", "vehicles_road_stripe4.png", 0)
vehicles.register_simplenode("window", "Building glass", "vehicles_window.png", 0)
vehicles.register_simplenode("stripes", "Hazard stipes", "vehicles_stripes.png", 10)
vehicles.register_simplenode("road", S("Road surface"), "vehicles_road.png", 0)
vehicles.register_simplenode("concrete", S("Concrete"), "vehicles_concrete.png", 0)
vehicles.register_simplenode("arrows", S("Turning Arrows(left)"), "vehicles_arrows.png", 10)
vehicles.register_simplenode("arrows_flp", S("Turning Arrows(right)"), "vehicles_arrows_flp.png", 10)
vehicles.register_simplenode("checker", S("Checkered surface"), "vehicles_checker.png", 0)
vehicles.register_simplenode("stripe", S("Road surface (stripe)"), "vehicles_road_stripe.png", 0)
vehicles.register_simplenode("stripe2", S("Road surface (double stripe)"), "vehicles_road_stripe2.png", 0)
vehicles.register_simplenode("stripe3", S("Road surface (white stripes)"), "vehicles_road_stripes3.png", 0)
vehicles.register_simplenode("stripe4", S("Road surface (yellow stripes)"), "vehicles_road_stripe4.png", 0)
vehicles.register_simplenode("window", S("Building glass"), "vehicles_window.png", 0)
vehicles.register_simplenode("stripes", S("Hazard stipes"), "vehicles_stripes.png", 10)
minetest.register_node("vehicles:lights", {
description = "Tunnel Lights",
description = S("Tunnel Lights"),
tiles = {"vehicles_lights_top.png", "vehicles_lights_top.png", "vehicles_lights.png", "vehicles_lights.png", "vehicles_lights.png", "vehicles_lights.png"},
groups = {cracky=1},
paramtype2 = "facedir",
@ -2001,13 +2005,13 @@ if minetest.get_modpath("stairs") then
stairs.register_stair_and_slab("road_surface", "vehicles:road",
{cracky = 1},
{"vehicles_road.png"},
"Road Surface Stair",
"Road Surface Slab",
S("Road Surface Stair"),
S("Road Surface Slab"),
default.node_sound_stone_defaults())
end
minetest.register_node("vehicles:neon_arrow", {
description = "neon arrows (left)",
description = S("neon arrows (left)"),
drawtype = "signlike",
visual_scale = 2.0,
tiles = {{
@ -2031,7 +2035,7 @@ minetest.register_node("vehicles:neon_arrow", {
})
minetest.register_node("vehicles:neon_arrow_flp", {
description = "neon arrows (right)",
description = S("neon arrows (right)"),
drawtype = "signlike",
visual_scale = 2.0,
tiles = {{
@ -2055,7 +2059,7 @@ minetest.register_node("vehicles:neon_arrow_flp", {
})
minetest.register_node("vehicles:add_arrow", {
description = "arrows(left)",
description = S("arrows(left)"),
drawtype = "signlike",
visual_scale = 2.0,
tiles = {"vehicles_arrows.png"},
@ -2075,7 +2079,7 @@ minetest.register_node("vehicles:add_arrow", {
})
minetest.register_node("vehicles:add_arrow_flp", {
description = "arrows(right)",
description = S("arrows(right)"),
drawtype = "signlike",
visual_scale = 2.0,
tiles = {"vehicles_arrows_flp.png"},
@ -2095,7 +2099,7 @@ minetest.register_node("vehicles:add_arrow_flp", {
})
minetest.register_node("vehicles:scifi_ad", {
description = "scifi_nodes sign",
description = S("scifi_nodes sign"),
drawtype = "signlike",
visual_scale = 3.0,
tiles = {{
@ -2119,7 +2123,7 @@ minetest.register_node("vehicles:scifi_ad", {
})
minetest.register_node("vehicles:mt_sign", {
description = "mt sign",
description = S("mt sign"),
drawtype = "signlike",
visual_scale = 3.0,
tiles = {"vehicles_neonmt.png",},
@ -2139,7 +2143,7 @@ minetest.register_node("vehicles:mt_sign", {
})
minetest.register_node("vehicles:pacman_sign", {
description = "pacman sign",
description = S("pacman sign"),
drawtype = "signlike",
visual_scale = 2.0,
tiles = {"vehicles_pacman.png",},
@ -2159,7 +2163,7 @@ minetest.register_node("vehicles:pacman_sign", {
})
minetest.register_node("vehicles:whee_sign", {
description = "whee sign",
description = S("whee sign"),
drawtype = "signlike",
visual_scale = 3.0,
tiles = {"vehicles_whee.png",},
@ -2179,7 +2183,7 @@ minetest.register_node("vehicles:whee_sign", {
})
minetest.register_node("vehicles:checker_sign", {
description = "Checkered sign",
description = S("Checkered sign"),
drawtype = "signlike",
visual_scale = 3.0,
tiles = {"vehicles_checker2.png",},
@ -2199,7 +2203,7 @@ minetest.register_node("vehicles:checker_sign", {
})
minetest.register_node("vehicles:car_sign", {
description = "Car sign",
description = S("Car sign"),
drawtype = "signlike",
visual_scale = 3.0,
tiles = {"vehicles_sign1.png",},
@ -2219,7 +2223,7 @@ minetest.register_node("vehicles:car_sign", {
})
minetest.register_node("vehicles:nyan_sign", {
description = "Nyancat sign",
description = S("Nyancat sign"),
drawtype = "signlike",
visual_scale = 2.0,
tiles = {"vehicles_sign2.png",},
@ -2239,7 +2243,7 @@ minetest.register_node("vehicles:nyan_sign", {
})
minetest.register_node("vehicles:flag", {
description = "Flag",
description = S("Flag"),
drawtype = "torchlike",
visual_scale = 3.0,
tiles = {"vehicles_flag.png",},
@ -2260,7 +2264,7 @@ minetest.register_node("vehicles:flag", {
minetest.register_node("vehicles:tyres", {
description = "tyre stack",
description = S("tyre stack"),
tiles = {
"vehicles_tyre.png",
"vehicles_tyre.png",

45
intllib.lua Normal file
View File

@ -0,0 +1,45 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

64
locale/zh_CN.txt Normal file
View File

@ -0,0 +1,64 @@
# Translation by Zaoqi
Ambulance = 救护车
Armor plating = 装甲
Aston Maaton (white) = 阿斯顿Maaton(白色)
Building glass = 建筑玻璃
Bullet = 子弹
Car Body = 车身
Car sign = 汽车标志
Checkered sign = 网格
Checkered surface = 网格方块
Concrete = 混凝土
Engine = 引擎
Fewawi (blue) = 法哇力(蓝色)
Fewawi (red) = 法哇力(红色)
Fire truck = 消防车
Flag = 国旗
Geep = G普
Gun turret = 炮塔
Hazard stipes = 红白块
Jet = 飞机
Jet Engine = 喷气发动机
Lambogoni (grey) = 兰不基尼(灰色)
Lambogoni (yellow) = 兰不基尼(黄色)
Masda (orange) = 马四达(橘色)
Masda (pink) = 马四达(粉红色)
Missile = 导弹
Musting (purple) = 野咪(紫色)
Musting (white) = 野咪(白色)
Nizzan (brown) = Nizzan(棕色)
Nizzan (green) = Nizzan(绿色)
Nyancat sign = Nyancat标志
Parachute = 降落伞
Plane = 飞机
Police Car (US) = 警车(美国)
Pooshe (red) = 破时捷(红色)
Pooshe (yellow) = 破时捷(黄色)
Propeller = 螺旋桨
Rc (use with missiles) = 遥控器(使用导弹)
Road Surface Slab = 路面半砖
Road Surface Stair = 路面楼梯
Road surface = 路面
Road surface (double stripe) = 路面(双条纹)
Road surface (stripe) = 路面(条纹)
Road surface (white stripes) = 路面(白色条纹)
Road surface (yellow stripes) = 路面(黄色条纹)
Speedboat = 快艇
Tank = 坦克
Tunnel Lights = 隧道灯
Turning Arrows(left) = 转向箭头(左)
Turning Arrows(right) = 转向箭头(右)
Ute (clean) = 轻型货车(干净的)
Ute (dirty) = 轻型货车(脏的)
Vehicle Gun = 车辆的枪
Wheel = 轮胎
Wings = 翅膀
arrows(left) = 箭头(左)
arrows(right) = 箭头(右)
mt sign = Minetest标志
neon arrows (left) = 霓虹灯箭头(左)
neon arrows (right) = 霓虹灯箭头(右)
pacman sign = 吃豆子标志
scifi_nodes sign = scifi_nodes标志
tyre stack = 轮胎堆
whee sign = wheee标志

90
读我.txt Normal file
View File

@ -0,0 +1,90 @@
如何驾驶:
基本操作:
所有载具都是通过移动鼠标来控制。
右键载具可以坐上去或下来。
你可以使用向前(就像走路)来移动车辆,但只有一些能够后退。例如,汽车可以后退,但飞机不能。
加速:
一些载具可以有短时间的加速,用'use/aux1'键。
武器:
载具也可以使用武器,例如,喷气式飞机和坦克,按'潜行'发射导弹时需要一个物品栏里的导弹。载具可能有一个第二武器(按'use/aux1'使用),但目前只适合做突击。载具可以使用子弹和导弹。炮塔使用子弹。
飞行/跳跃/悬停:
有些载具可以飞,例如喷气式飞机。当驾驶员抬头或按下“跳跃”时,飞机将向上移动。使用跳跃键不工作得很好。飞机有点不同,它将悬停,当按下“跳跃”时。
载具也有可能在很短的时间内跳或悬停。目前只有Assault能这样做。
船:
快艇可以用在水上,但如果它被推进陆地,它将完全停止。如果你幸运,它可以回到水中,但要小心,因为这并不总是能工作。
其他的事情:
载具接触熔岩会爆炸,所以要小心。
不要驾驶汽车或飞机等进入水中!他们将下沉。
如果你想拿起一辆车,你可以坐上去,左键点击它。
应用程序接口:
vehicles.object_drive是一个用来移动载具的Lua函数。
它应该使用这种格式:
vehicles.object_drive(<实体>, dtime, {……})
在上述情况下,<实体>用于代替实体或对象。如果函数是用于在一个实体的on_step = function(self, dtime),<实体>是self
table,{……})应包含以下列出的变量。这些都是可选的。
speed: 车辆的速度默认是10。
fixed: 如果是真true将禁止从载具移动。
decell: 载具的减速越小减速越快在0和1之间不可以是1默认是0马上停下
shoots: 如果是真true潜行可以射击必须定义arrow默认是假false
arrow: 这必须是武器的实体名称默认是空nil(会消耗一个物品栏里的叫做arrow_name.."_item"的物品)。
reload_time: 需要多长时间才能再次发射武器默认是1。
shoot_y: 武器的y轴偏移量默认是1.5。
shoot_angle: 这将在不同的垂直角度进行武器射击默认是0。
infinite_arrow: 如果设定这个,射击时不消耗物品栏里的物品。
arrow2/reload_time2/shoots2/shoot_y2/infinite_arrow2: 同上,但用'use/aux1'键。
jump: 可以是'hover'或'jump'默认为空nil。悬停持续时间比跳跃长。
fly: 如果为真true这个载具能飞默认为假false
fly_mode: 可以是'hold'或'rise'(默认为'hold')。 'hold'将保持载具在一个地方直到按下跳跃键,'rise'按下跳跃键时会上升。
rise_speed: 当fly_mode是'rise'时有效定义载具将上升的速度默认为0.1。
gravity: 作用于载具的重力大于等于0为0时没有重力默认为1。
boost: 如果为真true按'use/aux1'键时可以加速默认为假false
boost_duration: 当'boost'为真true时有效加速的时间默认为5。
boost_charge: 当'boost'为真true时有效需要多长时间才能再次使用加速默认为4。
boost_effect: 加速时载具后面的粒子效果默认为空nil
hover_speed: 当jump为'hover'时有效载具悬停时的速度默认为1.5。
jump_speed: 当jump为'jump'时有效载具跳跃时的速度默认为5。
simple_vehicle: 如果为真true移除除基本运动以外的所有功能尚未实现默认为假false
is_watercraft: 如果为真true载具会浮在水面上在水面上能开它将像一条船除非swims为真true默认为假false
swims: 如果为真true将允许载具在水下移动尚未实现默认为假false
driving_sound: 载具行驶时将播放的声音文件的名称默认为空nil
sound_duration: 非常重要非常重要非常重要如果有一个行驶时的声音那么这必须是持续时间。如果不设置那么声音可以重叠和音量增大默认为5。
extra_yaw: 如果模型有不正确的旋转设置这个。它将旋转模型面对着正确的方式被驱动默认为0。
moving_anim/stand_anim/jump_anim/shoot_anim/shoot_anim2: 动作动画。可以单独设置默认为空nil