1+
2+ local CONFIG = PIXEL .Karts .Config
3+ local GARAGE_CONFIG = CONFIG .Garage
4+
5+ --[[
6+ PIXEL Karts garage ramp configuration.
7+
8+ Some maps have extremely high kerbs which our poor little
9+ kart can't actually climb. This can become a massive problem
10+ when we want to drive in to the PIXEL Karts garage. The solution
11+ is to make an invisible ramp. You can disable this entirely if
12+ preferred, in favour for your own PermaProps system.
13+ ]]
14+
15+ CONFIG .GarageRamp = {
16+ Enabled = true , -- Set to false to disable spawning the ramp.
17+ Model = " models/hunter/blocks/cube05x3x025.mdl" ,
18+ Position = Vector (- 1127.312500 , - 817.656250 , - 206.187500 ),
19+ Angles = Angle (24.307251 , 179.994507 , 0 )
20+ }
21+
22+ --[[
23+ PIXEL Karts garage door configuration.
24+
25+ This is for creating our own fake door. As the client cannot
26+ control map doors by default, we delete it, make our own
27+ and animate it how we like.
28+ ]]
29+
30+ CONFIG .GarageDoor = {
31+ Model = " models/hunter/plates/plate3x3.mdl" ,
32+ Position = Vector (- 1034.875000 , - 818.687500 , - 125.937500 ),
33+ Angles = Angle (90 , 0 , 180 ),
34+ OpenOffset = Vector (0 , 0 , 118 ), -- The change difference in position when the door is fully opened.
35+ MaterialTexture = " metal/metaldoor061a" , -- The texture that should be applied to our fake door.
36+ MaterialSettings = " center .5 .5 scale .36 .36 rotate 0 translate .642 .95" , -- Overrides the texture transform with our own so we can stretch/scale the material.
37+ MakeCollisions = true , -- Creates a prop for players to collide with when they walk into the garage.
38+ MapDoorID = 3783 -- The map creation ID of the door you want to remove in place for our custom one (optional).
39+ }
40+
41+ --[[
42+ PIXEL Karts garage door mat configuration.
43+
44+ This is the 3D2D door mat that appears on the ground in front of the
45+ garage when nearby. You can change the text and positioning/sizing of
46+ it, or disable it entirely depending on your preference.
47+ ]]
48+
49+ CONFIG .GarageDoorMat = {
50+ Enabled = true , -- Set to false to disable the door mat.
51+ Position = Vector (- 1037 , - 754 , - 195.9 ),
52+ Angles = Angle (0 , - 90 , 0 ),
53+ Width = 1280 ,
54+ Height = 820
55+ }
56+
57+ GARAGE_CONFIG .RadioOrigin = Vector (- 814.031250 , - 882.968750 , - 151.687500 ) -- The point in space where the garage radio can be heard from.
58+
59+ --[[
60+ PIXEL Karts spawn position configuration.
61+
62+ Where the karts are spawned when players leave the garage, and their
63+ rotation.
64+ ]]
65+
66+ GARAGE_CONFIG .SpawnPos = Vector (- 1175.125000 , - 815.625000 , - 160 )
67+ GARAGE_CONFIG .SpawnAngle = Angle (0 , 90 , 0 )
68+
69+ --[[
70+ PIXEL Karts garage entry, inside and leave position configuration.
71+
72+ This is for the box check that runs on the client to see if they
73+ are standing on the garage door mat. The door range check on the
74+ server, the inside position (where players are hidden) of the garage,
75+ and the position and angles the player should be put in when they
76+ leave the garage without a kart.
77+ ]]
78+
79+ GARAGE_CONFIG .EntryBoxPoint1 = Vector (- 1034.979858 , - 752.671753 , - 55.503555 )
80+ GARAGE_CONFIG .EntryBoxPoint2 = Vector (- 1118.906616 , - 882.049927 , - 199.116608 )
81+
82+ GARAGE_CONFIG .EntryRangeCheckPoint = Vector (- 1079.401855 , - 816.696777 , - 175 )
83+ GARAGE_CONFIG .EntryRangeCheckRadius = 120
84+
85+ GARAGE_CONFIG .LeavePosition = Vector (- 1078.805908 , - 597.136536 , - 195 )
86+ GARAGE_CONFIG .LeaveAngles = Angle (0 , 0 , 0 )
87+
88+ GARAGE_CONFIG .InsidePosition = Vector (- 835.976929 , - 816.636292 , 25.031250 )
89+
90+ --[[
91+ PIXEL Karts garage customisation position configuration.
92+
93+ This configures the placement of the kart in the garage,
94+ the camera position and radius of the circle the spray paint
95+ can should follow around the kart when changing colour.
96+ ]]
97+
98+ GARAGE_CONFIG .KartPos = Vector (- 881.531250 , - 790.531250 , - 191.343750 )
99+ GARAGE_CONFIG .KartAngles = Angle (0 , - 90 , 0 )
100+
101+ GARAGE_CONFIG .CameraCircleRadius = 115
102+ GARAGE_CONFIG .CameraOffset = Vector (0 , 0 , 55 ) -- The offset applied to the camera (usually height), from the kart.
103+ GARAGE_CONFIG .CameraAimOffset = Vector (2 , 0 , 12 ) -- The offset from the kart position we should aim the camera at.
104+ GARAGE_CONFIG .CameraRotation = 40 -- The starting rotation of the camera, as if it was in a circle around the kart.
105+
106+ GARAGE_CONFIG .SprayPaintCircleRadius = 50
107+ GARAGE_CONFIG .SprayPaintOffset = Vector (0 , 0 , 25 ) -- The offset from the kart that the spray paint can should be at.
108+
109+ --[[
110+ Placement configuration for props within the PIXEL Karts Garage.
111+
112+ Example prop:
113+ {
114+ Model = "models/props/cs_office/radio.mdl",
115+ Position = Vector(-814.031250, -882.968750, -151.687500),
116+ Angles = Angle(0, 104.529419, 0),
117+ NeedsCss = true --Only tries to spawn the prop when the client has CSS installed, you can omit this line if the prop doesn't need CSS
118+ }
119+
120+ Adding props to this file isn't recommended whatsoever, unless you hate yourself of course.
121+ Instead, use the "pixel_karts_decoration_builder" convar to log the props you spawn and generate
122+ this config for you.
123+
124+ To use this, open your console and type "pixel_karts_decoration_builder 1" and place the props
125+ in where you want them. Once finished, type "pixel_karts_decoration_builder 0" in to
126+ your console. This will print out a prop config you can paste into this file, note that the "NeedsCss"
127+ key doesn't get added automatically, so you will have to find the CSS props in the output and add the key
128+ yourself.
129+ If you want to add props individually without the builder, you can use the "pixel_karts_print_target"
130+ command. To use it, place a prop where you prefer it to be, look at it and run the command. It will
131+ print a prop config table for you to use in this file.
132+
133+ The Garage Props system is entirely optional, but recommended for performance benefits, you can
134+ simply empty the GarageProps table or delete it entirely to use your own system (PermaProps for example).
135+ ]]
136+
137+ CONFIG .GarageProps = {
138+ {
139+ Model = " models/mark2580/gtav/garage_stuff/bench_vice_01a.mdl" ,
140+ Position = Vector (- 928.718750 , - 865.968750 , - 144.812500 ),
141+ Angles = Angle (- 0.609741 , 90.005493 , 0.076904 )
142+ },
143+ {
144+ Model = " models/mark2580/gtav/garage_stuff/car_battery_01.mdl" ,
145+ Position = Vector (- 962.687500 , - 862.937500 , - 189.843750 ),
146+ Angles = Angle (0 , 136.527100 , 0.362549 )
147+ },
148+ {
149+ Model = " models/mark2580/gtav/garage_stuff/cable02.mdl" ,
150+ Position = Vector (- 782.843750 , - 873.968750 , - 151.875000 ),
151+ Angles = Angle (- 0.269165 , - 34.656372 , 179.807739 )
152+ },
153+ {
154+ Model = " models/mark2580/gtav/garage_stuff/compressor_02.mdl" ,
155+ Position = Vector (- 782.343750 , - 874.125000 , - 195.500000 ),
156+ Angles = Angle (0.307617 , 90.005493 , - 0.115356 )
157+ },
158+ {
159+ Model = " models/mark2580/gtav/garage_stuff/drill_01a.mdl" ,
160+ Position = Vector (- 875.125000 , - 875.781250 , - 144 ),
161+ Angles = Angle (- 0.390015 , 145.920410 , - 0.258179 )
162+ },
163+ {
164+ Model = " models/mark2580/gtav/garage_stuff/engine_hoist_02a.mdl" ,
165+ Position = Vector (- 966.656250 , - 642.250000 , - 195.593750 ),
166+ Angles = Angle (0.082397 , - 11.821289 , - 0.065918 )
167+ },
168+ {
169+ Model = " models/mark2580/gtav/garage_stuff/grinder.mdl" ,
170+ Position = Vector (- 904.812500 , - 873 , - 148.781250 ),
171+ Angles = Angle (- 41.028442 , - 30.668335 , - 179.604492 )
172+ },
173+ {
174+ Model = " models/mark2580/gtav/garage_stuff/ladder.mdl" ,
175+ Position = Vector (- 993.375000 , - 883.468750 , - 158.781250 ),
176+ Angles = Angle (14.749146 , - 91.411743 , 0.076904 )
177+ },
178+ {
179+ Model = " models/mark2580/gtav/garage_stuff/lubcan.mdl" ,
180+ Position = Vector (- 822.531250 , - 877.750000 , - 148.281250 ),
181+ Angles = Angle (0.845947 , - 161.218872 , - 1.340332 )
182+ },
183+ {
184+ Model = " models/mark2580/gtav/garage_stuff/sacktruck_01.mdl" ,
185+ Position = Vector (- 1006.093750 , - 705.062500 , - 195.406250 ),
186+ Angles = Angle (- 0.071411 , 29.333496 , - 0.065918 )
187+ },
188+ {
189+ Model = " models/mark2580/gtav/garage_stuff/span_02.mdl" ,
190+ Position = Vector (- 852.062500 , - 875.625000 , - 151.062500 ),
191+ Angles = Angle (- 0.269165 , 48.273926 , - 0.087891 )
192+ },
193+ {
194+ Model = " models/mark2580/gtav/garage_stuff/tool_draw_01d.mdl" ,
195+ Position = Vector (- 874.625000 , - 873.250000 , - 184.437500 ),
196+ Angles = Angle (- 0.521851 , 89.983521 , 0 )
197+ },
198+ {
199+ Model = " models/mark2580/gtav/garage_stuff/tape_01.mdl" ,
200+ Position = Vector (- 834.062500 , - 873.687500 , - 149.906250 ),
201+ Angles = Angle (0.098877 , 26.455078 , 0.911865 )
202+ },
203+ {
204+ Model = " models/props/cs_office/radio.mdl" ,
205+ Position = Vector (- 814.031250 , - 882.968750 , - 151.687500 ),
206+ Angles = Angle (0 , 104.529419 , 0 ),
207+ NeedsCss = true
208+ }
209+ }
210+
211+ -- Ignore anything below this.
212+ CONFIG = nil
0 commit comments