Skip to content

Commit 38a2fea

Browse files
committed
feat: add map support for rp_downtown_d3
1 parent 062ea9f commit 38a2fea

File tree

1 file changed

+212
-0
lines changed

1 file changed

+212
-0
lines changed
Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
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

Comments
 (0)