1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
local markers = {
"streets:mark_white_parking",
"streets:mark_yellow_parking",
"streets:mark_white_parking_on_asphalt",
"streets:mark_yellow_parking_on_asphalt",
"streets:micro_white_parking_1",
"streets:panel_white_parking_1",
"streets:micro_white_parking_2",
"streets:panel_white_parking_2",
"streets:micro_white_parking_4",
"streets:panel_white_parking_4",
"streets:micro_white_parking",
"streets:panel_white_parking",
"streets:micro_white_parking_12",
"streets:panel_white_parking_12",
"streets:micro_white_parking_14",
"streets:panel_white_parking_14",
"streets:micro_white_parking_15",
"streets:panel_white_parking_15",
"streets:stair_white_parking_outer",
"streets:stair_white_parking",
"streets:stair_white_parking_inner",
"streets:slab_white_parking_1",
"streets:slab_white_parking_2",
"streets:slab_white_parking_quarter",
"streets:slab_white_parking",
"streets:slab_white_parking_three_quarter",
"streets:slab_white_parking_14",
"streets:slab_white_parking_15",
"streets:slab_white_parking_two_sides",
"streets:slab_white_parking_three_sides",
"streets:slab_white_parking_three_sides_u",
"streets:stair_white_parking_half",
"streets:stair_white_parking_alt_1",
"streets:stair_white_parking_alt_2",
"streets:stair_white_parking_alt_4",
"streets:stair_white_parking_alt",
"streets:slope_white_parking",
"streets:slope_white_parking_half",
"streets:slope_white_parking_half_raised",
"streets:slope_white_parking_inner",
"streets:slope_white_parking_inner_half",
"streets:slope_white_parking_inner_half_raised",
"streets:slope_white_parking_inner_cut",
"streets:slope_white_parking_inner_cut_half",
"streets:slope_white_parking_inner_cut_half_raised",
"streets:slope_white_parking_outer",
"streets:slope_white_parking_outer_half",
"streets:slope_white_parking_outer_half_raised",
"streets:slope_white_parking_outer_cut",
"streets:slope_white_parking_outer_cut_half",
"streets:slope_white_parking_outer_cut_half_raised",
"streets:slope_white_parking_cut",
"streets:micro_yellow_parking_1",
"streets:panel_yellow_parking_1",
"streets:micro_yellow_parking_2",
"streets:panel_yellow_parking_2",
"streets:micro_yellow_parking_4",
"streets:panel_yellow_parking_4",
"streets:micro_yellow_parking",
"streets:panel_yellow_parking",
"streets:micro_yellow_parking_12",
"streets:panel_yellow_parking_12",
"streets:micro_yellow_parking_14",
"streets:panel_yellow_parking_14",
"streets:micro_yellow_parking_15",
"streets:panel_yellow_parking_15",
"streets:stair_yellow_parking_outer",
"streets:stair_yellow_parking",
"streets:stair_yellow_parking_inner",
"streets:slab_yellow_parking_1",
"streets:slab_yellow_parking_2",
"streets:slab_yellow_parking_quarter",
"streets:slab_yellow_parking",
"streets:slab_yellow_parking_three_quarter",
"streets:slab_yellow_parking_14",
"streets:slab_yellow_parking_15",
"streets:slab_yellow_parking_two_sides",
"streets:slab_yellow_parking_three_sides",
"streets:slab_yellow_parking_three_sides_u",
"streets:stair_yellow_parking_half",
"streets:stair_yellow_parking_alt_1",
"streets:stair_yellow_parking_alt_2",
"streets:stair_yellow_parking_alt_4",
"streets:stair_yellow_parking_alt",
"streets:slope_yellow_parking",
"streets:slope_yellow_parking_half",
"streets:slope_yellow_parking_half_raised",
"streets:slope_yellow_parking_inner",
"streets:slope_yellow_parking_inner_half",
"streets:slope_yellow_parking_inner_half_raised",
"streets:slope_yellow_parking_inner_cut",
"streets:slope_yellow_parking_inner_cut_half",
"streets:slope_yellow_parking_inner_cut_half_raised",
"streets:slope_yellow_parking_outer",
"streets:slope_yellow_parking_outer_half",
"streets:slope_yellow_parking_outer_half_raised",
"streets:slope_yellow_parking_outer_cut",
"streets:slope_yellow_parking_outer_cut_half",
"streets:slope_yellow_parking_outer_cut_half_raised",
"streets:slope_yellow_parking_cut",
"extra_street_signs:sign_eu_parking_site",
"extra_street_signs:sign_eu_parking_site_polemount",
"default:steelblock_letter_pu",
}
for _,v in ipairs(markers) do
if core.registered_nodes[v] then
local groups = core.registered_nodes[v].groups or {}
groups.parking = 1
core.override_item(v,{groups=groups})
end
end
for _,mod in ipairs({"vehicle_mash","motorbike","bike","ufos"}) do
for k,v in pairs(core.registered_entities) do
if string.sub(k,1,string.len(mod)) == mod then
local oldactivate = v.on_activate or function() end
v.on_activate = function(self,staticdata,dtime,...)
oldactivate(self,staticdata,dtime,...)
if dtime < 10 then return end
local obj = self.object
local pos = vector.round(obj:get_pos())
local maxradius = tonumber(core.settings:get("cars_despawn.search_radius") or 8) or 8
local parked = core.find_node_near(pos,maxradius,"group:parking",true)
if not parked then obj:remove() end
end
end
end
end
|