mirror of
https://github.com/dvdvideo1234/TrackAssemblyTool.git
synced 2025-03-04 03:13:32 -05:00
Merge branch 'master' into master
This commit is contained in:
commit
bf64140daa
31
.github/workflows/glualint.json
vendored
Normal file
31
.github/workflows/glualint.json
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"lint_maxScopeDepth": 10,
|
||||
"lint_syntaxErrors": true,
|
||||
"lint_syntaxInconsistencies": true,
|
||||
"lint_deprecated": true,
|
||||
"lint_trailingWhitespace": true,
|
||||
"lint_whitespaceStyle": false,
|
||||
"lint_beginnerMistakes": true,
|
||||
"lint_emptyBlocks": true,
|
||||
"lint_shadowing": false,
|
||||
"lint_gotos": true,
|
||||
"lint_doubleNegations": true,
|
||||
"lint_redundantIfStatements": false,
|
||||
"lint_redundantParentheses": false,
|
||||
"lint_duplicateTableKeys": true,
|
||||
"lint_profanity": true,
|
||||
"lint_unusedVars": false,
|
||||
"lint_unusedParameters": false,
|
||||
"lint_unusedLoopVars": false,
|
||||
"lint_ignoreFiles": ["data/hooks/pre-commit.lua", "lua/entities/gmod_wire_expression2/core/custom/trackasmlib_wire.lua"],
|
||||
|
||||
"prettyprint_spaceAfterParens": false,
|
||||
"prettyprint_spaceAfterBrackets": false,
|
||||
"prettyprint_spaceAfterBraces": false,
|
||||
"prettyprint_spaceBeforeComma": false,
|
||||
"prettyprint_spaceAfterComma": false,
|
||||
"prettyprint_semicolons": false,
|
||||
"prettyprint_cStyle": false,
|
||||
"prettyprint_rejectInvalidCode": false,
|
||||
"prettyprint_indentation": " "
|
||||
}
|
17
.github/workflows/glualint.yml
vendored
Normal file
17
.github/workflows/glualint.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Download glualint
|
||||
run: |
|
||||
wget -O glualint.zip https://github.com/FPtje/GLuaFixer/releases/download/1.11.1/glualint-1.11.1-linux.zip
|
||||
unzip glualint.zip
|
||||
- name: Lint
|
||||
run: ./glualint --config .github/workflows/glualint.json
|
279
data/autosave/autonomous_[trackassembly].txt
Normal file
279
data/autosave/autonomous_[trackassembly].txt
Normal file
@ -0,0 +1,279 @@
|
||||
--[[
|
||||
* The purpose of this Lua file is to add your track pack pieces to the
|
||||
* track assembly tool, so they can appear in the tool selection menu.
|
||||
* Why the name starts with /z/ you may ask. When Gmod loads the game
|
||||
* it goes trough all the Lua addons alphabetically.
|
||||
* That means your file name ( The file you are reading right now )
|
||||
* must be greater alphabetically than /trackasmlib/, so the API of the
|
||||
* module can be loaded before you can use it like seen below.
|
||||
]]--
|
||||
|
||||
-- Local reference to the module.
|
||||
local asmlib = trackasmlib
|
||||
|
||||
-- Change this to your addon name.
|
||||
local myAddon = "SligWolf's Minitrains" -- Your addon name goes here
|
||||
|
||||
--[[
|
||||
* Change this if you want to use different in-game type
|
||||
* You can also use multiple types myType1, myType2,
|
||||
* myType3, ... myType/n when your addon contains
|
||||
* multiple model packs.
|
||||
]]--
|
||||
local myType = myAddon -- The type your addon resides in the tool with
|
||||
|
||||
--[[
|
||||
* For actually produce an error you can replace the /print/
|
||||
* statement with one of following API calls:
|
||||
* http://wiki.garrysmod.com/page/Global/error
|
||||
* http://wiki.garrysmod.com/page/Global/Error
|
||||
* http://wiki.garrysmod.com/page/Global/ErrorNoHalt
|
||||
]]
|
||||
local myError = ErrorNoHalt
|
||||
|
||||
-- This is used for addon relation prefix. Fingers away from it
|
||||
local myPrefix = asmlib.GetInstPref() -- Addon prefix
|
||||
|
||||
-- This is the script path. It tells TA who wants to add these models
|
||||
-- Do not touch this also, it is used for debugging
|
||||
local myScript = tostring(debug.getinfo(1).source or "N/A")
|
||||
myScript = "@"..myScript:gsub("^%W+", ""):gsub("\\","/")
|
||||
--[[
|
||||
* This function defines what happens when there is an error present
|
||||
* Usually you can tell Gmod that you want it to generate an error
|
||||
* and throw the message to the log also. In this case you will not
|
||||
* have to change the function name in lots of places
|
||||
* when you need it to do something else.
|
||||
--]]
|
||||
local function myThrowError(vMesg)
|
||||
local sMesg = tostring(vMesg) -- Make sure the message is string
|
||||
if(asmlib) then asmlib.LogInstance(sMesg) end -- Output the message into the logs
|
||||
myError(myScript.." > ("..myAddon.."): "..sMesg) -- Generate an error in the console ( optional )
|
||||
end
|
||||
|
||||
if(asmlib) then
|
||||
-- Store a reference to disable symbol
|
||||
local gsMissDB = asmlib.GetOpVar("MISS_NOSQL")
|
||||
local gsToolPF = asmlib.GetOpVar("TOOLNAME_PU")
|
||||
local gsSymOff = asmlib.GetOpVar("OPSYM_DISABLE")
|
||||
local gsFormPF = asmlib.GetOpVar("FORM_PREFIXDSV")
|
||||
local gsModeDB = asmlib.GetOpVar("MODE_DATABASE")
|
||||
|
||||
-- This is the path to your DSV
|
||||
local myDsv = asmlib.GetOpVar("DIRPATH_BAS")..
|
||||
asmlib.GetOpVar("DIRPATH_DSV")..
|
||||
gsFormPF:format(myPrefix, gsToolPF.."PIECES")
|
||||
|
||||
-- Evaluated to TRUE when the global database is exported
|
||||
local myFlag = file.Exists(myDsv, "DATA")
|
||||
|
||||
-- Tell TA what custom script we just called don't touch it
|
||||
asmlib.LogInstance(">>> "..myScript.." ("..tostring(myFlag).."): {"..myAddon..", "..myPrefix.."}")
|
||||
|
||||
if(not myFlag) then -- Check for exported global database
|
||||
|
||||
local PIECES = asmlib.GetBuilderNick("PIECES")
|
||||
|
||||
asmlib.Categorize(myAddon, [[
|
||||
function(m)
|
||||
local function conv(x) return " "..x:sub(2,2):upper() end
|
||||
local r = m:gsub("models/minitrains/",""):gsub("_","/")
|
||||
local s = r:find("/") or r:find("%.")
|
||||
r = (s and r:sub(1,s-1) or "other"); o = {r}
|
||||
if(r == "sw") then o = {"buffer"} end;
|
||||
for i = 1, #o do o[i] = ("_"..o[i]):gsub("_%w", conv):sub(2,-1) end; return o end
|
||||
]])
|
||||
|
||||
asmlib.WorkshopID(myAddon, 149759773)
|
||||
|
||||
if(gsModeDB == "SQL") then sqlBegin() end
|
||||
|
||||
--[[
|
||||
* Create a table and populate it as shown below
|
||||
* In the square brackets goes your MODEL,
|
||||
* and then for every active point, you must have one array of
|
||||
* strings, where the elements match the following data settings.
|
||||
* You can use the disable event /#/ to make TA auto-fill
|
||||
* the value provided and you can also add multiple track types myType[1-n].
|
||||
* If you need to use piece origin/angle with model attachment, you must use
|
||||
* the attachment extraction event /!/. The model attachment format is
|
||||
* /!<attachment_name>/ and it depends what attachment name you gave it when you
|
||||
* created the model. If you need TA to extract the origin/angle from an attachment named
|
||||
* /test/ for example, you just need to put the string /!test/ in the origin/angle column for that model.
|
||||
* {MODEL, TYPE, NAME, LINEID, POINT, ORIGIN, ANGLE, CLASS}
|
||||
* TYPE > This string is the name of the type your stuff will reside in the panel.
|
||||
* Disabling this, makes it use the value of the /DEFAULT_TYPE/ variable.
|
||||
* If it is empty uses the string /TYPE/, so make sure you fill this.
|
||||
* NAME > This is the name of your track piece. Put /#/ here to be auto-generated from
|
||||
* the model ( from the last slash to the file extension ).
|
||||
* LINEID > This is the ID of the point that can be selected for building. They must be
|
||||
* sequential and mandatory. If provided, the ID must the same as the row index under
|
||||
* a given model key. Disabling this, makes it use the the index of the current line.
|
||||
* Use that to swap the active points around by only moving the desired row up or down.
|
||||
* For the example table definition below, the line ID in the database will be the same.
|
||||
* POINT > This is the local position vector that TA searches and selects the related
|
||||
* ORIGIN for. An empty string is treated as taking the ORIGIN.
|
||||
* Disabling this using the disable event makes it hidden when the active point is searched for
|
||||
* ORIGIN > This is the origin relative to which the next track piece position is calculated
|
||||
* An empty string is treated as {0,0,0}. Disabling this makes it non-selectable by the holder
|
||||
* You can also fill it with attachment event /!/ followed by your attachment name.
|
||||
* ANGLE > This is the angle relative to which the forward and up vectors are calculated.
|
||||
* An empty string is treated as {0,0,0}. Disabling this also makes it use {0,0,0}
|
||||
* You can also fill it with attachment event /!/ followed by your attachment name.
|
||||
* CLASS > This string is populated up when your entity class is not /prop_physics/ but something else
|
||||
* used by ents.Create of the gmod ents API library. Keep this empty if your stuff is a normal prop.
|
||||
]]--
|
||||
PIECES:Record({"models/minitrains/straight_16.mdl", "#", "#", 1, "", "0, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_16.mdl", "#", "#", 2, "", "-16, -8.507, 1", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/straight_32.mdl", "#", "#", 1, "", "0, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_32.mdl", "#", "#", 2, "", "-32, -8.507, 1", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/straight_64.mdl", "#", "#", 1, "", "0, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_64.mdl", "#", "#", 2, "", "-64, -8.507, 1", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/straight_128.mdl", "#", "#", 1, "", "0, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_128.mdl", "#", "#", 2, "", "-128, -8.507, 1", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/straight_256.mdl", "#", "#", 1, "", "0, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_256.mdl", "#", "#", 2, "", "-256, -8.507, 1", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/straight_512.mdl", "#", "#", 1, "", "0, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_512.mdl", "#", "#", 2, "", "-512, -8.507, 1", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/straight_1024.mdl", "#", "#", 1, "", "0, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_1024.mdl", "#", "#", 2, "", "-1024, -8.507, 1", "0,-180,0"})
|
||||
asmlib.ModelToNameRule("SET",nil,{"diagonal_","ramp_"},nil)
|
||||
PIECES:Record({"models/minitrains/straight_diagonal_128.mdl", "#", "#", 1, "", "8, -8.508, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_diagonal_128.mdl", "#", "#", 2, "", "-136, -8.506, 33", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/straight_diagonal_256.mdl", "#", "#", 1, "", "8, -8.508, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_diagonal_256.mdl", "#", "#", 2, "", "-264, -8.506, 33", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/straight_diagonal_512.mdl", "#", "#", 1, "", "8, -8.508, 1"})
|
||||
PIECES:Record({"models/minitrains/straight_diagonal_512.mdl", "#", "#", 2, "", "-520, -8.506, 33", "0,-180,0"})
|
||||
asmlib.ModelToNameRule("CLR")
|
||||
PIECES:Record({"models/minitrains/curve_1_90.mdl", "#", "#", 1, "", "-0.011, -8.5, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_1_90.mdl", "#", "#", 2, "", "-138.51, 130, 1", "0,90,0"})
|
||||
PIECES:Record({"models/minitrains/curve_2_90.mdl", "#", "#", 1, "", "-0.011, -8.5, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_2_90.mdl", "#", "#", 2, "", "-168.51, 160, 0.996", "0,90,0"})
|
||||
PIECES:Record({"models/minitrains/curve_3_90.mdl", "#", "#", 1, "", "-0.011, -8.5, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_3_90.mdl", "#", "#", 2, "", "-198.51, 190, 0.995", "0,90,0"})
|
||||
PIECES:Record({"models/minitrains/curve_4_90.mdl", "#", "#", 1, "", "-0.011, -8.5, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_4_90.mdl", "#", "#", 2, "", "-228.51, 220, 0.994", "0,90,0"})
|
||||
PIECES:Record({"models/minitrains/curve_5_90.mdl", "#", "#", 1, "", "-0.011, -8.5, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_5_90.mdl", "#", "#", 2, "", "-258.51, 250, 0.994", "0,90,0"})
|
||||
PIECES:Record({"models/minitrains/curve_6_90.mdl", "#", "#", 1, "", "-0.011, -8.5, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_6_90.mdl", "#", "#", 2, "", "-288.51, 280, 0.993", "0,90,0"})
|
||||
PIECES:Record({"models/minitrains/curve_1_45.mdl", "#", "#", 1, "", "-0.004, -8.506, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_1_45.mdl", "#", "#", 2, "", "-97.956, 32.044, 1", "0,135,0"})
|
||||
PIECES:Record({"models/minitrains/curve_2_45.mdl", "#", "#", 1, "", "-0.004, -8.506, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_2_45.mdl", "#", "#", 2, "", "-119.15, 40.853, 1", "0,135,0"})
|
||||
PIECES:Record({"models/minitrains/curve_3_45.mdl", "#", "#", 1, "", "-0.004, -8.506, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_3_45.mdl", "#", "#", 2, "", "-140.368, 49.631, 1", "0,135,0"})
|
||||
PIECES:Record({"models/minitrains/curve_4_45.mdl", "#", "#", 1, "", "-0.004, -8.506, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_4_45.mdl", "#", "#", 2, "", "-161.567, 58.434, 1", "0,135,0"})
|
||||
PIECES:Record({"models/minitrains/curve_5_45.mdl", "#", "#", 1, "", "-0.004, -8.506, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_5_45.mdl", "#", "#", 2, "", "-182.769, 67.232, 1", "0,135,0"})
|
||||
PIECES:Record({"models/minitrains/curve_6_45.mdl", "#", "#", 1, "", "-0.004, -8.506, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_6_45.mdl", "#", "#", 2, "", "-203.983, 76.019, 1", "0,135,0"})
|
||||
PIECES:Record({"models/minitrains/curve_1_22-5.mdl", "#", "#", 1, "", "-0.005, -8.505, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_1_22-5.mdl", "#", "#", 2, "", "-53.014, 2.013, 1", "0,157.5,0"})
|
||||
PIECES:Record({"models/minitrains/curve_2_22-5.mdl", "#", "#", 1, "", "-0.005, -8.505, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_2_22-5.mdl", "#", "#", 2, "", "-64.492, 4.307, 1", "0,157.5,0"})
|
||||
PIECES:Record({"models/minitrains/curve_3_22-5.mdl", "#", "#", 1, "", "-0.005, -8.505, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_3_22-5.mdl", "#", "#", 2, "", "-75.965, 6.599, 1", "0,157.5,0"})
|
||||
PIECES:Record({"models/minitrains/curve_4_22-5.mdl", "#", "#", 1, "", "-0.005, -8.505, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_4_22-5.mdl", "#", "#", 2, "", "-87.437, 8.904, 1", "0,157.5,0"})
|
||||
PIECES:Record({"models/minitrains/curve_5_22-5.mdl", "#", "#", 1, "", "-0.005, -8.505, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_5_22-5.mdl", "#", "#", 2, "", "-98.913, 11.205,1", "0,157.5,0"})
|
||||
PIECES:Record({"models/minitrains/curve_6_22-5.mdl", "#", "#", 1, "", "-0.005, -8.505, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_6_22-5.mdl", "#", "#", 2, "", "-110.405, 13.455, 1", "0,157.5,0"})
|
||||
PIECES:Record({"models/minitrains/curve_1_s_small.mdl", "#", "#", 1, "", "-0.007, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_1_s_small.mdl", "#", "#", 2, "", "-105.994, 12.497, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_2_s_small.mdl", "#", "#", 1, "", "-0.007, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_2_s_small.mdl", "#", "#", 2, "", "-128.994, 17.497, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_3_s_small.mdl", "#", "#", 1, "", "-0.007, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_3_s_small.mdl", "#", "#", 2, "", "-151.994, 21.497, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_4_s_small.mdl", "#", "#", 1, "", "-0.007, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_4_s_small.mdl", "#", "#", 2, "", "-174.994, 26.497, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_5_s_small.mdl", "#", "#", 1, "", "-0.007, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_5_s_small.mdl", "#", "#", 2, "", "-197.994, 31.497, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_6_s_small.mdl", "#", "#", 1, "", "-0.007, -8.507, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_6_s_small.mdl", "#", "#", 2, "", "-220.994, 35.497, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_1_s_medium.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_1_s_medium.mdl", "#", "#", 2, "", "-195.966, 72.51, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_2_s_medium.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_2_s_medium.mdl", "#", "#", 2, "", "-237.966, 90.51, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_3_s_medium.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_3_s_medium.mdl", "#", "#", 2, "", "-280.966, 107.51, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_4_s_medium.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_4_s_medium.mdl", "#", "#", 2, "", "-322.966, 125.51, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_5_s_medium.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_5_s_medium.mdl", "#", "#", 2, "", "-365.991, 142.507, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_6_s_medium.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_6_s_medium.mdl", "#", "#", 2, "", "-407.99, 160.51, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_1_s_big.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_1_s_big.mdl", "#", "#", 2, "", "-277.01, 268.511, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_2_s_big.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_2_s_big.mdl", "#", "#", 2, "", "-336.99, 328.521, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_3_s_big.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_3_s_big.mdl", "#", "#", 2, "", "-397.033, 388.521, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_4_s_big.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_4_s_big.mdl", "#", "#", 2, "", "-456.991, 448.521, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_5_s_big.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_5_s_big.mdl", "#", "#", 2, "", "-516.985, 508.521, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/curve_6_s_big.mdl", "#", "#", 1, "", "-0.007, -8.504, 1"})
|
||||
PIECES:Record({"models/minitrains/curve_6_s_big.mdl", "#", "#", 2, "", "-576.985, 568.521, 1", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/rerailer.mdl", "#", "Rerailer Double", 1, "", "190, 0, 1.01758"})
|
||||
PIECES:Record({"models/minitrains/rerailer.mdl", "#", "Rerailer Double", 2, "", "-190, 0, 1.01758", "0,180,0"})
|
||||
PIECES:Record({"models/minitrains/sw_buffer_stop.mdl", "#", "Buffer Stop", 1, "", "9.43, -8.011, -1", "0,-180,0"})
|
||||
PIECES:Record({"models/minitrains/switch.mdl", "#", "Switch Y", 1, "", "0, -8.509, 1", "", "gmod_sw_minitrain_switch"})
|
||||
PIECES:Record({"models/minitrains/switch.mdl", "#", "Switch Y", 2, "", "-128, 6.493, 1", "0,-180,0", "gmod_sw_minitrain_switch"})
|
||||
PIECES:Record({"models/minitrains/switch.mdl", "#", "Switch Y", 3, "", "-128, -23.512, 1", "0,-180,0","gmod_sw_minitrain_switch"})
|
||||
PIECES:Record({"models/minitrains/switch_double.mdl", "#", "#", 1, "", "16, 21.512, 1", "", "gmod_sw_minitrain_doubleswitch"})
|
||||
PIECES:Record({"models/minitrains/switch_double.mdl", "#", "#", 2, "", "-144, 21.513, 1", "0,-180,0", "gmod_sw_minitrain_doubleswitch"})
|
||||
PIECES:Record({"models/minitrains/switch_double.mdl", "#", "#", 3, "", "16, -8.515, 1", "", "gmod_sw_minitrain_doubleswitch"})
|
||||
PIECES:Record({"models/minitrains/switch_double.mdl", "#", "#", 4, "", "-144, -8.514, 1", "0,-180,0", "gmod_sw_minitrain_doubleswitch"})
|
||||
PIECES:Record({"models/minitrains/switch_w_1_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_w1"})
|
||||
PIECES:Record({"models/minitrains/switch_w_1_128.mdl", "#", "#", 2, "", "-97.94826,32.05148,1", "0,135,0", "gmod_sw_minitrain_switch_w1"})
|
||||
PIECES:Record({"models/minitrains/switch_w_1_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_w1"})
|
||||
PIECES:Record({"models/minitrains/switch_w_1_128.mdl", "#", "#", 4, "", "-97.94826,-49.05152,1", "0,-135,0", "gmod_sw_minitrain_switch_w1"})
|
||||
PIECES:Record({"models/minitrains/switch_w_2_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_w2"})
|
||||
PIECES:Record({"models/minitrains/switch_w_2_128.mdl", "#", "#", 2, "", "-119.15060, 40.84935,1", "0, 135,0", "gmod_sw_minitrain_switch_w2"})
|
||||
PIECES:Record({"models/minitrains/switch_w_2_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,-180,0", "gmod_sw_minitrain_switch_w2"})
|
||||
PIECES:Record({"models/minitrains/switch_w_2_128.mdl", "#", "#", 4, "", "-119.15061,-57.84934,1", "0,-135,0", "gmod_sw_minitrain_switch_w2"})
|
||||
PIECES:Record({"models/minitrains/switch_w_3_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_w3"})
|
||||
PIECES:Record({"models/minitrains/switch_w_3_128.mdl", "#", "#", 2, "", "-140.36781,49.63218,1", "0,135,0", "gmod_sw_minitrain_switch_w3"})
|
||||
PIECES:Record({"models/minitrains/switch_w_3_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_w3"})
|
||||
PIECES:Record({"models/minitrains/switch_w_3_128.mdl", "#", "#", 4, "", "-140.36781,-66.63219,1", "0,-135,0", "gmod_sw_minitrain_switch_w3"})
|
||||
PIECES:Record({"models/minitrains/switch_w_4_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_w4"})
|
||||
PIECES:Record({"models/minitrains/switch_w_4_128.mdl", "#", "#", 2, "", "-87.45033,8.87626,1", "0,157.5,0", "gmod_sw_minitrain_switch_w4"})
|
||||
PIECES:Record({"models/minitrains/switch_w_4_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_w4"})
|
||||
PIECES:Record({"models/minitrains/switch_w_4_128.mdl", "#", "#", 4, "", "-87.45378,-25.86791,1", "0,-157.5,0", "gmod_sw_minitrain_switch_w4"})
|
||||
PIECES:Record({"models/minitrains/switch_w_5_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_w5"})
|
||||
PIECES:Record({"models/minitrains/switch_w_5_128.mdl", "#", "#", 2, "", "-98.92384,11.17581,1", "0,157.5,0", "gmod_sw_minitrain_switch_w5"})
|
||||
PIECES:Record({"models/minitrains/switch_w_5_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_w5"})
|
||||
PIECES:Record({"models/minitrains/switch_w_5_128.mdl", "#", "#", 4, "", "-98.92188,-28.17954,1", "0,-157.5,0", "gmod_sw_minitrain_switch_w5"})
|
||||
PIECES:Record({"models/minitrains/switch_w_6_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_w6"})
|
||||
PIECES:Record({"models/minitrains/switch_w_6_128.mdl", "#", "#", 2, "", "-110.40305,13.45934,1", "0,157.5,0", "gmod_sw_minitrain_switch_w6"})
|
||||
PIECES:Record({"models/minitrains/switch_w_6_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_w6"})
|
||||
PIECES:Record({"models/minitrains/switch_w_6_128.mdl", "#", "#", 4, "", "-110.40065,-30.46272,1", "0,-157.5,0", "gmod_sw_minitrain_switch_w6"})
|
||||
PIECES:Record({"models/minitrains/switch_y_1_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_y1"})
|
||||
PIECES:Record({"models/minitrains/switch_y_1_128.mdl", "#", "#", 2, "", "-97.94826,32.05148,1", "0,135,0", "gmod_sw_minitrain_switch_y1"})
|
||||
PIECES:Record({"models/minitrains/switch_y_1_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_y1"})
|
||||
PIECES:Record({"models/minitrains/switch_y_2_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_y2"})
|
||||
PIECES:Record({"models/minitrains/switch_y_2_128.mdl", "#", "#", 2, "", "-119.15060, 40.84935,1", "0, 135,0", "gmod_sw_minitrain_switch_y2"})
|
||||
PIECES:Record({"models/minitrains/switch_y_2_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,-180,0", "gmod_sw_minitrain_switch_y2"})
|
||||
PIECES:Record({"models/minitrains/switch_y_3_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_y3"})
|
||||
PIECES:Record({"models/minitrains/switch_y_3_128.mdl", "#", "#", 2, "", "-140.36781,49.63218,1", "0,135,0", "gmod_sw_minitrain_switch_y3"})
|
||||
PIECES:Record({"models/minitrains/switch_y_3_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_y3"})
|
||||
PIECES:Record({"models/minitrains/switch_y_4_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_y4"})
|
||||
PIECES:Record({"models/minitrains/switch_y_4_128.mdl", "#", "#", 2, "", "-87.45033,8.87626,1", "0,157.5,0", "gmod_sw_minitrain_switch_y4"})
|
||||
PIECES:Record({"models/minitrains/switch_y_4_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_y4"})
|
||||
PIECES:Record({"models/minitrains/switch_y_5_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_y5"})
|
||||
PIECES:Record({"models/minitrains/switch_y_5_128.mdl", "#", "#", 2, "", "-98.92384,11.17581,1", "0,157.5,0", "gmod_sw_minitrain_switch_y5"})
|
||||
PIECES:Record({"models/minitrains/switch_y_5_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_y5"})
|
||||
PIECES:Record({"models/minitrains/switch_y_6_128.mdl", "#", "#", 1, "", "0,-8.5,1", "", "gmod_sw_minitrain_switch_y6"})
|
||||
PIECES:Record({"models/minitrains/switch_y_6_128.mdl", "#", "#", 2, "", "-110.40305,13.45934,1", "0,157.5,0", "gmod_sw_minitrain_switch_y6"})
|
||||
PIECES:Record({"models/minitrains/switch_y_6_128.mdl", "#", "#", 3, "", "-128,-8.5,1", "0,180,0", "gmod_sw_minitrain_switch_y6"})
|
||||
|
||||
if(gsModeDB == "SQL") then sqlCommit() end
|
||||
end
|
||||
|
||||
asmlib.LogInstance("<<< "..myScript)
|
||||
else
|
||||
myThrowError("Failed loading the required module")
|
||||
end
|
@ -1,21 +0,0 @@
|
||||
-- Using render library to draw points location
|
||||
if(self:GetPointAssist() == 0) then return end
|
||||
local trRec = asmlib.CacheQueryPiece(trEnt:GetModel())
|
||||
if(not trRec) then return end
|
||||
local ID, O = 1, Vector()
|
||||
while(ID <= trRec.Size) do
|
||||
local stPOA = asmlib.LocatePOA(trRec,ID); if(not stPOA) then
|
||||
asmlib.LogInstance("DrawHUD: Cannot assist point #"..tostring(ID)) return nil end
|
||||
asmlib.SetVector(O,stPOA.O)
|
||||
O:Rotate(trEnt:GetAngles())
|
||||
O:Add(trEnt:GetPos()); ID = ID + 1
|
||||
cam.Start3D( LocalPlayer():EyePos(), LocalPlayer():EyeAngles() )
|
||||
goMonitor:DrawCircle(O, actrad, "as", "CAM3", {"color",50,50})
|
||||
cam.End3D()
|
||||
end; return
|
||||
|
||||
cam.Start3D(ply:EyePos(), ply:EyeAngles())
|
||||
goMonitor:DrawCircle(O, actrad,"xx","CAM3",{"color",50,50})
|
||||
goMonitor:DrawLine (O, O + R * 10,"r","CAM3",{true})
|
||||
goMonitor:DrawLine (O, O - R * 10,"b","CAM3")
|
||||
cam.End3D()
|
@ -7,6 +7,7 @@
|
||||
* must be greater alphabetically than /trackasmlib/, so the API of the
|
||||
* module can be loaded before you can use it like seen below.
|
||||
]]--
|
||||
|
||||
-- Local reference to the module.
|
||||
local asmlib = trackasmlib
|
||||
|
||||
@ -19,7 +20,7 @@ local myAddon = "Test's track pack" -- Your addon name goes here
|
||||
* myType3, ... myType/n when your addon contains
|
||||
* multiple model packs.
|
||||
]]--
|
||||
local myType = myAddon -- The type your addon resides in the tool with
|
||||
local myType = myAddon -- The type your addon resides in the tool with
|
||||
|
||||
--[[
|
||||
* For actually produce an error you can replace the /print/
|
||||
@ -28,10 +29,10 @@ local myType = myAddon -- The type your addon resides in the tool with
|
||||
* http://wiki.garrysmod.com/page/Global/Error
|
||||
* http://wiki.garrysmod.com/page/Global/ErrorNoHalt
|
||||
]]
|
||||
local myError = print
|
||||
local myError = ErrorNoHalt
|
||||
|
||||
-- This is used for addon relation prefix. Fingers away from it
|
||||
local myPrefix = myAddon:gsub("[^%w]","_")
|
||||
local myPrefix = myAddon:gsub("[^%w]","_") -- Addon prefix
|
||||
|
||||
-- This is the script path. It tells TA who wants to add these models
|
||||
-- Do not touch this also, it is used for debugging
|
||||
@ -51,10 +52,17 @@ local function myThrowError(vMesg)
|
||||
end
|
||||
|
||||
if(asmlib) then
|
||||
-- Store a reference to disable symbol
|
||||
local gsMissDB = asmlib.GetOpVar("MISS_NOSQL")
|
||||
local gsToolPF = asmlib.GetOpVar("TOOLNAME_PU")
|
||||
local gsSymOff = asmlib.GetOpVar("OPSYM_DISABLE")
|
||||
local gsFormPF = asmlib.GetOpVar("FORM_PREFIXDSV")
|
||||
|
||||
-- This is the path to your DSV
|
||||
local myDsv = asmlib.GetOpVar("DIRPATH_BAS")..
|
||||
asmlib.GetOpVar("DIRPATH_DSV")..myPrefix..
|
||||
asmlib.GetOpVar("TOOLNAME_PU")
|
||||
asmlib.GetOpVar("DIRPATH_DSV")..
|
||||
gsFormPF:format(myPrefix, gsToolPF.."PIECES")
|
||||
|
||||
--[[
|
||||
* This flag is used when the track pieces list needs to be processed.
|
||||
* It generally represents the locking file persistence flag. It is
|
||||
@ -64,7 +72,7 @@ if(asmlib) then
|
||||
* your local database every time Gmod loads, but then the user will
|
||||
* skip the available updates of your addon until he/she deletes the DSVs.
|
||||
]]--
|
||||
local myFlag = file.Exists(myDsv.."PIECES.txt","DATA")
|
||||
local myFlag = file.Exists(myDsv, "DATA")
|
||||
|
||||
-- Tell TA what custom script we just called don't touch it
|
||||
asmlib.LogInstance(">>> "..myScript.." ("..tostring(myFlag).."): {"..myAddon..", "..myPrefix.."}")
|
||||
@ -90,6 +98,7 @@ if(asmlib) then
|
||||
end -- Third argument is the delimiter. The default tab is used
|
||||
asmlib.LogInstance("RegisterDSV done <"..myPrefix..">")
|
||||
end
|
||||
|
||||
--[[
|
||||
* This is used if you want to make internal categories for your addon
|
||||
* You must make a function as a string under the hash of your addon
|
||||
@ -129,35 +138,40 @@ if(asmlib) then
|
||||
* it must be related to your addon ( default is instance prefix )
|
||||
]]--
|
||||
asmlib.LogInstance("ExportCategory start <"..myPrefix..">")
|
||||
if(CLIENT) then
|
||||
if(not asmlib.ExportCategory(3, myCategory, myPrefix)) then
|
||||
myThrowError("Failed to synchronize category")
|
||||
end
|
||||
asmlib.LogInstance("ExportCategory done <"..myPrefix..">")
|
||||
else
|
||||
asmlib.LogInstance("ExportCategory skip <"..myPrefix..">")
|
||||
end
|
||||
if(CLIENT) then -- Category handling is client side only
|
||||
if(not asmlib.IsEmpty(myCategory)) then
|
||||
if(not asmlib.ExportCategory(3, myCategory, myPrefix)) then
|
||||
myThrowError("Failed to synchronize category")
|
||||
end; asmlib.LogInstance("ExportCategory done <"..myPrefix..">")
|
||||
else asmlib.LogInstance("ExportCategory skip <"..myPrefix..">") end
|
||||
else asmlib.LogInstance("ExportCategory server <"..myPrefix..">") end
|
||||
|
||||
--[[
|
||||
* Create a table and populate it as shown below
|
||||
* In the square brackets goes your model,
|
||||
* In the square brackets goes your MODEL,
|
||||
* and then for every active point, you must have one array of
|
||||
* strings, where the elements match the following data settings.
|
||||
* You can use the disable event /#/ to make TA auto-fill
|
||||
* the value provided and you can also add miltiple track types myType[1-n].
|
||||
* the value provided and you can also add multiple track types myType[1-n].
|
||||
* If you need to use piece origin/angle with model attachment, you must use
|
||||
* the attachment extraction event /!/. The model attachment format is
|
||||
* /!<attachment_name>/ and it depemds what attachment name you gave it when you
|
||||
* /!<attachment_name>/ and it depends what attachment name you gave it when you
|
||||
* created the model. If you need TA to extract the origin/angle from an attachment named
|
||||
* /test/ for example, you just need to put the string /!test/ in the origin/angle column for that model.
|
||||
* {TYPE, NAME, LINEID, POINT, ORIGIN, ANGLE, CLASS}
|
||||
* {MODEL, TYPE, NAME, LINEID, POINT, ORIGIN, ANGLE, CLASS}
|
||||
* MODEL > This string contains the path to your /*.mdl/ file. It is mandatory and
|
||||
* taken in pairs with LINEID, it forms the unique identifier of every record.
|
||||
* When used in /DSV/ mode ( like seen below ) is is used as a hash index.
|
||||
* TYPE > This string is the name of the type your stuff will reside in the panel.
|
||||
* Disabling this, makes it use the value of the /DEFAULT_TYPE/ variable.
|
||||
* If it is empty uses the string /TYPE/, so make sure you fill this.
|
||||
* NAME > This is the name of your track piece. Put /#/ here to be auto-generated from
|
||||
* the model ( from the last slash to the file extension ).
|
||||
* LINEID > This is the ID of the point that can be selected for building. They must be
|
||||
* sequential and mandatory. The ID is the same as the row index under a given model key.
|
||||
* sequential and mandatory. If provided, the ID must the same as the row index under
|
||||
* a given model key. Disabling this, makes it use the the index of the current line.
|
||||
* Use that to swap the active points around by only moving the desired row up or down.
|
||||
* For the example table definition below, the line ID in the database will be the same.
|
||||
* POINT > This is the local position vector that TA searches and selects the related
|
||||
* ORIGIN for. An empty string is treated as taking the ORIGIN.
|
||||
* Disabling this using the disable event makes it hidden when the active point is searched for
|
||||
@ -166,18 +180,18 @@ if(asmlib) then
|
||||
* You can also fill it with attachment event /!/ followed by your attachment name.
|
||||
* ANGLE > This is the angle relative to which the forward and up vectors are calculated.
|
||||
* An empty string is treated as {0,0,0}. Disabling this also makes it use {0,0,0}
|
||||
* You can also fill it with attachment event /!/ followed by your attachment name.
|
||||
* You can also fill it with attachment event /!/ followed by your attachment name.
|
||||
* CLASS > This string is populated up when your entity class is not /prop_physics/ but something else
|
||||
* used by ents.Create of the gmod ents API library. Keep this empty if your stuff is a normal prop.
|
||||
]]--
|
||||
local myTable = {
|
||||
local myPieces = {
|
||||
["models/props_phx/construct/metal_plate1x2.mdl"] = { -- Here goes the model of your pack
|
||||
{myType ,"#", 1, "","0,-47.455105,1.482965","0,-90,0",""}, -- The first point parameter
|
||||
{myType ,"#", 2, "","0, 47.455105,1.482965","0, 90,0",""} -- The second point parameter
|
||||
{myType , gsSymOff, 1, "","0,-47.455105,1.482965","0,-90,0",""}, -- The first point parameter
|
||||
{myType , gsSymOff, 2, "","0, 47.455105,1.482965","0, 90,0",""} -- The second point parameter
|
||||
},
|
||||
["models/props_phx/construct/windows/window1x2.mdl"] = {
|
||||
{myType ,"#", 1, "","0,-23.73248,1.482965","0,-90,0",""},
|
||||
{myType ,"#", 2, "","0, 71.17773,1.482965","0, 90,0",""}
|
||||
{myType , gsSymOff, gsSymOff, "","0,-23.73248,1.482965","0,-90,0",""},
|
||||
{myType , gsSymOff, gsSymOff, "","0, 71.17773,1.482965","0, 90,0",""}
|
||||
}
|
||||
}
|
||||
|
||||
@ -200,15 +214,93 @@ if(asmlib) then
|
||||
* sPref > An export file custom prefix. For synchronizing it must be related to your addon
|
||||
* sDelim > The delimiter used by the server/client ( default is a tab symbol )
|
||||
]]--
|
||||
asmlib.LogInstance("SynchronizeDSV start <"..myPrefix..">")
|
||||
if(not asmlib.SynchronizeDSV("PIECES", myTable, true, myPrefix)) then
|
||||
myThrowError("Failed to synchronize track pieces")
|
||||
else -- You are saving me from all the work for manually generating these
|
||||
asmlib.LogInstance("TranslateDSV start <"..myPrefix..">")
|
||||
if(not asmlib.TranslateDSV("PIECES", myPrefix)) then
|
||||
myThrowError("Failed to translate DSV into Lua") end
|
||||
asmlib.LogInstance("TranslateDSV done <"..myPrefix..">")
|
||||
end -- Now we have Lua inserts and DSV
|
||||
if(not asmlib.IsEmpty(myPieces)) then
|
||||
asmlib.LogInstance("SynchronizeDSV start <"..myPrefix..">")
|
||||
if(not asmlib.SynchronizeDSV("PIECES", myPieces, true, myPrefix)) then
|
||||
myThrowError("Failed to synchronize track pieces")
|
||||
else -- You are saving me from all the work for manually generating these
|
||||
asmlib.LogInstance("TranslateDSV start <"..myPrefix..">")
|
||||
if(not asmlib.TranslateDSV("PIECES", myPrefix)) then
|
||||
myThrowError("Failed to translate DSV into Lua") end
|
||||
asmlib.LogInstance("TranslateDSV done <"..myPrefix..">")
|
||||
end -- Now we have Lua inserts and DSV
|
||||
end
|
||||
|
||||
--[[
|
||||
* Create a table and populate it as shown below
|
||||
* In the square brackets goes your MODELBASE,
|
||||
* and then for every active point, you must have one array of
|
||||
* strings and numbers, where the elements match the following data settings.
|
||||
* {MODELBASE, MODELADD, ENTCLASS, LINEID, POSOFF, ANGOFF, MOVETYPE, PHYSINIT, DRSHADOW, PHMOTION, PHYSLEEP, SETSOLID}
|
||||
* MODELBASE > This string contains the path to your base /*.mdl/ file the additions are gonna be attached to.
|
||||
* It is mandatory and taken in pairs with LINEID, it forms the unique identifier of every record.
|
||||
* When used in /DSV/ mode ( like seen below ) is is used as a hash index.
|
||||
* MODELADD > This is the /*.mdl/ path of the addition entity. It is mandatory and cannot be disabled.
|
||||
* ENTCLASS > This is the class of the addition entity. It is mandatory and cannot be disabled.
|
||||
* LINEID > This is the ID of the point that can be selected for building. They must be
|
||||
* sequential and mandatory. If provided, the ID must the same as the row index under
|
||||
* a given model key. Disabling this, makes it use the the index of the current line.
|
||||
* Use that to swap the active points around by only moving the desired row up or down.
|
||||
* For the example table definition below, the line ID in the database will be the same.
|
||||
* POSOFF > This is the local position vector offset that TA uses to place the addition relative to MODELBASE.
|
||||
* A NULL, empty, disabled or not available string is treated as taking {0,0,0}.
|
||||
* ANGOFF > This is the local angle offset that TA uses to place the addition.
|
||||
* A NULL, empty, disabled or not available string is treated as taking {0,0,0}.
|
||||
* MOVETYPE > This internally calls /Entity:SetMoveType/ if the database parameter is zero or greater.
|
||||
* PHYSINIT > This internally calls /Entity:PhysicsInit/ if the database parameter is zero or greater.
|
||||
* DRSHADOW > This internally calls /Entity:DrawShadow/ if the database parameter is not zero.
|
||||
* The call evaluates to /true/ for positive numbers and /false/ for negative.
|
||||
* When the parameter is equal to zero skips the call of /Entity:DrawShadow/
|
||||
* PHMOTION > This internally calls /PhysObj:EnableMotion/ if the database parameter is not zero on the validated physics object.
|
||||
* The call evaluates to /true/ for positive numbers and /false/ for negative.
|
||||
* When the parameter is equal to zero skips the call of /Entity:EnableMotion/
|
||||
* PHYSLEEP > This internally calls /PhysObj:Sleep/ if the database parameter is grater than zero on the validated physics object.
|
||||
* When the parameter is equal or less than zero skips the call of /Entity:Sleep/
|
||||
* SETSOLID > This internally calls /Entity:SetSolid/ if the database parameter is zero or greater.
|
||||
]]--
|
||||
local myAdditions = {}
|
||||
|
||||
if(not asmlib.IsEmpty(myAdditions)) then
|
||||
asmlib.LogInstance("SynchronizeDSV start <"..myPrefix..">")
|
||||
if(not asmlib.SynchronizeDSV("ADDITIONS", myAdditions, true, myPrefix)) then
|
||||
myThrowError("Failed to synchronize track additions")
|
||||
else -- You are saving me from all the work for manually generating these
|
||||
asmlib.LogInstance("TranslateDSV start <"..myPrefix..">")
|
||||
if(not asmlib.TranslateDSV("ADDITIONS", myPrefix)) then
|
||||
myThrowError("Failed to translate DSV into Lua") end
|
||||
asmlib.LogInstance("TranslateDSV done <"..myPrefix..">")
|
||||
end -- Now we have Lua inserts and DSV
|
||||
end
|
||||
|
||||
--[[
|
||||
* Create a table and populate it as shown below
|
||||
* In the square brackets goes your TYPE,
|
||||
* and then for every active point, you must have one array of
|
||||
* strings and numbers, where the elements match the following data settings.
|
||||
* {TYPE, LINEID, NAME}
|
||||
* TYPE > This is the category under your physical properties are stored internally.
|
||||
* It is mandatory and taken in pairs with LINEID, it forms the unique identifier of every record.
|
||||
* When used in /DSV/ mode ( like seen below ) is is used as a hash index.
|
||||
* LINEID > This is the ID of the point that can be selected for building. They must be
|
||||
* sequential and mandatory. If provided, the ID must the same as the row index under
|
||||
* a given model key. Disabling this, makes it use the the index of the current line.
|
||||
* Use that to swap the active points around by only moving the desired row up or down.
|
||||
* For the example table definition below, the line ID in the database will be the same.
|
||||
* NAME > This stores the name of the physical property. It must an actual physical property.
|
||||
]]--
|
||||
local myPhysproperties = {}
|
||||
|
||||
if(not asmlib.IsEmpty(myPhysproperties)) then
|
||||
asmlib.LogInstance("SynchronizeDSV start <"..myPrefix..">")
|
||||
if(not asmlib.SynchronizeDSV("PHYSPROPERTIES", myPhysproperties, true, myPrefix)) then
|
||||
myThrowError("Failed to synchronize track additions")
|
||||
else -- You are saving me from all the work for manually generating these
|
||||
asmlib.LogInstance("TranslateDSV start <"..myPrefix..">")
|
||||
if(not asmlib.TranslateDSV("PHYSPROPERTIES", myPrefix)) then
|
||||
myThrowError("Failed to translate DSV into Lua") end
|
||||
asmlib.LogInstance("TranslateDSV done <"..myPrefix..">")
|
||||
end -- Now we have Lua inserts and DSV
|
||||
end
|
||||
|
||||
asmlib.LogInstance("<<< "..myScript)
|
||||
else
|
@ -1,95 +0,0 @@
|
||||
-- Local reference to the module
|
||||
local asmlib = trackasmlib
|
||||
|
||||
-- Change this to your addon name
|
||||
local myAddon = "Ron's test maglev" -- Your addon name goes here
|
||||
|
||||
local myType = myAddon -- The type your addon resides in the tool with
|
||||
|
||||
--[[
|
||||
* For actually produce an error you can replace the /print/
|
||||
* statement with one of following API calls:
|
||||
* http://wiki.garrysmod.com/page/Global/error
|
||||
* http://wiki.garrysmod.com/page/Global/Error
|
||||
* http://wiki.garrysmod.com/page/Global/ErrorNoHalt
|
||||
]]
|
||||
local myError = print
|
||||
|
||||
-- This is used for addon relation prefix. Fingers away from it
|
||||
local myPrefix = myAddon:gsub("[^%w]","_")
|
||||
|
||||
-- This is the script path. It tells TA who wants to add these models
|
||||
-- Do not touch this also, it is used for debugging
|
||||
local myScript = tostring(debug.getinfo(1).source or "N/A")
|
||||
myScript = "@"..myScript:gsub("^%W+", ""):gsub("\\","/")
|
||||
|
||||
local function myThrowError(vMesg)
|
||||
local sMesg = tostring(vMesg) -- Make sure the message is string
|
||||
if(asmlib) then asmlib.LogInstance(sMesg) end -- Output the message into the logs
|
||||
myError(myScript.." > ("..myAddon.."): "..sMesg) -- Generate an error in the console ( optional )
|
||||
end
|
||||
|
||||
if(asmlib) then
|
||||
-- This is the path to your DSV
|
||||
local myDsv = asmlib.GetOpVar("DIRPATH_BAS")..
|
||||
asmlib.GetOpVar("DIRPATH_DSV")..myPrefix..
|
||||
asmlib.GetOpVar("TOOLNAME_PU")
|
||||
|
||||
local myFlag = file.Exists(myDsv.."PIECES.txt","DATA")
|
||||
|
||||
-- Tell TA what custom script we just called don't touch it
|
||||
asmlib.LogInstance(">>> "..myScript.." ("..tostring(myFlag).."): {"..myAddon..", "..myPrefix.."}")
|
||||
|
||||
asmlib.LogInstance("RegisterDSV start <"..myPrefix..">")
|
||||
if(myFlag) then -- Your DSV must be registered only once when loading for the first time
|
||||
asmlib.LogInstance("RegisterDSV skip <"..myPrefix..">")
|
||||
else -- If the locking file is not located that means this is the first run of your script
|
||||
if(not asmlib.RegisterDSV(myScript, myPrefix)) then -- Register the DSV prefix and check for error
|
||||
myThrowError("Failed to register DSV") -- Throw the error if fails
|
||||
end -- Third argument is the delimiter. The default tab is used
|
||||
asmlib.LogInstance("RegisterDSV done <"..myPrefix..">")
|
||||
end
|
||||
|
||||
local myCategory = {
|
||||
[myType] = {Txt = [[
|
||||
function(m)
|
||||
local function conv(x) return " "..x:sub(2,2):upper() end
|
||||
local r = m:gsub("models/ron/maglev/",""):gsub("[\\/]([^\\/]+)$","");
|
||||
if(r:find("track")) then r = r:gsub("track/","")
|
||||
elseif(r:find("support")) then r = nil end; return r and {("_"..r):gsub("_%w",conv):sub(2,-1)}
|
||||
end
|
||||
]]}
|
||||
}
|
||||
|
||||
asmlib.LogInstance("ExportCategory start <"..myPrefix..">")
|
||||
if(CLIENT) then
|
||||
if(not asmlib.ExportCategory(3, myCategory, myPrefix)) then
|
||||
myThrowError("Failed to synchronize category")
|
||||
end
|
||||
asmlib.LogInstance("ExportCategory done <"..myPrefix..">")
|
||||
else
|
||||
asmlib.LogInstance("ExportCategory skip <"..myPrefix..">")
|
||||
end
|
||||
|
||||
|
||||
local myTable = {
|
||||
["models/ron/maglev/track/straight/straight_128.mdl"] = { -- Here goes the model of your pack
|
||||
{myType ,"#", 1, "","!1","",""}, -- The first point parameter
|
||||
{myType ,"#", 2, "","!2","",""} -- The second point parameter
|
||||
}
|
||||
}
|
||||
|
||||
asmlib.LogInstance("SynchronizeDSV start <"..myPrefix..">")
|
||||
if(not asmlib.SynchronizeDSV("PIECES", myTable, true, myPrefix)) then
|
||||
myThrowError("Failed to synchronize track pieces")
|
||||
else -- You are saving me from all the work for manually generating these
|
||||
asmlib.LogInstance("TranslateDSV start <"..myPrefix..">")
|
||||
if(not asmlib.TranslateDSV("PIECES", myPrefix)) then
|
||||
myThrowError("Failed to translate DSV into Lua") end
|
||||
asmlib.LogInstance("TranslateDSV done <"..myPrefix..">")
|
||||
end -- Now we have Lua inserts and DSV
|
||||
|
||||
asmlib.LogInstance("<<< "..myScript)
|
||||
else
|
||||
myThrowError("Failed loading the required module")
|
||||
end
|
83
data/discontinued/author-converted/Shinji85's Rails.txt
Normal file
83
data/discontinued/author-converted/Shinji85's Rails.txt
Normal file
@ -0,0 +1,83 @@
|
||||
asmlib.Categorize("Shinji85's Rails",[[function(m) local c
|
||||
local r = m:gsub("models/shinji85/train/rail_", "")
|
||||
if(r:find("cross")) then c = "crossing"
|
||||
elseif(r:find("switch")) then c = "switch"
|
||||
elseif(r:find("curve")) then c = "curve"
|
||||
elseif(r:find("bumper")) then c = "bumper"
|
||||
elseif(r:find("junction")) then c = "junction"
|
||||
elseif(r:find("%dx")) then c = "straight"
|
||||
end; c = (c and c:gsub("^%l", string.upper) or nil) return c end]])
|
||||
asmlib.ModelToNameRule("SET",nil,{"rail_","straight_"},nil)
|
||||
PIECES:Record({"models/shinji85/train/rail_1x.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_1x.mdl", "#", "#", 2, "", "-128,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_2x.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_2x.mdl", "#", "#", 2, "", "-256,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_4x.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_4x.mdl", "#", "#", 2, "", "-512,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_8x.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_8x.mdl", "#", "#", 2, "", "-1024,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_16x.mdl", "#","#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_16x.mdl", "#","#", 2, "", "-2048,0,7.346", "0,180,0"})
|
||||
asmlib.ModelToNameRule("SET",nil,{"_crossing","","rail_","crossing_"},nil)
|
||||
PIECES:Record({"models/shinji85/train/rail_4x_crossing.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_4x_crossing.mdl", "#", "#", 2, "", "-512,0,7.346", "0,180,0"})
|
||||
asmlib.ModelToNameRule("SET",{1,5})
|
||||
PIECES:Record({"models/shinji85/train/rail_cross_4x.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cross_4x.mdl", "#", "#", 2, "", "-512,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cross_4x.mdl", "#", "#", 3, "", "-256,-256,7.346", "0,270,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cross_4x.mdl", "#", "#", 4, "", "-256,256,7.346", "0,90,0"})
|
||||
asmlib.ModelToNameRule("SET",{1,5},{"_crossing","","double_","crossing_double_"})
|
||||
PIECES:Record({"models/shinji85/train/rail_double_4x_crossing.mdl", "#", "#", 1, "", "0,128,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_double_4x_crossing.mdl", "#", "#", 2, "", "-512,128,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_double_4x_crossing.mdl", "#", "#", 3, "", "0,-128,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_double_4x_crossing.mdl", "#", "#", 4, "", "-512,-128,7.346", "0,180,0"})
|
||||
asmlib.ModelToNameRule("SET",{1,5})
|
||||
PIECES:Record({"models/shinji85/train/rail_bumper.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
asmlib.ModelToNameRule("SET",{1,5},{"double_bumper","bumper_double"},nil)
|
||||
PIECES:Record({"models/shinji85/train/rail_double_bumper.mdl", "#", "#", 1, "", "0,128,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_double_bumper.mdl", "#", "#", 2, "", "0,-128,7.346"})
|
||||
asmlib.ModelToNameRule("SET",{1,5})
|
||||
--- Shinji85 Curve ---
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r1.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r1.mdl", "#", "#", 2, "", "-1060.12341 ,139.56763 ,7.346", "0,165,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r2.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r2.mdl", "#", "#", 2, "", "-993.86572 ,130.84471 ,7.346", "0,165,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r3.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r3.mdl", "#", "#", 2, "", "-927.60797 ,122.1218 ,7.346", "0,165,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_cc.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_cc.mdl", "#", "#", 2, "", "-966.40515 ,128, 7.346", "0,165,0"})
|
||||
--- Shinji85 Switch ---
|
||||
asmlib.ModelToNameRule("SET",{1,5},{"r_","right_","l_","left_"},nil)
|
||||
PIECES:Record({"models/shinji85/train/rail_r_switch.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_r_switch.mdl", "#", "#", 2, "", "-1024,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_r_switch.mdl", "#", "#", 3, "", "-966.40515 ,128, 7.346", "0,165,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_l_switch.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_l_switch.mdl", "#", "#", 2, "", "-1024,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_l_switch.mdl", "#", "#", 3, "", "-966.40515 ,-128, 7.346", "0,195,0"})
|
||||
asmlib.ModelToNameRule("SET",{1,5})
|
||||
--- Shinji85 Raccordi ---
|
||||
PIECES:Record({"models/shinji85/train/rail_x_junction.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_x_junction.mdl", "#", "#", 2, "", "-494.55,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_x_junction.mdl", "#", "#", 3, "", "-33.129,-123.63866,7.346", "0,-30,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_x_junction.mdl", "#", "#", 4, "", "-461.42175,123.63649,7.346", "0,150,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cx.mdl", "#", "Counter X", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cx.mdl", "#", "Counter X", 2, "", "-362.51361,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cs.mdl", "#", "Counter Switch", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cs.mdl", "#", "Counter Switch", 2, "", "-908.81165,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cxfix.mdl", "#", "Counter X Fix", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_cxfix.mdl", "#", "Counter X Fix", 2, "", "-149.48648,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_csfix.mdl", "#", "Counter Switch Fix", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_csfix.mdl", "#", "Counter Switch Fix", 2, "", "-115.18847,0,7.346", "0,180,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r11.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r11.mdl", "#", "#", 2, "", "-1086.11584 ,449.88458 ,7.346", "0,135,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r12.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r12.mdl", "#", "#", 2, "", "-905.09656 ,374.90414 ,7.346", "0,135,0"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r13.mdl", "#", "#", 1, "", "0,0,7.346"})
|
||||
PIECES:Record({"models/shinji85/train/rail_curve_r13.mdl", "#", "#", 2, "", "-724.07727 ,299.92276 ,7.346", "0,135,0"})
|
||||
--- Shinji's Switchers ---
|
||||
ADDITIONS:Record({"models/shinji85/train/rail_r_switch.mdl","models/shinji85/train/sw_lever.mdl" ,"buttonswitch",1,"-100,125,0","",-1,-1,-1,0,-1,-1})
|
||||
ADDITIONS:Record({"models/shinji85/train/rail_r_switch.mdl","models/shinji85/train/rail_r_switcher1.mdl","prop_dynamic",2,"","",MOVETYPE_VPHYSICS,SOLID_VPHYSICS,-1,-1,1,SOLID_VPHYSICS})
|
||||
ADDITIONS:Record({"models/shinji85/train/rail_r_switch.mdl","models/shinji85/train/rail_r_switcher2.mdl","prop_dynamic",3,"","",MOVETYPE_VPHYSICS,SOLID_VPHYSICS,-1, 0,-1,SOLID_NONE})
|
||||
ADDITIONS:Record({"models/shinji85/train/rail_l_switch.mdl","models/shinji85/train/sw_lever.mdl" ,"buttonswitch",1,"-100,-125,0","0,180,0",-1,-1,-1,0,-1,-1})
|
||||
ADDITIONS:Record({"models/shinji85/train/rail_l_switch.mdl","models/shinji85/train/rail_l_switcher1.mdl","prop_dynamic",2,"","",MOVETYPE_VPHYSICS,SOLID_VPHYSICS,-1,-1,1,SOLID_VPHYSICS})
|
||||
ADDITIONS:Record({"models/shinji85/train/rail_l_switch.mdl","models/shinji85/train/rail_l_switcher2.mdl","prop_dynamic",3,"","",MOVETYPE_VPHYSICS,SOLID_VPHYSICS,-1, 0,-1,SOLID_NONE})
|
@ -1,4 +1,4 @@
|
||||
asmlib.GetCategory("Ron's 2ft track pack", [[function(m)
|
||||
asmlib.Categorize("Ron's 2ft track pack", [[function(m)
|
||||
local function conv(x) return " "..x:sub(2,2):upper() end
|
||||
local r = m:gsub("models/ron/2ft/","")
|
||||
local s, o, n = r:find("/")
|
||||
|
@ -1,8 +1,9 @@
|
||||
@name TA Exporter Generator
|
||||
@inputs
|
||||
@outputs [Dev Chip Base]:entity [F Cen Prg]:vector Time Test PU PD
|
||||
@persist Time DF StraightUp Interval TrackPieceW TrackRangerMaxW TrackPieceH TrackRangerMaxH TrackOriginInset TrackOriginTolerance:string
|
||||
@persist [Cen Prg ORG F R U]:vector [Prop Mod]:string [Dev Chip Base]:entity ARC:array OutagePercentTolerance PointID
|
||||
@persist Time DF StraightUp Interval TrackPieceW TrackRangerMaxW TrackPieceH TrackRangerMaxH TrackOriginInset
|
||||
@persist [Cen Prg ORG MOrigin F R U]:vector [Prop Mod]:string [Dev Chip Base]:entity ARC:array OutagePercentTolerance
|
||||
@persist PointID TrackOriginTolerance:string TrackJumpBackMultiplier MExtraDepth MExtraSide TrackStepDelta
|
||||
@persist OverrideZ [InsertTypeDB TypeSegment PieceType PieceName]:string PrintCount PrintTime
|
||||
@trigger none
|
||||
|
||||
@ -98,7 +99,7 @@ function void printPoint(Type:string, Name:string, Mode:string, Hash:string, Poi
|
||||
if(first() || dupefinished())
|
||||
{
|
||||
# What model to search for vector offset
|
||||
Prop = "models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl"
|
||||
Prop = "models/sprops/cuboids/non_set/cube_18x18x18.mdl"
|
||||
|
||||
# Piece type that you are using. It is mandatory
|
||||
# It is usually derived from the addon mame
|
||||
@ -115,53 +116,65 @@ if(first() || dupefinished())
|
||||
# Set this to <>0 to use point generation via iterative binary search
|
||||
# Set this to positive to make the algorithm trace forward
|
||||
# Set this to negative to make the algorithm trace backwards
|
||||
PointID = 0
|
||||
PointID = 1
|
||||
|
||||
# What segment type are we processing
|
||||
# road --> Roads ( PHX roads )
|
||||
# monorail --> PHX monorail
|
||||
# general --> The two beam tracks segmentnts that we all love and joy
|
||||
TypeSegment = "monorail"
|
||||
TypeSegment = "road"
|
||||
|
||||
# Set this to <>0 for direct Z local offset
|
||||
# This us used to override the Z axis magntude
|
||||
OverrideZ = 0
|
||||
OverrideZ = 5.65723
|
||||
|
||||
# What mode will the point be exportet as
|
||||
InsertTypeDB = "INS"
|
||||
|
||||
# Automatically managed via the point ID
|
||||
# If positive uses direct point generation
|
||||
Interval = (PointID == 0) * 10
|
||||
|
||||
# Outage % Defines how sensitive the algorithm is
|
||||
# Lesser number means more sensitive
|
||||
OutagePercentTolerance = 3
|
||||
OutagePercentTolerance = 1
|
||||
|
||||
# Prints the delta if this many switches were made
|
||||
# The higher the number it will wait more before it prints
|
||||
PrintCount = 100
|
||||
|
||||
# This is automatically managed by the point ID selected
|
||||
# Set the coefficient before the sign() to adjust the process speed
|
||||
# The fighed the number the less iteration are made
|
||||
DF = 0.4 * sign(PointID)
|
||||
# Set the coefficient to adjust the process speed
|
||||
# The higher the number the less iterations are made
|
||||
TrackStepDelta = 0.02
|
||||
|
||||
# Track piece width and height
|
||||
# The bigger the numbers the more cross section your track piece has
|
||||
TrackPieceW = 30
|
||||
TrackPieceH = 30
|
||||
TrackPieceW = 800
|
||||
TrackPieceH = 60
|
||||
|
||||
# Generate the origin with an inset
|
||||
# This is used for bad model ends where the program cannot start sometimes
|
||||
# Keep this to the minimum if your tracks are quite good and you want accuracy
|
||||
TrackOriginInset = 0.0001
|
||||
TrackOriginInset = 0.001
|
||||
|
||||
# Tolerance of the error gained when generating an active point
|
||||
# This translates to 10 to the power of negative something..
|
||||
# The higher the power the less error algorithm has
|
||||
TrackOriginTolerance = "e-14"
|
||||
TrackOriginTolerance = "e-12"
|
||||
|
||||
# Must be positive and slaller than two for the binery search to work
|
||||
# Defines how far does the sensor origin goes back anfter it goes out of bounds
|
||||
# The higher the mumber the long time it will take and will be more accurate
|
||||
TrackJumpBackMultiplier = 1.7
|
||||
|
||||
# Automatic value adjustment
|
||||
Interval = (PointID == 0) * 10
|
||||
TrackRangerMaxW = TrackPieceW * 2
|
||||
TrackRangerMaxH = TrackPieceH * 2
|
||||
PrintCount = abs(PrintCount)
|
||||
PrintTime = PrintCount
|
||||
TrackStepDelta = abs(TrackStepDelta)
|
||||
DF = clamp(TrackStepDelta, 0.0001, 1) * sign(PointID)
|
||||
TrackJumpBackMultiplier = clamp(TrackJumpBackMultiplier, 1.001, 1.999)
|
||||
|
||||
# Initialization
|
||||
Time = 0
|
||||
Chip = entity()
|
||||
CPos = Chip:pos()
|
||||
@ -174,10 +187,6 @@ if(first() || dupefinished())
|
||||
No = findByModel(Prop)
|
||||
Dev = findClosest(Chip:pos())
|
||||
Dev:setColor(0,255,0,255)
|
||||
TrackRangerMaxW = TrackPieceW * 2
|
||||
TrackRangerMaxH = TrackPieceH * 2
|
||||
PrintCount = abs(PrintCount)
|
||||
PrintTime = PrintCount
|
||||
# Set to > 0 for straight rails and place it between the beams
|
||||
# The angle must be [0,0,0]
|
||||
UpVec = Dev:pos() - CPos
|
||||
@ -242,10 +251,9 @@ if(Interval > 0)
|
||||
{
|
||||
if(Time <= 0)
|
||||
{
|
||||
print(_HUD_PRINTTALK,"Finished: "+Prop)
|
||||
Dev:setColor(255,255,255,255)
|
||||
selfDestruct()
|
||||
# print(_HUD_PRINTTALK,Dev:massCenter())
|
||||
# print(_HUD_PRINTTALK,Dev:pos())
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -283,11 +291,12 @@ if(Interval > 0)
|
||||
Cen = Cen - DF * F
|
||||
ALR = clampTrace(Cen,TrackPieceW,F,R,TrackRangerMaxW,0,0), VL = ALR[1,number], VR = ALR[2,number]
|
||||
Time = Time - 1
|
||||
DF = DF * 1.7
|
||||
DF = DF * TrackJumpBackMultiplier
|
||||
}
|
||||
DF = 0.5 * DF
|
||||
if(PrintTime == 0 && PrintCount != 0){
|
||||
print(_HUD_PRINTTALK,"Delta: "+toString(DF))
|
||||
if(PrintTime == 0 && PrintCount != 0)
|
||||
{
|
||||
print(_HUD_PRINTTALK,"Delta: "+toString(DF)+" Time: "+toString(Time))
|
||||
PrintTime = PrintCount
|
||||
}
|
||||
}else{
|
||||
@ -306,7 +315,12 @@ if(Interval > 0)
|
||||
PRL = clampTrace(Cen - TrackOriginInset * F ,0,F,R,TrackRangerMaxW,3,4)
|
||||
TrackExtraDepth = ((ARC[1,number] - PU) / 2) + PU
|
||||
TrackExtraSide = PRL[3,number]
|
||||
}else{ print(_HUD_PRINTTALK,"Segment type: " + TypeSegment + " not developed") }
|
||||
}
|
||||
else
|
||||
{
|
||||
print(_HUD_PRINTTALK,"Segment type missing error: " + TypeSegment)
|
||||
selfDestruct()
|
||||
}
|
||||
|
||||
ORG = Cen + TrackPieceH * U
|
||||
ORG = ORG - TrackExtraSide * R
|
||||
@ -315,19 +329,49 @@ if(Interval > 0)
|
||||
|
||||
O = Base:toLocalAxis(ORG - Base:pos())
|
||||
A = Base:toLocal((F):toAngle(U))
|
||||
|
||||
S = toString(DF):find(TrackOriginTolerance)
|
||||
|
||||
if(S > 0)
|
||||
|
||||
# print(_HUD_PRINTTALK,"Origin: "+toString(O), (MOrigin - O):length())
|
||||
|
||||
if(MOrigin:length() > 0 && (MOrigin - O):length() > 1)
|
||||
{
|
||||
print(_HUD_PRINTTALK,"Tollerance error: "+toString((MOrigin - O):length()))
|
||||
print(_HUD_PRINTTALK,"Extra side : "+toString(MExtraSide)+" > "+toString(TrackExtraSide))
|
||||
print(_HUD_PRINTTALK,"Extra depth: "+toString(MExtraDepth)+" > "+toString(TrackExtraDepth))
|
||||
print(_HUD_PRINTTALK,"Extra inset: "+toString(TrackOriginInset))
|
||||
selfDestruct()
|
||||
}
|
||||
|
||||
if(DF > 1)
|
||||
{
|
||||
print(_HUD_PRINTTALK,"Origin delta error: "+toString(DF))
|
||||
print(_HUD_PRINTTALK,"Extra side : "+toString(TrackExtraSide))
|
||||
print(_HUD_PRINTTALK,"Extra depth: "+toString(TrackExtraDepth))
|
||||
print(_HUD_PRINTTALK,"Extra inset: "+toString(TrackOriginInset))
|
||||
selfDestruct()
|
||||
}
|
||||
|
||||
if(S > 0)
|
||||
{
|
||||
print(_HUD_PRINTTALK,"Finish: "+toString(DF))
|
||||
printPoint(PieceType,PieceName,InsertTypeDB,Mod,PointID,O+TrackOriginInset*F,A,OverrideZ)
|
||||
selfDestruct()
|
||||
}
|
||||
else
|
||||
{
|
||||
if(PrintTime == 0 && PrintCount != 0)
|
||||
{
|
||||
print(_HUD_PRINTTALK,"Delta: "+toString(DF))
|
||||
PrintTime = PrintCount
|
||||
}
|
||||
}
|
||||
|
||||
holoPos(2,Base:pos() + O:rotate(Base:angles()))
|
||||
Cen = Cen + DF * F
|
||||
if(PrintTime == 0 && PrintCount != 0){
|
||||
print(_HUD_PRINTTALK,"Delta: "+toString(DF))
|
||||
PrintTime = PrintCount
|
||||
}
|
||||
|
||||
# Memory crap
|
||||
MOrigin = O
|
||||
MExtraDepth = TrackExtraDepth
|
||||
MExtraSide = TrackExtraSide
|
||||
}
|
||||
}
|
||||
|
@ -9,10 +9,12 @@ local fVer = "asmlib.SetOpVar%s*%(%s*\"TOOL_VERSION\"%s*,%s*\"%d+%.%d+\"%s*%)"
|
||||
local fNum = "%s*%d+%s*%.%s*%d+%s*"
|
||||
local tEnd = {["DOS"]="\r\n", ["UNX"]="\n"}
|
||||
|
||||
function trim(s) return s:match("^%s*(.-)%s*$") end
|
||||
|
||||
local sLog = tostring(arg[4]):gsub("\\","/")
|
||||
|
||||
local fLog, sE = io.open(sLog,"a+")
|
||||
if(fLog) then io.output(fLog) end
|
||||
if(fLog) then io.output(fLog) else io.output("Error: "..sE) end
|
||||
|
||||
io.write(fSta:format("START"))
|
||||
|
||||
@ -52,11 +54,16 @@ while(sI) do
|
||||
io.write("Version found at line ["..nL.."]\n")
|
||||
local vB, vE = sI:find(fNum)
|
||||
if(vB and vE) then
|
||||
io.write("Version > ["..sI:sub(vB, vE).."]\n")
|
||||
local nW, nF = math.modf(tonumber(sI:sub(vB, vE)))
|
||||
local sF = (tonumber(tostring(nF):sub(3,-1))+1)
|
||||
sI = sI:sub(1,vB-1)..nW.."."..sF..sI:sub(vE+1,-1)
|
||||
io.write("Extract > ["..sF.."]\n")
|
||||
print(sI:sub(vB, vE))
|
||||
local nD = sI:sub(vB, vE):find(".", 1, true)
|
||||
if(nD) then
|
||||
local sW = trim(sI:sub(vB, vB + nD - 2))
|
||||
local sF = trim(sI:sub(vB + nD, vE))
|
||||
io.write("Version > ["..sW.."]["..sF.."]\n")
|
||||
sF = tostring(tonumber(sF) + 1)
|
||||
sI = sI:sub(1,vB-1)..sW.."."..sF..sI:sub(vE+1,-1)
|
||||
io.write("Extract > ["..sF.."]\n")
|
||||
end
|
||||
end
|
||||
end
|
||||
nL = nL + 1
|
||||
@ -72,5 +79,3 @@ if(fLog) then
|
||||
fLog:flush()
|
||||
fLog:close()
|
||||
end
|
||||
|
||||
|
||||
|
@ -16,9 +16,9 @@
|
||||
#define MATCH_MODEL_DIR "models"
|
||||
// <.mdl> OR what the model in the line ends with
|
||||
#define MATCH_MODEL_END ".mdl"
|
||||
// <asmlib.GetCategory("PHX Metal")>
|
||||
// <asmlib.Categorize("PHX Metal")>
|
||||
// A new track type starts from this line ( e.g. "PHX Metal" )
|
||||
#define MATCH_START_NEW_TYPE "asmlib.GetCategory(\""
|
||||
#define MATCH_START_NEW_TYPE "asmlib.Categorize(\""
|
||||
// The log buffer result string length
|
||||
#define MAX_BUFFER_LOG 2000
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
vsnprintf(logBuffer, MAX_BUFFER_LOG, form, args);
|
||||
va_end(args);
|
||||
if(log==NULL){ printf(logBuffer); printf("\n"); }
|
||||
else{ fprintf(log, logBuffer); fprintf(log,"\n"); }
|
||||
else{ fprintf(log, "%s", logBuffer); fprintf(log, "%s", "\n"); }
|
||||
}
|
||||
|
||||
char **strExplode(char *strIn)
|
||||
@ -122,15 +122,15 @@
|
||||
{
|
||||
unsigned int L = strlen(strData);
|
||||
if(L == 0){ return strData; } // Nothing to trim
|
||||
unsigned int S = 0, E = L;
|
||||
while((!(strData[S] > ' ') || !(strData[E] > ' ')) && (S >= 0) && (S <= L) && (E >= 0) && (E <= L))
|
||||
unsigned int S = 0, E = L - 1;
|
||||
while((!(strData[S] > ' ') || !(strData[E] > ' '))
|
||||
&& (S >= 0) && (S <= L) && (E >= 0) && (E <= L))
|
||||
{
|
||||
if(strData[S] <= ' '){ S++; }
|
||||
if(strData[E] <= ' '){ E--; }
|
||||
}
|
||||
if(S == 0 && E == L)
|
||||
{
|
||||
logSystem(fLog,"trimAll: Already trimmed");
|
||||
{ // logSystem(fLog,"trimAll: Already trimmed {<%s>,%d,%d,%d}",strData,S,E,L);
|
||||
return strData;
|
||||
}
|
||||
if((S >= 0) && (S <= L) && (E >= 0) && (E <= L) && (S <= E)){
|
||||
|
@ -3,7 +3,6 @@ setlocal enabledelayedexpansion
|
||||
|
||||
:: The location of the script ( Do not change )
|
||||
set emd_chew_pathb=%~dp0
|
||||
echo Running in: %emd_chew_pathb%
|
||||
|
||||
:: The path to Garry's mod
|
||||
set emd_chew_gmod=F:\Games\Steam\steamapps\common\GarrysMod
|
||||
@ -14,14 +13,18 @@ set emd_chew_addon=%emd_chew_gmod%\garrysmod\addons
|
||||
:: Location of "gmad.exe"
|
||||
set emd_chew_binloc=%emd_chew_gmod%\bin
|
||||
|
||||
:: The path to the "trackassembly_init.lua"
|
||||
set emd_chew_dbase=%emd_chew_addon%\TrackAssemblyTool_GIT\lua\autorun\trackassembly_init.lua
|
||||
:: Repository local clone locatioon
|
||||
set emd_chew_repo=%emd_chew_addon%\TrackAssemblyTool_GIT
|
||||
|
||||
:: The path to the "garrysmod/data/trackassembly/trackasmlib_db.txt"
|
||||
:: Such file is generated when tool control panel is refreshed in developer mode
|
||||
set emd_chew_dbase=%emd_chew_gmod%\garrysmod\data\trackassembly\trackasmlib_db.txt
|
||||
|
||||
:: The path to the skipped models list
|
||||
set emd_chew_skip=%emd_chew_addon%\TrackAssemblyTool_GIT\data\peaces_manager\models_ignored.txt
|
||||
set emd_chew_skip=%emd_chew_repo%\data\peaces_manager\models_ignored.txt
|
||||
|
||||
:: How many addons are to be processed
|
||||
set emd_chew_addcnt=14
|
||||
set emd_chew_addcnt=16
|
||||
|
||||
:: GMA addons to be processed
|
||||
set emd_chew_addlst[1]=sligwolfs_minitrains_149759773
|
||||
@ -30,14 +33,16 @@ set emd_chew_addlst[3]=sligwolfs_rerailer_132843280
|
||||
set emd_chew_addlst[4]=sprops_workshop_edition_173482196
|
||||
set emd_chew_addlst[5]=[1-gauge]_magnums_train_model_pack_290130567
|
||||
set emd_chew_addlst[6]=shinji85s_rails_train_pack_326640186
|
||||
set emd_chew_addlst[7]=sligwolfs_rail_car_173717507
|
||||
set emd_chew_addlst[8]=steventechnos_buildings_pack_331192490
|
||||
set emd_chew_addlst[7]=sligwolfs_bgc_173717507
|
||||
set emd_chew_addlst[8]=(classic)_steventechnos_buildings_and_roads_pack__331192490
|
||||
set emd_chew_addlst[9]=mr.train_m_gauge_517442747
|
||||
set emd_chew_addlst[10]=g_scale_track_pack_718239260
|
||||
set emd_chew_addlst[11]=rons_minitrain_props_728833183
|
||||
set emd_chew_addlst[12]=battleships_abandoned_rails(penn_central_simulator_2017)(wip)_807162936
|
||||
set emd_chew_addlst[13]=alexcookies_2ft_track_pack_740453553
|
||||
set emd_chew_addlst[14]=joes_track_pack_1658816805
|
||||
set emd_chew_addlst[15]=steventechnos_buildings_and_roads_pack_2.0_1888013789
|
||||
set emd_chew_addlst[16]=trackmania_united_track_props_1955876643
|
||||
|
||||
:: Folder list for extraction and the directories they will be extracted
|
||||
set emd_chew_adddir[1]=SligWolf's Minitrains
|
||||
@ -47,16 +52,20 @@ set emd_chew_adddir[4]=SProps
|
||||
set emd_chew_adddir[5]=Magnum's Rails
|
||||
set emd_chew_adddir[6]=Shinji85's Rails
|
||||
set emd_chew_adddir[7]=SligWolf's Railcar
|
||||
set emd_chew_adddir[8]=StephenTechno's Buildings
|
||||
set emd_chew_adddir[8]=StevenTechno's Buildings 1.0
|
||||
set emd_chew_adddir[9]=Mr.Train's M-Gauge
|
||||
set emd_chew_adddir[10]=G Scale Track Pack
|
||||
set emd_chew_adddir[11]=Ron's Minitrain Props
|
||||
set emd_chew_adddir[12]=Battleship's abandoned rails
|
||||
set emd_chew_adddir[13]=AlexCookie's 2ft track pack
|
||||
set emd_chew_adddir[14]=Joe's track pack
|
||||
set emd_chew_adddir[15]=StevenTechno's Buildings 2.0
|
||||
set emd_chew_adddir[16]=Trackmania United Props
|
||||
|
||||
:: AUTOMATIC STUFF ::
|
||||
|
||||
echo Running in: %emd_chew_pathb%
|
||||
|
||||
:: Output file for models list
|
||||
set emd_chew_modls=models_list
|
||||
set emd_clog_lfile=system_log
|
||||
@ -69,8 +78,8 @@ del %emd_chew_pathb%%emd_clog_lfile%.txt
|
||||
for /L %%k in (1,1,%emd_chew_addcnt%) do (
|
||||
cd %emd_chew_pathb%
|
||||
rd /S /Q "!emd_chew_adddir[%%k]!"
|
||||
call %emd_chew_binloc%\gmad.exe extract -file "%emd_chew_addon%\!emd_chew_addlst[%%k]!.gma" -out "%emd_chew_pathb%!emd_chew_adddir[%%k]!"
|
||||
echo [%%k]!emd_chew_adddir[%%k]! >> %emd_clog_lfile%.txt
|
||||
call %emd_chew_binloc%\gmad.exe extract -file "%emd_chew_addon%\!emd_chew_addlst[%%k]!.gma" -out "%emd_chew_pathb%!emd_chew_adddir[%%k]!" >> %emd_clog_lfile%.txt
|
||||
echo [%%k]!emd_chew_adddir[%%k]! @ %TIME%
|
||||
)
|
||||
|
||||
:: Get all the model files in the current directory
|
||||
|
@ -29,13 +29,14 @@ int onExit(int errID, const char * const errFormat)
|
||||
int main(int argc, char **argv)
|
||||
// int main(void)
|
||||
{
|
||||
/* Only for test !
|
||||
/* Only for test ! */
|
||||
/*
|
||||
int argc = 5;
|
||||
char argv[6][500];
|
||||
strcpy(argv[0], "chewpath.exe");
|
||||
strcpy(argv[1], "E:\\Documents\\CodeBlocks-Projs\\chewpath\\bin\\Debug\\");
|
||||
strcpy(argv[2], "E:\\Documents\\Lua-Projs\\SVN\\TrackAssemblyTool_GIT_master\\lua\\autorun\\trackassembly_init.lua");
|
||||
strcpy(argv[3], "E:\\Documents\\Lua-Projs\\SVN\\TrackAssemblyTool_GIT_master\\data\\peaces_manager\\models_ignored.txt");
|
||||
char argv[5][500];
|
||||
strcpy(argv[0], "O:\\Documents\\CodeBlocks-Projs\\peaces_manager\\bin\\peaces_manager.exe");
|
||||
strcpy(argv[1], "O:\\Documents\\CodeBlocks-Projs\\peaces_manager\\bin\\");
|
||||
strcpy(argv[2], "F:\\Games\\Steam\\steamapps\\common\\GarrysMod\\garrysmod\\data\\trackassembly\\trackasmlib_db.txt");
|
||||
strcpy(argv[3], "F:\\Games\\Steam\\steamapps\\common\\GarrysMod\\garrysmod\\addons\\TrackAssemblyTool_GIT\\data\\peaces_manager\\models_ignored.txt");
|
||||
strcpy(argv[4], "system_log");
|
||||
*/
|
||||
stentry::cEntryStack Ignored;
|
||||
@ -43,8 +44,7 @@ int main(int argc, char **argv)
|
||||
stmatch::cMatchStack Matches;
|
||||
stmatch::stMatch *Match, *cuMch;
|
||||
stentry::stEntry *enAd;
|
||||
unsigned char F;
|
||||
char *S, *E, *F1, *F2, *F3, *adNode;
|
||||
char *S, *E, *F, *adNode;
|
||||
char resPath [MAX_PATH_LENGTH] = {0};
|
||||
char dbsPath [MAX_PATH_LENGTH] = {0};
|
||||
char addName [MAX_PATH_LENGTH] = {0};
|
||||
@ -52,7 +52,7 @@ int main(int argc, char **argv)
|
||||
char fName [MAX_PATH_LENGTH] = {0};
|
||||
char cpBoom [MAX_PATH_LENGTH] = {0};
|
||||
char **arList = NULL;
|
||||
SSTACK_TYPE_INDEX tiCnt = 0, uLen = 0, ID, iDb, iAd;
|
||||
SSTACK_TYPE_INDEX tiCnt = 0, uLen = 0, ID, iDb, iAd;
|
||||
SSTACK_TYPE_ERROR teErr = 0; /// No error
|
||||
|
||||
if(argc < 3)
|
||||
@ -168,15 +168,11 @@ int main(int argc, char **argv)
|
||||
common::logSystem(L,"Match created: <%s>",Match->Name);
|
||||
rewind(D); // Reset the stream to search for data
|
||||
while(fgets(dbsPath,MAX_PATH_LENGTH,D))
|
||||
{ /// For every line in the DB
|
||||
{ /// For every line in the DB extract one model
|
||||
common::swapSlash(common::trimAll(dbsPath));
|
||||
uLen = strlen(dbsPath);
|
||||
F1 = strstr(dbsPath,MATCH_START_NEW_TYPE);
|
||||
F2 = strstr(dbsPath,Match->Name);
|
||||
F3 = strstr(dbsPath,MATCH_CLOSE_LUA); /// Closing the IF statement in LUA
|
||||
if(!F && F1 != NULL && F2 != NULL){ F = 1; }
|
||||
if( F && (F1 != NULL || (F3 != NULL && uLen == 3)) && F2 == NULL ){ F = 0; }
|
||||
if(F)
|
||||
F = strstr(dbsPath,Match->Name);
|
||||
if(F != NULL)
|
||||
{ common::logSystem(L,"DB Read: <%s>",dbsPath);
|
||||
S = strstr(dbsPath,MATCH_MODEL_DIR);
|
||||
if(S != NULL)
|
||||
|
@ -4104,6 +4104,712 @@ models/sprops/triangles_thin/right/size_4/t_rtri_48x78.mdl
|
||||
models/sprops/triangles_thin/right/size_4/t_rtri_48x84.mdl
|
||||
models/sprops/triangles_thin/right/size_4/t_rtri_48x90.mdl
|
||||
models/sprops/triangles_thin/right/size_4/t_rtri_48x96.mdl
|
||||
models/sprops/misc/bone_from_x.mdl
|
||||
models/sprops/misc/bone_from_y.mdl
|
||||
models/sprops/misc/bone_from_z.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/htube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/qtube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_1/tube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/htube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/qtube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_2/tube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/htube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/qtube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_3/tube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/htube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/qtube_72.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_0_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_12.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_18.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_1_5.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_24.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_3.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_30.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_36.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_42.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_48.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_54.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_6.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_60.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_66.mdl
|
||||
models/sprops/misc/tubes_superthin/size_4/tube_72.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x108.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x12.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x120.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x132.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x144.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x18.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x192.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x24.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x240.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x288.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x30.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x336.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x36.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x384.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x42.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x432.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x48.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x480.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x54.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x6.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x60.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x66.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x72.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x78.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x84.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x90.mdl
|
||||
models/sprops/rectangles_superthin/size_0/rect_1_5x96.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x108.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x12.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x120.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x132.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x144.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x18.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x192.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x24.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x240.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x288.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x3.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x30.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x336.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x36.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x384.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x42.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x432.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x48.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x480.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x54.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x6.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x60.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x66.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x72.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x78.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x84.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x90.mdl
|
||||
models/sprops/rectangles_superthin/size_1/rect_3x96.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x108.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x12.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x120.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x132.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x144.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x18.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x192.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x24.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x240.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x288.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x30.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x336.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x36.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x384.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x42.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x432.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x48.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x480.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x54.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x6.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x60.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x66.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x72.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x78.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x84.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x90.mdl
|
||||
models/sprops/rectangles_superthin/size_1_5/rect_6x96.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x108.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x12.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x120.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x132.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x144.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x18.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x192.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x24.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x240.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x288.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x30.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x336.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x36.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x384.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x42.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x432.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x48.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x480.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x54.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x60.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x66.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x72.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x78.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x84.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x90.mdl
|
||||
models/sprops/rectangles_superthin/size_2/rect_12x96.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x108.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x120.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x132.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x144.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x18.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x192.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x24.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x240.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x288.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x30.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x336.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x36.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x384.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x42.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x432.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x48.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x480.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x54.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x60.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x66.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x72.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x78.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x84.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x90.mdl
|
||||
models/sprops/rectangles_superthin/size_2_5/rect_18x96.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x108.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x120.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x132.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x144.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x192.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x24.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x240.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x288.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x30.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x336.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x36.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x384.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x42.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x432.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x48.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x480.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x54.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x60.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x66.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x72.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x78.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x84.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x90.mdl
|
||||
models/sprops/rectangles_superthin/size_3/rect_24x96.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x108.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x120.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x132.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x144.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x192.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x240.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x288.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x30.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x336.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x36.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x384.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x42.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x432.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x48.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x480.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x54.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x60.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x66.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x72.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x78.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x84.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x90.mdl
|
||||
models/sprops/rectangles_superthin/size_3_5/rect_30x96.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x108.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x120.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x132.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x144.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x192.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x240.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x288.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x336.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x36.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x384.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x42.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x432.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x48.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x480.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x54.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x60.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x66.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x72.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x78.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x84.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x90.mdl
|
||||
models/sprops/rectangles_superthin/size_4/rect_36x96.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x108.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x120.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x132.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x144.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x192.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x240.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x288.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x336.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x384.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x42.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x432.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x48.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x480.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x54.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x60.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x66.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x72.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x78.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x84.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x90.mdl
|
||||
models/sprops/rectangles_superthin/size_4_5/rect_42x96.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x108.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x120.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x132.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x144.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x192.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x240.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x288.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x336.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x384.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x432.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x48.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x480.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x54.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x60.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x66.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x72.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x78.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x84.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x90.mdl
|
||||
models/sprops/rectangles_superthin/size_5/rect_48x96.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x108.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x120.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x132.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x144.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x192.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x240.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x288.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x336.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x384.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x432.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x480.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x54.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x60.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x66.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x72.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x78.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x84.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x90.mdl
|
||||
models/sprops/rectangles_superthin/size_54/rect_54x96.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x108.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x120.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x132.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x144.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x192.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x240.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x288.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x336.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x384.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x432.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x480.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x60.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x72.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x84.mdl
|
||||
models/sprops/rectangles_superthin/size_6/rect_96x96.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x108.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x120.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x132.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x144.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x192.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x240.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x288.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x336.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x384.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x432.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x480.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x60.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x66.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x72.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x78.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x84.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x90.mdl
|
||||
models/sprops/rectangles_superthin/size_60/rect_60x96.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x108.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x120.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x132.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x144.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x192.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x240.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x288.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x336.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x384.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x432.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x480.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x66.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x72.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x78.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x84.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x90.mdl
|
||||
models/sprops/rectangles_superthin/size_66/rect_66x96.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x108.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x120.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x132.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x144.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x192.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x240.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x288.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x336.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x384.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x432.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x480.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x72.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x78.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x84.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x90.mdl
|
||||
models/sprops/rectangles_superthin/size_72/rect_72x96.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x108.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x120.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x132.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x144.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x192.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x240.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x288.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x336.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x384.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x432.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x480.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x78.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x84.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x90.mdl
|
||||
models/sprops/rectangles_superthin/size_78/rect_78x96.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x108.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x120.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x132.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x144.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x192.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x240.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x288.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x336.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x384.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x432.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x480.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x84.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x90.mdl
|
||||
models/sprops/rectangles_superthin/size_84/rect_84x96.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x108.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x120.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x132.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x144.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x192.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x240.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x288.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x336.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x384.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x432.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x480.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x90.mdl
|
||||
models/sprops/rectangles_superthin/size_90/rect_90x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x12.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x18.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x24.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x3.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x30.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x36.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x42.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x6.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_0/st_rtri_3x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x12.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x18.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x24.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x30.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x36.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x42.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x6.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_0_5/st_rtri_6x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x12.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x18.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x24.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x30.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x36.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x42.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_1/st_rtri_12x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x18.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x24.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x30.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x36.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x42.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_1_5/st_rtri_18x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x24.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x30.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x36.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x42.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_2/st_rtri_24x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x30.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x36.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x42.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_2_5/st_rtri_30x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x36.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x42.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_3/st_rtri_36x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x42.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_3_5/st_rtri_42x96.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x108.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x120.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x132.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x144.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x48.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x54.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x60.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x66.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x72.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x78.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x84.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x90.mdl
|
||||
models/sprops/triangles_superthin/right/size_4/st_rtri_48x96.mdl
|
||||
|
||||
# StephenTechno's Buildings
|
||||
models/buildingspack/emptylots/lo64x32.mdl
|
||||
@ -4166,4 +4872,183 @@ models/joe/props_promontory/store_1.mdl
|
||||
models/joe/props_promontory/telegraph_pole.mdl
|
||||
models/joe/props_promontory/tent_1.mdl
|
||||
models/joe/props_promontory/tent_2.mdl
|
||||
models/joe/props_promontory/tent_3.mdl
|
||||
models/joe/props_promontory/tent_3.mdl
|
||||
models/joe/jtp/straight/1024_225.mdl
|
||||
models/joe/jtp/straight/1024_45.mdl
|
||||
models/joe/jtp/curve/1536_225_left.mdl
|
||||
models/joe/jtp/curve/1536_225_right.mdl
|
||||
models/joe/jtp/curve/1536_45_left.mdl
|
||||
models/joe/jtp/curve/1536_45_right.mdl
|
||||
models/joe/jtp/curve/3072_45_left.mdl
|
||||
models/joe/jtp/curve/3072_45_right.mdl
|
||||
models/joe/jtp/straight/1024_225.mdl
|
||||
models/joe/jtp/straight/1024_45.mdl
|
||||
models/joe/jtp/straight/4096_64.mdl
|
||||
models/joe/jtp/straight/512_45.mdl
|
||||
models/joe/jtp/straight/96_225.mdl
|
||||
|
||||
# Branchwood Valley
|
||||
models/animals/cow.mdl
|
||||
models/buildings/big_house.mdl
|
||||
models/buildings/brewery1.mdl
|
||||
models/buildings/bridge.mdl
|
||||
models/buildings/buildings_hotel1.mdl
|
||||
models/buildings/building_6.mdl
|
||||
models/buildings/building_cafe.mdl
|
||||
models/buildings/building_church2.mdl
|
||||
models/buildings/building_factory1.mdl
|
||||
models/buildings/building_factory_2.mdl
|
||||
models/buildings/building_store.mdl
|
||||
models/buildings/building_store2.mdl
|
||||
models/buildings/chapel.mdl
|
||||
models/buildings/coal_mine.mdl
|
||||
models/buildings/corner_store.mdl
|
||||
models/buildings/corner_store_3.mdl
|
||||
models/buildings/factory_3.mdl
|
||||
models/buildings/freight_station.mdl
|
||||
models/buildings/general_store.mdl
|
||||
models/buildings/house1.mdl
|
||||
models/buildings/house1_small.mdl
|
||||
models/buildings/house2.mdl
|
||||
models/buildings/house2_small.mdl
|
||||
models/buildings/minecart.mdl
|
||||
models/buildings/minetrack_long.mdl
|
||||
models/buildings/mine_2ft.mdl
|
||||
models/buildings/office_1.mdl
|
||||
models/buildings/picklefactory1.mdl
|
||||
models/buildings/plantation.mdl
|
||||
models/buildings/quarry.mdl
|
||||
models/buildings/roundhouse.mdl
|
||||
models/buildings/roundhouse_funnels.mdl
|
||||
models/buildings/row_building1.mdl
|
||||
models/buildings/row_building2.mdl
|
||||
models/buildings/row_building3.mdl
|
||||
models/buildings/row_building4_jail.mdl
|
||||
models/buildings/row_building_5_hotel.mdl
|
||||
models/buildings/row_building_hotel_1.mdl
|
||||
models/buildings/row_building_store.mdl
|
||||
models/buildings/rr_watertower1.mdl
|
||||
models/buildings/sign_1.mdl
|
||||
models/buildings/steamshovel.mdl
|
||||
models/buildings/steam_donkey.mdl
|
||||
models/buildings/store_2.mdl
|
||||
models/buildings/store_3.mdl
|
||||
models/buildings/store_4.mdl
|
||||
models/buildings/store_5.mdl
|
||||
models/buildings/store_6.mdl
|
||||
models/buildings/store_front.mdl
|
||||
models/buildings/store_front_2.mdl
|
||||
models/buildings/tannery.mdl
|
||||
models/buildings/trestle.mdl
|
||||
models/buildings/trestle_valley.mdl
|
||||
models/buildings/turntable.mdl
|
||||
models/buildings/valley_trestle.mdl
|
||||
models/buildings/valley_trestle_2.mdl
|
||||
models/buildings/village_hut.mdl
|
||||
models/buildings/water_tower_2.mdl
|
||||
models/facade_germany/bldg_comma_corner01.mdl
|
||||
models/facade_germany/bldg_comma_facade.mdl
|
||||
models/facade_germany/bldg_commb.mdl
|
||||
models/facade_germany/bldg_commb_blues.mdl
|
||||
models/facade_germany/bldg_commb_corner.mdl
|
||||
models/facade_germany/bldg_commb_left.mdl
|
||||
models/multigauge/exit_2ft.mdl
|
||||
models/multigauge/exit_sg.mdl
|
||||
models/multigauge/merge.mdl
|
||||
models/multigauge/mergesg.mdl
|
||||
models/multigauge/merge_sg.mdl
|
||||
models/multigauge/ramp.mdl
|
||||
models/props_foliage/tree_dry01.mdl
|
||||
models/props_foliage/tree_dry02.mdl
|
||||
models/props_foliage/tree_pine04.mdl
|
||||
models/props_foliage/tree_pine05.mdl
|
||||
models/props_foliage/tree_pine06.mdl
|
||||
models/props_foliage/tree_pine_card_cluster_01.mdl
|
||||
models/props_foliage/tree_pine_card_cluster_01_skybox.mdl
|
||||
models/props_foliage/tree_pine_card_cluster_02.mdl
|
||||
models/props_foliage/tree_pine_card_cluster_02_skybox.mdl
|
||||
models/props_foliage/tree_pine_cluster_01.mdl
|
||||
models/props_foliage/tree_pine_large.mdl
|
||||
models/props_foliage/tree_pine_tall_cluster_01.mdl
|
||||
models/props_joe/coal_unloader.mdl
|
||||
|
||||
# StephenTechno's Buildings 2.0
|
||||
models/buildingspack2/public/2-0-1_car_garage_door.mdl
|
||||
models/buildingspack2/public/2-4-1_gas_stop_door.mdl
|
||||
models/buildingspack2/public/2-6-1_gun_shop_door.mdl
|
||||
models/buildingspack2/public/2-7-1_bank_door_a.mdl
|
||||
models/buildingspack2/public/2-7-2_bank_door_b.mdl
|
||||
models/buildingspack2/public/2-9-1_school_house_door_l.mdl
|
||||
models/buildingspack2/public/2-9-2_school_house_door_r.mdl
|
||||
models/buildingspack2_nolot/housing/1-0_apartments.mdl
|
||||
models/buildingspack2_nolot/housing/1-0_apartments_nodoors.mdl
|
||||
models/buildingspack2_nolot/housing/1-2_apartments.mdl
|
||||
models/buildingspack2_nolot/housing/1-2_apartments_nodoors.mdl
|
||||
models/buildingspack2_nolot/housing/1-3_apartments.mdl
|
||||
models/buildingspack2_nolot/housing/1-3_apartments_nodoors.mdl
|
||||
models/buildingspack2_nolot/housing/1-4_apartments.mdl
|
||||
models/buildingspack2_nolot/housing/1-4_apartments_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-0_car_garage.mdl
|
||||
models/buildingspack2_nolot/public/2-0_car_garage_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-1_office_building.mdl
|
||||
models/buildingspack2_nolot/public/2-1_office_building_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-2_lgbt_club_a.mdl
|
||||
models/buildingspack2_nolot/public/2-2_lgbt_club_a_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-3_strip_club_a.mdl
|
||||
models/buildingspack2_nolot/public/2-3_strip_club_a_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-4-2_gas_stop_awning.mdl
|
||||
models/buildingspack2_nolot/public/2-4-3_gas_stop_sign.mdl
|
||||
models/buildingspack2_nolot/public/2-4_gas_stop.mdl
|
||||
models/buildingspack2_nolot/public/2-4_gas_stop_nolot_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-5_pc_shop.mdl
|
||||
models/buildingspack2_nolot/public/2-5_pc_shop_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-6_gun_shop.mdl
|
||||
models/buildingspack2_nolot/public/2-6_gun_shop_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-7_bank.mdl
|
||||
models/buildingspack2_nolot/public/2-7_bank_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-9_school_house.mdl
|
||||
models/buildingspack2_nolot/public/2-9_school_house_nodoors.mdl
|
||||
models/buildingspack2_nolot/skyscraper/3-0_skyscraper_a.mdl
|
||||
models/buildingspack2_nolot/skyscraper/3-1_skyscraper_b.mdl
|
||||
models/buildingspack2_nolot/skyscraper/3-2_skyscraper_c.mdl
|
||||
models/buildingspack2_nolot/skyscraper/3-3_skyscraper_d.mdl
|
||||
models/buildingspack2_nolot/skyscraper/3-4_skyscraper_e.mdl
|
||||
models/buildingspack2_nolot/housing/1-1_apartments.mdl
|
||||
models/buildingspack2_nolot/housing/1-1_apartments_nodoors.mdl
|
||||
models/buildingspack2_nolot/public/2-8_parking_garage.mdl
|
||||
|
||||
# Modular canals
|
||||
models/props_d47_canals/floor_concrete_1024x1024.mdl
|
||||
models/props_d47_canals/floor_concrete_1024x128.mdl
|
||||
models/props_d47_canals/floor_concrete_1024x256.mdl
|
||||
models/props_d47_canals/floor_concrete_1024x512.mdl
|
||||
models/props_d47_canals/floor_concrete_1024x768.mdl
|
||||
models/props_d47_canals/floor_concrete_128x128.mdl
|
||||
models/props_d47_canals/floor_concrete_256x128.mdl
|
||||
models/props_d47_canals/floor_concrete_256x256.mdl
|
||||
models/props_d47_canals/floor_concrete_512x128.mdl
|
||||
models/props_d47_canals/floor_concrete_512x256.mdl
|
||||
models/props_d47_canals/floor_concrete_512x512.mdl
|
||||
models/props_d47_canals/floor_concrete_768x256.mdl
|
||||
models/props_d47_canals/floor_concrete_768x384.mdl
|
||||
models/props_d47_canals/floor_concrete_768x512.mdl
|
||||
models/props_d47_canals/floor_mud_1024x1024.mdl
|
||||
models/props_d47_canals/floor_mud_1024x128.mdl
|
||||
models/props_d47_canals/floor_mud_1024x256.mdl
|
||||
models/props_d47_canals/floor_mud_1024x512.mdl
|
||||
models/props_d47_canals/floor_mud_1024x768.mdl
|
||||
models/props_d47_canals/floor_mud_128x128.mdl
|
||||
models/props_d47_canals/floor_mud_256x128.mdl
|
||||
models/props_d47_canals/floor_mud_256x256.mdl
|
||||
models/props_d47_canals/floor_mud_512x128.mdl
|
||||
models/props_d47_canals/floor_mud_512x256.mdl
|
||||
models/props_d47_canals/floor_mud_512x512.mdl
|
||||
models/props_d47_canals/floor_mud_768x256.mdl
|
||||
models/props_d47_canals/floor_mud_768x384.mdl
|
||||
models/props_d47_canals/floor_mud_768x512.mdl
|
||||
models/props_d47_canals/interior_block_128x128.mdl
|
||||
models/props_d47_canals/interior_block_256x128.mdl
|
||||
models/props_d47_canals/interior_block_256x256.mdl
|
||||
models/props_d47_canals/interior_block_512x128.mdl
|
||||
models/props_d47_canals/interior_block_512x256.mdl
|
||||
models/props_d47_canals/interior_block_512x512.mdl
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 289 KiB |
@ -1,98 +1,98 @@
|
||||
# SynchronizeDSV:(Plarail@PIECES) 31-03-19 18:13:05 [ LUA ]
|
||||
# Data settings:(MODEL TYPE NAME LINEID POINT ORIGIN ANGLE CLASS)
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r03_left.mdl "Plarail" "R-03 Curve Left 1" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r03_left.mdl "Plarail" "R-03 Curve Left 1" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r03_right.mdl "Plarail" "R-03 Curve Right 1" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r03_right.mdl "Plarail" "R-03 Curve Right 1" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r05_left.mdl "Plarail" "R-05 Curve Left Double" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r05_left.mdl "Plarail" "R-05 Curve Left Double" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r05_left.mdl "Plarail" "R-05 Curve Left Double" 3 "NULL" "48,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r05_left.mdl "Plarail" "R-05 Curve Left Double" 4 "NULL" "-3.5,124.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r05_right.mdl "Plarail" "R-05 Curve Right Double" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r05_right.mdl "Plarail" "R-05 Curve Right Double" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r05_right.mdl "Plarail" "R-05 Curve Right Double" 3 "NULL" "48,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r05_right.mdl "Plarail" "R-05 Curve Right Double" 4 "NULL" "-3.5,124.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r09_left.mdl "Plarail" "R-09 Curve Left 2" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r09_left.mdl "Plarail" "R-09 Curve Left 2" 2 "NULL" "-51.5,124.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r09_right.mdl "Plarail" "R-09 Curve Right 2" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r09_right.mdl "Plarail" "R-09 Curve Right 2" 2 "NULL" "-51.5,124.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r27_left.mdl "Plarail" "R-27 Curve Left Bridge" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r27_left.mdl "Plarail" "R-27 Curve Left Bridge" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r27_right.mdl "Plarail" "R-27 Curve Right Bridge" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/curve/r27_right.mdl "Plarail" "R-27 Curve Right Bridge" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj01.mdl "Plarail" "AJ-01 Station" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj01.mdl "Plarail" "AJ-01 Station" 2 "NULL" "0,128,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj01_2.mdl "Plarail" "AJ-01 2 Station" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj01_2.mdl "Plarail" "AJ-01 2 Station" 2 "NULL" "0,64,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj02.mdl "Plarail" "AJ-02 Support" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj03.mdl "Plarail" "AJ-03" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj03.mdl "Plarail" "AJ-03" 2 "NULL" "0,64,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj03_bridge.mdl "Plarail" "AJ-03 Bridge" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/aj03_top.mdl "Plarail" "AJ-03 Top" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar01.mdl "Plarail" "AR-01 Stop Rail" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar01"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar01.mdl "Plarail" "AR-01 Stop Rail" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar01"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar02.mdl "Plarail" "AR-02 Crossover Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar02"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar02.mdl "Plarail" "AR-02 Crossover Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar02"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar03.mdl "Plarail" "AR-03 Rerailer" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar03.mdl "Plarail" "AR-03 Rerailer" 2 "NULL" "0,256,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar04_1.mdl "Plarail" "AR-04 1 Turnout Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar04_1"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar04_1.mdl "Plarail" "AR-04 1 Turnout Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar04_1"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar04_1.mdl "Plarail" "AR-04 1 Turnout Point" 3 "NULL" "-37.5,90.5,0" "0,135,0" "gmod_plarail_ar04_1"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar04_2.mdl "Plarail" "AR-04 2 Turnout Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar04_2"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar04_2.mdl "Plarail" "AR-04 2 Turnout Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar04_2"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar04_2.mdl "Plarail" "AR-04 2 Turnout Point" 3 "NULL" "-37.5,90.5,0" "0,135,0" "gmod_plarail_ar04_2"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar04_3.mdl "Plarail" "AR-04 3 Buffer" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar04_3.mdl "Plarail" "AR-04 3 Buffer" 2 "NULL" "0,32,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar05_1.mdl "Plarail" "AR-05 1 Double Track Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar05_1"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar05_1.mdl "Plarail" "AR-05 1 Double Track Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar05_1"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar05_1.mdl "Plarail" "AR-05 1 Double Track Point" 3 "NULL" "-48,128,0" "0,90,0" "gmod_plarail_ar05_1"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar05_2.mdl "Plarail" "AR-05 2 Double Track Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar05_2"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar05_2.mdl "Plarail" "AR-05 2 Double Track Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar05_2"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar05_2.mdl "Plarail" "AR-05 2 Double Track Point" 3 "NULL" "-48,128,0" "0,90,0" "gmod_plarail_ar05_2"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar06.mdl "Plarail" "AR-06 Slope Rail" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar06.mdl "Plarail" "AR-06 Slope Rail" 2 "NULL" "0,128,12" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar06_1.mdl "Plarail" "AR-06 Support 1" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/ar06_2.mdl "Plarail" "AR-06 Support 2" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/connector_female.mdl "Plarail" "Custom Female" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/connector_female.mdl "Plarail" "Custom Female" 2 "NULL" "0,8,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/connector_male.mdl "Plarail" "Custom Male" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/connector_male.mdl "Plarail" "Custom Male" 2 "NULL" "0,8,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_1.mdl "Plarail" "Custom 1" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_1.mdl "Plarail" "Custom 1" 2 "NULL" "0,1,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_16.mdl "Plarail" "Custom 16" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_16.mdl "Plarail" "Custom 16" 2 "NULL" "0,16,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_2.mdl "Plarail" "Custom 2" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_2.mdl "Plarail" "Custom 2" 2 "NULL" "0,2,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_4.mdl "Plarail" "Custom 4" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_4.mdl "Plarail" "Custom 4" 2 "NULL" "0,4,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_8.mdl "Plarail" "Custom 8" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_8.mdl "Plarail" "Custom 8" 2 "NULL" "0,8,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_s_curve_fix.mdl "Plarail" "Custom S Curve Fix" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/custom_s_curve_fix.mdl "Plarail" "Custom S Curve Fix" 2 "NULL" "0,75,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/j14_grey.mdl "Plarail" "J-14 Grey" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/j14_yellow.mdl "Plarail" "J-14 Yellow" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/j15_grey.mdl "Plarail" "J-15 Grey" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/j15_yellow.mdl "Plarail" "J-15 Yellow" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/j22_grey.mdl "Plarail" "J-22 Grey" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/j22_yellow.mdl "Plarail" "J-22 Yellow" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/pole.mdl "Plarail" "Pole" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/r06.mdl "Plarail" "R-06 Slope" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/misc/r06.mdl "Plarail" "R-06 Slope" 2 "NULL" "0,256,48" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r01.mdl "Plarail" "R-01 Straight Full" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r01.mdl "Plarail" "R-01 Straight Full" 2 "NULL" "0,128,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r02.mdl "Plarail" "R-02 Straight Half" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r02.mdl "Plarail" "R-02 Straight Half" 2 "NULL" "0,64,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r04.mdl "Plarail" "R-04 Straight Double" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r04.mdl "Plarail" "R-04 Straight Double" 2 "NULL" "0,128,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r04.mdl "Plarail" "R-04 Straight Double" 3 "NULL" "48,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r04.mdl "Plarail" "R-04 Straight Double" 4 "NULL" "48,128,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r07.mdl "Plarail" "R-07 Straight Long" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r07.mdl "Plarail" "R-07 Straight Long" 2 "NULL" "0,256,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r20_01.mdl "Plarail" "R-20 1 Straight Quarter" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r20_01.mdl "Plarail" "R-20 1 Straight Quarter" 2 "NULL" "0,32,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r20_02.mdl "Plarail" "R-20 2 Straight Quarter Male" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r20_02.mdl "Plarail" "R-20 2 Straight Quarter Male" 2 "NULL" "0,32,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r20_03.mdl "Plarail" "R-20 3 Straight Quarter Female" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r20_03.mdl "Plarail" "R-20 3 Straight Quarter Female" 2 "NULL" "0,32,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r26.mdl "Plarail" "R-26 Straight Bridge" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/plarail/tracks/straight/r26.mdl "Plarail" "R-26 Straight Bridge" 2 "NULL" "0,128,0" "0,90,0" "NULL"
|
||||
# SynchronizeDSV:(Plarail@PIECES) 20-04-15 16:20:30 [ SQL ]
|
||||
# PIECES:(MODEL TYPE NAME LINEID POINT ORIGIN ANGLE CLASS)
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r03_left.mdl" "Plarail" "R-03 Curve Left 1" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r03_left.mdl" "Plarail" "R-03 Curve Left 1" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r03_right.mdl" "Plarail" "R-03 Curve Right 1" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r03_right.mdl" "Plarail" "R-03 Curve Right 1" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r05_left.mdl" "Plarail" "R-05 Curve Left Double" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r05_left.mdl" "Plarail" "R-05 Curve Left Double" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r05_left.mdl" "Plarail" "R-05 Curve Left Double" 3 "NULL" "48,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r05_left.mdl" "Plarail" "R-05 Curve Left Double" 4 "NULL" "-3.5,124.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r05_right.mdl" "Plarail" "R-05 Curve Right Double" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r05_right.mdl" "Plarail" "R-05 Curve Right Double" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r05_right.mdl" "Plarail" "R-05 Curve Right Double" 3 "NULL" "48,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r05_right.mdl" "Plarail" "R-05 Curve Right Double" 4 "NULL" "-3.5,124.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r09_left.mdl" "Plarail" "R-09 Curve Left 2" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r09_left.mdl" "Plarail" "R-09 Curve Left 2" 2 "NULL" "-51.5,124.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r09_right.mdl" "Plarail" "R-09 Curve Right 2" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r09_right.mdl" "Plarail" "R-09 Curve Right 2" 2 "NULL" "-51.5,124.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r27_left.mdl" "Plarail" "R-27 Curve Left Bridge" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r27_left.mdl" "Plarail" "R-27 Curve Left Bridge" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r27_right.mdl" "Plarail" "R-27 Curve Right Bridge" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/curve/r27_right.mdl" "Plarail" "R-27 Curve Right Bridge" 2 "NULL" "-37.5,90.5,0" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj01.mdl" "Plarail" "AJ-01 Station" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj01.mdl" "Plarail" "AJ-01 Station" 2 "NULL" "0,128,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj01_2.mdl" "Plarail" "AJ-01 2 Station" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj01_2.mdl" "Plarail" "AJ-01 2 Station" 2 "NULL" "0,64,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj02.mdl" "Plarail" "AJ-02 Support" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj03.mdl" "Plarail" "AJ-03" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj03.mdl" "Plarail" "AJ-03" 2 "NULL" "0,64,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj03_bridge.mdl" "Plarail" "AJ-03 Bridge" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/aj03_top.mdl" "Plarail" "AJ-03 Top" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar01.mdl" "Plarail" "AR-01 Stop Rail" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar01"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar01.mdl" "Plarail" "AR-01 Stop Rail" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar01"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar02.mdl" "Plarail" "AR-02 Crossover Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar02"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar02.mdl" "Plarail" "AR-02 Crossover Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar02"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar03.mdl" "Plarail" "AR-03 Rerailer" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar03.mdl" "Plarail" "AR-03 Rerailer" 2 "NULL" "0,256,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar04_1.mdl" "Plarail" "AR-04 1 Turnout Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar04_1"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar04_1.mdl" "Plarail" "AR-04 1 Turnout Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar04_1"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar04_1.mdl" "Plarail" "AR-04 1 Turnout Point" 3 "NULL" "-37.5,90.5,0" "0,135,0" "gmod_plarail_ar04_1"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar04_2.mdl" "Plarail" "AR-04 2 Turnout Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar04_2"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar04_2.mdl" "Plarail" "AR-04 2 Turnout Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar04_2"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar04_2.mdl" "Plarail" "AR-04 2 Turnout Point" 3 "NULL" "-37.5,90.5,0" "0,135,0" "gmod_plarail_ar04_2"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar04_3.mdl" "Plarail" "AR-04 3 Buffer" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar04_3.mdl" "Plarail" "AR-04 3 Buffer" 2 "NULL" "0,32,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar05_1.mdl" "Plarail" "AR-05 1 Double Track Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar05_1"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar05_1.mdl" "Plarail" "AR-05 1 Double Track Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar05_1"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar05_1.mdl" "Plarail" "AR-05 1 Double Track Point" 3 "NULL" "-48,128,0" "0,90,0" "gmod_plarail_ar05_1"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar05_2.mdl" "Plarail" "AR-05 2 Double Track Point" 1 "NULL" "0,0,0" "0,-90,0" "gmod_plarail_ar05_2"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar05_2.mdl" "Plarail" "AR-05 2 Double Track Point" 2 "NULL" "0,128,0" "0,90,0" "gmod_plarail_ar05_2"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar05_2.mdl" "Plarail" "AR-05 2 Double Track Point" 3 "NULL" "-48,128,0" "0,90,0" "gmod_plarail_ar05_2"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar06.mdl" "Plarail" "AR-06 Slope Rail" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar06.mdl" "Plarail" "AR-06 Slope Rail" 2 "NULL" "0,128,12" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar06_1.mdl" "Plarail" "AR-06 Support 1" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/ar06_2.mdl" "Plarail" "AR-06 Support 2" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/connector_female.mdl" "Plarail" "Custom Female" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/connector_female.mdl" "Plarail" "Custom Female" 2 "NULL" "0,8,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/connector_male.mdl" "Plarail" "Custom Male" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/connector_male.mdl" "Plarail" "Custom Male" 2 "NULL" "0,8,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_1.mdl" "Plarail" "Custom 1" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_1.mdl" "Plarail" "Custom 1" 2 "NULL" "0,1,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_16.mdl" "Plarail" "Custom 16" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_16.mdl" "Plarail" "Custom 16" 2 "NULL" "0,16,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_2.mdl" "Plarail" "Custom 2" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_2.mdl" "Plarail" "Custom 2" 2 "NULL" "0,2,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_4.mdl" "Plarail" "Custom 4" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_4.mdl" "Plarail" "Custom 4" 2 "NULL" "0,4,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_8.mdl" "Plarail" "Custom 8" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_8.mdl" "Plarail" "Custom 8" 2 "NULL" "0,8,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_s_curve_fix.mdl" "Plarail" "Custom S Curve Fix" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/custom_s_curve_fix.mdl" "Plarail" "Custom S Curve Fix" 2 "NULL" "0,75,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/j14_grey.mdl" "Plarail" "J-14 Grey" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/j14_yellow.mdl" "Plarail" "J-14 Yellow" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/j15_grey.mdl" "Plarail" "J-15 Grey" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/j15_yellow.mdl" "Plarail" "J-15 Yellow" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/j22_grey.mdl" "Plarail" "J-22 Grey" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/j22_yellow.mdl" "Plarail" "J-22 Yellow" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/pole.mdl" "Plarail" "Pole" 1 "NULL" "0,0,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/r06.mdl" "Plarail" "R-06 Slope" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/misc/r06.mdl" "Plarail" "R-06 Slope" 2 "NULL" "0,256,48" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r01.mdl" "Plarail" "R-01 Straight Full" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r01.mdl" "Plarail" "R-01 Straight Full" 2 "NULL" "0,128,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r02.mdl" "Plarail" "R-02 Straight Half" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r02.mdl" "Plarail" "R-02 Straight Half" 2 "NULL" "0,64,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r04.mdl" "Plarail" "R-04 Straight Double" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r04.mdl" "Plarail" "R-04 Straight Double" 2 "NULL" "0,128,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r04.mdl" "Plarail" "R-04 Straight Double" 3 "NULL" "48,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r04.mdl" "Plarail" "R-04 Straight Double" 4 "NULL" "48,128,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r07.mdl" "Plarail" "R-07 Straight Long" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r07.mdl" "Plarail" "R-07 Straight Long" 2 "NULL" "0,256,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r20_01.mdl" "Plarail" "R-20 1 Straight Quarter" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r20_01.mdl" "Plarail" "R-20 1 Straight Quarter" 2 "NULL" "0,32,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r20_02.mdl" "Plarail" "R-20 2 Straight Quarter Male" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r20_02.mdl" "Plarail" "R-20 2 Straight Quarter Male" 2 "NULL" "0,32,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r20_03.mdl" "Plarail" "R-20 3 Straight Quarter Female" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r20_03.mdl" "Plarail" "R-20 3 Straight Quarter Female" 2 "NULL" "0,32,0" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r26.mdl" "Plarail" "R-26 Straight Bridge" 1 "NULL" "0,0,0" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/plarail/tracks/straight/r26.mdl" "Plarail" "R-26 Straight Bridge" 2 "NULL" "0,128,0" "0,90,0" "NULL"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,108 +1,108 @@
|
||||
# SynchronizeDSV:(Ron_s_G_Scale_Track_pack@PIECES) 31-03-19 18:13:06 [ LUA ]
|
||||
# Data settings:(MODEL TYPE NAME LINEID POINT ORIGIN ANGLE CLASS)
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/90_1.mdl "Ron's G Scale Track pack" "Curve 1" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/90_1.mdl "Ron's G Scale Track pack" "Curve 1" 2 "NULL" "-256,256,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/90_2.mdl "Ron's G Scale Track pack" "Curve 2" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/90_2.mdl "Ron's G Scale Track pack" "Curve 2" 2 "NULL" "-320,320,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/90_3.mdl "Ron's G Scale Track pack" "Curve 3" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/90_3.mdl "Ron's G Scale Track pack" "Curve 3" 2 "NULL" "-384,384,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/90_4.mdl "Ron's G Scale Track pack" "Curve 4" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/90_4.mdl "Ron's G Scale Track pack" "Curve 4" 2 "NULL" "-448,448,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/s_left.mdl "Ron's G Scale Track pack" "Curve S Left" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/s_left.mdl "Ron's G Scale Track pack" "Curve S Left" 2 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/s_right.mdl "Ron's G Scale Track pack" "Curve S Right" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/curves/s_right.mdl "Ron's G Scale Track pack" "Curve S Right" 2 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/1024.mdl "Ron's G Scale Track pack" "1024" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/1024.mdl "Ron's G Scale Track pack" "1024" 2 "NULL" "0,1024,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/128.mdl "Ron's G Scale Track pack" "128" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/128.mdl "Ron's G Scale Track pack" "128" 2 "NULL" "0,128,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/16.mdl "Ron's G Scale Track pack" "16" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/16.mdl "Ron's G Scale Track pack" "16" 2 "NULL" "0,16,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/256.mdl "Ron's G Scale Track pack" "256" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/256.mdl "Ron's G Scale Track pack" "256" 2 "NULL" "0,256,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/32.mdl "Ron's G Scale Track pack" "32" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/32.mdl "Ron's G Scale Track pack" "32" 2 "NULL" "0,32,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/512.mdl "Ron's G Scale Track pack" "512" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/512.mdl "Ron's G Scale Track pack" "512" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/64.mdl "Ron's G Scale Track pack" "64" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/64.mdl "Ron's G Scale Track pack" "64" 2 "NULL" "0,64,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/buffer.mdl "Ron's G Scale Track pack" "Buffer" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/90_1.mdl "Ron's G Scale Track pack" "90 1" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/90_1.mdl "Ron's G Scale Track pack" "90 1" 2 "NULL" "-256,256,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/90_2.mdl "Ron's G Scale Track pack" "90 2" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/90_2.mdl "Ron's G Scale Track pack" "90 2" 2 "NULL" "-320,320,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/90_3.mdl "Ron's G Scale Track pack" "90 3" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/90_3.mdl "Ron's G Scale Track pack" "90 3" 2 "NULL" "-384,384,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/90_4.mdl "Ron's G Scale Track pack" "90 4" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/90_4.mdl "Ron's G Scale Track pack" "90 4" 2 "NULL" "-448,448,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/s_left.mdl "Ron's G Scale Track pack" "S Left" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/s_left.mdl "Ron's G Scale Track pack" "S Left" 2 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/s_right.mdl "Ron's G Scale Track pack" "S Right" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/curves/s_right.mdl "Ron's G Scale Track pack" "S Right" 2 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/end.mdl "Ron's G Scale Track pack" "End" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/end.mdl "Ron's G Scale Track pack" "End" 2 "NULL" "0,16,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/double_junction.mdl "Ron's G Scale Track pack" "S Embankment" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/double_junction.mdl "Ron's G Scale Track pack" "S Embankment" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/double_junction.mdl "Ron's G Scale Track pack" "S Embankment" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/double_junction.mdl "Ron's G Scale Track pack" "S Embankment" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/n_junction_left.mdl "Ron's G Scale Track pack" "N Left Embankment" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/n_junction_left.mdl "Ron's G Scale Track pack" "N Left Embankment" 2 "NULL" ",512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/n_junction_left.mdl "Ron's G Scale Track pack" "N Left Embankment" 3 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/n_junction_right.mdl "Ron's G Scale Track pack" "N Right Embankment" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/n_junction_right.mdl "Ron's G Scale Track pack" "N Right Embankment" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/embankments/junction/n_junction_right.mdl "Ron's G Scale Track pack" "N Right Embankment" 3 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/n_left_switched.mdl "Ron's G Scale Track pack" "N Left Switched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/n_left_switched.mdl "Ron's G Scale Track pack" "N Left Switched" 2 "NULL" ",512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/n_left_switched.mdl "Ron's G Scale Track pack" "N Left Switched" 3 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/n_left_unswitched.mdl "Ron's G Scale Track pack" "N Left Unswitched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/n_left_unswitched.mdl "Ron's G Scale Track pack" "N Left Unswitched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/n_left_unswitched.mdl "Ron's G Scale Track pack" "N Left Unswitched" 3 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/s_left_switched.mdl "Ron's G Scale Track pack" "S Left Switched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/s_left_switched.mdl "Ron's G Scale Track pack" "S Left Switched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/s_left_switched.mdl "Ron's G Scale Track pack" "S Left Switched" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/s_left_switched.mdl "Ron's G Scale Track pack" "S Left Switched" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/s_left_unswitched.mdl "Ron's G Scale Track pack" "S Left Unswitched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/s_left_unswitched.mdl "Ron's G Scale Track pack" "S Left Unswitched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/s_left_unswitched.mdl "Ron's G Scale Track pack" "S Left Unswitched" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/left/s_left_unswitched.mdl "Ron's G Scale Track pack" "S Left Unswitched" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/n_right_switched.mdl "Ron's G Scale Track pack" "N Right Switched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/n_right_switched.mdl "Ron's G Scale Track pack" "N Right Switched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/n_right_switched.mdl "Ron's G Scale Track pack" "N Right Switched" 3 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/n_right_unswitched.mdl "Ron's G Scale Track pack" "N Right Unswitched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/n_right_unswitched.mdl "Ron's G Scale Track pack" "N Right Unswitched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/n_right_unswitched.mdl "Ron's G Scale Track pack" "N Right Unswitched" 3 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/s_right_switched.mdl "Ron's G Scale Track pack" "S Right Switched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/s_right_switched.mdl "Ron's G Scale Track pack" "S Right Switched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/s_right_switched.mdl "Ron's G Scale Track pack" "S Right Switched" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/s_right_switched.mdl "Ron's G Scale Track pack" "S Right Switched" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/s_right_unswitched.mdl "Ron's G Scale Track pack" "S Right Unswitched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/s_right_unswitched.mdl "Ron's G Scale Track pack" "S Right Unswitched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/s_right_unswitched.mdl "Ron's G Scale Track pack" "S Right Unswitched" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/junctions/right/s_right_unswitched.mdl "Ron's G Scale Track pack" "S Right Unswitched" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/buffer_1.mdl "Ron's G Scale Track pack" "Buffer 1" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/buffer_2.mdl "Ron's G Scale Track pack" "Buffer 2" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/truss_128.mdl "Ron's G Scale Track pack" "Truss 128" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/truss_128.mdl "Ron's G Scale Track pack" "Truss 128" 2 "NULL" "0,128,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/truss_embankment_transition.mdl "Ron's G Scale Track pack" "Truss Embankment Transition" 1 "NULL" "0,32,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/truss_embankment_transition.mdl "Ron's G Scale Track pack" "Truss Embankment Transition" 2 "NULL" "0,-32,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/truss_end.mdl "Ron's G Scale Track pack" "Truss End" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/truss_track_transition.mdl "Ron's G Scale Track pack" "Truss Track Transition" 1 "NULL" "0,32,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/misc/truss_track_transition.mdl "Ron's G Scale Track pack" "Truss Track Transition" 2 "NULL" "0,-32,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/1024.mdl "Ron's G Scale Track pack" "1024" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/1024.mdl "Ron's G Scale Track pack" "1024" 2 "NULL" "0,1024,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/128.mdl "Ron's G Scale Track pack" "128" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/128.mdl "Ron's G Scale Track pack" "128" 2 "NULL" "0,128,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/16.mdl "Ron's G Scale Track pack" "16" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/16.mdl "Ron's G Scale Track pack" "16" 2 "NULL" "0,16,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/16_double.mdl "Ron's G Scale Track pack" "16 Double" 1 "NULL" "32,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/16_double.mdl "Ron's G Scale Track pack" "16 Double" 2 "NULL" "-32,0,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/16_double.mdl "Ron's G Scale Track pack" "16 Double" 3 "NULL" "32,16,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/16_double.mdl "Ron's G Scale Track pack" "16 Double" 4 "NULL" "-32,16,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/256.mdl "Ron's G Scale Track pack" "256" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/256.mdl "Ron's G Scale Track pack" "256" 2 "NULL" "0,256,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/32.mdl "Ron's G Scale Track pack" "32" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/32.mdl "Ron's G Scale Track pack" "32" 2 "NULL" "0,32,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/512.mdl "Ron's G Scale Track pack" "512" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/512.mdl "Ron's G Scale Track pack" "512" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/64.mdl "Ron's G Scale Track pack" "64" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES models/ron/gscale/straight/64.mdl "Ron's G Scale Track pack" "64" 2 "NULL" "0,64,3" "0,90,0" "NULL"
|
||||
# SynchronizeDSV:(Ron_s_G_Scale_Track_pack@PIECES) 20-04-15 16:20:31 [ SQL ]
|
||||
# PIECES:(MODEL TYPE NAME LINEID POINT ORIGIN ANGLE CLASS)
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/90_1.mdl" "Ron's G Scale Track pack" "Curve 1" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/90_1.mdl" "Ron's G Scale Track pack" "Curve 1" 2 "NULL" "-256,256,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/90_2.mdl" "Ron's G Scale Track pack" "Curve 2" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/90_2.mdl" "Ron's G Scale Track pack" "Curve 2" 2 "NULL" "-320,320,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/90_3.mdl" "Ron's G Scale Track pack" "Curve 3" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/90_3.mdl" "Ron's G Scale Track pack" "Curve 3" 2 "NULL" "-384,384,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/90_4.mdl" "Ron's G Scale Track pack" "Curve 4" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/90_4.mdl" "Ron's G Scale Track pack" "Curve 4" 2 "NULL" "-448,448,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/s_left.mdl" "Ron's G Scale Track pack" "Curve S Left" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/s_left.mdl" "Ron's G Scale Track pack" "Curve S Left" 2 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/s_right.mdl" "Ron's G Scale Track pack" "Curve S Right" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/curves/s_right.mdl" "Ron's G Scale Track pack" "Curve S Right" 2 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/1024.mdl" "Ron's G Scale Track pack" "1024" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/1024.mdl" "Ron's G Scale Track pack" "1024" 2 "NULL" "0,1024,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/128.mdl" "Ron's G Scale Track pack" "128" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/128.mdl" "Ron's G Scale Track pack" "128" 2 "NULL" "0,128,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/16.mdl" "Ron's G Scale Track pack" "16" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/16.mdl" "Ron's G Scale Track pack" "16" 2 "NULL" "0,16,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/256.mdl" "Ron's G Scale Track pack" "256" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/256.mdl" "Ron's G Scale Track pack" "256" 2 "NULL" "0,256,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/32.mdl" "Ron's G Scale Track pack" "32" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/32.mdl" "Ron's G Scale Track pack" "32" 2 "NULL" "0,32,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/512.mdl" "Ron's G Scale Track pack" "512" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/512.mdl" "Ron's G Scale Track pack" "512" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/64.mdl" "Ron's G Scale Track pack" "64" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/64.mdl" "Ron's G Scale Track pack" "64" 2 "NULL" "0,64,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/buffer.mdl" "Ron's G Scale Track pack" "Buffer" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/90_1.mdl" "Ron's G Scale Track pack" "90 1" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/90_1.mdl" "Ron's G Scale Track pack" "90 1" 2 "NULL" "-256,256,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/90_2.mdl" "Ron's G Scale Track pack" "90 2" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/90_2.mdl" "Ron's G Scale Track pack" "90 2" 2 "NULL" "-320,320,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/90_3.mdl" "Ron's G Scale Track pack" "90 3" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/90_3.mdl" "Ron's G Scale Track pack" "90 3" 2 "NULL" "-384,384,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/90_4.mdl" "Ron's G Scale Track pack" "90 4" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/90_4.mdl" "Ron's G Scale Track pack" "90 4" 2 "NULL" "-448,448,3" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/s_left.mdl" "Ron's G Scale Track pack" "S Left" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/s_left.mdl" "Ron's G Scale Track pack" "S Left" 2 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/s_right.mdl" "Ron's G Scale Track pack" "S Right" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/curves/s_right.mdl" "Ron's G Scale Track pack" "S Right" 2 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/end.mdl" "Ron's G Scale Track pack" "End" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/end.mdl" "Ron's G Scale Track pack" "End" 2 "NULL" "0,16,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/double_junction.mdl" "Ron's G Scale Track pack" "S Embankment" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/double_junction.mdl" "Ron's G Scale Track pack" "S Embankment" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/double_junction.mdl" "Ron's G Scale Track pack" "S Embankment" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/double_junction.mdl" "Ron's G Scale Track pack" "S Embankment" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/n_junction_left.mdl" "Ron's G Scale Track pack" "N Left Embankment" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/n_junction_left.mdl" "Ron's G Scale Track pack" "N Left Embankment" 2 "NULL" ",512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/n_junction_left.mdl" "Ron's G Scale Track pack" "N Left Embankment" 3 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/n_junction_right.mdl" "Ron's G Scale Track pack" "N Right Embankment" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/n_junction_right.mdl" "Ron's G Scale Track pack" "N Right Embankment" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/embankments/junction/n_junction_right.mdl" "Ron's G Scale Track pack" "N Right Embankment" 3 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/n_left_switched.mdl" "Ron's G Scale Track pack" "N Left Switched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/n_left_switched.mdl" "Ron's G Scale Track pack" "N Left Switched" 2 "NULL" ",512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/n_left_switched.mdl" "Ron's G Scale Track pack" "N Left Switched" 3 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/n_left_unswitched.mdl" "Ron's G Scale Track pack" "N Left Unswitched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/n_left_unswitched.mdl" "Ron's G Scale Track pack" "N Left Unswitched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/n_left_unswitched.mdl" "Ron's G Scale Track pack" "N Left Unswitched" 3 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/s_left_switched.mdl" "Ron's G Scale Track pack" "S Left Switched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/s_left_switched.mdl" "Ron's G Scale Track pack" "S Left Switched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/s_left_switched.mdl" "Ron's G Scale Track pack" "S Left Switched" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/s_left_switched.mdl" "Ron's G Scale Track pack" "S Left Switched" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/s_left_unswitched.mdl" "Ron's G Scale Track pack" "S Left Unswitched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/s_left_unswitched.mdl" "Ron's G Scale Track pack" "S Left Unswitched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/s_left_unswitched.mdl" "Ron's G Scale Track pack" "S Left Unswitched" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/left/s_left_unswitched.mdl" "Ron's G Scale Track pack" "S Left Unswitched" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/n_right_switched.mdl" "Ron's G Scale Track pack" "N Right Switched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/n_right_switched.mdl" "Ron's G Scale Track pack" "N Right Switched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/n_right_switched.mdl" "Ron's G Scale Track pack" "N Right Switched" 3 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/n_right_unswitched.mdl" "Ron's G Scale Track pack" "N Right Unswitched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/n_right_unswitched.mdl" "Ron's G Scale Track pack" "N Right Unswitched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/n_right_unswitched.mdl" "Ron's G Scale Track pack" "N Right Unswitched" 3 "NULL" "64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/s_right_switched.mdl" "Ron's G Scale Track pack" "S Right Switched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/s_right_switched.mdl" "Ron's G Scale Track pack" "S Right Switched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/s_right_switched.mdl" "Ron's G Scale Track pack" "S Right Switched" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/s_right_switched.mdl" "Ron's G Scale Track pack" "S Right Switched" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/s_right_unswitched.mdl" "Ron's G Scale Track pack" "S Right Unswitched" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/s_right_unswitched.mdl" "Ron's G Scale Track pack" "S Right Unswitched" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/s_right_unswitched.mdl" "Ron's G Scale Track pack" "S Right Unswitched" 3 "NULL" "-64,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/junctions/right/s_right_unswitched.mdl" "Ron's G Scale Track pack" "S Right Unswitched" 4 "NULL" "-64,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/buffer_1.mdl" "Ron's G Scale Track pack" "Buffer 1" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/buffer_2.mdl" "Ron's G Scale Track pack" "Buffer 2" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/truss_128.mdl" "Ron's G Scale Track pack" "Truss 128" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/truss_128.mdl" "Ron's G Scale Track pack" "Truss 128" 2 "NULL" "0,128,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/truss_embankment_transition.mdl" "Ron's G Scale Track pack" "Truss Embankment Transition" 1 "NULL" "0,32,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/truss_embankment_transition.mdl" "Ron's G Scale Track pack" "Truss Embankment Transition" 2 "NULL" "0,-32,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/truss_end.mdl" "Ron's G Scale Track pack" "Truss End" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/truss_track_transition.mdl" "Ron's G Scale Track pack" "Truss Track Transition" 1 "NULL" "0,32,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/misc/truss_track_transition.mdl" "Ron's G Scale Track pack" "Truss Track Transition" 2 "NULL" "0,-32,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/1024.mdl" "Ron's G Scale Track pack" "1024" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/1024.mdl" "Ron's G Scale Track pack" "1024" 2 "NULL" "0,1024,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/128.mdl" "Ron's G Scale Track pack" "128" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/128.mdl" "Ron's G Scale Track pack" "128" 2 "NULL" "0,128,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/16.mdl" "Ron's G Scale Track pack" "16" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/16.mdl" "Ron's G Scale Track pack" "16" 2 "NULL" "0,16,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/16_double.mdl" "Ron's G Scale Track pack" "16 Double" 1 "NULL" "32,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/16_double.mdl" "Ron's G Scale Track pack" "16 Double" 2 "NULL" "-32,0,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/16_double.mdl" "Ron's G Scale Track pack" "16 Double" 3 "NULL" "32,16,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/16_double.mdl" "Ron's G Scale Track pack" "16 Double" 4 "NULL" "-32,16,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/256.mdl" "Ron's G Scale Track pack" "256" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/256.mdl" "Ron's G Scale Track pack" "256" 2 "NULL" "0,256,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/32.mdl" "Ron's G Scale Track pack" "32" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/32.mdl" "Ron's G Scale Track pack" "32" 2 "NULL" "0,32,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/512.mdl" "Ron's G Scale Track pack" "512" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/512.mdl" "Ron's G Scale Track pack" "512" 2 "NULL" "0,512,3" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/64.mdl" "Ron's G Scale Track pack" "64" 1 "NULL" "0,0,3" "0,-90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/ron/gscale/straight/64.mdl" "Ron's G Scale Track pack" "64" 2 "NULL" "0,64,3" "0,90,0" "NULL"
|
||||
|
@ -0,0 +1,8 @@
|
||||
# SynchronizeDSV:(Shinji85_s_Rails@ADDITIONS) 20-04-15 16:20:30 [ SQL ]
|
||||
# ADDITIONS:(MODELBASE MODELADD ENTCLASS LINEID POSOFF ANGOFF MOVETYPE PHYSINIT DRSHADOW PHMOTION PHYSLEEP SETSOLID)
|
||||
TRACKASSEMBLY_ADDITIONS "models/shinji85/train/rail_l_switch.mdl" "models/shinji85/train/sw_lever.mdl" "buttonswitch" 1 "-100,-125,0" "0,180,0" -1 -1 -1 0 -1 -1
|
||||
TRACKASSEMBLY_ADDITIONS "models/shinji85/train/rail_l_switch.mdl" "models/shinji85/train/rail_l_switcher1.mdl" "prop_dynamic" 2 "NULL" "NULL" 6 6 -1 -1 1 6
|
||||
TRACKASSEMBLY_ADDITIONS "models/shinji85/train/rail_l_switch.mdl" "models/shinji85/train/rail_l_switcher2.mdl" "prop_dynamic" 3 "NULL" "NULL" 6 6 -1 0 -1 0
|
||||
TRACKASSEMBLY_ADDITIONS "models/shinji85/train/rail_r_switch.mdl" "models/shinji85/train/sw_lever.mdl" "buttonswitch" 1 "-100,125,0" "NULL" -1 -1 -1 0 -1 -1
|
||||
TRACKASSEMBLY_ADDITIONS "models/shinji85/train/rail_r_switch.mdl" "models/shinji85/train/rail_r_switcher1.mdl" "prop_dynamic" 2 "NULL" "NULL" 6 6 -1 -1 1 6
|
||||
TRACKASSEMBLY_ADDITIONS "models/shinji85/train/rail_r_switch.mdl" "models/shinji85/train/rail_r_switcher2.mdl" "prop_dynamic" 3 "NULL" "NULL" 6 6 -1 0 -1 0
|
@ -0,0 +1,10 @@
|
||||
# ExportCategory:(3@Shinji85_s_Rails) 20-04-15 16:20:30 [ SQL ]
|
||||
[===[Shinji85's Rails===function(m) local c
|
||||
local r = m:gsub("models/shinji85/train/rail_", "")
|
||||
if(r:find("cross")) then c = "crossing"
|
||||
elseif(r:find("switch")) then c = "switch"
|
||||
elseif(r:find("curve")) then c = "curve"
|
||||
elseif(r:find("bumper")) then c = "bumper"
|
||||
elseif(r:find("junction")) then c = "junction"
|
||||
elseif(r:find("%dx")) then c = "straight"
|
||||
end; c = (c and c:gsub("^%l", string.upper) or nil) return c end]===]
|
@ -0,0 +1,57 @@
|
||||
# SynchronizeDSV:(Shinji85_s_Rails@PIECES) 20-04-15 16:20:30 [ SQL ]
|
||||
# PIECES:(MODEL TYPE NAME LINEID POINT ORIGIN ANGLE CLASS)
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_16x.mdl" "Shinji85's Rails" "Straight 16x" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_16x.mdl" "Shinji85's Rails" "Straight 16x" 2 "NULL" "-2048,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_1x.mdl" "Shinji85's Rails" "Straight 1x" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_1x.mdl" "Shinji85's Rails" "Straight 1x" 2 "NULL" "-128,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_2x.mdl" "Shinji85's Rails" "Straight 2x" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_2x.mdl" "Shinji85's Rails" "Straight 2x" 2 "NULL" "-256,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_4x.mdl" "Shinji85's Rails" "Straight 4x" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_4x.mdl" "Shinji85's Rails" "Straight 4x" 2 "NULL" "-512,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_4x_crossing.mdl" "Shinji85's Rails" "Crossing 4x" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_4x_crossing.mdl" "Shinji85's Rails" "Crossing 4x" 2 "NULL" "-512,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_8x.mdl" "Shinji85's Rails" "Straight 8x" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_8x.mdl" "Shinji85's Rails" "Straight 8x" 2 "NULL" "-1024,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_bumper.mdl" "Shinji85's Rails" "Bumper" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cross_4x.mdl" "Shinji85's Rails" "Cross 4x" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cross_4x.mdl" "Shinji85's Rails" "Cross 4x" 2 "NULL" "-512,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cross_4x.mdl" "Shinji85's Rails" "Cross 4x" 3 "NULL" "-256,-256,7.346" "0,270,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cross_4x.mdl" "Shinji85's Rails" "Cross 4x" 4 "NULL" "-256,256,7.346" "0,90,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cs.mdl" "Shinji85's Rails" "Counter Switch" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cs.mdl" "Shinji85's Rails" "Counter Switch" 2 "NULL" "-908.81165,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_csfix.mdl" "Shinji85's Rails" "Counter Switch Fix" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_csfix.mdl" "Shinji85's Rails" "Counter Switch Fix" 2 "NULL" "-115.18847,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_cc.mdl" "Shinji85's Rails" "Curve Cc" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_cc.mdl" "Shinji85's Rails" "Curve Cc" 2 "NULL" "-966.40515 ,128, 7.346" "0,165,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r1.mdl" "Shinji85's Rails" "Curve R1" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r1.mdl" "Shinji85's Rails" "Curve R1" 2 "NULL" "-1060.12341 ,139.56763 ,7.346" "0,165,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r11.mdl" "Shinji85's Rails" "Curve R11" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r11.mdl" "Shinji85's Rails" "Curve R11" 2 "NULL" "-1086.11584 ,449.88458 ,7.346" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r12.mdl" "Shinji85's Rails" "Curve R12" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r12.mdl" "Shinji85's Rails" "Curve R12" 2 "NULL" "-905.09656 ,374.90414 ,7.346" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r13.mdl" "Shinji85's Rails" "Curve R13" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r13.mdl" "Shinji85's Rails" "Curve R13" 2 "NULL" "-724.07727 ,299.92276 ,7.346" "0,135,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r2.mdl" "Shinji85's Rails" "Curve R2" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r2.mdl" "Shinji85's Rails" "Curve R2" 2 "NULL" "-993.86572 ,130.84471 ,7.346" "0,165,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r3.mdl" "Shinji85's Rails" "Curve R3" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_curve_r3.mdl" "Shinji85's Rails" "Curve R3" 2 "NULL" "-927.60797 ,122.1218 ,7.346" "0,165,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cx.mdl" "Shinji85's Rails" "Counter X" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cx.mdl" "Shinji85's Rails" "Counter X" 2 "NULL" "-362.51361,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cxfix.mdl" "Shinji85's Rails" "Counter X Fix" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_cxfix.mdl" "Shinji85's Rails" "Counter X Fix" 2 "NULL" "-149.48648,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_double_4x_crossing.mdl" "Shinji85's Rails" "Crossing Double 4x" 1 "NULL" "0,128,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_double_4x_crossing.mdl" "Shinji85's Rails" "Crossing Double 4x" 2 "NULL" "-512,128,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_double_4x_crossing.mdl" "Shinji85's Rails" "Crossing Double 4x" 3 "NULL" "0,-128,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_double_4x_crossing.mdl" "Shinji85's Rails" "Crossing Double 4x" 4 "NULL" "-512,-128,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_double_bumper.mdl" "Shinji85's Rails" "Bumper Double" 1 "NULL" "0,128,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_double_bumper.mdl" "Shinji85's Rails" "Bumper Double" 2 "NULL" "0,-128,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_l_switch.mdl" "Shinji85's Rails" "Left Switch" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_l_switch.mdl" "Shinji85's Rails" "Left Switch" 2 "NULL" "-1024,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_l_switch.mdl" "Shinji85's Rails" "Left Switch" 3 "NULL" "-966.40515 ,-128, 7.346" "0,195,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_r_switch.mdl" "Shinji85's Rails" "Right Switch" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_r_switch.mdl" "Shinji85's Rails" "Right Switch" 2 "NULL" "-1024,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_r_switch.mdl" "Shinji85's Rails" "Right Switch" 3 "NULL" "-966.40515 ,128, 7.346" "0,165,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_x_junction.mdl" "Shinji85's Rails" "X Junction" 1 "NULL" "0,0,7.346" "NULL" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_x_junction.mdl" "Shinji85's Rails" "X Junction" 2 "NULL" "-494.55,0,7.346" "0,180,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_x_junction.mdl" "Shinji85's Rails" "X Junction" 3 "NULL" "-33.129,-123.63866,7.346" "0,-30,0" "NULL"
|
||||
TRACKASSEMBLY_PIECES "models/shinji85/train/rail_x_junction.mdl" "Shinji85's Rails" "X Junction" 4 "NULL" "-461.42175,123.63649,7.346" "0,150,0" "NULL"
|
1522
data/trackassembly/trackasmlib_db.txt
Normal file
1522
data/trackassembly/trackasmlib_db.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -158,7 +158,7 @@
|
||||
27 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PHYSPROPERTIES.CreateTable: Created
|
||||
28 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] Init: DB CATEGORY from LUA
|
||||
29 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] Init: DB PIECES from LUA
|
||||
30 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(SligWolf's Rerailers): Avoided {nil}<nil> [SligWolf's Rerailers]
|
||||
30 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(SligWolf's Rerailers): Avoided {nil}<nil> [SligWolf's Rerailers]
|
||||
31 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_minitrain_switch@models/minitrains/switch.mdl>
|
||||
32 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_minitrain_doubleswitch@models/minitrains/switch_double.mdl>
|
||||
33 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_minitrain_switch_w1@models/minitrains/switch_w_1_128.mdl>
|
||||
@ -173,28 +173,28 @@
|
||||
42 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_minitrain_switch_y4@models/minitrains/switch_y_4_128.mdl>
|
||||
43 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_minitrain_switch_y5@models/minitrains/switch_y_5_128.mdl>
|
||||
44 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_minitrain_switch_y6@models/minitrains/switch_y_6_128.mdl>
|
||||
45 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(PHX Monorail): Avoided {nil}<nil> [PHX Monorail]
|
||||
46 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(PHX Metal): Avoided {nil}<nil> [PHX Metal]
|
||||
47 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(PHX Regular): Avoided {nil}<nil> [PHX Regular]
|
||||
48 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(PHX Road): Avoided {nil}<nil> [PHX Road]
|
||||
49 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(PHX Monorail Beam): Avoided {nil}<nil> [PHX Monorail Beam]
|
||||
50 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(SligWolf's Railcar): Avoided {nil}<nil> [SligWolf's Railcar]
|
||||
51 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Random Bridges): Avoided {nil}<nil> [Random Bridges]
|
||||
52 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Portal Tubes): Avoided {nil}<nil> [Portal Tubes]
|
||||
45 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(PHX Monorail): Avoided {nil}<nil> [PHX Monorail]
|
||||
46 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(PHX Metal): Avoided {nil}<nil> [PHX Metal]
|
||||
47 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(PHX Regular): Avoided {nil}<nil> [PHX Regular]
|
||||
48 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(PHX Road): Avoided {nil}<nil> [PHX Road]
|
||||
49 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(PHX Monorail Beam): Avoided {nil}<nil> [PHX Monorail Beam]
|
||||
50 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(SligWolf's Railcar): Avoided {nil}<nil> [SligWolf's Railcar]
|
||||
51 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Random Bridges): Avoided {nil}<nil> [Random Bridges]
|
||||
52 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Portal Tubes): Avoided {nil}<nil> [Portal Tubes]
|
||||
53 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_modelpack_switch_y@models/sligwolf/rails/switch_225_y.mdl>
|
||||
54 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_modelpack_switch_r@models/sligwolf/rails/switch_225_r.mdl>
|
||||
55 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] PIECES.Record(Trigs): Register trace <gmod_sw_modelpack_switch_l@models/sligwolf/rails/switch_225_l.mdl>
|
||||
56 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] Init: DB PHYSPROPERTIES from LUA
|
||||
57 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Special): Avoided {nil}<nil> [Special]
|
||||
58 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Concrete): Avoided {nil}<nil> [Concrete]
|
||||
59 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Metal): Avoided {nil}<nil> [Metal]
|
||||
60 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Wood): Avoided {nil}<nil> [Wood]
|
||||
61 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Terrain): Avoided {nil}<nil> [Terrain]
|
||||
62 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Liquid): Avoided {nil}<nil> [Liquid]
|
||||
63 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Frozen): Avoided {nil}<nil> [Frozen]
|
||||
64 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Miscellaneous): Avoided {nil}<nil> [Miscellaneous]
|
||||
65 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Organic): Avoided {nil}<nil> [Organic]
|
||||
66 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.GetCategory(Manufactured): Avoided {nil}<nil> [Manufactured]
|
||||
57 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Special): Avoided {nil}<nil> [Special]
|
||||
58 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Concrete): Avoided {nil}<nil> [Concrete]
|
||||
59 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Metal): Avoided {nil}<nil> [Metal]
|
||||
60 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Wood): Avoided {nil}<nil> [Wood]
|
||||
61 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Terrain): Avoided {nil}<nil> [Terrain]
|
||||
62 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Liquid): Avoided {nil}<nil> [Liquid]
|
||||
63 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Frozen): Avoided {nil}<nil> [Frozen]
|
||||
64 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Miscellaneous): Avoided {nil}<nil> [Miscellaneous]
|
||||
65 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Organic): Avoided {nil}<nil> [Organic]
|
||||
66 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] TYPE.Categorize(Manufactured): Avoided {nil}<nil> [Manufactured]
|
||||
67 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] Init: DB ADDITIONS from LUA
|
||||
68 [14-05-19 22:53:52] CLIENT > TRACKASSEMBLY [LUA] Init: Ver.6.523
|
||||
69 [14-05-19 22:53:53] CLIENT > TRACKASSEMBLY [LUA] Incognito: >>> @lua/autorun/z_autorun_add_pieces_plarail.lua
|
||||
|
@ -7,6 +7,8 @@ LocatePOA: Missing ID
|
||||
TimerRestart: Called by
|
||||
DrawToolScreen: Invalid screen
|
||||
DrawHUD: Invalid screen
|
||||
GetEntitySpawn: Trace outside radius
|
||||
GetEntitySpawn: Active point missed
|
||||
GetEntitySpawn: Not hitting active point
|
||||
CacheQueryPiece: Record not located
|
||||
GetEntitySpawn: Trace model missing
|
||||
@ -15,17 +17,19 @@ TOOL.SwitchPoint
|
||||
IntersectRayRead
|
||||
IntersectRayClear
|
||||
IntersectRayHash
|
||||
MakeScreen.DrawLine: Start out of border
|
||||
MakeScreen.DrawLine: End out of border
|
||||
MakeScreen.GetColor: Color reset
|
||||
MakeScreen.GetDistance: Start out of border
|
||||
MakeScreen.GetDistance: End out of border
|
||||
MakeScreen: Color list not container
|
||||
GetScreen.DrawLine: Start out of border
|
||||
GetScreen.DrawLine: End out of border
|
||||
GetScreen.GetColor: Color reset
|
||||
GetScreen.GetDistance: Start out of border
|
||||
GetScreen.GetDistance: End out of border
|
||||
GetScreen: Color list not container
|
||||
DRAW_RADMENU: Release
|
||||
DRAW_RADMENU: Hook mismatch
|
||||
DRAW_RADMENU: Scroll release
|
||||
DRAW_RADMENU: Menu disabled
|
||||
DRAW_PHYSGUN: Extension disabled
|
||||
DRAW_RADMENU: %(gmod_tool%) Swep other
|
||||
DRAW_GHOSTS: Swep invalid
|
||||
DRAW_GHOSTS: Swep not tool
|
||||
DRAW_GHOSTS: %(gmod_tool%) Swep other
|
||||
DRAW_GHOSTS: Tool different
|
||||
@ -34,6 +38,7 @@ DRAW_PHYSGUN: Trace world
|
||||
DRAW_PHYSGUN: Hook mismatch
|
||||
DRAW_PHYSGUN: Physgun not hold
|
||||
DRAW_PHYSGUN: Swep not physgun
|
||||
DRAW_PHYSGUN: Swep invalid
|
||||
DRAW_PHYSGUN: Extension disabled
|
||||
DRAW_PHYSGUN: %(weapon_physgun%) Swep other
|
||||
POINT_SELECT: Bind not pressed
|
||||
|
@ -1,8 +1,16 @@
|
||||
[img=https://i.imgur.com/2txEPIN.gif][/img]
|
||||
|
||||
[h1] Description [/h1]
|
||||
This script can give you the ability to connect prop-segmented track pieces fast. It is optimized and brings the track building time consuming to a minimum. It uses pre-defined active points to snap the segments the best way there is in Garry's Mod
|
||||
|
||||
[h1] Feature List [/h1]
|
||||
[list]
|
||||
[*] General convar [url=https://youtu.be/3Ws6Jh3JUew?t=2051]factory reset[/url] can be easily triggered by the server admins
|
||||
[*] Convar tweaks is accessible via [url=https://youtu.be/3Ws6Jh3JUew?t=56]dedicated in-game manipulation panel[/url]
|
||||
[*] Context menu for direct track entity [url=https://www.youtube.com/watch?v=mEEpO3w8BLs]value export and manipulation[/url]
|
||||
[*] Optional [url=https://youtu.be/3Ws6Jh3JUew?t=2146]flip-over mode called from spawning/snapping[/url] for quickly flip the anchor across
|
||||
[*] Track segment [url=https://youtu.be/3Ws6Jh3JUew?t=1358]flip over mode for mirroring[/url] already created [url=https://youtu.be/3Ws6Jh3JUew?t=1722]loops and curves[/url]
|
||||
[*] Track segment [url=https://youtu.be/3Ws6Jh3JUew?t=200]curve node interpolation[/url] for building custom track layouts
|
||||
[*] Track curve fitting aligment based on [url=https://www.youtube.com/watch?v=1rsDHU79J50]ray intersection for precise piece layout[/url]
|
||||
[*] Extendable database via [url=https://www.youtube.com/watch?v=Pz0_RGwgfaY]text file[/url] or a [url=https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/autosave/z_autorun_add_pieces.lua]lua script[/url]
|
||||
[*] Extendable database via [url=https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/trackassembly/trackasmlib_dsv.txt]text file load list[/url] and [url=https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/trackassembly/dsv/Test_s_track_packTRACKASSEMBLY_PIECES.txt]list prefixes[/url] [url=https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/trackassembly/dsv/Test_s_track_packTRACKASSEMBLY_CATEGORY.txt]categories[/url]
|
||||
@ -14,7 +22,7 @@ This script can give you the ability to connect prop-segmented track pieces fast
|
||||
[*] Snapping/spawning at the mass-center or the active point ( if checked )
|
||||
[*] Snapping the first piece yaw to user defined angle
|
||||
[*] Snapping already spawned pieces by [url=https://www.youtube.com/watch?v=BxMlZMMGHrs]using only the physgun[/url]
|
||||
[*] Fast changing the active track ends ( Alt + mouse scroll. Good switching turns direction )
|
||||
[*] Fast changing the active track ends ( Alt + mouse scroll good switching turns direction )
|
||||
[*] Custom user defined active radius based snapping
|
||||
[*] Custom active point and radius location assistant
|
||||
[*] Custom active point position angle and orientation adviser
|
||||
@ -36,12 +44,18 @@ For detailed manual, please refer to Readme.md
|
||||
|
||||
Readme: https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/readme.md
|
||||
|
||||
Wiki page: https://github.com/dvdvideo1234/TrackAssemblyTool/wiki
|
||||
|
||||
Git repository: https://github.com/dvdvideo1234/TrackAssemblyTool
|
||||
|
||||
Report errors to: https://github.com/dvdvideo1234/TrackAssemblyTool/issues
|
||||
|
||||
Releases: https://github.com/dvdvideo1234/TrackAssemblyTool/releases
|
||||
|
||||
E2 API: https://github.com/dvdvideo1234/TrackAssemblyTool/wiki/Wiremod-API
|
||||
|
||||
One way turns problem: https://github.com/dvdvideo1234/TrackAssemblyTool#how-can-i-chose-and-select-a-desired-track-end-
|
||||
|
||||
Reuploading and source stealing will not be tolerated !
|
||||
Selling it is also out of option, as the open source suggests !
|
||||
|
||||
|
@ -1,2 +1,6 @@
|
||||
.git
|
||||
.svn
|
||||
.svn
|
||||
.github
|
||||
.gitattributes
|
||||
.gitignore
|
||||
data
|
||||
|
File diff suppressed because it is too large
Load Diff
413
lua/autorun/z_autorun_[shinji85_s_rails].lua
Normal file
413
lua/autorun/z_autorun_[shinji85_s_rails].lua
Normal file
@ -0,0 +1,413 @@
|
||||
--[[
|
||||
* The purpose of this Lua file is to add your track pack pieces to the
|
||||
* track assembly tool, so they can appear in the tool selection menu.
|
||||
* Why the name starts with /z/ you may ask. When Gmod loads the game
|
||||
* it goes trough all the Lua addons alphabetically.
|
||||
* That means your file name ( The file you are reading right now )
|
||||
* must be greater alphabetically than /trackasmlib/, so the API of the
|
||||
* module can be loaded before you can use it like seen below.
|
||||
]]--
|
||||
|
||||
-- Local reference to the module.
|
||||
local asmlib = trackasmlib
|
||||
|
||||
-- Change this to your addon name.
|
||||
local myAddon = "Shinji85's Rails" -- Your addon name goes here
|
||||
|
||||
--[[
|
||||
* Change this if you want to use different in-game type
|
||||
* You can also use multiple types myType1, myType2,
|
||||
* myType3, ... myType/n when your addon contains
|
||||
* multiple model packs.
|
||||
]]--
|
||||
local myType = myAddon -- The type your addon resides in the tool with
|
||||
|
||||
--[[
|
||||
* For actually produce an error you can replace the /print/
|
||||
* statement with one of following API calls:
|
||||
* http://wiki.garrysmod.com/page/Global/error
|
||||
* http://wiki.garrysmod.com/page/Global/Error
|
||||
* http://wiki.garrysmod.com/page/Global/ErrorNoHalt
|
||||
]]
|
||||
local myError = ErrorNoHalt
|
||||
|
||||
-- This is used for addon relation prefix. Fingers away from it
|
||||
local myPrefix = myAddon:gsub("[^%w]","_") -- Addon prefix
|
||||
|
||||
-- This is the script path. It tells TA who wants to add these models
|
||||
-- Do not touch this also, it is used for debugging
|
||||
local myScript = tostring(debug.getinfo(1).source or "N/A")
|
||||
myScript = "@"..myScript:gsub("^%W+", ""):gsub("\\","/")
|
||||
--[[
|
||||
* This function defines what happens when there is an error present
|
||||
* Usually you can tell Gmod that you want it to generate an error
|
||||
* and throw the message to the log also. In this case you will not
|
||||
* have to change the function name in lots of places
|
||||
* when you need it to do something else.
|
||||
--]]
|
||||
local function myThrowError(vMesg)
|
||||
local sMesg = tostring(vMesg) -- Make sure the message is string
|
||||
if(asmlib) then asmlib.LogInstance(sMesg) end -- Output the message into the logs
|
||||
myError(myScript.." > ("..myAddon.."): "..sMesg) -- Generate an error in the console ( optional )
|
||||
end
|
||||
|
||||
if(asmlib) then
|
||||
-- Store a reference to disable symbol
|
||||
local gsMissDB = asmlib.GetOpVar("MISS_NOSQL")
|
||||
local gsToolPF = asmlib.GetOpVar("TOOLNAME_PU")
|
||||
local gsSymOff = asmlib.GetOpVar("OPSYM_DISABLE")
|
||||
local gsFormPF = asmlib.GetOpVar("FORM_PREFIXDSV")
|
||||
|
||||
-- This is the path to your DSV
|
||||
local myDsv = asmlib.GetOpVar("DIRPATH_BAS")..
|
||||
asmlib.GetOpVar("DIRPATH_DSV")..
|
||||
gsFormPF:format(myPrefix, gsToolPF.."PIECES")
|
||||
|
||||
--[[
|
||||
* This flag is used when the track pieces list needs to be processed.
|
||||
* It generally represents the locking file persistence flag. It is
|
||||
* bound to finding a "PIECES" DSV external database for the prefix
|
||||
* of your addon. You can use it for boolean value deciding whenever
|
||||
* or not to run certain events. For example you can stop exporting
|
||||
* your local database every time Gmod loads, but then the user will
|
||||
* skip the available updates of your addon until he/she deletes the DSVs.
|
||||
]]--
|
||||
local myFlag = file.Exists(myDsv, "DATA")
|
||||
|
||||
-- Tell TA what custom script we just called don't touch it
|
||||
asmlib.LogInstance(">>> "..myScript.." ("..tostring(myFlag).."): {"..myAddon..", "..myPrefix.."}")
|
||||
|
||||
-- Register the addon to the workshop ID list
|
||||
asmlib.WorkshopID(myAddon, 326640186)
|
||||
|
||||
--[[
|
||||
* Register the addon to the auto-load prefix list when the
|
||||
* PIECES file is missing. The auto-load list is located in
|
||||
* (/garrysmod/data/trackassembly/trackasmlib_dsv.txt)
|
||||
* a.k.a the DATA folder of Garry's mod.
|
||||
*
|
||||
* @bSuccess = RegisterDSV(sProg, sPref, sDelim)
|
||||
* sProg > The program which registered the DSV
|
||||
* sPref > The external data prefix to be added ( default instance prefix )
|
||||
* sDelim > The delimiter to be used for processing ( default tab )
|
||||
* bSkip > Skip addition for the DSV prefix if exists ( default `false` )
|
||||
]]--
|
||||
asmlib.LogInstance("RegisterDSV start <"..myPrefix..">")
|
||||
if(myFlag) then -- Your DSV must be registered only once when loading for the first time
|
||||
asmlib.LogInstance("RegisterDSV skip <"..myPrefix..">")
|
||||
else -- If the locking file is not located that means this is the first run of your script
|
||||
if(not asmlib.RegisterDSV(myScript, myPrefix)) then -- Register the DSV prefix and check for error
|
||||
myThrowError("Failed to register DSV") -- Throw the error if fails
|
||||
end -- Third argument is the delimiter. The default tab is used
|
||||
asmlib.LogInstance("RegisterDSV done <"..myPrefix..">")
|
||||
end
|
||||
|
||||
--[[
|
||||
* This is used if you want to make internal categories for your addon
|
||||
* You must make a function as a string under the hash of your addon
|
||||
* The function must take only one argument and that is the model
|
||||
* For every sub-category of your track pieces, you must return a table
|
||||
* with that much elements or return a /nil/ value to add the piece to
|
||||
* the root of your branch. You can also return a second value if you
|
||||
* want to override the track piece name. If you need to use categories
|
||||
* for multiple track types, just put their hashes in the table below
|
||||
* and make every track point to its dedicated category handler.
|
||||
]]--
|
||||
local myCategory = {
|
||||
[myType] = {Txt = [[
|
||||
function(m) local c
|
||||
local r = m:gsub("models/shinji85/train/rail_", "")
|
||||
if(r:find("cross")) then c = "crossing"
|
||||
elseif(r:find("switch")) then c = "switch"
|
||||
elseif(r:find("curve")) then c = "curve"
|
||||
elseif(r:find("bumper")) then c = "bumper"
|
||||
elseif(r:find("junction")) then c = "junction"
|
||||
elseif(r:find("%dx")) then c = "straight" end; return c end
|
||||
]]}
|
||||
}
|
||||
|
||||
--[[
|
||||
* This logic statement is needed for reporting the error in the console if the
|
||||
* process fails.
|
||||
*
|
||||
@ bSuccess = ExportCategory(nInd, tData, sPref)
|
||||
* nInd > The index equal indent format to be stored with ( generally = 3 )
|
||||
* tData > The category functional definition you want to use to divide your stuff with
|
||||
* sPref > An export file custom prefix. For synchronizing
|
||||
* it must be related to your addon ( default is instance prefix )
|
||||
]]--
|
||||
asmlib.LogInstance("ExportCategory start <"..myPrefix..">")
|
||||
if(CLIENT) then -- Category handling is client side only
|
||||
if(not asmlib.IsEmpty(myCategory)) then
|
||||
if(not asmlib.ExportCategory(3, myCategory, myPrefix)) then
|
||||
myThrowError("Failed to synchronize category")
|
||||
end; asmlib.LogInstance("ExportCategory done <"..myPrefix..">")
|
||||
else asmlib.LogInstance("ExportCategory skip <"..myPrefix..">") end
|
||||
else asmlib.LogInstance("ExportCategory server <"..myPrefix..">") end
|
||||
|
||||
--[[
|
||||
* Create a table and populate it as shown below
|
||||
* In the square brackets goes your MODEL,
|
||||
* and then for every active point, you must have one array of
|
||||
* strings, where the elements match the following data settings.
|
||||
* You can use the disable event /#/ to make TA auto-fill
|
||||
* the value provided and you can also add multiple track types myType[1-n].
|
||||
* If you need to use piece origin/angle with model attachment, you must use
|
||||
* the attachment extraction event /!/. The model attachment format is
|
||||
* /!<attachment_name>/ and it depends what attachment name you gave it when you
|
||||
* created the model. If you need TA to extract the origin/angle from an attachment named
|
||||
* /test/ for example, you just need to put the string /!test/ in the origin/angle column for that model.
|
||||
* {MODEL, TYPE, NAME, LINEID, POINT, ORIGIN, ANGLE, CLASS}
|
||||
* MODEL > This string contains the path to your /*.mdl/ file. It is mandatory and
|
||||
* taken in pairs with LINEID, it forms the unique identifier of every record.
|
||||
* When used in /DSV/ mode ( like seen below ) is is used as a hash index.
|
||||
* TYPE > This string is the name of the type your stuff will reside in the panel.
|
||||
* Disabling this, makes it use the value of the /DEFAULT_TYPE/ variable.
|
||||
* If it is empty uses the string /TYPE/, so make sure you fill this.
|
||||
* NAME > This is the name of your track piece. Put /#/ here to be auto-generated from
|
||||
* the model ( from the last slash to the file extension ).
|
||||
* LINEID > This is the ID of the point that can be selected for building. They must be
|
||||
* sequential and mandatory. If provided, the ID must the same as the row index under
|
||||
* a given model key. Disabling this, makes it use the the index of the current line.
|
||||
* Use that to swap the active points around by only moving the desired row up or down.
|
||||
* For the example table definition below, the line ID in the database will be the same.
|
||||
* POINT > This is the local position vector that TA searches and selects the related
|
||||
* ORIGIN for. An empty string is treated as taking the ORIGIN.
|
||||
* Disabling this using the disable event makes it hidden when the active point is searched for
|
||||
* ORIGIN > This is the origin relative to which the next track piece position is calculated
|
||||
* An empty string is treated as {0,0,0}. Disabling this makes it non-selectable by the holder
|
||||
* You can also fill it with attachment event /!/ followed by your attachment name.
|
||||
* ANGLE > This is the angle relative to which the forward and up vectors are calculated.
|
||||
* An empty string is treated as {0,0,0}. Disabling this also makes it use {0,0,0}
|
||||
* You can also fill it with attachment event /!/ followed by your attachment name.
|
||||
* CLASS > This string is populated up when your entity class is not /prop_physics/ but something else
|
||||
* used by ents.Create of the gmod ents API library. Keep this empty if your stuff is a normal prop.
|
||||
]]--
|
||||
local myPieces = {
|
||||
["models/shinji85/train/rail_16x.mdl"] = {
|
||||
{myType, "Straight 16x", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Straight 16x", gsSymOff, gsMissDB, "-2048,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_1x.mdl"] = {
|
||||
{myType, "Straight 1x", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Straight 1x", gsSymOff, gsMissDB, "-128,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_2x.mdl"] = {
|
||||
{myType, "Straight 2x", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Straight 2x", gsSymOff, gsMissDB, "-256,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_4x.mdl"] = {
|
||||
{myType, "Straight 4x", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Straight 4x", gsSymOff, gsMissDB, "-512,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_4x_crossing.mdl"] = {
|
||||
{myType, "Crossing 4x", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Crossing 4x", gsSymOff, gsMissDB, "-512,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_8x.mdl"] = {
|
||||
{myType, "Straight 8x", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Straight 8x", gsSymOff, gsMissDB, "-1024,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_bumper.mdl"] = {
|
||||
{myType, "Bumper", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_cross_4x.mdl"] = {
|
||||
{myType, "Cross 4x", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Cross 4x", gsSymOff, gsMissDB, "-512,0,7.346", "0,180,0", gsMissDB},
|
||||
{myType, "Cross 4x", gsSymOff, gsMissDB, "-256,-256,7.346", "0,270,0", gsMissDB},
|
||||
{myType, "Cross 4x", gsSymOff, gsMissDB, "-256,256,7.346", "0,90,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_cs.mdl"] = {
|
||||
{myType, "Counter Switch", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Counter Switch", gsSymOff, gsMissDB, "-908.81165,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_csfix.mdl"] = {
|
||||
{myType, "Counter Switch Fix", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Counter Switch Fix", gsSymOff, gsMissDB, "-115.18847,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_curve_cc.mdl"] = {
|
||||
{myType, "Curve Cc", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Curve Cc", gsSymOff, gsMissDB, "-966.40515,128,7.346", "0,165,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_curve_r1.mdl"] = {
|
||||
{myType, "Curve R1", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Curve R1", gsSymOff, gsMissDB, "-1060.12341,139.56763,7.346", "0,165,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_curve_r11.mdl"] = {
|
||||
{myType, "Curve R11", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Curve R11", gsSymOff, gsMissDB, "-1086.11584,449.88458,7.346", "0,135,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_curve_r12.mdl"] = {
|
||||
{myType, "Curve R12", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Curve R12", gsSymOff, gsMissDB, "-905.09656,374.90414,7.346", "0,135,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_curve_r13.mdl"] = {
|
||||
{myType, "Curve R13", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Curve R13", gsSymOff, gsMissDB, "-724.07727,299.92276,7.346", "0,135,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_curve_r2.mdl"] = {
|
||||
{myType, "Curve R2", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Curve R2", gsSymOff, gsMissDB, "-993.86572,130.84471,7.346", "0,165,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_curve_r3.mdl"] = {
|
||||
{myType, "Curve R3", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Curve R3", gsSymOff, gsMissDB, "-927.60797,122.1218,7.346", "0,165,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_cx.mdl"] = {
|
||||
{myType, "Counter X", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Counter X", gsSymOff, gsMissDB, "-362.51361,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_cxfix.mdl"] = {
|
||||
{myType, "Counter X Fix", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Counter X Fix", gsSymOff, gsMissDB, "-149.48648,0,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_double_4x_crossing.mdl"] = {
|
||||
{myType, "Crossing Double 4x", gsSymOff, gsMissDB, "0,128,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Crossing Double 4x", gsSymOff, gsMissDB, "-512,128,7.346", "0,180,0", gsMissDB},
|
||||
{myType, "Crossing Double 4x", gsSymOff, gsMissDB, "0,-128,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Crossing Double 4x", gsSymOff, gsMissDB, "-512,-128,7.346", "0,180,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_double_bumper.mdl"] = {
|
||||
{myType, "Bumper Double", gsSymOff, gsMissDB, "0,128,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Bumper Double", gsSymOff, gsMissDB, "0,-128,7.346", gsMissDB, gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_l_switch.mdl"] = {
|
||||
{myType, "Left Switch", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Left Switch", gsSymOff, gsMissDB, "-1024,0,7.346", "0,180,0", gsMissDB},
|
||||
{myType, "Left Switch", gsSymOff, gsMissDB, "-966.40515,-128,7.346", "0,195,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_r_switch.mdl"] = {
|
||||
{myType, "Right Switch", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "Right Switch", gsSymOff, gsMissDB, "-1024,0,7.346", "0,180,0", gsMissDB},
|
||||
{myType, "Right Switch", gsSymOff, gsMissDB, "-966.40515,128,7.346", "0,165,0", gsMissDB}
|
||||
},
|
||||
["models/shinji85/train/rail_x_junction.mdl"] = {
|
||||
{myType, "X Junction", gsSymOff, gsMissDB, "0,0,7.346", gsMissDB, gsMissDB},
|
||||
{myType, "X Junction", gsSymOff, gsMissDB, "-494.55,0,7.346", "0,180,0", gsMissDB},
|
||||
{myType, "X Junction", gsSymOff, gsMissDB, "-33.129,-123.63866,7.346", "0,-30,0", gsMissDB},
|
||||
{myType, "X Junction", gsSymOff, gsMissDB, "-461.42175,123.63649,7.346", "0,150,0", gsMissDB}
|
||||
}
|
||||
}
|
||||
|
||||
--[[
|
||||
* This logic statement is needed for reporting the error in the console if the
|
||||
* process fails.
|
||||
*
|
||||
@ bSuccess = SynchronizeDSV(sTable, tData, bRepl, sPref, sDelim)
|
||||
* sTable > The table you want to sync
|
||||
* tData > A data table like the one described above
|
||||
* bRepl > If set to /true/, makes the API replace the repeating models with
|
||||
these of your addon. This is nice when you are constantly updating your track packs
|
||||
If set to /false/ keeps the current model in the
|
||||
database and ignores yours if they are the same file.
|
||||
* sPref > An export file custom prefix. For synchronizing it must be related to your addon
|
||||
* sDelim > The delimiter used by the server/client ( default is a tab symbol )
|
||||
*
|
||||
@ bSuccess = TranslateDSV(sTable, sPref, sDelim)
|
||||
* sTable > The table you want to translate to Lua script
|
||||
* sPref > An export file custom prefix. For synchronizing it must be related to your addon
|
||||
* sDelim > The delimiter used by the server/client ( default is a tab symbol )
|
||||
]]--
|
||||
if(not asmlib.IsEmpty(myPieces)) then
|
||||
asmlib.LogInstance("SynchronizeDSV start <"..myPrefix..">")
|
||||
if(not asmlib.SynchronizeDSV("PIECES", myPieces, true, myPrefix)) then
|
||||
myThrowError("Failed to synchronize track pieces")
|
||||
else -- You are saving me from all the work for manually generating these
|
||||
asmlib.LogInstance("TranslateDSV start <"..myPrefix..">")
|
||||
if(not asmlib.TranslateDSV("PIECES", myPrefix)) then
|
||||
myThrowError("Failed to translate DSV into Lua") end
|
||||
asmlib.LogInstance("TranslateDSV done <"..myPrefix..">")
|
||||
end -- Now we have Lua inserts and DSV
|
||||
end
|
||||
|
||||
--[[
|
||||
* Create a table and populate it as shown below
|
||||
* In the square brackets goes your MODELBASE,
|
||||
* and then for every active point, you must have one array of
|
||||
* strings and numbers, where the elements match the following data settings.
|
||||
* {MODELBASE, MODELADD, ENTCLASS, LINEID, POSOFF, ANGOFF, MOVETYPE, PHYSINIT, DRSHADOW, PHMOTION, PHYSLEEP, SETSOLID}
|
||||
* MODELBASE > This string contains the path to your base /*.mdl/ file the additions are gonna be attached to.
|
||||
* It is mandatory and taken in pairs with LINEID, it forms the unique identifier of every record.
|
||||
* When used in /DSV/ mode ( like seen below ) is is used as a hash index.
|
||||
* MODELADD > This is the /*.mdl/ path of the addition entity. It is mandatory and cannot be disabled.
|
||||
* ENTCLASS > This is the class of the addition entity. It is mandatory and cannot be disabled.
|
||||
* LINEID > This is the ID of the point that can be selected for building. They must be
|
||||
* sequential and mandatory. If provided, the ID must the same as the row index under
|
||||
* a given model key. Disabling this, makes it use the the index of the current line.
|
||||
* Use that to swap the active points around by only moving the desired row up or down.
|
||||
* For the example table definition below, the line ID in the database will be the same.
|
||||
* POSOFF > This is the local position vector offset that TA uses to place the addition relative to MODELBASE.
|
||||
* A NULL, empty, disabled or not available string is treated as taking {0,0,0}.
|
||||
* ANGOFF > This is the local angle offset that TA uses to place the addition.
|
||||
* A NULL, empty, disabled or not available string is treated as taking {0,0,0}.
|
||||
* MOVETYPE > This internally calls /Entity:SetMoveType/ if the database parameter is zero or greater.
|
||||
* PHYSINIT > This internally calls /Entity:PhysicsInit/ if the database parameter is zero or greater.
|
||||
* DRSHADOW > This internally calls /Entity:DrawShadow/ if the database parameter is not zero.
|
||||
* The call evaluates to /true/ for positive numbers and /false/ for negative.
|
||||
* When the parameter is equal to zero skips the call of /Entity:DrawShadow/
|
||||
* PHMOTION > This internally calls /PhysObj:EnableMotion/ if the database parameter is not zero on the validated physics object.
|
||||
* The call evaluates to /true/ for positive numbers and /false/ for negative.
|
||||
* When the parameter is equal to zero skips the call of /Entity:EnableMotion/
|
||||
* PHYSLEEP > This internally calls /PhysObj:Sleep/ if the database parameter is grater than zero on the validated physics object.
|
||||
* When the parameter is equal or less than zero skips the call of /Entity:Sleep/
|
||||
* SETSOLID > This internally calls /Entity:SetSolid/ if the database parameter is zero or greater.
|
||||
]]--
|
||||
local myAdditions = {
|
||||
["models/shinji85/train/rail_l_switch.mdl"] = {
|
||||
{"models/shinji85/train/sw_lever.mdl", "buttonswitch", gsSymOff, "-100,-125,0", "0,180,0", -1, -1, -1, 0, -1, -1},
|
||||
{"models/shinji85/train/rail_l_switcher1.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, MOVETYPE_VPHYSICS, SOLID_VPHYSICS, -1, -1, 1, SOLID_VPHYSICS},
|
||||
{"models/shinji85/train/rail_l_switcher2.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, MOVETYPE_VPHYSICS, SOLID_VPHYSICS, -1, 0, -1, SOLID_NONE}
|
||||
},
|
||||
["models/shinji85/train/rail_r_switch.mdl"] = {
|
||||
{"models/shinji85/train/sw_lever.mdl", "buttonswitch", gsSymOff, "-100,125,0", gsMissDB, -1, -1, -1, 0, -1, -1},
|
||||
{"models/shinji85/train/rail_r_switcher1.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, MOVETYPE_VPHYSICS, SOLID_VPHYSICS, -1, -1, 1, SOLID_VPHYSICS},
|
||||
{"models/shinji85/train/rail_r_switcher2.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, MOVETYPE_VPHYSICS, SOLID_VPHYSICS, -1, 0, -1, SOLID_NONE}
|
||||
}
|
||||
}
|
||||
|
||||
if(not asmlib.IsEmpty(myAdditions)) then
|
||||
asmlib.LogInstance("SynchronizeDSV start <"..myPrefix..">")
|
||||
if(not asmlib.SynchronizeDSV("ADDITIONS", myAdditions, true, myPrefix)) then
|
||||
myThrowError("Failed to synchronize track additions")
|
||||
else -- You are saving me from all the work for manually generating these
|
||||
asmlib.LogInstance("TranslateDSV start <"..myPrefix..">")
|
||||
if(not asmlib.TranslateDSV("ADDITIONS", myPrefix)) then
|
||||
myThrowError("Failed to translate DSV into Lua") end
|
||||
asmlib.LogInstance("TranslateDSV done <"..myPrefix..">")
|
||||
end -- Now we have Lua inserts and DSV
|
||||
end
|
||||
|
||||
--[[
|
||||
* Create a table and populate it as shown below
|
||||
* In the square brackets goes your TYPE,
|
||||
* and then for every active point, you must have one array of
|
||||
* strings and numbers, where the elements match the following data settings.
|
||||
* {TYPE, LINEID, NAME}
|
||||
* TYPE > This is the category under your physical properties are stored internally.
|
||||
* It is mandatory and taken in pairs with LINEID, it forms the unique identifier of every record.
|
||||
* When used in /DSV/ mode ( like seen below ) is is used as a hash index.
|
||||
* LINEID > This is the ID of the point that can be selected for building. They must be
|
||||
* sequential and mandatory. If provided, the ID must the same as the row index under
|
||||
* a given model key. Disabling this, makes it use the the index of the current line.
|
||||
* Use that to swap the active points around by only moving the desired row up or down.
|
||||
* For the example table definition below, the line ID in the database will be the same.
|
||||
* NAME > This stores the name of the physical property. It must an actual physical property.
|
||||
]]--
|
||||
local myPhysproperties = {}
|
||||
|
||||
if(not asmlib.IsEmpty(myPhysproperties)) then
|
||||
asmlib.LogInstance("SynchronizeDSV start <"..myPrefix..">")
|
||||
if(not asmlib.SynchronizeDSV("PHYSPROPERTIES", myPhysproperties, true, myPrefix)) then
|
||||
myThrowError("Failed to synchronize track additions")
|
||||
else -- You are saving me from all the work for manually generating these
|
||||
asmlib.LogInstance("TranslateDSV start <"..myPrefix..">")
|
||||
if(not asmlib.TranslateDSV("PHYSPROPERTIES", myPrefix)) then
|
||||
myThrowError("Failed to translate DSV into Lua") end
|
||||
asmlib.LogInstance("TranslateDSV done <"..myPrefix..">")
|
||||
end -- Now we have Lua inserts and DSV
|
||||
end
|
||||
|
||||
asmlib.LogInstance("<<< "..myScript)
|
||||
else
|
||||
myThrowError("Failed loading the required module")
|
||||
end
|
@ -1,38 +1,39 @@
|
||||
local DSC = E2Helper.Descriptions
|
||||
DSC["trackasmlibApplyPhysicalAnchor(e:ennnn)"] = "Anchors the track entity to a base entity with weld 0/1 and no-collide 0/1 no-collide-world 0/1 and force limit."
|
||||
DSC["trackasmlibApplyPhysicalSettings(e:nnns)"] = "Modifies track entity physical settings with phys-gun enabled, freeze, gravity toggle and surface material behavior"
|
||||
DSC["trackasmlibAttachAdditions(e:)"] = "Attaches the track entity additions when available"
|
||||
DSC["trackasmlibAttachBodyGroups(e:s)"] = "Attaches track piece body-groups by providing selection code"
|
||||
DSC["trackasmlibGenActivePointDSV(e:essns)"] = "Exports the track entity as external database record"
|
||||
DSC["trackasmlibGenActivePointINS(e:essns)"] = "Exports the track entity as internal database record"
|
||||
DSC["trackasmlibGetBodyGroups(e:)"] = "Returns the track bodygoup selection list"
|
||||
DSC["trackasmlibGetSkin(e:)"] = "Returns the track skin selection list"
|
||||
DSC["trackasmlibGetAdditionsCount(e:)"] = "Returns record additions count by entity"
|
||||
DSC["trackasmlibGetAdditionsCount(s)"] = "Returns record additions count by model"
|
||||
DSC["trackasmlibGetAdditionsLine(e:n)"] = "Returns record additions line by entity"
|
||||
DSC["trackasmlibGetAdditionsLine(sn)"] = "Returns record additions line by model"
|
||||
DSC["trackasmlibGetName(e:)"] = "Returns record name by entity"
|
||||
DSC["trackasmlibGetName(s)"] = "Returns record name by model"
|
||||
DSC["trackasmlibGetOffset(e:ns)"] = "Returns record snap offsets by entity"
|
||||
DSC["trackasmlibGetOffset(sns)"] = "Returns record snap offsets by model"
|
||||
DSC["trackasmlibGetPointsCount(e:)"] = "Returns record points count by entity"
|
||||
DSC["trackasmlibGetPointsCount(s)"] = "Returns record points count by model"
|
||||
DSC["trackasmlibGetProperty()"] = "Returns the surface property types"
|
||||
DSC["trackasmlibGetProperty(s)"] = "Returns the surface properties available for a given type"
|
||||
DSC["trackasmlibGetType(e:)"] = "Returns record track type by entity"
|
||||
DSC["trackasmlibGetType(s)"] = "Returns record track type by model"
|
||||
DSC["trackasmlibHasAdditions(e:)"] = "Returns 1 when the record has additions and 0 otherwise by entity"
|
||||
DSC["trackasmlibHasAdditions(s)"] = "Returns 1 when the record has additions and 0 otherwise by model"
|
||||
DSC["trackasmlibIsPiece(e:)"] = "Returns 1 when the record is actual track and 0 otherwise by entity"
|
||||
DSC["trackasmlibIsPiece(s)"] = "Returns 1 when the record is actual track and 0 otherwise by model"
|
||||
DSC["trackasmlibMakePiece(e:va)"] = "Duplicates the given track using the new position and angle"
|
||||
DSC["trackasmlibMakePiece(svansnnnn)"] = "Creates new track piece with position angle, mass, skin code and color and aplha as numbers by model"
|
||||
DSC["trackasmlibSnapEntity(e:vsnnnnva)"] = "Returns track entity snap position and angle array by holder model, point ID, active radius, flatten, ignore type, position offset and angle offset"
|
||||
DSC["trackasmlibSnapNormal(vasnva)"] = "Returns track surface snap position and angle array by position, angle, model, point ID, position offset and angle offset"
|
||||
DSC["trackasmlibMakePiece(e:van)"] = "Creates new track piece with position angle, mass by entity"
|
||||
DSC["trackasmlibMakePiece(e:vans)"] = "Creates new track piece with position angle, mass and skin code by entity"
|
||||
DSC["trackasmlibMakePiece(e:vansnnnn)"] = "Creates new track piece with position angle, mass, skin code, color and alpha as numbers by entity"
|
||||
DSC["trackasmlibMakePiece(e:vansv)"] = "Creates new track piece with position angle, mass, skin code and color as vector alpha is 255 by entity"
|
||||
DSC["trackasmlibMakePiece(svan)"] = "Creates new track piece with position angle, mass by model"
|
||||
DSC["trackasmlibMakePiece(svans)"] = "Creates new track piece with position angle, mass and skin code by model"
|
||||
DSC["trackasmlibMakePiece(svansv)"] = "Creates new track piece with position angle, mass, skin code and color as vector alpha is 255 by model"
|
||||
E2Helper.Descriptions["trackasmlibApplyPhysicalAnchor(e:ennnn)"] = "Anchors the track entity to a base entity with weld 0/1 and no-collide 0/1 no-collide-world 0/1 and force limit."
|
||||
E2Helper.Descriptions["trackasmlibApplyPhysicalSettings(e:nnns)"] = "Modifies track entity physical settings with phys-gun enabled, freeze, gravity toggle and surface material behavior"
|
||||
E2Helper.Descriptions["trackasmlibAttachAdditions(e:)"] = "Attaches the track entity additions when available"
|
||||
E2Helper.Descriptions["trackasmlibAttachBodyGroups(e:s)"] = "Attaches track piece body-groups by providing selection code"
|
||||
E2Helper.Descriptions["trackasmlibGenActivePointDSV(e:essns)"] = "Exports the track entity as external database record"
|
||||
E2Helper.Descriptions["trackasmlibGenActivePointINS(e:essns)"] = "Exports the track entity as internal database record"
|
||||
E2Helper.Descriptions["trackasmlibGetAdditionsCount(e:)"] = "Returns record additions count by entity"
|
||||
E2Helper.Descriptions["trackasmlibGetAdditionsCount(s)"] = "Returns record additions count by model"
|
||||
E2Helper.Descriptions["trackasmlibGetAdditionsLine(e:n)"] = "Returns record additions line by entity"
|
||||
E2Helper.Descriptions["trackasmlibGetAdditionsLine(sn)"] = "Returns record additions line by model"
|
||||
E2Helper.Descriptions["trackasmlibGetBodyGroups(e:)"] = "Returns the track bodygoup selection list"
|
||||
E2Helper.Descriptions["trackasmlibGetName(e:)"] = "Returns record name by entity"
|
||||
E2Helper.Descriptions["trackasmlibGetName(s)"] = "Returns record name by model"
|
||||
E2Helper.Descriptions["trackasmlibGetOffset(e:ns)"] = "Returns record snap offsets by entity"
|
||||
E2Helper.Descriptions["trackasmlibGetOffset(sns)"] = "Returns record snap offsets by model"
|
||||
E2Helper.Descriptions["trackasmlibGetPointsCount(e:)"] = "Returns record points count by entity"
|
||||
E2Helper.Descriptions["trackasmlibGetPointsCount(s)"] = "Returns record points count by model"
|
||||
E2Helper.Descriptions["trackasmlibGetProperty()"] = "Returns the surface property types"
|
||||
E2Helper.Descriptions["trackasmlibGetProperty(s)"] = "Returns the surface properties available for a given type"
|
||||
E2Helper.Descriptions["trackasmlibGetSkin(e:)"] = "Returns the track skin selection list"
|
||||
E2Helper.Descriptions["trackasmlibGetType(e:)"] = "Returns record track type by entity"
|
||||
E2Helper.Descriptions["trackasmlibGetType(s)"] = "Returns record track type by model"
|
||||
E2Helper.Descriptions["trackasmlibHasAdditions(e:)"] = "Returns 1 when the record has additions and 0 otherwise by entity"
|
||||
E2Helper.Descriptions["trackasmlibHasAdditions(s)"] = "Returns 1 when the record has additions and 0 otherwise by model"
|
||||
E2Helper.Descriptions["trackasmlibIsPiece(e:)"] = "Returns 1 when the record is actual track and 0 otherwise by entity"
|
||||
E2Helper.Descriptions["trackasmlibIsPiece(s)"] = "Returns 1 when the record is actual track and 0 otherwise by model"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(e:va)"] = "Duplicates the given track using the new position and angle"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(e:van)"] = "Creates new track piece with position angle, mass by entity"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(e:vans)"] = "Creates new track piece with position angle, mass and skin code by entity"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(e:vansnnnn)"] = "Creates new track piece with position angle, mass, skin code, color and alpha as numbers by entity"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(e:vansv)"] = "Creates new track piece with position angle, mass, skin code and color as vector alpha is 255 by entity"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(e:vansvn)"] = "Creates new track piece with position angle, mass, skin code and color as vector alpha as number by entity"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(svan)"] = "Creates new track piece with position angle, mass by model"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(svans)"] = "Creates new track piece with position angle, mass and skin code by model"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(svansnnnn)"] = "Creates new track piece with position angle, mass, skin code and color and aplha as numbers by model"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(svansv)"] = "Creates new track piece with position angle, mass, skin code and color as vector alpha is 255 by model"
|
||||
E2Helper.Descriptions["trackasmlibMakePiece(svansvn)"] = "Creates new track piece with position angle, mass, skin code and color as vector alpha by as number model"
|
||||
E2Helper.Descriptions["trackasmlibSnapEntity(e:vsnnnnva)"] = "Returns track entity snap position and angle array by holder model, point ID, active radius, flatten, ignore type, position offset and angle offset"
|
||||
E2Helper.Descriptions["trackasmlibSnapNormal(vasnva)"] = "Returns track surface snap position and angle array by position, angle, model, point ID, position offset and angle offset"
|
||||
|
@ -2,12 +2,14 @@
|
||||
local asmlib = trackasmlib
|
||||
|
||||
----- Localizing needed functions
|
||||
local Vector = Vector
|
||||
local Angle = Angle
|
||||
local Color = Color
|
||||
local tonumber = tonumber
|
||||
local tostring = tostring
|
||||
local mathClamp = math and math.Clamp
|
||||
local Vector = Vector
|
||||
local Angle = Angle
|
||||
local Color = Color
|
||||
local tonumber = tonumber
|
||||
local tostring = tostring
|
||||
local mathClamp = math and math.Clamp
|
||||
local cvarsAddChangeCallback = cvars and cvars.AddChangeCallback
|
||||
local cvarsRemoveChangeCallback = cvars and cvars.RemoveChangeCallback
|
||||
|
||||
----- Get extension enabled flag
|
||||
local anyTrue, anyFalse = 1, 0
|
||||
@ -22,18 +24,27 @@ local gsToolPrefL = asmlib.GetOpVar("TOOLNAME_PL")
|
||||
local gsINS = "PIECES:Record({\"%s\", \"%s\", \"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\"})"
|
||||
local gsDSV = "TRACKASSEMBLY_PIECES\t\"%s\"\t\"%s\"\t\"%s\"\t%d\t\"%s\"\t\"%s\"\t\"%s\"\t\"%s\""
|
||||
|
||||
----- Refresh callbacks global variables
|
||||
cvars.AddChangeCallback(gsToolPrefL.."bnderrmod", function()
|
||||
gsBErr = asmlib.GetAsmConvar("bnderrmod","STR")
|
||||
end)
|
||||
--------- CALLBACKS ---------
|
||||
|
||||
cvars.AddChangeCallback(gsToolPrefL.."enwiremod", function()
|
||||
enFlag = asmlib.GetAsmConvar("enwiremod","BUL")
|
||||
end)
|
||||
local gsVarName -- This stores current variable name
|
||||
local gsCbcHash = "_wire" -- This keeps suffix realted to the file
|
||||
|
||||
cvars.AddChangeCallback(gsToolPrefL.."maxmass", function()
|
||||
gnMaxMass = asmlib.GetAsmConvar("maxmass","FLT")
|
||||
end)
|
||||
gsVarName = asmlib.GetAsmConvar("enwiremod", "NAM")
|
||||
cvarsRemoveChangeCallback(gsVarName, gsVarName..gsCbcHash)
|
||||
cvarsAddChangeCallback(gsVarName, function(sVar, vOld, vNew)
|
||||
enFlag = ((tonumber(vNew) or 0) ~= 0) end, gsVarName..gsCbcHash)
|
||||
|
||||
gsVarName = asmlib.GetAsmConvar("bnderrmod", "NAM")
|
||||
cvarsRemoveChangeCallback(gsVarName, gsVarName..gsCbcHash)
|
||||
cvarsAddChangeCallback(gsVarName, function(sVar, vOld, vNew)
|
||||
gsBErr = tostring(vNew) end, gsVarName..gsCbcHash)
|
||||
|
||||
gsVarName = asmlib.GetAsmConvar("maxmass", "NAM")
|
||||
cvarsRemoveChangeCallback(gsVarName, gsVarName..gsCbcHash)
|
||||
cvarsAddChangeCallback(gsVarName, function(sVar, vOld, vNew)
|
||||
local nM = (tonumber(vNew) or 0) -- Zero is invalid mass
|
||||
gnMaxMass = ((nM > 0) and nM or 1) -- Apply mass clamp
|
||||
end, gsVarName..gsCbcHash)
|
||||
|
||||
--------- EXPORT ---------
|
||||
|
||||
@ -78,7 +89,7 @@ e2function array entity:trackasmlibSnapEntity(vector trHitPos , string hdModel
|
||||
end
|
||||
|
||||
__e2setcost(80)
|
||||
e2function array trackasmlibSnapNormal(vector ucsPos , angle ucsAng , string hdModel,
|
||||
e2function array trackasmlibSnapNormal(vector ucsPos, angle ucsAng , string hdModel,
|
||||
number hdPoID, vector ucsOffPos, angle ucsOffAng)
|
||||
if(not enFlag) then return {} end
|
||||
local stSpawn = asmlib.GetNormalSpawn(self.player,
|
||||
@ -93,7 +104,7 @@ e2function array trackasmlibSnapNormal(vector ucsPos , angle ucsAng , strin
|
||||
return {sPos, sAng}
|
||||
end
|
||||
|
||||
--------- PIECES ----------
|
||||
--------- PIECES ---------
|
||||
|
||||
__e2setcost(30)
|
||||
e2function number trackasmlibIsPiece(string sModel)
|
||||
@ -174,7 +185,8 @@ e2function number entity:trackasmlibGetPointsCount()
|
||||
if(stRec and stRec.Size) then return stRec.Size else return 0 end
|
||||
end
|
||||
|
||||
---------- Additions ------------
|
||||
------------ ADDITIONS ------------
|
||||
|
||||
__e2setcost(30)
|
||||
e2function number trackasmlibHasAdditions(string sModel)
|
||||
if(not enFlag) then return anyFalse end
|
||||
@ -228,7 +240,8 @@ e2function array entity:trackasmlibGetAdditionsLine(number nID)
|
||||
return getAdditionsLine(this:GetModel(), nID)
|
||||
end
|
||||
|
||||
------------ PhysProperties ------------
|
||||
------------ PHYSPROPERTIES ------------
|
||||
|
||||
__e2setcost(15)
|
||||
e2function array trackasmlibGetProperty(string sType)
|
||||
if(not enFlag) then return {} end
|
||||
@ -245,7 +258,7 @@ e2function array trackasmlibGetProperty()
|
||||
return stRec
|
||||
end
|
||||
|
||||
----------- PIECE CREATOR --------------
|
||||
------------ PIECE CREATOR ------------
|
||||
|
||||
local function makePiece(oPly, oEnt, sModel, vPos, aAng, nMass, sBgpID, nR, nG, nB, nA)
|
||||
if(not enFlag) then return nil end
|
||||
@ -278,6 +291,16 @@ e2function entity entity:trackasmlibMakePiece(vector vPos, angle aAng, number nM
|
||||
return makePiece(self.player, this, nil, vPos, aAng, nMass, sBgpID, nR, nG, nB, nA)
|
||||
end
|
||||
|
||||
__e2setcost(50)
|
||||
e2function entity trackasmlibMakePiece(string sModel, vector vPos, angle aAng, number nMass, string sBgpID, vector vColor, number nA)
|
||||
return makePiece(self.player, nil, sModel, vPos, aAng, nMass, sBgpID, vColor, nil, nil, nA)
|
||||
end
|
||||
|
||||
__e2setcost(50)
|
||||
e2function entity entity:trackasmlibMakePiece(vector vPos, angle aAng, number nMass, string sBgpID, vector vColor, number nA)
|
||||
return makePiece(self.player, this, nil, vPos, aAng, nMass, sBgpID, vColor, nil, nil, nA)
|
||||
end
|
||||
|
||||
__e2setcost(50)
|
||||
e2function entity trackasmlibMakePiece(string sModel, vector vPos, angle aAng, number nMass, string sBgpID, vector vColor)
|
||||
return makePiece(self.player, nil, sModel, vPos, aAng, nMass, sBgpID, vColor)
|
||||
|
@ -1,18 +1,42 @@
|
||||
return function(sTool, sLimit) local tSet = {} -- Bulgarian
|
||||
tSet["tool."..sTool..".1" ] = "Сглобява сегментно трасе от предмети"
|
||||
tSet["tool."..sTool..".left" ] = "Създава/Залепва парче. Задръжте ШИФТ за да натрупате"
|
||||
tSet["tool."..sTool..".right" ] = "Сменяне на точките на сглобка. Задръжте ШИФТ за на обратно (Бързо: АЛТ + СКРОЛ)"
|
||||
tSet["tool."..sTool..".right_use" ] = "Отваря менюто с най-често използваните парчета"
|
||||
tSet["tool."..sTool..".reload" ] = "Премахва парче. Задръжте ШИФТ за да изберете опора"
|
||||
tSet["tool."..sTool..".workmode.1" ] = "Обикновено създаване/залепяне"
|
||||
tSet["tool."..sTool..".workmode.2" ] = "Пресичане на активни точки"
|
||||
tSet["tool."..sTool..".workmode.3" ] = "Линейна сегментна интерполация"
|
||||
tSet["tool."..sTool..".workmode.4" ] = "Преобръщане спрямо нормалата"
|
||||
tSet["tool."..sTool..".info.1" ] = "Създава парчета върху картата или ги сглобява едно спрямо друго"
|
||||
tSet["tool."..sTool..".info.2" ] = "Свързва секциите на трасето със специален сегмент проектиран за това"
|
||||
tSet["tool."..sTool..".info.3" ] = "Създава непрекъснати трасета преминаващи през дадени контролни точки"
|
||||
tSet["tool."..sTool..".info.4" ] = "Обръща списъка с избрани обекти спряно дадена начална точка и нормала"
|
||||
tSet["tool."..sTool..".left.1" ] = "Създаване/залепване на парче. Задръжте SHIFT за натрупване"
|
||||
tSet["tool."..sTool..".left.2" ] = "Създаване на парче в пресечената точна на лъчите"
|
||||
tSet["tool."..sTool..".left.3" ] = "Създаване на интерполирана крива на трасе от предмети"
|
||||
tSet["tool."..sTool..".left.4" ] = "Създаване на огледалните парчета на избрания списък"
|
||||
tSet["tool."..sTool..".right.1" ] = "Копиране на модела на парчето или отваряне на чести записи"
|
||||
tSet["tool."..sTool..".right.2" ] = tSet["tool."..sTool..".right.1"]
|
||||
tSet["tool."..sTool..".right.3" ] = "Създаване на възел за сегментна крива. Задръжте SHIFT да обновите"
|
||||
tSet["tool."..sTool..".right.4" ] = "Регистриране на предмет в списъка за обръщане. Задръжте SHIFT за смяна на модела"
|
||||
tSet["tool."..sTool..".right_use.1" ] = "Забранен SCROLL. "..tSet["tool."..sTool..".right.1"]
|
||||
tSet["tool."..sTool..".right_use.2" ] = tSet["tool."..sTool..".right_use.1"]
|
||||
tSet["tool."..sTool..".right_use.3" ] = "Генериране на възел от най-близката активна точка на парчето"
|
||||
tSet["tool."..sTool..".right_use.4" ] = tSet["tool."..sTool..".right_use.1"]
|
||||
tSet["tool."..sTool..".reload.1" ] = "Премахване на парче трасе. Задръжте SHIFT за да изберете опора"
|
||||
tSet["tool."..sTool..".reload.2" ] = "Премахване на парче трасе. Задръжте SHIFT изберете релационен лъч"
|
||||
tSet["tool."..sTool..".reload.3" ] = "Премахване на възел от интерполираната крива. Задръжте SHIFT за да изчистите стека"
|
||||
tSet["tool."..sTool..".reload.4" ] = "Изчистване списъка от предмети за обръщане. Ако е празен маха парче"
|
||||
tSet["tool."..sTool..".reload_use.1" ] = "Позволете експорт на данните за да отворите DSV мениджър"
|
||||
tSet["tool."..sTool..".reload_use.2" ] = tSet["tool."..sTool..".reload_use.1"]
|
||||
tSet["tool."..sTool..".reload_use.3" ] = tSet["tool."..sTool..".reload_use.1"]
|
||||
tSet["tool."..sTool..".reload_use.4" ] = tSet["tool."..sTool..".reload_use.1"]
|
||||
tSet["tool."..sTool..".desc" ] = "Сглобява трасе по което да вървят превозните средства"
|
||||
tSet["tool."..sTool..".name" ] = "Монтаж на трасе"
|
||||
tSet["tool."..sTool..".phytype" ] = "Изберете типа на физическите свойства от дадените тук"
|
||||
tSet["tool."..sTool..".phytype_con" ] = "Тип на повърхността:"
|
||||
tSet["tool."..sTool..".phytype_def" ] = "<Избери тип на повърхността>"
|
||||
tSet["tool."..sTool..".phyname" ] = "Изберете името на физическите свойства което да се използва при създаване на трасе като това ще повлияе на повърхностното триене"
|
||||
tSet["tool."..sTool..".phyname_con" ] = "Име на повърхността:"
|
||||
tSet["tool."..sTool..".phyname_def" ] = "<Избери име на повърхността>"
|
||||
tSet["tool."..sTool..".bgskids" ] = "Селекционен код за избор на ТелеснаГрупа/Кожа ID"
|
||||
tSet["tool."..sTool..".bgskids_con" ] = "ТелеснаГрупа/Кожа:"
|
||||
tSet["tool."..sTool..".bgskids" ] = "Селекционен код за избор на Телесна-група/Кожа ID"
|
||||
tSet["tool."..sTool..".bgskids_con" ] = "Телесна-група/Кожа:"
|
||||
tSet["tool."..sTool..".bgskids_def" ] = "Запишете селекционен код тук. Например 1,0,0,2,1/3"
|
||||
tSet["tool."..sTool..".mass" ] = "Колко тежко ще бъде създаденото парче"
|
||||
tSet["tool."..sTool..".mass_con" ] = "Маса на парчето:"
|
||||
@ -72,9 +96,12 @@
|
||||
tSet["tool."..sTool..".ghostcnt_con" ] = "Изобразявай парчета сенки"
|
||||
tSet["tool."..sTool..".engunsnap" ] = "Управлява залепването когато парчето е изпуснато с физическото оръдие на играча"
|
||||
tSet["tool."..sTool..".engunsnap_con" ] = "Залепване при изпускане"
|
||||
tSet["tool."..sTool..".type" ] = "Изберете типа трасе коeто да използвате като разширите папката"
|
||||
tSet["tool."..sTool..".type_con" ] = "Тип трасе:"
|
||||
tSet["tool."..sTool..".category" ] = "Изберете категорията трасе която да използвате като разширите папката"
|
||||
tSet["tool."..sTool..".category_con" ] = "Категория трасе:"
|
||||
tSet["tool."..sTool..".workmode" ] = "Сменете тази опция за да изберете различен режим на работа"
|
||||
tSet["tool."..sTool..".workmode_1" ] = "Обикновено създаване/залепяне"
|
||||
tSet["tool."..sTool..".workmode_2" ] = "Пресичане на активни точки"
|
||||
tSet["tool."..sTool..".workmode_con" ] = "Работен режим:"
|
||||
tSet["tool."..sTool..".pn_export" ] = "Цъкнете за да съхраните базата данни на файл"
|
||||
tSet["tool."..sTool..".pn_export_lb" ] = "Съхрани DB"
|
||||
tSet["tool."..sTool..".pn_routine" ] = "Списъкът с редовно използваните ви парчета трасе"
|
||||
|
@ -1,4 +1,4 @@
|
||||
return function(sTool, sLimit) local tSet = {} -- English ( Column "ISO 639-1" )
|
||||
return function(sTool, sLimit) local tSet = {} -- English ( Column "ISO 639-1" )
|
||||
------ CONFIGURE TRANSLATIONS ------ https://en.wikipedia.org/wiki/ISO_639-1
|
||||
-- con >> control # def >> default # hd >> header # lb >> label
|
||||
tSet["tool."..sTool..".workmode.1" ] = "General spawn/snap pieces"
|
||||
@ -216,7 +216,7 @@ return function(sTool, sLimit) local tSet = {} -- English ( Column "ISO 639-1" )
|
||||
tSet["tool."..sTool..".timermode_mem" ] = "Memory manager for SQL table:"
|
||||
tSet["tool."..sTool..".timermode_cqt" ] = "Cache query timer via record request"
|
||||
tSet["tool."..sTool..".timermode_obj" ] = "Object timer attached to cache record"
|
||||
tSet["tool."..sTool..".logfile" ] = "When enabled starts streaming the log into dedicated file"
|
||||
tSet["tool."..sTool..".logfile" ] = "When enabled starts streaming the log into a dedicated file"
|
||||
tSet["tool."..sTool..".logfile_con" ] = "Enable logging file"
|
||||
tSet["tool."..sTool..".logsmax" ] = "Change this to adjust the log streaming maximum output lines written"
|
||||
tSet["tool."..sTool..".logsmax_con" ] = "Logging lines:"
|
||||
|
@ -1,223 +1,223 @@
|
||||
return function(sTool, sLimit) local tSet = {} -- French
|
||||
tSet["tool."..sTool..".workmode.1" ] = "Général créer/aligner des pièces" --FIX
|
||||
tSet["tool."..sTool..".workmode.2" ] = "Point d'intersection actif" --FIX
|
||||
tSet["tool."..sTool..".workmode.3" ] = "Ajuster des segments de ligne courbés" --FIX
|
||||
tSet["tool."..sTool..".workmode.4" ] = "Retourner la normale d'une surface" --NEW
|
||||
tSet["tool."..sTool..".info.1" ] = "Créer des pièces sur la carte ou les aligner relativement entre elles" --NEW
|
||||
tSet["tool."..sTool..".info.2" ] = "Connecte les sections de piste avec un segment spécialement dédié pour cela" --NEW
|
||||
tSet["tool."..sTool..".info.3" ] = "Forme une piste continue passant par les points de passage définis" --NEW
|
||||
tSet["tool."..sTool..".info.4" ] = "Retourne les entités sélectionnées de la liste à travers les origines et normales définis" --NEW
|
||||
tSet["tool."..sTool..".left.1" ] = "Créer/Aligner une pièce de piste. Maintenir MAJUSCULE pour empiler" --NEW
|
||||
tSet["tool."..sTool..".left.2" ] = "Créer une pièce de piste au point d'intersection" --NEW
|
||||
tSet["tool."..sTool..".left.3" ] = "Créer la piste segmentée par interpolation de courbe" --NEW
|
||||
tSet["tool."..sTool..".left.4" ] = "Créer les pistes retournées de la liste sélectionnée" --NEW
|
||||
tSet["tool."..sTool..".right.1" ] = "Copier le modèle de la pièce de piste ou ouvrir la fenêtre des pièces fréquentes" --NEW
|
||||
tSet["tool."..sTool..".workmode.1" ] = "Général créer/aligner des pièces"
|
||||
tSet["tool."..sTool..".workmode.2" ] = "Point d'intersection actif"
|
||||
tSet["tool."..sTool..".workmode.3" ] = "Ajuster des segments de ligne courbés"
|
||||
tSet["tool."..sTool..".workmode.4" ] = "Retourner la normale d'une surface"
|
||||
tSet["tool."..sTool..".info.1" ] = "Créer des pièces sur la carte ou les aligner relativement entre elles"
|
||||
tSet["tool."..sTool..".info.2" ] = "Connecte les sections de piste avec un segment spécialement dédié pour cela"
|
||||
tSet["tool."..sTool..".info.3" ] = "Forme une piste continue passant par les points de passage définis"
|
||||
tSet["tool."..sTool..".info.4" ] = "Retourne les entités sélectionnées de la liste à travers les origines et normales définis"
|
||||
tSet["tool."..sTool..".left.1" ] = "Créer/Aligner une pièce de piste. Maintenir MAJUSCULE pour empiler"
|
||||
tSet["tool."..sTool..".left.2" ] = "Créer une pièce de piste au point d'intersection"
|
||||
tSet["tool."..sTool..".left.3" ] = "Créer la piste segmentée par interpolation de courbe"
|
||||
tSet["tool."..sTool..".left.4" ] = "Créer les pistes retournées de la liste sélectionnée"
|
||||
tSet["tool."..sTool..".right.1" ] = "Copier le modèle de la pièce de piste ou ouvrir la fenêtre des pièces fréquentes"
|
||||
tSet["tool."..sTool..".right.2" ] = tSet["tool."..sTool..".right.1"]
|
||||
tSet["tool."..sTool..".right.3" ] = "Créer un nœud pour la courbe segmentée. Maintenir MAJUSCULE pour réactualiser" --NEW
|
||||
tSet["tool."..sTool..".right.4" ] = "Enregistrer l'entité dans la liste à retourner. Maintenir MAJUSCULE pour changer le modèle" --NEW
|
||||
tSet["tool."..sTool..".right_use.1" ] = "MOLETTE désactivée. "..tSet["tool."..sTool..".right.1"] --NEW
|
||||
tSet["tool."..sTool..".right.3" ] = "Créer un nœud pour la courbe segmentée. Maintenir MAJUSCULE pour réactualiser"
|
||||
tSet["tool."..sTool..".right.4" ] = "Enregistrer l'entité dans la liste à retourner. Maintenir MAJUSCULE pour changer le modèle"
|
||||
tSet["tool."..sTool..".right_use.1" ] = "MOLETTE désactivée. "..tSet["tool."..sTool..".right.1"]
|
||||
tSet["tool."..sTool..".right_use.2" ] = tSet["tool."..sTool..".right_use.1"]
|
||||
tSet["tool."..sTool..".right_use.3" ] = "Générer un nœud depuis le point actif de la pièce de piste la plus proche" --NEW
|
||||
tSet["tool."..sTool..".right_use.3" ] = "Générer un nœud depuis le point actif de la pièce de piste la plus proche"
|
||||
tSet["tool."..sTool..".right_use.4" ] = tSet["tool."..sTool..".right_use.1"]
|
||||
tSet["tool."..sTool..".reload.1" ] = "Retirer une pièce de piste. Maintenir MAJUSCULE pour sélectionner une ancre" --NEW
|
||||
tSet["tool."..sTool..".reload.2" ] = "Retirer une pièce de piste. Maintenir MAJUSCULE pour sélectionner le rayon de sélection" --NEW
|
||||
tSet["tool."..sTool..".reload.3" ] = "Retire un nœud de l'interpolation de courbe. Maintenir MAJUSCULE pour vider le tas" --NEW
|
||||
tSet["tool."..sTool..".reload.4" ] = "Vider la liste des entités à retourner. Retire une pièce si la liste est vide" --NEW
|
||||
tSet["tool."..sTool..".reload_use.1" ] = "Activer l'exportation de la base de données pour ouvrir le gestionnaire DSV" --NEW
|
||||
tSet["tool."..sTool..".reload.1" ] = "Retirer une pièce de piste. Maintenir MAJUSCULE pour sélectionner une ancre"
|
||||
tSet["tool."..sTool..".reload.2" ] = "Retirer une pièce de piste. Maintenir MAJUSCULE pour sélectionner le rayon de sélection"
|
||||
tSet["tool."..sTool..".reload.3" ] = "Retire un nœud de l'interpolation de courbe. Maintenir MAJUSCULE pour vider le tas"
|
||||
tSet["tool."..sTool..".reload.4" ] = "Vider la liste des entités à retourner. Retire une pièce si la liste est vide"
|
||||
tSet["tool."..sTool..".reload_use.1" ] = "Activer l'exportation de la base de données pour ouvrir le gestionnaire DSV"
|
||||
tSet["tool."..sTool..".reload_use.2" ] = tSet["tool."..sTool..".reload_use.1"]
|
||||
tSet["tool."..sTool..".reload_use.3" ] = tSet["tool."..sTool..".reload_use.1"]
|
||||
tSet["tool."..sTool..".reload_use.4" ] = tSet["tool."..sTool..".reload_use.1"]
|
||||
tSet["tool."..sTool..".desc" ] = "Assemble une piste auquel les véhicules peuvent rouler dessus"
|
||||
tSet["tool."..sTool..".name" ] = "Assembleur à piste"
|
||||
tSet["tool."..sTool..".phytype" ] = "Sélectionnez une des propriétés physiques dans la liste"
|
||||
tSet["tool."..sTool..".phytype_def" ] = "<Sélectionner un TYPE de matériau de surface>"
|
||||
tSet["tool."..sTool..".phyname" ] = "Sélectionnez une des noms de propriétés physiques à utiliser lorsque qu'une piste sera créée. Ceci va affecter la friction de la surface"
|
||||
tSet["tool."..sTool..".phyname_con" ] = "Nom de matériau de surface:"
|
||||
tSet["tool."..sTool..".phyname_def" ] = "<Sélectionner un NOM de matériau de surface>"
|
||||
tSet["tool."..sTool..".bgskids" ] = "Cette ensemble de code est delimité par une virgule pour chaque Groupes de corps/ID Apparence" --UPDATE
|
||||
tSet["tool."..sTool..".bgskids_con" ] = "Groupes de corps/Apparence:" --UPDATE
|
||||
tSet["tool."..sTool..".bgskids_def" ] = "Écrivez le code de sélection ici. Par exemple 1,0,0,2,1/3"
|
||||
tSet["tool."..sTool..".mass" ] = "À quel point la pièce créée sera lourd"
|
||||
tSet["tool."..sTool..".mass_con" ] = "Masse de la pièce:"
|
||||
tSet["tool."..sTool..".model" ] = "Sélectionnez une pièce pour commencer/continuer votre piste avec en étendant un type et en cliquant sur un nœud"
|
||||
tSet["tool."..sTool..".model_con" ] = "Modèle de la pièce:"
|
||||
tSet["tool."..sTool..".activrad" ] = "Distance minimum nécessaire pour sélectionner un point actif"
|
||||
tSet["tool."..sTool..".activrad_con" ] = "Rayon actif:"
|
||||
tSet["tool."..sTool..".stackcnt" ] = "Nombre maximum de pièces à créer pendant l'empilement"
|
||||
tSet["tool."..sTool..".stackcnt_con" ] = "Nombre de pièces:"
|
||||
tSet["tool."..sTool..".angsnap" ] = "Aligner la première pièce créée sur ce degré"
|
||||
tSet["tool."..sTool..".angsnap_con" ] = "Alignement angulaire:"
|
||||
tSet["tool."..sTool..".resetvars" ] = "Cliquez pour réinitialiser les valeurs supplémentaires"
|
||||
tSet["tool."..sTool..".resetvars_con" ] = "V Réinitialiser les variables V"
|
||||
tSet["tool."..sTool..".nextpic" ] = "Décalage angulaire supplémentaire sur la position initial du tangage"
|
||||
tSet["tool."..sTool..".nextpic_con" ] = "Angle du tangage:"
|
||||
tSet["tool."..sTool..".nextyaw" ] = "Décalage angulaire supplémentaire sur la position initial du lacet"
|
||||
tSet["tool."..sTool..".nextyaw_con" ] = "Angle du lacet:"
|
||||
tSet["tool."..sTool..".nextrol" ] = "Décalage angulaire supplementaire sur la position initial du roulis"
|
||||
tSet["tool."..sTool..".nextrol_con" ] = "Angle du roulis:"
|
||||
tSet["tool."..sTool..".nextx" ] = "Décalage linéaire supplémentaire sur la position initial de X"
|
||||
tSet["tool."..sTool..".nextx_con" ] = "Décalage en X:"
|
||||
tSet["tool."..sTool..".nexty" ] = "Décalage linéaire supplémentaire sur la position initial de Y"
|
||||
tSet["tool."..sTool..".nexty_con" ] = "Décalage en Y:"
|
||||
tSet["tool."..sTool..".nextz" ] = "Décalage linéaire supplémentaire sur la position initial de Z"
|
||||
tSet["tool."..sTool..".nextz_con" ] = "Décalage en Z:"
|
||||
tSet["tool."..sTool..".gravity" ] = "Contrôle la gravité sur la pièce créée"
|
||||
tSet["tool."..sTool..".gravity_con" ] = "Appliquer la gravité sur la pièce"
|
||||
tSet["tool."..sTool..".weld" ] = "Créer une soudure entre les pièces/ancres"
|
||||
tSet["tool."..sTool..".weld_con" ] = "Souder"
|
||||
tSet["tool."..sTool..".forcelim" ] = "Force nécessaire pour casser la soudure"
|
||||
tSet["tool."..sTool..".forcelim_con" ] = "Limite de force:"
|
||||
tSet["tool."..sTool..".ignphysgn" ] = "Ignore la saisie du pistolet physiques sur la pièce créée/alignée/empilé"
|
||||
tSet["tool."..sTool..".ignphysgn_con" ] = "Ignorer le pistolet physiques"
|
||||
tSet["tool."..sTool..".nocollide" ] = "Faire en sorte que les pièces/ancres ne puissent jamais entrer en collision"
|
||||
tSet["tool."..sTool..".nocollide_con" ] = "Pas de collisions"
|
||||
tSet["tool."..sTool..".nocollidew" ] = "Faire en sorte que les pièces/monde ne puisse jamais entrer en collision"
|
||||
tSet["tool."..sTool..".nocollidew_con"] = "Pas de collisions avec le monde" --UPDATE
|
||||
tSet["tool."..sTool..".freeze" ] = "La pièce qui sera créée sera dans un état gelé"
|
||||
tSet["tool."..sTool..".freeze_con" ] = "Geler la pièce"
|
||||
tSet["tool."..sTool..".igntype" ] = "Faire ignorer à l'outil les différents types de pièce dès l'alignement/empilement"
|
||||
tSet["tool."..sTool..".igntype_con" ] = "Ignorer le type de piste"
|
||||
tSet["tool."..sTool..".spnflat" ] = "La prochaine pièce sera créée/alignée/empilé horizontalement"
|
||||
tSet["tool."..sTool..".spnflat_con" ] = "Créer horizontalement"
|
||||
tSet["tool."..sTool..".spawncn" ] = "Créer la pièce vers le centre, sinon, la créer relativement vers le point active choisi"
|
||||
tSet["tool."..sTool..".spawncn_con" ] = "Partir du centre"
|
||||
tSet["tool."..sTool..".surfsnap" ] = "Aligne la pièce vers la surface auquel le joueur vise actuellement"
|
||||
tSet["tool."..sTool..".surfsnap_con" ] = "Aligner vers la surface tracé"
|
||||
tSet["tool."..sTool..".appangfst" ] = "Appliquer les décalages angulaires seulement sur la première pièce"
|
||||
tSet["tool."..sTool..".appangfst_con" ] = "Appliquer angulaire en premier"
|
||||
tSet["tool."..sTool..".applinfst" ] = "Appliquer les décalages linéaires seulement sur la première pièce"
|
||||
tSet["tool."..sTool..".applinfst_con" ] = "Appliquer linéaire en premier"
|
||||
tSet["tool."..sTool..".adviser" ] = "Montrer le conseiller de position/angle de l'outil"
|
||||
tSet["tool."..sTool..".adviser_con" ] = "Montrer le conseiller"
|
||||
tSet["tool."..sTool..".pntasist" ] = "Montrer l'assistant d'alignement de l'outil"
|
||||
tSet["tool."..sTool..".pntasist_con" ] = "Montrer l'assistant"
|
||||
tSet["tool."..sTool..".ghostcnt" ] = "Montrer un aperçu de la pièces compter active"
|
||||
tSet["tool."..sTool..".ghostcnt_con" ] = "Activer compter l'aperçu de l'outil"
|
||||
tSet["tool."..sTool..".engunsnap" ] = "Contrôle l'alignement quand la pièce est tombée par le pistolet physique d'un joueur"
|
||||
tSet["tool."..sTool..".engunsnap_con" ] = "Activer l'alignement par pistolet physique"
|
||||
tSet["tool."..sTool..".type" ] = "Sélectionnez le type de piste à utiliser en développant le dossier"
|
||||
tSet["tool."..sTool..".type_con" ] = "Type de piste:"
|
||||
tSet["tool."..sTool..".category" ] = "Sélectionnez la catégorie de piste à utiliser en développant le dossier"
|
||||
tSet["tool."..sTool..".category_con" ] = "Catégorie de piste:"
|
||||
tSet["tool."..sTool..".workmode" ] = "Modifiez cette option pour utiliser différents modes de travail"
|
||||
tSet["tool."..sTool..".workmode_con" ] = "Mode de travail:"
|
||||
tSet["tool."..sTool..".pn_export" ] = "Cliquer pour exporter la base de données client dans un fichier"
|
||||
tSet["tool."..sTool..".pn_export_lb" ] = "Exporter BD"
|
||||
tSet["tool."..sTool..".pn_routine" ] = "La liste de vos pièces de pistes utilisées fréquemment" --UPDATE
|
||||
tSet["tool."..sTool..".pn_routine_hd" ] = "Pièces fréquents par:"
|
||||
tSet["tool."..sTool..".pn_externdb" ] = "Les base de données disponibles pour:"
|
||||
tSet["tool."..sTool..".pn_externdb_hd"] = "Base de données de:"
|
||||
tSet["tool."..sTool..".pn_externdb_lb"] = "Clic droit pour les options:"
|
||||
tSet["tool."..sTool..".pn_externdb_1" ] = "Copier préfixe unique"
|
||||
tSet["tool."..sTool..".pn_externdb_2" ] = "Copier chemin dossier DSV"
|
||||
tSet["tool."..sTool..".pn_externdb_3" ] = "Copier le nom de la table"
|
||||
tSet["tool."..sTool..".pn_externdb_4" ] = "Copier le chemin de la table"
|
||||
tSet["tool."..sTool..".pn_externdb_5" ] = "Copier l'heure de la table"
|
||||
tSet["tool."..sTool..".pn_externdb_6" ] = "Copier la taille de la table"
|
||||
tSet["tool."..sTool..".pn_externdb_7" ] = "Modifier le contenu de la table (Luapad)"
|
||||
tSet["tool."..sTool..".pn_externdb_8" ] = "Supprimer l'entrée de la base de donnée"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_lb" ] = "Liste DSV externe"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_hd" ] = "La liste des base de données DSV sont affichées ici"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_1" ] = "Préfixe unique de la base de donnée"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_2" ] = "Active"
|
||||
tSet["tool."..sTool..".pn_display" ] = "Le modèle de votre pièce de piste est affiché ici"
|
||||
tSet["tool."..sTool..".pn_pattern" ] = "Écrire un modèle ici et appuyer sur ENTRÉE pour effectuer une recherche"
|
||||
tSet["tool."..sTool..".pn_srchcol" ] = "Choisir la liste de colonne auquel vous voulez effectuer une recherche sur"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb" ] = "<Recherche>"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb1"] = "Modèle"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb2"] = "Type"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb3"] = "Nom"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb4"] = "Fin"
|
||||
tSet["tool."..sTool..".pn_routine_lb" ] = "Articles de routine"
|
||||
tSet["tool."..sTool..".pn_routine_lb1"] = "Utilisé"
|
||||
tSet["tool."..sTool..".pn_routine_lb2"] = "Fin"
|
||||
tSet["tool."..sTool..".pn_routine_lb3"] = "Type"
|
||||
tSet["tool."..sTool..".pn_routine_lb4"] = "Nom"
|
||||
tSet["tool."..sTool..".pn_display_lb" ] = "Affichage pièce"
|
||||
tSet["tool."..sTool..".pn_pattern_lb" ] = "Écrire modèle"
|
||||
tSet["Cleanup_"..sLimit ] = "Pièces de piste assemblées"
|
||||
tSet["Cleaned_"..sLimit ] = "Pistes nettoyées"
|
||||
tSet["SBoxLimit_"..sLimit ] = "Vous avez atteint la limite des pistes créées!"
|
||||
tSet["tool."..sTool..".logsmax" ] = "Défini combien de lignes maximum seront envoyées dans le journal" --NEW
|
||||
tSet["tool."..sTool..".logsmax_con" ] = "Lignes maximum:" --NEW
|
||||
tSet["tool."..sTool..".logfile" ] = "Force le journal à écrire dans un fichier" --NEW
|
||||
tSet["tool."..sTool..".logfile_con" ] = "Activer le journal:" --NEW
|
||||
tSet["tool."..sTool..".sizeucs" ] = "Calibration de l'échelle pour le système de coordonnées affiché" --NEW
|
||||
tSet["tool."..sTool..".sizeucs_con" ] = "Échelle UCS:" --NEW
|
||||
tSet["tool."..sTool..".maxstatts" ] = "Défini combien de tentatives d'empilement le script va essayer avant d'échouer" --NEW
|
||||
tSet["tool."..sTool..".maxstatts_con" ] = "Tentatives d'empilement:" --NEW
|
||||
tSet["tool."..sTool..".incsnpang" ] = "Défini le pas d'incrémentation angulaire" --NEW
|
||||
tSet["tool."..sTool..".incsnpang_con" ] = "Pas angulaire:" --NEW
|
||||
tSet["tool."..sTool..".incsnplin" ] = "Défini le pas d'incrémentation linéaire" --NEW
|
||||
tSet["tool."..sTool..".incsnplin_con" ] = "Pas linéaire:" --NEW
|
||||
tSet["tool."..sTool..".enradmenu" ] = "Permet l'utilisation du menu radial du mode de travail" --NEW
|
||||
tSet["tool."..sTool..".enradmenu_con" ] = "Activer le menu radial" --NEW
|
||||
tSet["tool."..sTool..".enpntmscr" ] = "Permet de basculer entre les points actifs par défilement de la molette" --NEW
|
||||
tSet["tool."..sTool..".enpntmscr_con" ] = "Activer le défilement de points" --NEW
|
||||
tSet["tool."..sTool..".exportdb" ] = "Active l'exportation de la base de données en un grand fichier" --NEW
|
||||
tSet["tool."..sTool..".exportdb_con" ] = "Activer l'exportation de la base de données" --NEW
|
||||
tSet["tool."..sTool..".modedb" ] = "Changer ceci pour utiliser un mode de stockage différent pour la base de données (BD)" --NEW
|
||||
tSet["tool."..sTool..".modedb_con" ] = "Mode de la BD:" --NEW
|
||||
tSet["tool."..sTool..".devmode" ] = "Active le traçage et débogage" --NEW
|
||||
tSet["tool."..sTool..".devmode_con" ] = "Activer le mode développeur" --NEW
|
||||
tSet["tool."..sTool..".maxtrmarg" ] = "Changer ceci pour ajuster le temps entre les tracées de l'outil" --NEW
|
||||
tSet["tool."..sTool..".maxtrmarg_con" ] = "Marge de la tracée:" --NEW
|
||||
tSet["tool."..sTool..".maxmenupr" ] = "Changer ceci pour ajuster le nombre de chiffres après la virgule dans le menu" --NEW
|
||||
tSet["tool."..sTool..".maxmenupr_con" ] = "Séparateur décimal:" --NEW
|
||||
tSet["tool."..sTool..".maxmass" ] = "Changer ceci pour ajuster la masse maximale pouvant être appliquée sur une pièce" --NEW
|
||||
tSet["tool."..sTool..".maxmass_con" ] = "Limite de la masse:" --NEW
|
||||
tSet["tool."..sTool..".maxlinear" ] = "Changer ceci pour ajuster le décalage linéaire maximal sur une pièce" --NEW
|
||||
tSet["tool."..sTool..".maxlinear_con" ] = "Limite du décalage:" --NEW
|
||||
tSet["tool."..sTool..".maxforce" ] = "Changer ceci pour ajuster la limite maximale de la force lors des soudures" --NEW
|
||||
tSet["tool."..sTool..".maxforce_con" ] = "Limite de force:" --NEW
|
||||
tSet["tool."..sTool..".maxactrad" ] = "Changer ceci pour ajuster le rayon actif maximal pour obtenir l'ID d'un point" --NEW
|
||||
tSet["tool."..sTool..".maxactrad_con" ] = "Limite du rayon:" --NEW
|
||||
tSet["tool."..sTool..".maxstcnt" ] = "Changer ceci pour ajuster le maximum de pièces pouvant être créées en mode empilement" --NEW
|
||||
tSet["tool."..sTool..".maxstcnt_con" ] = "Limite d'empilement:" --NEW
|
||||
tSet["tool."..sTool..".enwiremod" ] = "Active l'extension pour la puce d'expression Wiremod" --NEW
|
||||
tSet["tool."..sTool..".enwiremod_con" ] = "Activer wire expression" --NEW
|
||||
tSet["tool."..sTool..".enctxmenu" ] = "Active le menu contextuel de l'outil dédiée pour les pièces" --NEW
|
||||
tSet["tool."..sTool..".enctxmenu_con" ] = "Activer le menu contextuel" --NEW
|
||||
tSet["tool."..sTool..".enctxmall" ] = "Active le menu contextuel de l'outil dédiée pour tous les objets" --NEW
|
||||
tSet["tool."..sTool..".enctxmall_con" ] = "Activer le menu contextuel pour tous les objets" --NEW
|
||||
tSet["tool."..sTool..".endsvlock" ] = "Active le verrouillage du fichier de la base de données DSV externe" --NEW
|
||||
tSet["tool."..sTool..".endsvlock_con" ] = "Activer le verrou de la base de données DSV" --NEW
|
||||
tSet["tool."..sTool..".curvefact" ] = "Changer ceci pour ajuster le facteur courbe du coefficient tangent" --NEW
|
||||
tSet["tool."..sTool..".curvefact_con" ] = "Facteur courbe:" --NEW
|
||||
tSet["tool."..sTool..".curvsmple" ] = "Changer ceci pour ajuster les échantillons pour la courbe d'interpolation" --NEW
|
||||
tSet["tool."..sTool..".curvsmple_con" ] = "Échantillons courbe:" --NEW
|
||||
tSet["tool."..sTool..".crvturnlm" ] = "Changer ceci pour ajuster la finesse de la courbure en virage pour le segment" --NEW
|
||||
tSet["tool."..sTool..".crvturnlm_con" ] = "Courbure en virage:" --NEW
|
||||
tSet["tool."..sTool..".crvleanlm" ] = "Changer ceci pour ajuster la finesse de la courbure en inclinaison pour le segment" --NEW
|
||||
tSet["tool."..sTool..".crvleanlm_con" ] = "Courbure en inclinaison:" --NEW
|
||||
tSet["tool."..sTool..".spawnrate" ] = "Changer ceci pour ajuster la quantité de segments de pistes créés par cycle de serveur" --NEW
|
||||
tSet["tool."..sTool..".spawnrate_con" ] = "Quantité création:" --NEW
|
||||
tSet["tool."..sTool..".bnderrmod" ] = "Changer ceci pour définir le comportement quand les clients créent des pièces en dehors des limites de la carte" --NEW
|
||||
--For the convenience of French people, we'll use cardinal brackets [NUMBER] so they can see clearly which one of the following bounding mode is set from the Spawn Menu.
|
||||
tSet["tool."..sTool..".bnderrmod_off" ] = "[1] Autoriser l'empilement/création sans restriction" --NEW
|
||||
tSet["tool."..sTool..".bnderrmod_log" ] = "[2] Refuser l'empilement/création l'erreur est enregistré" --NEW
|
||||
tSet["tool."..sTool..".bnderrmod_hint" ] = "[3] Refuser l'empilement/création message d'astuce est affiché" --NEW
|
||||
tSet["tool."..sTool..".bnderrmod_generic"] = "[4] Refuser l'empilement/création message générique est affiché" --NEW
|
||||
tSet["tool."..sTool..".bnderrmod_error" ] = "[5] Refuser l'empilement/création message d'erreur est affiché" --NEW
|
||||
tSet["tool."..sTool..".bnderrmod_con" ] = "Sécurité frontière:" --NEW
|
||||
tSet["tool."..sTool..".maxfruse" ] = "Changer ceci pour ajuster combien de pièces peuvent apparaître dans la fenêtre des pièces fréquentes" --NEW
|
||||
tSet["tool."..sTool..".maxfruse_con" ] = "Pièces fréquentes:" --NEW
|
||||
tSet["tool."..sTool..".timermode_ap" ] = "Cliquer ici pour appliquer vos changements au gestionnaire de mémoire SQL" --NEW
|
||||
tSet["tool."..sTool..".timermode_ap_con" ] = "Appliquer les paramètres de la mémoire" --NEW
|
||||
tSet["tool."..sTool..".timermode_md" ] = "Changer ceci pour ajuster l'algorithme de la minuterie du gestionnaire de mémoire SQL" --NEW
|
||||
tSet["tool."..sTool..".timermode_lf" ] = "Changer ceci pour ajuster pendant combien de temps une entrée reste dans le cache" --NEW
|
||||
tSet["tool."..sTool..".timermode_lf_con" ] = "Durée de vie:" --NEW
|
||||
tSet["tool."..sTool..".timermode_rd" ] = "Efface les entrées du cache en forçant une valeur nulle" --NEW
|
||||
tSet["tool."..sTool..".timermode_rd_con" ] = "Activer la suppression des entrées" --NEW
|
||||
tSet["tool."..sTool..".timermode_ct" ] = "Force l'exécution du recyclage de la mémoire lorsqu'une entrée est supprimée" --NEW
|
||||
tSet["tool."..sTool..".timermode_ct_con" ] = "Activer le ramasse-miettes" --NEW
|
||||
tSet["tool."..sTool..".timermode_mem" ] = "Gestionnaire de mémoire de la table SQL:" --NEW
|
||||
tSet["tool."..sTool..".timermode_cqt" ] = "Mettre en cache la minuterie de la requête via l'enregistrement de la requête" --NEW
|
||||
tSet["tool."..sTool..".timermode_obj" ] = "Minuterie objet attachée à l'enregistrement du cache" --NEW
|
||||
tSet["tool."..sTool..".logfile" ] = "Commence la diffusion du journal dans un fichier dédié" --NEW
|
||||
tSet["tool."..sTool..".logfile_con" ] = "Activer le journal" --NEW
|
||||
tSet["tool."..sTool..".logsmax" ] = "Changer ceci pour ajuster le flux maximum des lignes écrites par le journal" --NEW
|
||||
tSet["tool."..sTool..".logsmax_con" ] = "Lignes maximum:" --NEW
|
||||
tSet["sbox_max"..sLimit ] = "Changer ceci pour ajuster les choses créées par l'outil assembleur à piste sur le serveur" --NEW
|
||||
tSet["sbox_max"..sLimit.."_con" ] = "Quantité de rails:" --NEW
|
||||
tSet["tool."..sTool..".desc" ] = "Assemble une piste auquel les véhicules peuvent rouler dessus"
|
||||
tSet["tool."..sTool..".name" ] = "Assembleur à piste"
|
||||
tSet["tool."..sTool..".phytype" ] = "Sélectionnez une des propriétés physiques dans la liste"
|
||||
tSet["tool."..sTool..".phytype_def" ] = "<Sélectionner un TYPE de matériau de surface>"
|
||||
tSet["tool."..sTool..".phyname" ] = "Sélectionnez une des noms de propriétés physiques à utiliser lorsque qu'une piste sera créée. Ceci va affecter la friction de la surface"
|
||||
tSet["tool."..sTool..".phyname_con" ] = "Nom de matériau de surface:"
|
||||
tSet["tool."..sTool..".phyname_def" ] = "<Sélectionner un NOM de matériau de surface>"
|
||||
tSet["tool."..sTool..".bgskids" ] = "Cette ensemble de code est delimité par une virgule pour chaque Groupes de corps/ID Apparence"
|
||||
tSet["tool."..sTool..".bgskids_con" ] = "Groupes de corps/Apparence:"
|
||||
tSet["tool."..sTool..".bgskids_def" ] = "Écrivez le code de sélection ici. Par exemple 1,0,0,2,1/3"
|
||||
tSet["tool."..sTool..".mass" ] = "À quel point la pièce créée sera lourd"
|
||||
tSet["tool."..sTool..".mass_con" ] = "Masse de la pièce:"
|
||||
tSet["tool."..sTool..".model" ] = "Sélectionnez une pièce pour commencer/continuer votre piste avec en étendant un type et en cliquant sur un nœud"
|
||||
tSet["tool."..sTool..".model_con" ] = "Modèle de la pièce:"
|
||||
tSet["tool."..sTool..".activrad" ] = "Distance minimum nécessaire pour sélectionner un point actif"
|
||||
tSet["tool."..sTool..".activrad_con" ] = "Rayon actif:"
|
||||
tSet["tool."..sTool..".stackcnt" ] = "Nombre maximum de pièces à créer pendant l'empilement"
|
||||
tSet["tool."..sTool..".stackcnt_con" ] = "Nombre de pièces:"
|
||||
tSet["tool."..sTool..".angsnap" ] = "Aligner la première pièce créée sur ce degré"
|
||||
tSet["tool."..sTool..".angsnap_con" ] = "Alignement angulaire:"
|
||||
tSet["tool."..sTool..".resetvars" ] = "Cliquez pour réinitialiser les valeurs supplémentaires"
|
||||
tSet["tool."..sTool..".resetvars_con" ] = "V Réinitialiser les variables V"
|
||||
tSet["tool."..sTool..".nextpic" ] = "Décalage angulaire supplémentaire sur la position initial du tangage"
|
||||
tSet["tool."..sTool..".nextpic_con" ] = "Angle du tangage:"
|
||||
tSet["tool."..sTool..".nextyaw" ] = "Décalage angulaire supplémentaire sur la position initial du lacet"
|
||||
tSet["tool."..sTool..".nextyaw_con" ] = "Angle du lacet:"
|
||||
tSet["tool."..sTool..".nextrol" ] = "Décalage angulaire supplementaire sur la position initial du roulis"
|
||||
tSet["tool."..sTool..".nextrol_con" ] = "Angle du roulis:"
|
||||
tSet["tool."..sTool..".nextx" ] = "Décalage linéaire supplémentaire sur la position initial de X"
|
||||
tSet["tool."..sTool..".nextx_con" ] = "Décalage en X:"
|
||||
tSet["tool."..sTool..".nexty" ] = "Décalage linéaire supplémentaire sur la position initial de Y"
|
||||
tSet["tool."..sTool..".nexty_con" ] = "Décalage en Y:"
|
||||
tSet["tool."..sTool..".nextz" ] = "Décalage linéaire supplémentaire sur la position initial de Z"
|
||||
tSet["tool."..sTool..".nextz_con" ] = "Décalage en Z:"
|
||||
tSet["tool."..sTool..".gravity" ] = "Contrôle la gravité sur la pièce créée"
|
||||
tSet["tool."..sTool..".gravity_con" ] = "Appliquer la gravité sur la pièce"
|
||||
tSet["tool."..sTool..".weld" ] = "Créer une soudure entre les pièces/ancres"
|
||||
tSet["tool."..sTool..".weld_con" ] = "Souder"
|
||||
tSet["tool."..sTool..".forcelim" ] = "Force nécessaire pour casser la soudure"
|
||||
tSet["tool."..sTool..".forcelim_con" ] = "Limite de force:"
|
||||
tSet["tool."..sTool..".ignphysgn" ] = "Ignore la saisie du pistolet physiques sur la pièce créée/alignée/empilé"
|
||||
tSet["tool."..sTool..".ignphysgn_con" ] = "Ignorer le pistolet physiques"
|
||||
tSet["tool."..sTool..".nocollide" ] = "Faire en sorte que les pièces/ancres ne puissent jamais entrer en collision"
|
||||
tSet["tool."..sTool..".nocollide_con" ] = "Pas de collisions"
|
||||
tSet["tool."..sTool..".nocollidew" ] = "Faire en sorte que les pièces/monde ne puisse jamais entrer en collision"
|
||||
tSet["tool."..sTool..".nocollidew_con" ] = "Pas de collisions avec le monde"
|
||||
tSet["tool."..sTool..".freeze" ] = "La pièce qui sera créée sera dans un état gelé"
|
||||
tSet["tool."..sTool..".freeze_con" ] = "Geler la pièce"
|
||||
tSet["tool."..sTool..".igntype" ] = "Faire ignorer à l'outil les différents types de pièce dès l'alignement/empilement"
|
||||
tSet["tool."..sTool..".igntype_con" ] = "Ignorer le type de piste"
|
||||
tSet["tool."..sTool..".spnflat" ] = "La prochaine pièce sera créée/alignée/empilé horizontalement"
|
||||
tSet["tool."..sTool..".spnflat_con" ] = "Créer horizontalement"
|
||||
tSet["tool."..sTool..".spawncn" ] = "Créer la pièce vers le centre, sinon, la créer relativement vers le point active choisi"
|
||||
tSet["tool."..sTool..".spawncn_con" ] = "Partir du centre"
|
||||
tSet["tool."..sTool..".surfsnap" ] = "Aligne la pièce vers la surface auquel le joueur vise actuellement"
|
||||
tSet["tool."..sTool..".surfsnap_con" ] = "Aligner vers la surface tracé"
|
||||
tSet["tool."..sTool..".appangfst" ] = "Appliquer les décalages angulaires seulement sur la première pièce"
|
||||
tSet["tool."..sTool..".appangfst_con" ] = "Appliquer angulaire en premier"
|
||||
tSet["tool."..sTool..".applinfst" ] = "Appliquer les décalages linéaires seulement sur la première pièce"
|
||||
tSet["tool."..sTool..".applinfst_con" ] = "Appliquer linéaire en premier"
|
||||
tSet["tool."..sTool..".adviser" ] = "Montrer le conseiller de position/angle de l'outil"
|
||||
tSet["tool."..sTool..".adviser_con" ] = "Montrer le conseiller"
|
||||
tSet["tool."..sTool..".pntasist" ] = "Montrer l'assistant d'alignement de l'outil"
|
||||
tSet["tool."..sTool..".pntasist_con" ] = "Montrer l'assistant"
|
||||
tSet["tool."..sTool..".ghostcnt" ] = "Montrer un aperçu de la pièces compter active"
|
||||
tSet["tool."..sTool..".ghostcnt_con" ] = "Activer compter l'aperçu de l'outil"
|
||||
tSet["tool."..sTool..".engunsnap" ] = "Contrôle l'alignement quand la pièce est tombée par le pistolet physique d'un joueur"
|
||||
tSet["tool."..sTool..".engunsnap_con" ] = "Activer l'alignement par pistolet physique"
|
||||
tSet["tool."..sTool..".type" ] = "Sélectionnez le type de piste à utiliser en développant le dossier"
|
||||
tSet["tool."..sTool..".type_con" ] = "Type de piste:"
|
||||
tSet["tool."..sTool..".category" ] = "Sélectionnez la catégorie de piste à utiliser en développant le dossier"
|
||||
tSet["tool."..sTool..".category_con" ] = "Catégorie de piste:"
|
||||
tSet["tool."..sTool..".workmode" ] = "Modifiez cette option pour utiliser différents modes de travail"
|
||||
tSet["tool."..sTool..".workmode_con" ] = "Mode de travail:"
|
||||
tSet["tool."..sTool..".pn_export" ] = "Cliquer pour exporter la base de données client dans un fichier"
|
||||
tSet["tool."..sTool..".pn_export_lb" ] = "Exporter BD"
|
||||
tSet["tool."..sTool..".pn_routine" ] = "La liste de vos pièces de pistes utilisées fréquemment"
|
||||
tSet["tool."..sTool..".pn_routine_hd" ] = "Pièces fréquents par:"
|
||||
tSet["tool."..sTool..".pn_externdb" ] = "Les base de données disponibles pour:"
|
||||
tSet["tool."..sTool..".pn_externdb_hd" ] = "Base de données de:"
|
||||
tSet["tool."..sTool..".pn_externdb_lb" ] = "Clic droit pour les options:"
|
||||
tSet["tool."..sTool..".pn_externdb_1" ] = "Copier préfixe unique"
|
||||
tSet["tool."..sTool..".pn_externdb_2" ] = "Copier chemin dossier DSV"
|
||||
tSet["tool."..sTool..".pn_externdb_3" ] = "Copier le nom de la table"
|
||||
tSet["tool."..sTool..".pn_externdb_4" ] = "Copier le chemin de la table"
|
||||
tSet["tool."..sTool..".pn_externdb_5" ] = "Copier l'heure de la table"
|
||||
tSet["tool."..sTool..".pn_externdb_6" ] = "Copier la taille de la table"
|
||||
tSet["tool."..sTool..".pn_externdb_7" ] = "Modifier le contenu de la table (Luapad)"
|
||||
tSet["tool."..sTool..".pn_externdb_8" ] = "Supprimer l'entrée de la base de donnée"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_lb" ] = "Liste DSV externe"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_hd" ] = "La liste des base de données DSV sont affichées ici"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_1" ] = "Préfixe unique de la base de donnée"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_2" ] = "Active"
|
||||
tSet["tool."..sTool..".pn_display" ] = "Le modèle de votre pièce de piste est affiché ici"
|
||||
tSet["tool."..sTool..".pn_pattern" ] = "Écrire un modèle ici et appuyer sur ENTRÉE pour effectuer une recherche"
|
||||
tSet["tool."..sTool..".pn_srchcol" ] = "Choisir la liste de colonne auquel vous voulez effectuer une recherche sur"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb" ] = "<Recherche>"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb1" ] = "Modèle"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb2" ] = "Type"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb3" ] = "Nom"
|
||||
tSet["tool."..sTool..".pn_srchcol_lb4" ] = "Fin"
|
||||
tSet["tool."..sTool..".pn_routine_lb" ] = "Articles de routine"
|
||||
tSet["tool."..sTool..".pn_routine_lb1" ] = "Utilisé"
|
||||
tSet["tool."..sTool..".pn_routine_lb2" ] = "Fin"
|
||||
tSet["tool."..sTool..".pn_routine_lb3" ] = "Type"
|
||||
tSet["tool."..sTool..".pn_routine_lb4" ] = "Nom"
|
||||
tSet["tool."..sTool..".pn_display_lb" ] = "Affichage pièce"
|
||||
tSet["tool."..sTool..".pn_pattern_lb" ] = "Écrire modèle"
|
||||
tSet["Cleanup_"..sLimit ] = "Pièces de piste assemblées"
|
||||
tSet["Cleaned_"..sLimit ] = "Pistes nettoyées"
|
||||
tSet["SBoxLimit_"..sLimit ] = "Vous avez atteint la limite des pistes créées!"
|
||||
tSet["tool."..sTool..".logsmax" ] = "Défini combien de lignes maximum seront envoyées dans le journal"
|
||||
tSet["tool."..sTool..".logsmax_con" ] = "Lignes maximum:"
|
||||
tSet["tool."..sTool..".logfile" ] = "Force le journal à écrire dans un fichier"
|
||||
tSet["tool."..sTool..".logfile_con" ] = "Activer le journal:"
|
||||
tSet["tool."..sTool..".sizeucs" ] = "Calibration de l'échelle pour le système de coordonnées affiché"
|
||||
tSet["tool."..sTool..".sizeucs_con" ] = "Échelle UCS:"
|
||||
tSet["tool."..sTool..".maxstatts" ] = "Défini combien de tentatives d'empilement le script va essayer avant d'échouer"
|
||||
tSet["tool."..sTool..".maxstatts_con" ] = "Tentatives d'empilement:"
|
||||
tSet["tool."..sTool..".incsnpang" ] = "Défini le pas d'incrémentation angulaire"
|
||||
tSet["tool."..sTool..".incsnpang_con" ] = "Pas angulaire:"
|
||||
tSet["tool."..sTool..".incsnplin" ] = "Défini le pas d'incrémentation linéaire"
|
||||
tSet["tool."..sTool..".incsnplin_con" ] = "Pas linéaire:"
|
||||
tSet["tool."..sTool..".enradmenu" ] = "Permet l'utilisation du menu radial du mode de travail"
|
||||
tSet["tool."..sTool..".enradmenu_con" ] = "Activer le menu radial"
|
||||
tSet["tool."..sTool..".enpntmscr" ] = "Permet de basculer entre les points actifs par défilement de la molette"
|
||||
tSet["tool."..sTool..".enpntmscr_con" ] = "Activer le défilement de points"
|
||||
tSet["tool."..sTool..".exportdb" ] = "Active l'exportation de la base de données en un grand fichier"
|
||||
tSet["tool."..sTool..".exportdb_con" ] = "Activer l'exportation de la base de données"
|
||||
tSet["tool."..sTool..".modedb" ] = "Changer ceci pour utiliser un mode de stockage différent pour la base de données (BD)"
|
||||
tSet["tool."..sTool..".modedb_con" ] = "Mode de la BD:"
|
||||
tSet["tool."..sTool..".devmode" ] = "Active le traçage et débogage"
|
||||
tSet["tool."..sTool..".devmode_con" ] = "Activer le mode développeur"
|
||||
tSet["tool."..sTool..".maxtrmarg" ] = "Changer ceci pour ajuster le temps entre les tracées de l'outil"
|
||||
tSet["tool."..sTool..".maxtrmarg_con" ] = "Marge de la tracée:"
|
||||
tSet["tool."..sTool..".maxmenupr" ] = "Changer ceci pour ajuster le nombre de chiffres après la virgule dans le menu"
|
||||
tSet["tool."..sTool..".maxmenupr_con" ] = "Séparateur décimal:"
|
||||
tSet["tool."..sTool..".maxmass" ] = "Changer ceci pour ajuster la masse maximale pouvant être appliquée sur une pièce"
|
||||
tSet["tool."..sTool..".maxmass_con" ] = "Limite de la masse:"
|
||||
tSet["tool."..sTool..".maxlinear" ] = "Changer ceci pour ajuster le décalage linéaire maximal sur une pièce"
|
||||
tSet["tool."..sTool..".maxlinear_con" ] = "Limite du décalage:"
|
||||
tSet["tool."..sTool..".maxforce" ] = "Changer ceci pour ajuster la limite maximale de la force lors des soudures"
|
||||
tSet["tool."..sTool..".maxforce_con" ] = "Limite de force:"
|
||||
tSet["tool."..sTool..".maxactrad" ] = "Changer ceci pour ajuster le rayon actif maximal pour obtenir l'ID d'un point"
|
||||
tSet["tool."..sTool..".maxactrad_con" ] = "Limite du rayon:"
|
||||
tSet["tool."..sTool..".maxstcnt" ] = "Changer ceci pour ajuster le maximum de pièces pouvant être créées en mode empilement"
|
||||
tSet["tool."..sTool..".maxstcnt_con" ] = "Limite d'empilement:"
|
||||
tSet["tool."..sTool..".enwiremod" ] = "Active l'extension pour la puce d'expression Wiremod"
|
||||
tSet["tool."..sTool..".enwiremod_con" ] = "Activer wire expression"
|
||||
tSet["tool."..sTool..".enctxmenu" ] = "Active le menu contextuel de l'outil dédiée pour les pièces"
|
||||
tSet["tool."..sTool..".enctxmenu_con" ] = "Activer le menu contextuel"
|
||||
tSet["tool."..sTool..".enctxmall" ] = "Active le menu contextuel de l'outil dédiée pour tous les objets"
|
||||
tSet["tool."..sTool..".enctxmall_con" ] = "Activer le menu contextuel pour tous les objets"
|
||||
tSet["tool."..sTool..".endsvlock" ] = "Active le verrouillage du fichier de la base de données DSV externe"
|
||||
tSet["tool."..sTool..".endsvlock_con" ] = "Activer le verrou de la base de données DSV"
|
||||
tSet["tool."..sTool..".curvefact" ] = "Changer ceci pour ajuster le facteur courbe du coefficient tangent"
|
||||
tSet["tool."..sTool..".curvefact_con" ] = "Facteur courbe:"
|
||||
tSet["tool."..sTool..".curvsmple" ] = "Changer ceci pour ajuster les échantillons pour la courbe d'interpolation"
|
||||
tSet["tool."..sTool..".curvsmple_con" ] = "Échantillons courbe:"
|
||||
tSet["tool."..sTool..".crvturnlm" ] = "Changer ceci pour ajuster la finesse de la courbure en virage pour le segment"
|
||||
tSet["tool."..sTool..".crvturnlm_con" ] = "Courbure en virage:"
|
||||
tSet["tool."..sTool..".crvleanlm" ] = "Changer ceci pour ajuster la finesse de la courbure en inclinaison pour le segment"
|
||||
tSet["tool."..sTool..".crvleanlm_con" ] = "Courbure en inclinaison:"
|
||||
tSet["tool."..sTool..".spawnrate" ] = "Changer ceci pour ajuster la quantité de segments de pistes créés par cycle de serveur"
|
||||
tSet["tool."..sTool..".spawnrate_con" ] = "Quantité création:"
|
||||
tSet["tool."..sTool..".bnderrmod" ] = "Changer ceci pour définir le comportement quand les clients créent des pièces en dehors des limites de la carte"
|
||||
-- For the convenience of French people, we'll use cardinal brackets [NUMBER] so they can see clearly which one of the following bounding mode is set from the Spawn Menu.
|
||||
tSet["tool."..sTool..".bnderrmod_off" ] = "[1] Autoriser l'empilement/création sans restriction"
|
||||
tSet["tool."..sTool..".bnderrmod_log" ] = "[2] Refuser l'empilement/création l'erreur est enregistré"
|
||||
tSet["tool."..sTool..".bnderrmod_hint" ] = "[3] Refuser l'empilement/création message d'astuce est affiché"
|
||||
tSet["tool."..sTool..".bnderrmod_generic"] = "[4] Refuser l'empilement/création message générique est affiché"
|
||||
tSet["tool."..sTool..".bnderrmod_error" ] = "[5] Refuser l'empilement/création message d'erreur est affiché"
|
||||
tSet["tool."..sTool..".bnderrmod_con" ] = "Sécurité frontière:"
|
||||
tSet["tool."..sTool..".maxfruse" ] = "Changer ceci pour ajuster combien de pièces peuvent apparaître dans la fenêtre des pièces fréquentes"
|
||||
tSet["tool."..sTool..".maxfruse_con" ] = "Pièces fréquentes:"
|
||||
tSet["tool."..sTool..".timermode_ap" ] = "Cliquer ici pour appliquer vos changements au gestionnaire de mémoire SQL"
|
||||
tSet["tool."..sTool..".timermode_ap_con" ] = "Appliquer les paramètres de la mémoire"
|
||||
tSet["tool."..sTool..".timermode_md" ] = "Changer ceci pour ajuster l'algorithme de la minuterie du gestionnaire de mémoire SQL"
|
||||
tSet["tool."..sTool..".timermode_lf" ] = "Changer ceci pour ajuster pendant combien de temps une entrée reste dans le cache"
|
||||
tSet["tool."..sTool..".timermode_lf_con" ] = "Durée de vie:"
|
||||
tSet["tool."..sTool..".timermode_rd" ] = "Efface les entrées du cache en forçant une valeur nulle"
|
||||
tSet["tool."..sTool..".timermode_rd_con" ] = "Activer la suppression des entrées"
|
||||
tSet["tool."..sTool..".timermode_ct" ] = "Force l'exécution du recyclage de la mémoire lorsqu'une entrée est supprimée"
|
||||
tSet["tool."..sTool..".timermode_ct_con" ] = "Activer le ramasse-miettes"
|
||||
tSet["tool."..sTool..".timermode_mem" ] = "Gestionnaire de mémoire de la table SQL:"
|
||||
tSet["tool."..sTool..".timermode_cqt" ] = "Mettre en cache la minuterie de la requête via l'enregistrement de la requête"
|
||||
tSet["tool."..sTool..".timermode_obj" ] = "Minuterie objet attachée à l'enregistrement du cache"
|
||||
tSet["tool."..sTool..".logfile" ] = "Commence la diffusion du journal dans un fichier dédié"
|
||||
tSet["tool."..sTool..".logfile_con" ] = "Activer le journal"
|
||||
tSet["tool."..sTool..".logsmax" ] = "Changer ceci pour ajuster le flux maximum des lignes écrites par le journal"
|
||||
tSet["tool."..sTool..".logsmax_con" ] = "Lignes maximum:"
|
||||
tSet["sbox_max"..sLimit ] = "Changer ceci pour ajuster les choses créées par l'outil assembleur à piste sur le serveur"
|
||||
tSet["sbox_max"..sLimit.."_con" ] = "Quantité de rails:"
|
||||
return tSet end
|
||||
|
@ -1,9 +1,7 @@
|
||||
return function(sTool, sLimit) local tSet = {} -- Japanese
|
||||
tSet["tool."..sTool..".1" ] = "区間的な線路を組み立て"
|
||||
tSet["tool."..sTool..".left" ] = "線路の部分がスポーンする。SHIFT押すながら部分が増える/スタック"
|
||||
tSet["tool."..sTool..".right" ] = "組み立てポイントを変わる。SHIFT押すながら方向を逆にして。(ショートカット ALT + SCROLL)"
|
||||
tSet["tool."..sTool..".right_use" ] = "よく使った線路部分メニュ"
|
||||
tSet["tool."..sTool..".reload" ] = "線路部分を外す。SHIFT押すながらアンカーを選択して"
|
||||
tSet["tool."..sTool..".workmode.1" ] = "通常部分のスポーン/スナップ"
|
||||
tSet["tool."..sTool..".workmode.2" ] = "アクティブポイントの交差点"
|
||||
tSet["tool."..sTool..".workmode.3" ] = "曲線線分フィッティング"
|
||||
tSet["tool."..sTool..".desc" ] = "乗り物が走る線路を組み立てる"
|
||||
tSet["tool."..sTool..".name" ] = "線路の組み立て"
|
||||
tSet["tool."..sTool..".phytype" ] = "一覧済みしたものの物性タイプを選択して"
|
||||
@ -72,28 +70,31 @@
|
||||
tSet["tool."..sTool..".ghostcnt_con" ] = "ドローホルダーゴースト"
|
||||
tSet["tool."..sTool..".engunsnap" ] = "プレイヤー物理銃が落とした部分のスナップを管理する"
|
||||
tSet["tool."..sTool..".engunsnap_con" ] = "物理銃スナップを可能にする"
|
||||
tSet["tool."..sTool..".type" ] = "フォルダを展開して、使用するトラックタイプを選択します"
|
||||
tSet["tool."..sTool..".type_con" ] = "トラックタイプ:"
|
||||
tSet["tool."..sTool..".category" ] = "フォルダを展開して、使用するトラックカテゴリを選択します"
|
||||
tSet["tool."..sTool..".category_con" ] = "トラックカテゴリ:"
|
||||
tSet["tool."..sTool..".workmode" ] = "稼働モード変更の設定"
|
||||
tSet["tool."..sTool..".workmode_1" ] = "通常部分のスポーン/スナップ"
|
||||
tSet["tool."..sTool..".workmode_2" ] = "アクティブポイントの交差点"
|
||||
tSet["tool."..sTool..".workmode_con" ] = "稼働モ:"
|
||||
tSet["tool."..sTool..".pn_export" ] = "クリックでクライアントデータベースをファイルにエクスポート"
|
||||
tSet["tool."..sTool..".pn_export_lb" ] = "DB エクスポート"
|
||||
tSet["tool."..sTool..".pn_routine" ] = "よく使った線路部分表"
|
||||
tSet["tool."..sTool..".pn_routine_hd" ] = "よく使った部分:"
|
||||
tSet["tool."..sTool..".pn_externdb" ] = "The external databases available for:"
|
||||
tSet["tool."..sTool..".pn_externdb_hd"] = "External databases by:"
|
||||
tSet["tool."..sTool..".pn_externdb_lb"] = "Right click for options:"
|
||||
tSet["tool."..sTool..".pn_externdb_1" ] = "Copy unique prefix"
|
||||
tSet["tool."..sTool..".pn_externdb_2" ] = "Copy DSV folder"
|
||||
tSet["tool."..sTool..".pn_externdb_3" ] = "Copy table nick"
|
||||
tSet["tool."..sTool..".pn_externdb_4" ] = "Copy table path"
|
||||
tSet["tool."..sTool..".pn_externdb_5" ] = "Copy table time"
|
||||
tSet["tool."..sTool..".pn_externdb_6" ] = "Copy table size"
|
||||
tSet["tool."..sTool..".pn_externdb_7" ] = "Edit items (Luapad)"
|
||||
tSet["tool."..sTool..".pn_externdb_8" ] = "Delete database entry"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_lb" ] = "Extrernal DSV list"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_hd" ] = "Extrernal DSV databases list is displayed here"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_1" ] = "Database unique prefix"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_2" ] = "Active"
|
||||
tSet["tool."..sTool..".pn_externdb" ] = "使用可能外部データベース:"
|
||||
tSet["tool."..sTool..".pn_externdb_hd"] = "外部データベース:"
|
||||
tSet["tool."..sTool..".pn_externdb_lb"] = "右クリックでオプション:"
|
||||
tSet["tool."..sTool..".pn_externdb_1" ] = "特異プレフィックスをコピーして"
|
||||
tSet["tool."..sTool..".pn_externdb_2" ] = "DSVフォルダーをコピーして"
|
||||
tSet["tool."..sTool..".pn_externdb_3" ] = "テーブルニックネームをコピーして"
|
||||
tSet["tool."..sTool..".pn_externdb_4" ] = "テーブルパスをコピーして"
|
||||
tSet["tool."..sTool..".pn_externdb_5" ] = "テーブルタイムをコピーして"
|
||||
tSet["tool."..sTool..".pn_externdb_6" ] = "テーブルサイズをコピーして"
|
||||
tSet["tool."..sTool..".pn_externdb_7" ] = "アイテムを編集して(Luapad)"
|
||||
tSet["tool."..sTool..".pn_externdb_8" ] = "データベースエントリを消して"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_lb" ] = "外部DSVリスト"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_hd" ] = "外部DSVデータベースリストはここに見せる"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_1" ] = "データベース特異プレッフィクス"
|
||||
tSet["tool."..sTool..".pn_ext_dsv_2" ] = "アクティブ"
|
||||
tSet["tool."..sTool..".pn_display" ] = "プレーやの線路部分ここに映る"
|
||||
tSet["tool."..sTool..".pn_pattern" ] = "ここにパターンを書くとサーチするためにENTERを押して"
|
||||
tSet["tool."..sTool..".pn_srchcol" ] = "サーチするコラムを選択し"
|
||||
|
@ -1,18 +1,18 @@
|
||||
return function(sTool, sLimit) local tSet = {} -- Russian
|
||||
tSet["tool."..sTool..".1" ] = "Собрать сегментированную дорогу из предметов"
|
||||
tSet["tool."..sTool..".left" ] = "Создает/Прилепает кусок. Удерживайте СДВИГ чтобы нагромождали"
|
||||
tSet["tool."..sTool..".right" ] = "Изменение точки сборки. Удерживайте СДВИГ чтобы реверс (Быстро: АЛТ + ПРОКРУТКИ)"
|
||||
tSet["tool."..sTool..".right_use" ] = "Открывается меню с наиболее часто используемых кусков"
|
||||
tSet["tool."..sTool..".reload" ] = "Убрать кусок. Удерживайте СДВИГ чтобы выбрать якорь"
|
||||
tSet["tool."..sTool..".workmode.1" ] = "Общее создание/прилепание куски"
|
||||
tSet["tool."..sTool..".workmode.2" ] = "Пересечение активной точки"
|
||||
tSet["tool."..sTool..".workmode.3" ] = "Кривой отрезок линии фитинг"
|
||||
tSet["tool."..sTool..".workmode.4" ] = "Нормаль поверхности перевернуть"
|
||||
tSet["tool."..sTool..".desc" ] = "Создает дорогу для транспортных средств"
|
||||
tSet["tool."..sTool..".name" ] = "Сборка дороги"
|
||||
tSet["tool."..sTool..".phytype" ] = "Выберите тип физических свойств из тех которые перечислены здесь"
|
||||
tSet["tool."..sTool..".phytype_con" ] = "Тип поверхности:"
|
||||
tSet["tool."..sTool..".phytype_def" ] = "<Выберите ТИП поверхности>"
|
||||
tSet["tool."..sTool..".phyname" ] = "Выберите имя физических свойств которые могут быть использованы при создании дороги так как это повлияет на поверхностное трение"
|
||||
tSet["tool."..sTool..".phyname_con" ] = "Имя поверхности:"
|
||||
tSet["tool."..sTool..".phyname_def" ] = "<Выберите ИМЯ поверхности>"
|
||||
tSet["tool."..sTool..".bgskids" ] = "Код выбора через запятую для ГруппаТела/Кожа ID"
|
||||
tSet["tool."..sTool..".bgskids_con" ] = "ГруппаТела/Кожа:"
|
||||
tSet["tool."..sTool..".bgskids" ] = "Код выбора через запятую для Группа-тела/Кожа ID"
|
||||
tSet["tool."..sTool..".bgskids_con" ] = "Группа-тела/Кожа:"
|
||||
tSet["tool."..sTool..".bgskids_def" ] = "Написать код выбора здесь. Например 1,0,0,2,1/3"
|
||||
tSet["tool."..sTool..".mass" ] = "Как тяжелый кусок создал будет"
|
||||
tSet["tool."..sTool..".mass_con" ] = "Масса куска:"
|
||||
@ -72,9 +72,12 @@
|
||||
tSet["tool."..sTool..".ghostcnt_con" ] = "Нарисовать подсчет кусок-тень"
|
||||
tSet["tool."..sTool..".engunsnap" ] = "Управляет приклеивание когда кусок выпущен физической пушки пользователя"
|
||||
tSet["tool."..sTool..".engunsnap_con" ] = "Приклеивать выпуском"
|
||||
tSet["tool."..sTool..".type" ] = "Выберите типа дороги для использования путем расширения папки"
|
||||
tSet["tool."..sTool..".type_con" ] = "Тип дороги:"
|
||||
tSet["tool."..sTool..".category" ] = "Выберите категорию дороги для использования путем расширения папки"
|
||||
tSet["tool."..sTool..".category_con" ] = "Категория дороги:"
|
||||
tSet["tool."..sTool..".workmode" ] = "Измените эту опцию чтобы использовать другой рабочий режим"
|
||||
tSet["tool."..sTool..".workmode_1" ] = "Общее создание/прилепание куски"
|
||||
tSet["tool."..sTool..".workmode_2" ] = "Пересечение активной точки"
|
||||
tSet["tool."..sTool..".workmode_con" ] = "Рабочий режим:"
|
||||
tSet["tool."..sTool..".pn_export" ] = "Нажмите чтобы сохранить файл базы данных"
|
||||
tSet["tool."..sTool..".pn_export_lb" ] = "Экспорт БД"
|
||||
tSet["tool."..sTool..".pn_routine" ] = "Список регулярно используемых кусков дороги"
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
237
readme.md
237
readme.md
@ -34,7 +34,12 @@ Also, another great achievement progress is in place, so 10x guys for
|
||||
[helping me, help you, help us all](https://www.youtube.com/watch?v=2TZyb0n2DAw) !
|
||||
|
||||
#### What kind of features does this script has?
|
||||
* General convar [factory reset](https://youtu.be/3Ws6Jh3JUew?t=2051) can be easily triggered by the server admins
|
||||
* Convar tweaks is accessible via [dedicated in-game manipulation panel](https://youtu.be/3Ws6Jh3JUew?t=56)
|
||||
* Context menu for direct track entity [value export and manipulation][ref-value-exp]
|
||||
* Optional [flip-over mode called from spawning/snapping](https://youtu.be/3Ws6Jh3JUew?t=2146) for quickly flip the anchor across
|
||||
* Track segment [flip over mode for mirroring](https://youtu.be/3Ws6Jh3JUew?t=1358) already created [loops and curves](https://youtu.be/3Ws6Jh3JUew?t=1722)
|
||||
* Track segment [curve node interpolation](https://youtu.be/3Ws6Jh3JUew?t=200) for building custom track layouts
|
||||
* Track curve fitting alignment based on [ray intersection for precise piece layout][ref-vid-inters]
|
||||
* [Extendible database][ref-dbext] via [text file][ref-text-file] or a [lua script][ref-lua-script]
|
||||
* [Extendible database][ref-dbext] via [load list][ref-load-list] and [list prefixes][ref-list-pref]
|
||||
@ -79,6 +84,14 @@ adjusting the next active point for the track stacking option.
|
||||
This will affect what point is chosen when you continue the track you build.
|
||||
The current and next active points will not be the same.
|
||||
|
||||
#### I am scrolling and the point mouse scroll is enabled. Why is the track end not switched?
|
||||
Sometimes selecting last weapon is bind to the `KEY_LALT` ( Def: `LALT` )
|
||||
button by default. If that condition is present for you, the mouse scroll track piece
|
||||
selection will not work. If you insist of using the mouse scroll and I don't blame you,
|
||||
because it's faster and much convenient, just unbind the `KEY_LALT` ( Def: `LALT` ) button
|
||||
via `unbind alt` ( `unbind <key_binded>` ). That way the game will no longer process
|
||||
alt with priority to last weapon switch.
|
||||
|
||||
#### How do I use the old way for switching between the active points ?
|
||||
There is this variable `trackassembly_enpntmscr` and as its name suggests
|
||||
it controls the ***enable end-point mouse scroll***. Set it to `1` if you want
|
||||
@ -96,28 +109,29 @@ the primary position flag `applinfst ( Apply linear first )` or switch
|
||||
the origin angle with the ray direction angle by using primary angle flag
|
||||
`appangfst ( Apply angular first )`. In this working mode the angular and linear offsets adjust the
|
||||
piece offsets relative to the ray intersection position where the trace and relation rays
|
||||
meet. Press `ATTACK1` ( Def: Left click ) if you are happy with where
|
||||
meet. Press `ATTACK1` ( Def: `Left Mouse Button` ) if you are happy with where
|
||||
the ghost is located and where the spawn piece will go at.
|
||||
|
||||
#### The tool has too few track varieties. Can you make the pieces resizable ?
|
||||
In sorta yes, however, there is no way to add this feature natively and so far I did not found a decent method,
|
||||
which will not potentially break the entire game. While resizing props client-side is quite easy, in the server,
|
||||
this task is very hard, close to impossible. The gmod API does not provide an ellegant solution to this,
|
||||
this task is very hard, close to impossible. The gmod API does not provide an elegant solution to this,
|
||||
which meets the real-time performance requirements. Resizing track curves is by far the most complex task of this
|
||||
sort as far as evert single piece is conserned. If you take the track width in consideratoion, the resizing method
|
||||
sort as far as every single piece is concerned. If you take the track width in consideration, the resizing method
|
||||
must not just select `X`, `Y` or `Z` axes, because the piece will get distortions along the curve ( ex. For `90`
|
||||
degree curves streching by `X` will increase first point lenght, however, it will also adjust the second point width )
|
||||
degree curves stretching by `X` will increase first point length, however, it will also adjust the second point width )
|
||||
In Gmod there is this [`PhysicsInitConvex`][ref-resz-api] API that does
|
||||
just that, but the spawning will take a very long time considering the amount it tates to resize every polygon on the
|
||||
server. When the track is spawned outside the map bounds it will immidiately crash the game.
|
||||
Thus, I beleve that stacking two or more tracks is always better than resizing a prop !
|
||||
just that, but the spawning will take a very long time considering the amount it takes to resize every polygon on the
|
||||
server. When the track is spawned outside the map bounds it will immediately crash the game.
|
||||
Thus, I believe that stacking two or more tracks is always better than resizing a prop !
|
||||
|
||||
#### How can I use switchers ? I can't seem to make them work.
|
||||
Every addon has its own way for dealing with the switchers. Others that are not listed here do not
|
||||
have dedicated track switchers, so to switch them you must use two track pieces inside of each other.
|
||||
have dedicated track switchers, so to switch them you must use two track pieces inside each other.
|
||||
Swap their solidness around using the [fading door tool][ref-fade-door],
|
||||
so when one is solid a.k.a `CLOSED` and you can't pass trough it, the other must be no-collided to all `OPENED`. Therefore the
|
||||
wheels of the train will follow only the track that is currently set being solid with fading door `CLOSED` function state:
|
||||
so when one is solid a.k.a. `CLOSED` and you can't pass through it, the other must be no-collided
|
||||
to all `OPENED`. Therefore, the wheels of the train will follow only the track that is currently
|
||||
set being solid with fading door `CLOSED` function state:
|
||||
1. Dedicated [entity][ref-entity] addition like a lever you must press with your `USE` key
|
||||
* [Shinji85's Rails](https://www.youtube.com/watch?v=cHhf83w-YNM)
|
||||
2. Dedicated switcher [entity][ref-entity] class you must press
|
||||
@ -136,40 +150,82 @@ wheels of the train will follow only the track that is currently set being solid
|
||||
* `Battleship's abandoned rails`
|
||||
|
||||
#### How to use the tool control options when building a track ?
|
||||
1. Pressing `ATTACK1` ( Def: Left mouse button )
|
||||
* When you are looking at the world the piece will just be spawned on the map.
|
||||
* When you are looking at one of track piece's pre-defined active points
|
||||
1. Pressing `ATTACK1` ( Def: `Left Mouse Button` )
|
||||
* `CURVE`: Spawns server task to handle segmented curve interpolation on condition:
|
||||
1. The holder piece must be valid database entry.
|
||||
2. Two or more vertices must be present on the curve stack.
|
||||
3. The holder piece must have more than one active points.
|
||||
4. The holder piece start point data must persist in the cache
|
||||
5. The holder piece end point data must persist in the cache
|
||||
6. The holder piece active points distance must be positive
|
||||
7. The holder piece must not be a curving track.
|
||||
8. The holder piece must not be a U-turn track.
|
||||
9. The holder piece must not be a ramp track.
|
||||
* `OVER` : Flips over every entity that is a track present in the flip-over
|
||||
list where for `flip normal` uses trace normal and for `flip origin` trace `OBB`.
|
||||
* When you are looking at the world the piece will be spawned on the map.
|
||||
* When you are looking at one of track piece's predefined active points
|
||||
* Will snap the piece that you're holding to the trace one.
|
||||
* If the traced piece's type is different than the holder piece's type,
|
||||
please check `Ignore track type` check-box.
|
||||
* If the traced piece's type is different from the holder piece's type,
|
||||
please check `Ignore track type` check-box to snap it.
|
||||
* If `Enable advisor` is checked, a coordinate system will appear,
|
||||
marking the origin position on the traced piece
|
||||
marking the origin position on the traced piece visible.
|
||||
* If `Ghosts count` is larger than zero ghosted track pieces will be
|
||||
rendered to assist you with the building.
|
||||
* When you are not looking at one of track piece's pre-defined active points,
|
||||
* Pressing `USE` ( Def: E ) Applies the physical settings/properties on a piece.
|
||||
* If not, you will update the piece's bodygroups/skin.
|
||||
2. Pressing `SPEED` ( Def: `SHIFT` ) + `ATTACK1` ( Def: Left mouse button )
|
||||
* Will stack as many pieces as shown by the slider `Pieces count`.
|
||||
3. Pressing `ATTACK2` ( Def: Right mouse button )
|
||||
* When pointing to the world will open the `Frequent pieces by <PLAYER_NAME_HERE>` frame,
|
||||
* When not looking at trace entity piece predefined active point
|
||||
will update the bodygroup/skin according to `trackassembly_bgskids`.
|
||||
2. Pressing `ATTACK1` ( Def: `Left Mouse Button` ) + `USE` ( Def: `E` )
|
||||
* When not looking at trace entity piece predefined active point
|
||||
will update the trace entity physical settings and constraints ( Based on anchor ).
|
||||
3. Pressing `ATTACK1` ( Def: `Left Mouse Button` ) + `SPEED` ( Def: `SHIFT` )
|
||||
* `SNAP` : Stack pieces according to `trackassembly_stackcnt` ( `Pieces count` ):
|
||||
1. The value in `trackassembly_stackcnt` must be positive.
|
||||
2. The database record of the holder model must have at least two active points.
|
||||
* `OVER` : Flips over every entity that is a track present in the flip-over
|
||||
list where `flip normal` and `flip origin` are extracted from active
|
||||
point. Ray intersection position between the two selected points can be
|
||||
utilized for `flip origin` and the closest active point normal is utilized
|
||||
for `flip normal` when the trace entity model is equal to the holder model.
|
||||
* When you are not looking at one of track piece's predefined active points
|
||||
will flip over the anchor entity relative to the trace normal vector as
|
||||
`flip normal` and trace entity `OBB` center as `flip origin`.
|
||||
4. Pressing `ATTACK2` ( Def: `Right Mouse Button` )
|
||||
* `CURVE`: Inserts a curve node on the stack.
|
||||
* `OVER` : Inserts the trace entity ID to the flip over stack.
|
||||
* When pointing to the world will open the `Frequent pieces by <PLAYER_NAME>` frame,
|
||||
from where you can select your routine pieces to use again in the track building process
|
||||
as well as [searching in the table][ref-search] either by `MODEL`, `TYPE`, `NAME`, `LAST_USED`
|
||||
to obtain the piece you want to continue your track with.
|
||||
5. Pressing `ATTACK2` ( Def: `Right Mouse Button` ) + `USE` ( Def: `E` )
|
||||
* When `trackassembly_enpntmscr` is disabled, you have to press this,
|
||||
for changing the active track points using the old method of selection.
|
||||
6. Pressing `ATTACK2` ( Def: `Right Mouse Button` ) + `SPEED` ( Def: `SHIFT` )
|
||||
* `CURVE`: Updates the hit closest curve node on the stack.
|
||||
* When pointing to a prop will select the trace model to use as a piece for building a track.
|
||||
* **Note: When `trackassembly_enpntmscr` is disabled, you have to press `USE` ( Def: `E` )
|
||||
to run these, otherwise just the active track points will be switched using the old
|
||||
method of selection.**
|
||||
4. Pressing `RELOAD` ( Def: `R` )
|
||||
* When pressing it on the world will clear the tool's selected prop to attach all the
|
||||
track pieces to ( anchor / relation ).
|
||||
* **Note: When `trackassembly_devmode` is enabled, will update the log control options.**
|
||||
* **Note: When `trackassembly_exportdb` is enabled and `USE` ( Def: `E` ) is pressed, the
|
||||
external database manager menu will be opened to confugure database pefixes, otherwise
|
||||
will export the [server database][ref-sv-db] [`sv_`][ref-dsv-dir] as a file
|
||||
in [DSV format][ref-dsv-dir].**
|
||||
* When pressing it on the trace prop will set it as an anchor/relation for other pieces spawned
|
||||
to be constrained to.
|
||||
7. Pressing `ATTACK2` ( Def: `Right Mouse Button` ) + `DUCK` ( Def: `CTRL` )
|
||||
* When `trackassembly_enpntmscr` is disabled, you have to press this,
|
||||
for changing the next active point by using the old method of selection.
|
||||
8. Pressing `ATTACK2` ( Def: `Right Mouse Button` ) + `SPEED` ( Def: `SHIFT` ) + `USE` ( Def: `E` )
|
||||
* `CURVE`: Utilizes the trace entity active point as a curve node.
|
||||
9. Pressing `RELOAD` ( Def: `R` )
|
||||
* When trace entity is a valid piece will just remove it.
|
||||
* When `trackassembly_devmode` is enabled, will update the log control options.
|
||||
10. Pressing `RELOAD` ( Def: `R` ) + `USE` ( Def: `E` )
|
||||
* When pressing on the world and `trackassembly_exportdb` is enabled, the external database
|
||||
manager menu will be opened to configure database prefixes, otherwise will export
|
||||
the [server database][ref-sv-db] [`sv_`][ref-dsv-dir] as a file in [DSV format][ref-dsv-dir].
|
||||
11. Pressing `RELOAD` ( Def: `R` ) + `SPEED` ( Def: `SHIFT` )
|
||||
* When pressing it on the world will clear the tool's selected operational track
|
||||
pieces which are used for various things. Works differently based on the mode selected.
|
||||
* `SNAP` : Clears the `anchor` entity which all new pieces will be automatically constrained to.
|
||||
* `CROSS`: Clears the `relation` ray defined for using active point intersection between two pieces.
|
||||
* `CURVE`: Clears all nodes defined for using the curving algorithm. Otherwise clears the last point on the stack.
|
||||
* `OVER` : Clears the stack variable holder for all the flipped over entity base IDs
|
||||
* When pressing it on the trace prop will set it as the tool's selected operational track
|
||||
* `SNAP` : Selects the trace entity for using it as an anchor.
|
||||
* `CROSS`: Selects the closest trace active point origin to use it as relation ray.
|
||||
* `CURVE`: Clears all nodes defined for using the curving algorithm. Otherwise clears the last point on the stack.
|
||||
* `OVER` : Clears the stack variable holder for all the flipped over entity base IDs
|
||||
|
||||
#### Context menu pieces manipulation
|
||||
The [context menu][ref-ctx-menu]
|
||||
@ -195,66 +251,65 @@ Explanation of each control option is given in the summary below.
|
||||
its motion. The piece stays in the same position until external fore is applied on it.
|
||||
This is good when you want your track bridge to have fake non-welded pieces.
|
||||
If the option is enabled, click it again to disable it or the other way around.
|
||||
7. `Apply piece gravity` option controlls the gravity affecting the selected track piece.
|
||||
7. `Apply piece gravity` option controls the gravity affecting the selected track piece.
|
||||
If the option is enabled, click it again to disable it or the other way around.
|
||||
8. `Weld` option controlls the created welds on a piece. You must select an anchor to weld
|
||||
8. `Weld` option controls the created welds on a piece. You must select an anchor to weld
|
||||
the right clicked piece to, when you are in regular `SNAP` mode displayed on the tool screen.
|
||||
when the anchor is not selected or it is invalid, a message will be displayed to warn you.
|
||||
You can also remove welds by holding `SPEED` ( Def: SHIFT ) and clicking the option.
|
||||
The amount of welds will be displayed next to the optoion control.
|
||||
9. `NoCollide` option controlls the created collides on a piece. You must select an anchor
|
||||
You can also remove welds by holding `SPEED` ( Def: `SHIFT` ) and clicking the option.
|
||||
The amount of welds will be displayed next to the option control.
|
||||
9. `NoCollide` option controls the created collides on a piece. You must select an anchor
|
||||
to nocollide the right clicked piece to, when you are in regular `SNAP` mode displayed on
|
||||
the tool screen. When the anchor is not selected or it is invalid, a message will be displayed
|
||||
to warn you. You can also remove nocollides by holding `SPEED` ( Def: SHIFT ) and clicking
|
||||
the option. The amount of nocollides will be displayed next to the optoion control.
|
||||
9. `NoCollide world` option controlls the created world collides on a piece. The constraint
|
||||
acnchor in this case is the world itself. Click on the option to create no collide world
|
||||
constrant or by holding `SPEED` ( Def: SHIFT ) and click to remove it. The flag of
|
||||
of the constraint will be displayed in the menu control option. The value will be `true`
|
||||
if there is a still a no-collide world and [`phys_ragdollconstraint`][ref-rag-constr] between
|
||||
the piece and the world. If it stays in `true` after you remove it, that means there are more
|
||||
than one constraints remaining connected to the trace.
|
||||
to warn you. You can also remove nocollides by holding `SPEED` ( Def: `SHIFT` ) and clicking
|
||||
the option. The amount of nocollides will be displayed next to the option control.
|
||||
9. `NoCollide world` option controls the created world collides on a piece. The constraint
|
||||
anchor in this case is the world itself. Click on the option to create no collide world
|
||||
constraint or by holding `SPEED` ( Def: `SHIFT` ) and click to remove it. The flag of
|
||||
the constraint will be displayed in the menu control option. The value will be `true`
|
||||
if there is a still a no-collide world and [`phys_ragdollconstraint`][ref-rag-constr]
|
||||
between the piece and the world. If it stays in `true` after you remove it, that means
|
||||
there are more constraints remaining connected to the trace.
|
||||
|
||||
#### How to use the tool control panel and what function does each item have ?
|
||||
1. `Track surface grip modifier` combo box is used if you want to obtain different
|
||||
grip behavior for a wheel-powered/sliding train,
|
||||
you must use the surface material drop-down menu combo boxes as you select first
|
||||
`TYPE` from the top one to setup the group of properties you want to apply then
|
||||
`NAME`, to select the actual surface material you want applied.
|
||||
grip behavior for a wheel-powered/sliding train,
|
||||
you must use the surface material drop-down menu combo boxes as you select first
|
||||
`TYPE` from the top one to chose the group of properties you want to apply and then
|
||||
`NAME`, to select the actual surface material you want applied.
|
||||
2. `Piece bodygroups and skin selection` is used when you want desired bodygroups
|
||||
and/or skins on a piece. The textbox is a display showing the `bodygroup/skin`
|
||||
selection code (ex. `1,2,3,4/5`) generated using the [context menu][ref-ctx-menu].
|
||||
You cannot change the textbox value manually by tiping. Currently `Bodygroup/Skin`
|
||||
(ex. [English](https://en.wikipedia.org/wiki/English_language)) option name will vary
|
||||
based on the language used.
|
||||
When you click it it will populate the text display in the tool menu.
|
||||
and/or skins on a piece. The textbox is a display showing the `Bodygroup/Skin`
|
||||
selection code (ex. `1,2,3,4/5`) generated using the [context menu][ref-ctx-menu].
|
||||
You cannot change the textbox value manually by typing. Currently, `Bodygroup/Skin`
|
||||
(ex. [English](https://en.wikipedia.org/wiki/English_language)) option name will vary
|
||||
based on the language used.
|
||||
When you click if it will populate the text display in the tool menu.
|
||||
3. `Piece mass` setup control slider is used to set the mass of the next track piece to be
|
||||
spawned. The larger the number the havier spawned track piece gets. Larger values are
|
||||
recommended.
|
||||
spawned. The larger the number the heavier spawned track piece gets. Larger values are
|
||||
recommended.
|
||||
4. `Active radius` control slider is used to set the minimum distance needed to select an
|
||||
active point when
|
||||
pointing at a piece. Keep this maxed out if you don't want to bother with track end selection.
|
||||
5. `Stack count` control value shows the maximum number of pieces to be snapped in `stacking` mode.
|
||||
Change this to something larger than one if you want to extend your track by stacking.
|
||||
active point when
|
||||
pointing at a piece. Keep this maxed out if you don't want to bother with track end selection.
|
||||
5. `Stack count` control value shows the maximum number of pieces to be snapped in `Stacking` mode.
|
||||
Change this to something larger than one if you want to extend your track by stacking.
|
||||
6. `Angular alignment` control
|
||||
The slider is used to snap the first piece ( Requested by [Magnum](http://steamcommunity.com/profiles/76561198004847743) )
|
||||
to a user-defined angle ( Usually `45` ) so that the track building process becomes easier. The
|
||||
whole track build will be snapped also because you are building it relative to the first piece.
|
||||
The slider is used to snap the first piece ( Requested by [Magnum](http://steamcommunity.com/profiles/76561198004847743) )
|
||||
to a user-defined angle ( Usually `45` ) so that the track building process becomes easier. The
|
||||
whole track build will be snapped also because you are building it relative to the first piece.
|
||||
7. `Force limit` control ( Requested by `The Arbitor 90` ) defines the maximum force to be applied
|
||||
on the weld joint between two pieces connected before it breaks. You can use this to build collapsible
|
||||
track bridges. Set the option to zero if you want it to be unbreakable ( by default ).
|
||||
8. Options `weld`, `no-collide`, `no-collide world` ( Requested by Frosty ), `freeze`,
|
||||
`phys-gun grab` and `gravity` are considered basic Gmod knowledge, because they are
|
||||
defined by their own and not going to be explained further.
|
||||
9. Option `Ignore track type` if checked, will enable snapping between pieces of a different
|
||||
types.
|
||||
on the weld joint between two pieces connected before it breaks. You can use this to build collapsible
|
||||
track bridges. Set the option to zero if you want it to be unbreakable ( by default ).
|
||||
8. Options `weld`, `no-collide`, `no-collide world` ( Requested by `Frosty` ), `freeze`,
|
||||
`phys-gun grab` and `gravity` are considered basic Gmod knowledge, because they are
|
||||
defined by their own and not going to be explained further.
|
||||
9. Option `Ignore track type` if checked, will enable snapping between pieces of a different type.
|
||||
10. Option `Spawn horizontally` ( as the name suggests ) if checked, will spawn the next
|
||||
pieces horizontally relative to the map ground if the additional angle offsets are zeros.
|
||||
If not they will be added to the resulting angle.
|
||||
pieces horizontally relative to the map ground if the additional angle offsets are zeros,
|
||||
if not, they will be added to the resulting angle.
|
||||
11. Option `Origin from mass-center` if checked, will align the piece spawned to its
|
||||
mass-center.
|
||||
mass-center.
|
||||
12. Option `Snap to trace surface` if checked, will snap the chosen track directly to the
|
||||
trace surface.
|
||||
trace surface.
|
||||
![SurfSnap][ref-surf-snap]
|
||||
|
||||
13. Option `Draw adviser` if checked, will draw a composition of lines and circles to assist you with the building.
|
||||
@ -264,12 +319,12 @@ Explanation of each control option is given in the summary below.
|
||||
![PointAssist][ref-pnt-assist]
|
||||
|
||||
15. Option `Ghosts count` if greater than zero, will create a ghosts stack client-side to assist you with the track
|
||||
building process. If you set this option to zero, ghosting will be disabled.
|
||||
building process. If you set this option to zero, ghosting will be disabled.
|
||||
16. When building a track using a different than the default way is needed you may use:
|
||||
* `Origin <ang_comp>`, where `<ang_comp>` can be either `pitch`, `yaw` or `roll` are the angle
|
||||
offsets used for orientating the base coordinate system in order to snap the piece as the user desires.
|
||||
* `Offset <vec_comp>`, where `<vec_comp>` can be either `X`, `Y` or `Z` are linear offsets used for
|
||||
additional user offset regarding the next track piece to be spawned.
|
||||
* `Origin <ang_comp>`, where `<ang_comp>` can be either `pitch`, `yaw` or `roll` are the angle
|
||||
offsets used for orientating the base coordinate system in order to snap the piece as the user desires.
|
||||
* `Offset <vec_comp>`, where `<vec_comp>` can be either `X`, `Y` or `Z` are linear offsets used for
|
||||
additional user offset regarding the next track piece to be spawned.
|
||||
17. The button `V Reset variables V` as the name suggests clears the offsets mentioned in (16).
|
||||
|
||||
#### What will happen if something gets updated?
|
||||
@ -309,10 +364,12 @@ The ones that are **included** in Garry's mod do not have links and are marked b
|
||||
* [SligWolf's ModelPack](https://steamcommunity.com/sharedfiles/filedetails/?id=147812851) ( Mini hover tracks ) ( White rails )
|
||||
* [Ron's Minitrain Props](https://steamcommunity.com/sharedfiles/filedetails/?id=728833183)
|
||||
* [Battleship's abandoned rails](https://steamcommunity.com/sharedfiles/filedetails/?id=807162936)
|
||||
* [Ron's G-Scale track pack](https://steamcommunity.com/sharedfiles/filedetails/?id=865735701) ( [Maintained by the owner][maintained] )
|
||||
* [Ron's G-Scale track pack](https://steamcommunity.com/sharedfiles/filedetails/?id=865735701) ( [Maintained by the owner][ref-maintained] )
|
||||
* [AlexCookie's 2ft track pack](https://steamcommunity.com/sharedfiles/filedetails/?id=740453553)
|
||||
* [SligWolf's Tiny hover racer](https://steamcommunity.com/sharedfiles/filedetails/?id=1375275167)
|
||||
* [Joe's track pack](https://steamcommunity.com/sharedfiles/filedetails/?id=1658816805)
|
||||
* [StevenTechno's Buildings pack 2.0](https://steamcommunity.com/sharedfiles/filedetails/?id=1888013789)
|
||||
* [Modular canal props](https://steamcommunity.com/sharedfiles/filedetails/?id=1336622735) ( Interior only )
|
||||
|
||||
#### Where are the trains/vehicles[,](ref-easter) are there any of these?
|
||||
Dude seriously, make them yourself, what's the point of playing Gmod then ... xD
|
||||
@ -374,11 +431,11 @@ Not to mention that the stunned people ***will NOT GET ANY updates*** !
|
||||
The best you can do is just point to the [original GIT repository](https://github.com/dvdvideo1234/TrackAssemblyTool)
|
||||
avoiding any version mismatches and confusions. So please don't upload the script to any other sites. ***[I mean it!](https://www.youtube.com/watch?v=b1Om3vX1GlA)***
|
||||
|
||||
[ref-entity]: http://wiki.garrysmod.com/page/Category:Entity
|
||||
[ref-entity]: https://wiki.facepunch.com/gmod/Entity
|
||||
[ref-dbext]: https://github.com/dvdvideo1234/TrackAssemblyTool/wiki/Database-extension
|
||||
[ref-text-file]: https://www.youtube.com/watch?v=Pz0_RGwgfaY
|
||||
[ref-value-exp]: https://www.youtube.com/watch?v=mEEpO3w8BLs
|
||||
[ref-lua-script]: https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/autosave/z_autorun_add_pieces.lua
|
||||
[ref-lua-script]: https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/autosave/z_autorun_%5Btrackassembly%5D.txt
|
||||
[ref-load-list]: https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/trackassembly/trackasmlib_dsv.txt
|
||||
[ref-list-pref]: https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/trackassembly/dsv/Test_s_track_packTRACKASSEMBLY_PIECES.txt
|
||||
[ref-categ]: https://github.com/dvdvideo1234/TrackAssemblyTool/blob/master/data/trackassembly/dsv/Test_s_track_packTRACKASSEMBLY_CATEGORY.txt
|
||||
@ -386,7 +443,7 @@ avoiding any version mismatches and confusions. So please don't upload the scrip
|
||||
[ref-vid-physnap]: https://www.youtube.com/watch?v=BxMlZMMGHrs
|
||||
[ref-usr-offs]: https://www.youtube.com/watch?v=e1IK2zJ_Djk
|
||||
[ref-trans]: https://github.com/dvdvideo1234/TrackAssemblyTool/wiki/Translations
|
||||
[ref-resz-api]: https://wiki.garrysmod.com/page/Entity/PhysicsInitConvex
|
||||
[ref-resz-api]: https://wiki.facepunch.com/gmod/Entity:PhysicsInitConvex
|
||||
[ref-fade-door]: https://steamcommunity.com/sharedfiles/filedetails/?id=115753588
|
||||
[ref-search]: https://github.com/dvdvideo1234/TrackAssemblyTool#hey-there-is-a-text-box-and-a-drop-down-menu-next-to-the-exportdb-button-what-are-these-for-
|
||||
[ref-rag-constr]: https://developer.valvesoftware.com/wiki/Phys_ragdollconstraint
|
||||
@ -400,7 +457,7 @@ avoiding any version mismatches and confusions. So please don't upload the scrip
|
||||
[ref-adviser]:https://raw.githubusercontent.com/dvdvideo1234/TrackAssemblyTool/master/data/pictures/snapadvaiser.jpg
|
||||
[ref-screenshot]: https://raw.githubusercontent.com/dvdvideo1234/TrackAssemblyTool/master/data/pictures/screenshot.jpg
|
||||
[ref-pnt-assist]: https://raw.githubusercontent.com/dvdvideo1234/TrackAssemblyTool/master/data/pictures/pointassist.jpg
|
||||
[ref-ctx-menu]: https://wiki.garrysmod.com/page/The_Context_Menu
|
||||
[ref-ctx-menu]: https://wiki.facepunch.com/gmod/The_Context_Menu
|
||||
[ref-model]: https://developer.valvesoftware.com/wiki/Model
|
||||
[ref-glua]: https://nodecraft.com/support/games/gmod/glua-101-an-introduction-to-garrys-mod-coding
|
||||
[ref-exp2]: https://github.com/wiremod/wire/wiki/Expression-2
|
||||
|
@ -11,11 +11,11 @@ setlocal EnableDelayedExpansion
|
||||
set gmadGitHEAD=
|
||||
set gmadRevPath=%~dp0
|
||||
set gmadNameLOG=gmad_log.txt
|
||||
set gmadCommits=https://github.com/dvdvideo1234/TrackAssemblyTool/commit/
|
||||
set gmadName=TrackAssemblyTool
|
||||
set gmadCommits=https://github.com/dvdvideo1234/%gmadName%/commit/
|
||||
set gmadPathGIT=D:\Git\bin
|
||||
set gmadBinPath=F:\Games\Steam\steamapps\common\GarrysMod\bin
|
||||
set "gmadTime=%date% %time%"
|
||||
set gmadName=TrackAssembly
|
||||
set gmadID=287012681
|
||||
set gmadDirs=(lua)
|
||||
set gmadLogs=
|
||||
@ -35,9 +35,11 @@ echo.
|
||||
|
||||
:: Extract repository source contents
|
||||
|
||||
timeout 3
|
||||
rd /S /Q !gmadRevPath!Workshop
|
||||
del !gmadRevPath!!gmadNameLOG!
|
||||
|
||||
timeout 5
|
||||
|
||||
md %gmadRevPath%Workshop\!gmadName!
|
||||
for %%i in %gmadDirs% do (
|
||||
echo Extracting %%i
|
||||
@ -94,3 +96,8 @@ rd /S /Q !gmadRevPath!Workshop
|
||||
echo !gmadName! Published !
|
||||
echo.
|
||||
timeout 500
|
||||
|
||||
:: Give a chance to copy the logs
|
||||
del !gmadRevPath!!gmadNameLOG!
|
||||
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user