增加多语言支持中

brake-improvement
zaoqi 2017-01-26 19:00:41 +08:00
parent a6a9685e0d
commit 705af021ec
5 changed files with 205 additions and 70 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,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

91
读我.txt Normal file
View File

@ -0,0 +1,91 @@
如何驾驶:
基本操作:
所有载具都是通过移动鼠标来控制。
你可以使用向前(就像走路)来移动车辆,但只有一些能够后退。例如,汽车可以后退,但飞机不能。
加速:
一些载具可以有短时间的加速,用'use/aux1'键。
武器:
载具也可以使用武器,例如,喷气式飞机和坦克,按'潜行'发射导弹时。需要一个物品栏里的导弹。它可能有一个第二武器(按'use/aux1'使用),但目前只适合做突击。它可以使用子弹和导弹。炮塔使用子弹。
Flight/Jumping/Hovering:
Some vehicles can fly, for example the jet. The jet will move upward when the driver looks up, or when the driver presses 'jump'. Using the jump key does not work very well at the moment. The plane is a bit differrent; It will hold it's height when 'jump' is pressed.
It is also possible for vehicles to jump or hover for a small amount of time. Currently only the Assault suit does this.
Boats and watercraft:
The speed boat can be used on water, but if it is driven onto land it will stop completely. If you are lucky you can move back into water, but be careful because this does not always work.
Other things:
Vehicles will explode if they touch lava, so be careful.
Don't drive cars or planes etc. into water! they will sink.
If you do get a vehicle in a tricky spot, you can punch it whilst driving and it will be dropped.
The API:
vehicles.object_drive is the function used for the movement of vehicles.
It should be used in this format:
vehicles.object_drive(entity, dtime, {
})
In the above case, entity is used in place of an entity or object. If the function was to be used inside on_step for an entity, 'entity' would be replaced with 'self.object'
The table should contain the relevant variables listed below. The function is written so that these are all somewhat optional.
speed: This defines the speed of the vehicle, if unset it will be '10'
fixed: Setting this to 'true' will disable movement from the vehicle
decell: This defines the decelleration of the vehicle. The default is 0
shoots: If true then the vehicle can shoot with 'sneak'(arrow must be defined, default is false)
arrow: This should be the entity name for the weapon fired (default is nil) (requires an item with the name arrow_name.."_item" to be in the drivers inventory)
reload_time: how long it takes before the weapon can be fired again (default is 1)
shoot_y: y offset of the weapon, default is 1.5
shoot_angle: This will make the weapon shoot at a differrent vertical angle (default is 0)
infinite_arrow: if this is set then the vehicle won't need an arrow item to be in the inventory
arrow2/reload_time2/shoots2/shoot_y2/infinite_arrow2: same as above but fired with 'use/aux1'
jump: can be either 'hover' or 'jump' (default is nil). Hover lasts longer than jump.
fly: if true then the vehicle will fly (default is false)
fly_mode: can be either 'hold' or 'rise' (default is 'hold'). hold will keep the vehicle in place when 'jump' is pressed, and 'rise' will cause the vehicle to rise when the same key is pressed.
rise_speed: dependant on fly_mode being set to 'rise'. Defines the speed at which the vehicle will rise. (default is 0.1)
gravity: the gravity acting on the vehicle. This should be positive. (default is 1)
boost: if set to 'true' then the vehicle can boost with 'use/aux1' (default is false)
boost_duration: dependant on 'boost'. Determines how long a boost will last (default is 5).
boost_charge: dependant on 'boost'. Determines how long it takes before boost can be used again (default is 4)
boost_effect: particle texture that will fly out from behind the vehicle whilst boosting (default is nil)
hover_speed: the speed at which the vehicle will hover if 'jump' is set to 'hover' (default is 1.5)
jump_speed: the speed at which the vehicle will jump if 'jump' is set to 'jump' (default is 5)
simple_vehicle: removes all functionality except basic movement, use to reduce lag. (not implemented yet), default is false
is_watercraft: if set to true then the vehicle won't be stopped by water.
it will act like a boat unless swims is true. (default is false)
swims: will allow the vehicle to move underwater (not yet implemented) (default is false)
driving_sound: name of the sound file that will play when the vehicle is driving (default is nil)
sound_duration: !VERY IMPORTANT! if there is a driving sound then this should match it's duration. If this is not set then the sound could overlap and increase in volume (default is 5)
extra_yaw: use this if the model has incorrect rotation. It will rotate the model so it faces the right way whilst being driven (default is 0)
moving_anim/stand_anim/jump_anim/shoot_anim/shoot_anim2: animations for actions. Can be set individually. (default is nil)