SHOW:
|
|
- or go back to the newest paste.
1 | #include <a_samp> | |
2 | ||
3 | // #DEFINES | |
4 | #define FUEL_SYSTEM | |
5 | ||
6 | #define DRAW_HEALTH (13) | |
7 | #define DRAW_ENGINE (14) | |
8 | #define DRAW_LIGHTS (15) | |
9 | #define DRAW_DOORS (16) | |
10 | #define DRAW_ALARM (17) | |
11 | ||
12 | #define DRAW_NAME (0) | |
13 | #define DRAW_SPEED (1) | |
14 | #define DRAW_FUEL (2) | |
15 | ||
16 | // #VARIABLES | |
17 | new Float:v_health; | |
18 | new engine, lights, alarm, doors, bonnet, boot, objective; | |
19 | ||
20 | new PlayerText:pS_Textdraw[MAX_PLAYERS][3]; | |
21 | new pS_Timer[MAX_PLAYERS]; | |
22 | new Text:gS_Textdraw[18]; | |
23 | ||
24 | #if defined FUEL_SYSTEM | |
25 | new v_Fuel[MAX_VEHICLES]; | |
26 | new Float:v_Pos[MAX_VEHICLES][3]; | |
27 | new Float:v_Dis[MAX_VEHICLES]; | |
28 | #endif | |
29 | ||
30 | new g_VehicleNames[][] = { | |
31 | "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", | |
32 | "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", | |
33 | "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", | |
34 | "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", | |
35 | "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", | |
36 | "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow", | |
37 | "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito", | |
38 | "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", | |
39 | "Sandking", "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", | |
40 | "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", | |
41 | "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune", | |
42 | "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", | |
43 | "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck LA", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", | |
44 | "Utility", "Nevada", "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", | |
45 | "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", | |
46 | "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog", | |
47 | "Club", "Freight Carriage", "Trailer 4", "Andromeda", "Dodo", "RC Cam", "Launch", "Police Car", "Police Car", | |
48 | "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A", | |
49 | "Luggage Trailer B", "Stairs", "Boxville", "Tiller", "Utility Trailer" | |
50 | }; | |
51 | ||
52 | new g_NoSpeed[] = { | |
53 | - | 417, 425, 447, 460, 469, 476, 487, 488, 497, 511, 512, 513, 519, 520, 548, |
53 | + | 417, 425, 447, 460, 469, 476, 487, 488, 497, 511, 512, 513, 519, 520, 548, |
54 | 553, 563, 577, 592, 593, 435, 450, 569, 570, 584, 590, 591, 606, 607, 608, | |
55 | 610, 611, 430, 446, 452, 453, 454, 472, 473, 484, 493, 581, 522, 461, 521, | |
56 | 523, 463, 468, 471, 586, 441, 464, 465, 501, 564, 594, 509, 481, 510, 448, | |
57 | 462 | |
58 | }; | |
59 | ||
60 | // #FORWARDS | |
61 | forward OnPlayerDriveVehicle(playerid, vehicleid); | |
62 | ||
63 | // #FUNCTIONS | |
64 | Float:health_line(vehicleid) { | |
65 | GetVehicleHealth(vehicleid, v_health); | |
66 | if(v_health > 1000.0) v_health = 1000.0; | |
67 | else if(v_health < 0.0) v_health = 0.0; | |
68 | return (v_health * 0.07); | |
69 | } | |
70 | ||
71 | PlayerText:create_speed_text(playerid, Float:x, Float:y, Float:tx, Float:ty, text[]) { | |
72 | new PlayerText:text_id = CreatePlayerTextDraw(playerid, x, y, text); | |
73 | PlayerTextDrawLetterSize(playerid, text_id, tx, ty); | |
74 | PlayerTextDrawSetOutline(playerid, text_id, 0); | |
75 | - | PlayerTextDrawAlignment(playerid, text_id, 2); |
75 | + | PlayerTextDrawAlignment(playerid, text_id, 2); |
76 | - | PlayerTextDrawSetShadow(playerid, text_id, 0); |
76 | + | PlayerTextDrawSetShadow(playerid, text_id, 0); |
77 | PlayerTextDrawColor(playerid, text_id, (-1)); | |
78 | PlayerTextDrawFont(playerid, text_id, 2); | |
79 | PlayerTextDrawShow(playerid, text_id); | |
80 | return text_id; | |
81 | } | |
82 | ||
83 | destroy_speed(playerid) { | |
84 | if(pS_Timer[playerid] == (-1)) { | |
85 | - | return 0; |
85 | + | return 0; |
86 | } | |
87 | ||
88 | - | for( new i = 0; i < sizeof(pS_Textdraw[]); i ++ ) { |
88 | + | |
89 | - | PlayerTextDrawDestroy(playerid, pS_Textdraw[playerid][i]); |
89 | + | PlayerTextDrawDestroy(playerid, pS_Textdraw[playerid][i]); |
90 | - | pS_Textdraw[playerid][i] = PlayerText:(-1); |
90 | + | pS_Textdraw[playerid][i] = PlayerText:(-1); |
91 | } | |
92 | ||
93 | for( new i = 0; i < sizeof(gS_Textdraw); i ++ ) { | |
94 | - | TextDrawHideForPlayer(playerid, gS_Textdraw[i]); |
94 | + | TextDrawHideForPlayer(playerid, gS_Textdraw[i]); |
95 | } | |
96 | ||
97 | KillTimer(pS_Timer[playerid]); | |
98 | pS_Timer[playerid] = (-1); | |
99 | return 1; | |
100 | } | |
101 | ||
102 | // #CALLBACKS | |
103 | public OnFilterScriptInit() { | |
104 | gS_Textdraw[0] = TextDrawCreate(470.000000, 411.000000, "~n~"); | |
105 | TextDrawLetterSize(gS_Textdraw[0], 0.500000, 3.099998); | |
106 | TextDrawUseBox(gS_Textdraw[0], 1); | |
107 | TextDrawBoxColor(gS_Textdraw[0], 85); | |
108 | TextDrawTextSize(gS_Textdraw[0], 630.000000, 0.000000); | |
109 | ||
110 | gS_Textdraw[1] = TextDrawCreate(470.000000, 411.000000, "~n~"); | |
111 | TextDrawLetterSize(gS_Textdraw[1], 0.000000, -0.349999); | |
112 | TextDrawUseBox(gS_Textdraw[1], 1); | |
113 | TextDrawBoxColor(gS_Textdraw[1], 1182971050); | |
114 | TextDrawTextSize(gS_Textdraw[1], 630.000000, 0.000000); | |
115 | ||
116 | gS_Textdraw[2] = TextDrawCreate(470.000000, 442.000000, "~n~"); | |
117 | TextDrawLetterSize(gS_Textdraw[2], 0.000000, -0.349999); | |
118 | TextDrawUseBox(gS_Textdraw[2], 1); | |
119 | TextDrawBoxColor(gS_Textdraw[2], 1182971050); | |
120 | TextDrawTextSize(gS_Textdraw[2], 630.000000, 0.000000); | |
121 | ||
122 | gS_Textdraw[3] = TextDrawCreate(470.000000, 411.000000, "~n~"); | |
123 | TextDrawLetterSize(gS_Textdraw[3], 0.000000, 3.049998); | |
124 | TextDrawUseBox(gS_Textdraw[3], 1); | |
125 | TextDrawBoxColor(gS_Textdraw[3], 1182971050); | |
126 | TextDrawTextSize(gS_Textdraw[3], 466.500000, 0.000000); | |
127 | ||
128 | gS_Textdraw[4] = TextDrawCreate(633.500000, 411.000000, "~n~"); | |
129 | TextDrawLetterSize(gS_Textdraw[4], 0.000000, 3.049998); | |
130 | TextDrawUseBox(gS_Textdraw[4], 1); | |
131 | TextDrawBoxColor(gS_Textdraw[4], 1182971050); | |
132 | TextDrawTextSize(gS_Textdraw[4], 630.000000, 0.000000); | |
133 | ||
134 | gS_Textdraw[5] = TextDrawCreate(470.000000, 422.000000, "~n~"); | |
135 | TextDrawLetterSize(gS_Textdraw[5], 0.000000, -0.349999); | |
136 | TextDrawUseBox(gS_Textdraw[5], 1); | |
137 | TextDrawBoxColor(gS_Textdraw[5], 1182971050); | |
138 | TextDrawTextSize(gS_Textdraw[5], 630.000000, 0.000000); | |
139 | ||
140 | gS_Textdraw[6] = TextDrawCreate(471.000000, 412.000000, "~n~"); | |
141 | TextDrawLetterSize(gS_Textdraw[6], 0.000000, 0.649999); | |
142 | TextDrawUseBox(gS_Textdraw[6], 1); | |
143 | TextDrawBoxColor(gS_Textdraw[6], -205); | |
144 | TextDrawTextSize(gS_Textdraw[6], 629.000000, 0.000000); | |
145 | ||
146 | gS_Textdraw[7] = TextDrawCreate(562.000000, 413.000000, "~n~"); | |
147 | TextDrawLetterSize(gS_Textdraw[7], 0.000000, 0.449999); | |
148 | TextDrawUseBox(gS_Textdraw[7], 1); | |
149 | TextDrawBoxColor(gS_Textdraw[7], 85); | |
150 | TextDrawTextSize(gS_Textdraw[7], 628.000000, 0.000000); | |
151 | ||
152 | gS_Textdraw[8] = TextDrawCreate(560.000000, 413.000000, "~n~"); | |
153 | TextDrawLetterSize(gS_Textdraw[8], 0.000000, 0.449999); | |
154 | TextDrawSetShadow(gS_Textdraw[8], 1); | |
155 | TextDrawUseBox(gS_Textdraw[8], 1); | |
156 | TextDrawBoxColor(gS_Textdraw[8], 170); | |
157 | TextDrawTextSize(gS_Textdraw[8], 556.500000, 0.000000); | |
158 | ||
159 | gS_Textdraw[9] = TextDrawCreate(502.000000, 431.000000, "KM/H"); | |
160 | TextDrawAlignment(gS_Textdraw[9], 2); | |
161 | TextDrawBackgroundColor(gS_Textdraw[9], 255); | |
162 | TextDrawFont(gS_Textdraw[9], 2); | |
163 | TextDrawLetterSize(gS_Textdraw[9], 0.150000, 0.699999); | |
164 | TextDrawColor(gS_Textdraw[9], 170); | |
165 | TextDrawSetOutline(gS_Textdraw[9], 0); | |
166 | TextDrawSetProportional(gS_Textdraw[9], 1); | |
167 | TextDrawSetShadow(gS_Textdraw[9], 0); | |
168 | ||
169 | gS_Textdraw[10] = TextDrawCreate(517.000000, 421.000000, "/"); | |
170 | TextDrawAlignment(gS_Textdraw[10], 2); | |
171 | TextDrawBackgroundColor(gS_Textdraw[10], 255); | |
172 | TextDrawFont(gS_Textdraw[10], 2); | |
173 | TextDrawLetterSize(gS_Textdraw[10], 0.290000, 1.300000); | |
174 | TextDrawColor(gS_Textdraw[10], -86); | |
175 | TextDrawSetOutline(gS_Textdraw[10], 0); | |
176 | TextDrawSetProportional(gS_Textdraw[10], 1); | |
177 | TextDrawSetShadow(gS_Textdraw[10], 0); | |
178 | ||
179 | gS_Textdraw[11] = TextDrawCreate(532.000000, 431.000000, "liters"); | |
180 | TextDrawAlignment(gS_Textdraw[11], 2); | |
181 | TextDrawBackgroundColor(gS_Textdraw[11], 255); | |
182 | TextDrawFont(gS_Textdraw[11], 2); | |
183 | TextDrawLetterSize(gS_Textdraw[11], 0.150000, 0.699999); | |
184 | TextDrawColor(gS_Textdraw[11], 170); | |
185 | TextDrawSetOutline(gS_Textdraw[11], 0); | |
186 | TextDrawSetProportional(gS_Textdraw[11], 1); | |
187 | TextDrawSetShadow(gS_Textdraw[11], 0); | |
188 | ||
189 | gS_Textdraw[12] = TextDrawCreate(570.000000, 425.000000, "~n~"); | |
190 | TextDrawBackgroundColor(gS_Textdraw[12], 255); | |
191 | TextDrawFont(gS_Textdraw[12], 1); | |
192 | TextDrawLetterSize(gS_Textdraw[12], 0.000000, 1.150000); | |
193 | TextDrawColor(gS_Textdraw[12], -1); | |
194 | TextDrawSetOutline(gS_Textdraw[12], 0); | |
195 | TextDrawSetProportional(gS_Textdraw[12], 1); | |
196 | TextDrawSetShadow(gS_Textdraw[12], 1); | |
197 | TextDrawUseBox(gS_Textdraw[12], 1); | |
198 | TextDrawBoxColor(gS_Textdraw[12], -13434846); | |
199 | TextDrawTextSize(gS_Textdraw[12], 566.500000, 0.000000); | |
200 | ||
201 | // #INFO TEXTS | |
202 | gS_Textdraw[DRAW_HEALTH] = TextDrawCreate(562.000000, 413.000000, "~n~"); | |
203 | TextDrawLetterSize(gS_Textdraw[DRAW_HEALTH], 0.000000, 0.449999); | |
204 | TextDrawUseBox(gS_Textdraw[DRAW_HEALTH], 1); | |
205 | TextDrawBoxColor(gS_Textdraw[DRAW_HEALTH], -1879048107); | |
206 | TextDrawTextSize(gS_Textdraw[DRAW_HEALTH], 598.000000, 0.000000); | |
207 | ||
208 | gS_Textdraw[DRAW_ENGINE] = TextDrawCreate(628.000000, 422.000000, "Engine"); | |
209 | TextDrawAlignment(gS_Textdraw[DRAW_ENGINE], 3); | |
210 | TextDrawBackgroundColor(gS_Textdraw[DRAW_ENGINE], 255); | |
211 | TextDrawFont(gS_Textdraw[DRAW_ENGINE], 2); | |
212 | TextDrawLetterSize(gS_Textdraw[DRAW_ENGINE], 0.200000, 0.899999); | |
213 | TextDrawColor(gS_Textdraw[DRAW_ENGINE], -1); | |
214 | TextDrawSetOutline(gS_Textdraw[DRAW_ENGINE], 0); | |
215 | TextDrawSetProportional(gS_Textdraw[DRAW_ENGINE], 1); | |
216 | TextDrawSetShadow(gS_Textdraw[DRAW_ENGINE], 0); | |
217 | ||
218 | gS_Textdraw[DRAW_LIGHTS] = TextDrawCreate(628.000000, 429.000000, "Lights"); | |
219 | TextDrawAlignment(gS_Textdraw[DRAW_LIGHTS], 3); | |
220 | TextDrawBackgroundColor(gS_Textdraw[DRAW_LIGHTS], 255); | |
221 | TextDrawFont(gS_Textdraw[DRAW_LIGHTS], 2); | |
222 | TextDrawLetterSize(gS_Textdraw[DRAW_LIGHTS], 0.200000, 0.899999); | |
223 | TextDrawColor(gS_Textdraw[DRAW_LIGHTS], 85); | |
224 | TextDrawSetOutline(gS_Textdraw[DRAW_LIGHTS], 0); | |
225 | TextDrawSetProportional(gS_Textdraw[DRAW_LIGHTS], 1); | |
226 | TextDrawSetShadow(gS_Textdraw[DRAW_LIGHTS], 0); | |
227 | ||
228 | gS_Textdraw[DRAW_DOORS] = TextDrawCreate(598.000000, 422.000000, "Doors"); | |
229 | TextDrawAlignment(gS_Textdraw[DRAW_DOORS], 3); | |
230 | TextDrawBackgroundColor(gS_Textdraw[DRAW_DOORS], 255); | |
231 | TextDrawFont(gS_Textdraw[DRAW_DOORS], 2); | |
232 | TextDrawLetterSize(gS_Textdraw[DRAW_DOORS], 0.200000, 0.899999); | |
233 | TextDrawColor(gS_Textdraw[DRAW_DOORS], 85); | |
234 | TextDrawSetOutline(gS_Textdraw[DRAW_DOORS], 0); | |
235 | TextDrawSetProportional(gS_Textdraw[DRAW_DOORS], 1); | |
236 | TextDrawSetShadow(gS_Textdraw[DRAW_DOORS], 0); | |
237 | ||
238 | gS_Textdraw[DRAW_ALARM] = TextDrawCreate(598.000000, 429.000000, "Alarm"); | |
239 | TextDrawAlignment(gS_Textdraw[DRAW_ALARM], 3); | |
240 | TextDrawBackgroundColor(gS_Textdraw[DRAW_ALARM], 255); | |
241 | TextDrawFont(gS_Textdraw[DRAW_ALARM], 2); | |
242 | TextDrawLetterSize(gS_Textdraw[DRAW_ALARM], 0.196999, 0.899999); | |
243 | TextDrawColor(gS_Textdraw[DRAW_ALARM], 85); | |
244 | TextDrawSetOutline(gS_Textdraw[DRAW_ALARM], 0); | |
245 | TextDrawSetProportional(gS_Textdraw[DRAW_ALARM], 1); | |
246 | TextDrawSetShadow(gS_Textdraw[DRAW_ALARM], 0); | |
247 | ||
248 | #if defined FUEL_SYSTEM | |
249 | for( new i = 0; i < MAX_VEHICLES; i ++ ) { | |
250 | - | v_Fuel[i] = 100; |
250 | + | v_Fuel[i] = 100; |
251 | } | |
252 | #endif | |
253 | ||
254 | ManualVehicleEngineAndLights(); | |
255 | return 1; | |
256 | } | |
257 | ||
258 | public OnFilterScriptExit() { | |
259 | - | for( new i = 0, s = GetPlayerPoolSize() + 1; i < s; i ++ ) { |
259 | + | for( new i = 0, s = GetPlayerPoolSize() + 1; i < s; i ++ ) { |
260 | - | destroy_speed(i); |
260 | + | destroy_speed(i); |
261 | } | |
262 | ||
263 | for( new i = 0; i < sizeof(gS_Textdraw); i ++ ) { | |
264 | - | TextDrawDestroy(gS_Textdraw[i]); |
264 | + | TextDrawDestroy(gS_Textdraw[i]); |
265 | } | |
266 | return 1; | |
267 | } | |
268 | ||
269 | public OnPlayerConnect(playerid) { | |
270 | for( new i = 0; i < sizeof(pS_Textdraw[]); i ++ ) { | |
271 | - | pS_Textdraw[playerid][i] = PlayerText:(-1); |
271 | + | pS_Textdraw[playerid][i] = PlayerText:(-1); |
272 | - | } |
272 | + | |
273 | - | |
273 | + | |
274 | - | pS_Timer[playerid] = (-1); |
274 | + | |
275 | return 1; | |
276 | } | |
277 | ||
278 | public OnPlayerDisconnect(playerid, reason) { | |
279 | - | destroy_speed(playerid); |
279 | + | |
280 | return 1; | |
281 | } | |
282 | ||
283 | public OnPlayerExitVehicle(playerid, vehicleid) { | |
284 | destroy_speed(playerid); | |
285 | return 1; | |
286 | } | |
287 | ||
288 | public OnPlayerStateChange(playerid, newstate, oldstate) { | |
289 | if(oldstate == PLAYER_STATE_DRIVER) { | |
290 | - | destroy_speed(playerid); |
290 | + | destroy_speed(playerid); |
291 | } | |
292 | ||
293 | if(newstate == PLAYER_STATE_DRIVER) { | |
294 | - | new vehicleid = GetPlayerVehicleID(playerid); |
294 | + | new vehicleid = GetPlayerVehicleID(playerid); |
295 | - | new vehicle_model = GetVehicleModel(vehicleid); |
295 | + | new vehicle_model = GetVehicleModel(vehicleid); |
296 | - | |
296 | + | |
297 | - | for( new i = 0; i < sizeof(g_NoSpeed); i ++ ) { |
297 | + | for( new i = 0; i < sizeof(g_NoSpeed); i ++ ) { |
298 | - | if(vehicle_model != g_NoSpeed[i]) continue; |
298 | + | if(vehicle_model != g_NoSpeed[i]) continue; |
299 | - | return 1; |
299 | + | return 1; |
300 | } | |
301 | ||
302 | - | v_health = health_line(vehicleid); |
302 | + | v_health = health_line(vehicleid); |
303 | - | GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); |
303 | + | GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); |
304 | ||
305 | - | TextDrawTextSize(gS_Textdraw[DRAW_HEALTH], 558.0 + v_health, 0.0000); |
305 | + | TextDrawTextSize(gS_Textdraw[DRAW_HEALTH], 558.0 + v_health, 0.0000); |
306 | TextDrawColor(gS_Textdraw[DRAW_ENGINE], (engine == 1) ? (-1) : 0x55); | |
307 | TextDrawColor(gS_Textdraw[DRAW_LIGHTS], (lights == 1) ? (-1) : 0x55); | |
308 | TextDrawColor(gS_Textdraw[DRAW_DOORS], (doors == 1) ? (-1) : 0x55); | |
309 | TextDrawColor(gS_Textdraw[DRAW_ALARM], (alarm == 1) ? (-1) : 0x55); | |
310 | ||
311 | - | for( new i = 0; i < sizeof(gS_Textdraw); i ++ ) { |
311 | + | for( new i = 0; i < sizeof(gS_Textdraw); i ++ ) { |
312 | - | TextDrawShowForPlayer(playerid, gS_Textdraw[i]); |
312 | + | TextDrawShowForPlayer(playerid, gS_Textdraw[i]); |
313 | } | |
314 | ||
315 | - | pS_Textdraw[playerid][DRAW_NAME] = create_speed_text(playerid, 513.0, 410.0, 0.22, 1.0, g_VehicleNames[vehicle_model - 400]); |
315 | + | pS_Textdraw[playerid][DRAW_NAME] = create_speed_text(playerid, 513.0, 410.0, 0.22, 1.0, g_VehicleNames[vehicle_model - 400]); |
316 | - | pS_Textdraw[playerid][DRAW_SPEED] = create_speed_text(playerid, 502.0, 421.0, 0.29, 1.3, "0"); |
316 | + | pS_Textdraw[playerid][DRAW_SPEED] = create_speed_text(playerid, 502.0, 421.0, 0.29, 1.3, "0"); |
317 | - | |
317 | + | |
318 | - | #if defined FUEL_SYSTEM |
318 | + | #if defined FUEL_SYSTEM |
319 | - | new string[12]; |
319 | + | new string[12]; |
320 | - | valstr(string, v_Fuel[vehicleid]); |
320 | + | valstr(string, v_Fuel[vehicleid]); |
321 | pS_Textdraw[playerid][DRAW_FUEL] = create_speed_text(playerid, 532.0, 421.0, 0.29, 1.3, string); | |
322 | ||
323 | GetVehiclePos(vehicleid, v_Pos[vehicleid][0], v_Pos[vehicleid][1], v_Pos[vehicleid][2]); | |
324 | #else | |
325 | pS_Textdraw[playerid][DRAW_FUEL] = create_speed_text(playerid, 532.0, 421.0, 0.29, 1.3, "-"); | |
326 | #endif | |
327 | ||
328 | pS_Timer[playerid] = SetTimerEx("OnPlayerDriveVehicle", 100, 0, "ii", playerid, vehicleid); | |
329 | } | |
330 | return 1; | |
331 | } | |
332 | ||
333 | public OnPlayerCommandText(playerid, cmdtext[]) { | |
334 | if(strcmp(cmdtext, "/vehicle", false) == 0) { | |
335 | - | new Float:x, Float:y, Float:z; |
335 | + | new Float:x, Float:y, Float:z; |
336 | - | GetPlayerPos(playerid, x, y, z); |
336 | + | GetPlayerPos(playerid, x, y, z); |
337 | - | new vehicleid = CreateVehicle(411, x, y, z, 0.0, -1, -1, -1); |
337 | + | new vehicleid = CreateVehicle(411, x, y, z, 0.0, -1, -1, -1); |
338 | - | PutPlayerInVehicle(playerid, vehicleid, 0); |
338 | + | PutPlayerInVehicle(playerid, vehicleid, 0); |
339 | - | return 1; |
339 | + | return 1; |
340 | } else { | |
341 | - | new vehicleid = GetPlayerVehicleID(playerid); |
341 | + | new vehicleid = GetPlayerVehicleID(playerid); |
342 | - | GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); |
342 | + | GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); |
343 | if(strcmp(cmdtext, "/engine", false) == 0) { | |
344 | - | SetVehicleParamsEx(vehicleid, !(engine == 1), -1, -1, -1, -1, -1, -1); |
344 | + | SetVehicleParamsEx(vehicleid, !(engine == 1), -1, -1, -1, -1, -1, -1); |
345 | - | return 1; |
345 | + | return 1; |
346 | - | } else if(strcmp(cmdtext, "/lights", false) == 0) { |
346 | + | } else if(strcmp(cmdtext, "/lights", false) == 0) { |
347 | - | SetVehicleParamsEx(vehicleid, -1, !(lights == 1), -1, -1, -1, -1, -1); |
347 | + | SetVehicleParamsEx(vehicleid, -1, !(lights == 1), -1, -1, -1, -1, -1); |
348 | - | return 1; |
348 | + | return 1; |
349 | - | } else if(strcmp(cmdtext, "/alarm", false) == 0) { |
349 | + | } else if(strcmp(cmdtext, "/alarm", false) == 0) { |
350 | - | SetVehicleParamsEx(vehicleid, -1, -1, !(alarm == 1), -1, -1, -1, -1); |
350 | + | SetVehicleParamsEx(vehicleid, -1, -1, !(alarm == 1), -1, -1, -1, -1); |
351 | - | return 1; |
351 | + | return 1; |
352 | - | } else if(strcmp(cmdtext, "/doors", false) == 0) { |
352 | + | } else if(strcmp(cmdtext, "/doors", false) == 0) { |
353 | - | SetVehicleParamsEx(vehicleid, -1, -1, -1, !(doors == 1), -1, -1, -1); |
353 | + | SetVehicleParamsEx(vehicleid, -1, -1, -1, !(doors == 1), -1, -1, -1); |
354 | - | return 1; |
354 | + | return 1; |
355 | - | } else if(strcmp(cmdtext, "/fixveh", false) == 0) { |
355 | + | } else if(strcmp(cmdtext, "/fixveh", false) == 0) { |
356 | - | RepairVehicle(vehicleid); |
356 | + | RepairVehicle(vehicleid); |
357 | - | return 1; |
357 | + | return 1; |
358 | - | } |
358 | + | |
359 | ||
360 | - | #if defined FUEL_SYSTEM |
360 | + | #if defined FUEL_SYSTEM |
361 | else if(strcmp(cmdtext, "/fuel", false) == 0) { | |
362 | - | v_Fuel[vehicleid] = 100; |
362 | + | v_Fuel[vehicleid] = 100; |
363 | - | return 1; |
363 | + | return 1; |
364 | - | } |
364 | + | |
365 | - | #endif |
365 | + | |
366 | } | |
367 | return 0; | |
368 | } | |
369 | ||
370 | public OnPlayerDriveVehicle(playerid, vehicleid) { | |
371 | new string[12]; | |
372 | ||
373 | - | v_health = health_line(vehicleid); |
373 | + | v_health = health_line(vehicleid); |
374 | - | GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); |
374 | + | GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); |
375 | ||
376 | TextDrawTextSize(gS_Textdraw[DRAW_HEALTH], 558.0 + v_health, 0.0000); | |
377 | TextDrawColor(gS_Textdraw[DRAW_ENGINE], (engine == 1) ? (-1) : 0x55); | |
378 | TextDrawColor(gS_Textdraw[DRAW_LIGHTS], (lights == 1) ? (-1) : 0x55); | |
379 | TextDrawColor(gS_Textdraw[DRAW_DOORS], (doors == 1) ? (-1) : 0x55); | |
380 | TextDrawColor(gS_Textdraw[DRAW_ALARM], (alarm == 1) ? (-1) : 0x55); | |
381 | ||
382 | for( new i = DRAW_HEALTH; i <= DRAW_ALARM; i ++ ) { | |
383 | - | TextDrawShowForPlayer(playerid, gS_Textdraw[i]); |
383 | + | TextDrawShowForPlayer(playerid, gS_Textdraw[i]); |
384 | } | |
385 | ||
386 | new Float:x, Float:y, Float:z; | |
387 | GetVehicleVelocity(vehicleid, x, y, z); | |
388 | valstr(string, floatround(VectorSize(x, y, z) * 180.0)); | |
389 | PlayerTextDrawSetString(playerid, pS_Textdraw[playerid][DRAW_SPEED], string); | |
390 | PlayerTextDrawShow(playerid, pS_Textdraw[playerid][DRAW_SPEED]); | |
391 | ||
392 | #if defined FUEL_SYSTEM | |
393 | if(engine && v_Fuel[vehicleid] > 0) { | |
394 | GetVehiclePos(vehicleid, x, y, z); | |
395 | v_Dis[vehicleid] += VectorSize(x - v_Pos[vehicleid][0], y - v_Pos[vehicleid][1], z - v_Pos[vehicleid][2]); | |
396 | if(v_Dis[vehicleid] > 500.0) { | |
397 | if(!(-- v_Fuel[vehicleid])) { | |
398 | SetVehicleParamsEx(vehicleid, 0, 0, -1, -1, -1, -1, -1); | |
399 | - | } |
399 | + | } |
400 | ||
401 | v_Dis[vehicleid] = 0.0; | |
402 | } | |
403 | ||
404 | valstr(string, v_Fuel[vehicleid]); | |
405 | PlayerTextDrawSetString(playerid, pS_Textdraw[playerid][DRAW_FUEL], string); | |
406 | PlayerTextDrawShow(playerid, pS_Textdraw[playerid][DRAW_FUEL]); | |
407 | ||
408 | v_Pos[vehicleid][0] = x; | |
409 | v_Pos[vehicleid][1] = y; | |
410 | v_Pos[vehicleid][2] = z; | |
411 | } | |
412 | #endif | |
413 | ||
414 | pS_Timer[playerid] = SetTimerEx("OnPlayerDriveVehicle", 100, 0, "ii", playerid, vehicleid); | |
415 | return 1; | |
416 | } |