· 9 years ago · Feb 02, 2017, 09:10 AM
1//====================Starting of ZoneX=================================//
2#include <a_samp>
3#include <irc>
4#include <sscanf2> //Thanks to Y_Less
5#include <foreach>//Thanks to Y_Less
6#include <dini>
7#include <zcmd> //Thanks to Zeex
8#include <a_mysql>
9new joinMsg[160];
10new Pname[24];
11#define DIALOG_KICK 191919
12#define DIALOG_BANNED 191920
13forward GetVehicleModelIDFromName(vname[]);
14new Float:SpeedBoostMultiplier[MAX_PLAYERS];
15//================Zones====================//
16new Medic;
17#define ccgreen "{3DE3B1}"
18#define ccwhite "{FFFFFF}"
19//=========================================//
20#define ResetMoneyBar ResetPlayerMoney
21#define UpdateMoneyBar GivePlayerMoney
22#define COMMAND_BLOCKED_MSG "-ZoneX- Sorry, That command is blocked."
23#define COMMAND_BLOCKED_COLOR 0xFF0000FF
24#define MAX_COMMAND_BLOCKED 25
25#define MAX_PROPERTIES 10000
26#define MAX_PROPERTIES_PER_PLAYER 4
27#define COLOR_MESSAGE_YELLOW 0xFFDD00AA
28#define UNBUYABLETIME 15 //If a propertie is bought, someone else have to wait this number of minutes before he/she can buy it.
29#define ENABLE_MAP_ICON_STREAMER 1
30#define C_GREY 0xAFAFAFFF
31#define C_BLUE 0x0000BBFF
32#define C_WHITE 0xFFFFFFFF
33#define GREEN 0x9FFF00FF
34#define grey 0xCECECEFF
35#define COL_BLUE "{1229FA}"
36#define yellow 0xFFFF00AA
37#define COL_WHITE "{FFFFFF}"
38#define COL_BLACK "{0E0101}"
39#define COL_GREY "{C3C3C3}"
40#define COL_RED "{F81414}"
41#define COL_YELLOW "{F3FF02}"
42#define COL_LIME "{B7FF00}"
43#define COL_CYAN "{00FFEE}"
44#define COL_MAGENTA "{F300FF}"
45#define COL_VIOLET "{B700FF}"
46#define COL_MARONE "{A90202}"
47#define COLOR_ONE 0xFF444499
48#define COLOR_TWO 0xFFFF22AA
49#define COLOR_THREE 0xFFCC2299
50#define COLOR_GREY 0xAFAFAFAA
51#define COLOR_GREEN 0x33AA33AA
52#define COLOR_BRIGHTRED 0xFF0000AA
53#define red 0xFF0000FF
54#define COLOR_BLUE 0x3A47DEFF
55#define COLOR_TAN 0xBDB76BAA
56#define COLOR_PURPLE 0x800080AA
57#define COLOR_WHITE 0xFFFFFFAA
58#define COLOR_LIGHTBLUE 0x33CCFFAA
59#define COLOR_INDIGO 0x4B00B0AA
60#define COLOR_DARKGREY 0x696969FF
61#define COLOR_GRAD1 0xB4B5B7FF
62#define COLOR_GRAD2 0xBFC0C2FF
63#define COLOR_GRAD3 0xCBCCCEFF
64#define COLOR_GRAD4 0xD8D8D8FF
65#define COLOR_GRAD5 0xE3E3E3FF
66#define COLOR_GRAD6 0xF0F0F0FF
67#define COLOR_RED 0xFF0000FF
68#define COLOR_FADE1 0xE6E6E6E6
69#define COLOR_FADE2 0xC8C8C8C8
70#define COLOR_FADE3 0xAAAAAAAA
71#define COLOR_FADE4 0x8C8C8C8C
72#define COLOR_FADE5 0x6E6E6E6E
73#define COLOR_DARKBLUE 0x2641FEAA
74#define COLOR_ALLDEPT 0xFF8282AA
75#define COLOR_GREY 0xAFAFAFAA
76#define C_GREEN 0x33AA33AA
77#define C_RED 0xAA3333AA
78#define COLOR_WHITE 0xFFFFFFAA
79#define COLOR_ONE 0xFF444499
80#define COLOR_TWO 0xFFFF22AA
81#define COLOR_THREE 0xFFCC2299
82#define COLOR_GREY 0xAFAFAFAA
83#define COLOR_GREEN 0x33AA33AA
84#define COLOR_BRIGHTRED 0xFF0000AA
85#define COLOR_BLUE 0x3A47DEFF
86#define COLOR_TAN 0xBDB76BAA
87#define COLOR_PURPLE 0x800080AA
88#define COLOR_WHITE 0xFFFFFFAA
89#define COLOR_LIGHTBLUE 0x33CCFFAA
90#define COLOR_MESS 0xFFFFFFFF
91#define COLOR_Label 0xFFFFFFFF
92#define COLOR_LabelOut 0x00000040
93#define COLOR_ValueOut 0xFFFFFF40
94#define COLOR_Value 0x000000FF
95#define COLOR_LIME 0x10F441AA
96#define COLOR_MAGENTA 0xFF00FFFF
97#define COLOR_NAVY 0x000080AA
98#define COLOR_AQUA 0xF0F8FFAA
99#define COLOR_CRIMSON 0xDC143CAA
100#define COLOR_DEEPPINK 0xFF1493FF
101#define COLOR_FLBLUE 0x6495EDAA
102#define COLOR_BISQUE 0xFFE4C4AA
103#define COLOR_BLACK 0x000000AA
104#define COLOR_CHARTREUSE 0x7FFF00AA
105#define COLOR_BROWN 0XA52A2AAA
106#define COLOR_CORAL 0xFF7F50AA
107#define COLOR_GOLD 0xB8860BAA
108#define COLOR_GREENYELLOW 0xADFF2FAA
109#define COLOR_INDIGO 0x4B00B0AA
110#define COLOR_IVORY 0xFFFF82AA
111#define COLOR_LAWNGREEN 0x7CFC00AA
112#define COLOR_SEAGREEN 0x20B2AAAA
113#define COLOR_MIDNIGHTBLUE 0X191970AA
114#define COLOR_MAROON 0x800000AA
115#define COLOR_OLIVE 0x808000AA
116#define COLOR_ORANGERED 0xFF4500AA
117#define COLOR_SPRINGGREEN 0x00FF7FAA
118#define COLOR_TOMATO 0xFF6347AA // - Tomato >:/ sounds wrong lol... well... :P
119#define COLOR_YELLOWGREEN 0x9ACD32AA //- like military green
120#define COLOR_MEDIUMAQUA 0x83BFBFAA
121#define COLOR_MEDIUMMAGENTA 0x8B008BAA // dark magenta ^
122//=======//
123//Let's define our mysql settings
124#define sqlhost "localhost" //This will be your mysql host. Default for xampp is localhost
125#define sqluser "root" //This will be your mysql username. Default for xampp is root
126#define db "Zx" //This is your database name. Remember we have created a database called server before.
127#define pass "" //This is your mysql password. In xampp, the password didn't set. So leave it empty.
128//dialogs
129#define dREGISTER 1 //dialog register id
130#define dLOGIN 2 // ^dialog login id
131#define dSTATS 3 //dialog stats id
132#define COLOR_CMY 0xFFFF00FF
133#define COLOR_YELLOW 0xFFDD00AA
134
135#pragma unused \
136 ret_memcpy
137
138#define ForEach(%0,%1) \
139 for(new %0 = 0; %0 != %1; %0++) if(IsPlayerConnected(%0) && !IsPlayerNPC(%0))
140
141#define Loop(%0,%1) \
142 for(new %0 = 0; %0 != %1; %0++)
143
144#define IsOdd(%1) \
145 ((%1) & 1)
146
147#define ConvertTime(%0,%1,%2,%3,%4) \
148 new \
149 Float: %0 = floatdiv(%1, 60000) \
150 ;\
151 %2 = floatround(%0, floatround_tozero); \
152 %3 = floatround(floatmul(%0 - %2, 60), floatround_tozero); \
153 %4 = floatround(floatmul(floatmul(%0 - %2, 60) - %3, 1000), floatround_tozero)
154
155#define function%0(%1) \
156 forward%0(%1); public%0(%1)
157
158#define MAX_RACE_CHECKPOINTS_EACH_RACE \
159 120
160
161#define MAX_RACES \
162 100
163
164#define COUNT_DOWN_TILL_RACE_START \
165 30 // seconds
166
167#define MAX_RACE_TIME \
168 300 // seconds
169
170#define RACE_CHECKPOINT_SIZE \
171 12.0
172
173#define DEBUG_RACE \
174 1
175
176//#define RACE_IN_OTHER_WORLD // Uncomment to enable
177
178#define GREY \
179 0xAFAFAFAA
180
181#define GREEN \
182 0x9FFF00FF
183
184#define RED \
185 0xE60000FF
186
187#define YELLOW \
188 0xFFFF00AA
189
190#define WHITE \
191 0xFFFFFFAA
192
193new
194 vNames[212][] =
195 {
196 {"Landstalker"},
197 {"Bravura"},
198 {"Buffalo"},
199 {"Linerunner"},
200 {"Perrenial"},
201 {"Sentinel"},
202 {"Dumper"},
203 {"Firetruck"},
204 {"Trashmaster"},
205 {"Stretch"},
206 {"Manana"},
207 {"Infernus"},
208 {"Voodoo"},
209 {"Pony"},
210 {"Mule"},
211 {"Cheetah"},
212 {"Ambulance"},
213 {"Leviathan"},
214 {"Moonbeam"},
215 {"Esperanto"},
216 {"Taxi"},
217 {"Washington"},
218 {"Bobcat"},
219 {"Mr Whoopee"},
220 {"BF Injection"},
221 {"Hunter"},
222 {"Premier"},
223 {"Enforcer"},
224 {"Securicar"},
225 {"Banshee"},
226 {"Predator"},
227 {"Bus"},
228 {"Rhino"},
229 {"Barracks"},
230 {"Hotknife"},
231 {"Trailer 1"},
232 {"Previon"},
233 {"Coach"},
234 {"Cabbie"},
235 {"Stallion"},
236 {"Rumpo"},
237 {"RC Bandit"},
238 {"Romero"},
239 {"Packer"},
240 {"Monster"},
241 {"Admiral"},
242 {"Squalo"},
243 {"Seasparrow"},
244 {"Pizzaboy"},
245 {"Tram"},
246 {"Trailer 2"},
247 {"Turismo"},
248 {"Speeder"},
249 {"Reefer"},
250 {"Tropic"},
251 {"Flatbed"},
252 {"Yankee"},
253 {"Caddy"},
254 {"Solair"},
255 {"Berkley's RC Van"},
256 {"Skimmer"},
257 {"PCJ-600"},
258 {"Faggio"},
259 {"Freeway"},
260 {"RC Baron"},
261 {"RC Raider"},
262 {"Glendale"},
263 {"Oceanic"},
264 {"Sanchez"},
265 {"Sparrow"},
266 {"Patriot"},
267 {"Quad"},
268 {"Coastguard"},
269 {"Dinghy"},
270 {"Hermes"},
271 {"Sabre"},
272 {"Rustler"},
273 {"ZR-350"},
274 {"Walton"},
275 {"Regina"},
276 {"Comet"},
277 {"BMX"},
278 {"Burrito"},
279 {"Camper"},
280 {"Marquis"},
281 {"Baggage"},
282 {"Dozer"},
283 {"Maverick"},
284 {"News Chopper"},
285 {"Rancher"},
286 {"FBI Rancher"},
287 {"Virgo"},
288 {"Greenwood"},
289 {"Jetmax"},
290 {"Hotring"},
291 {"Sandking"},
292 {"Blista Compact"},
293 {"Police Maverick"},
294 {"Boxville"},
295 {"Benson"},
296 {"Mesa"},
297 {"RC Goblin"},
298 {"Hotring Racer A"},
299 {"Hotring Racer B"},
300 {"Bloodring Banger"},
301 {"Rancher"},
302 {"Super GT"},
303 {"Elegant"},
304 {"Journey"},
305 {"Bike"},
306 {"Mountain Bike"},
307 {"Beagle"},
308 {"Cropdust"},
309 {"Stunt"},
310 {"Tanker"},
311 {"Roadtrain"},
312 {"Nebula"},
313 {"Majestic"},
314 {"Buccaneer"},
315 {"Shamal"},
316 {"Hydra"},
317 {"FCR-900"},
318 {"NRG-500"},
319 {"HPV1000"},
320 {"Cement Truck"},
321 {"Tow Truck"},
322 {"Fortune"},
323 {"Cadrona"},
324 {"FBI Truck"},
325 {"Willard"},
326 {"Forklift"},
327 {"Tractor"},
328 {"Combine"},
329 {"Feltzer"},
330 {"Remington"},
331 {"Slamvan"},
332 {"Blade"},
333 {"Freight"},
334 {"Streak"},
335 {"Vortex"},
336 {"Vincent"},
337 {"Bullet"},
338 {"Clover"},
339 {"Sadler"},
340 {"Firetruck LA"},
341 {"Hustler"},
342 {"Intruder"},
343 {"Primo"},
344 {"Cargobob"},
345 {"Tampa"},
346 {"Sunrise"},
347 {"Merit"},
348 {"Utility"},
349 {"Nevada"},
350 {"Yosemite"},
351 {"Windsor"},
352 {"Monster A"},
353 {"Monster B"},
354 {"Uranus"},
355 {"Jester"},
356 {"Sultan"},
357 {"Stratum"},
358 {"Elegy"},
359 {"Raindance"},
360 {"RC Tiger"},
361 {"Flash"},
362 {"Tahoma"},
363 {"Savanna"},
364 {"Bandito"},
365 {"Freight Flat"},
366 {"Streak Carriage"},
367 {"Kart"},
368 {"Mower"},
369 {"Duneride"},
370 {"Sweeper"},
371 {"Broadway"},
372 {"Tornado"},
373 {"AT-400"},
374 {"DFT-30"},
375 {"Huntley"},
376 {"Stafford"},
377 {"BF-400"},
378 {"Newsvan"},
379 {"Tug"},
380 {"Trailer 3"},
381 {"Emperor"},
382 {"Wayfarer"},
383 {"Euros"},
384 {"Hotdog"},
385 {"Club"},
386 {"Freight Carriage"},
387 {"Trailer 3"},
388 {"Andromada"},
389 {"Dodo"},
390 {"RC Cam"},
391 {"Launch"},
392 {"Police Car (LSPD)"},
393 {"Police Car (SFPD)"},
394 {"Police Car (LVPD)"},
395 {"Police Ranger"},
396 {"Picador"},
397 {"S.W.A.T. Van"},
398 {"Alpha"},
399 {"Phoenix"},
400 {"Glendale"},
401 {"Sadler"},
402 {"Luggage Trailer A"},
403 {"Luggage Trailer B"},
404 {"Stair Trailer"},
405 {"Boxville"},
406 {"Farm Plow"},
407 {"Utility Trailer"}
408 },
409 BuildRace,
410 BuildRaceType,
411 BuildVehicle,
412 BuildCreatedVehicle,
413 BuildModeVID,
414 BuildName[30],
415 bool: BuildTakeVehPos,
416 BuildVehPosCount,
417 bool: BuildTakeCheckpoints,
418 BuildCheckPointCount,
419 RaceBusy = 0x00,
420 RaceName[30],
421 RaceVehicle,
422 RaceType,
423 TotalCP,
424 Float: RaceVehCoords[2][4],
425 Float: CPCoords[MAX_RACE_CHECKPOINTS_EACH_RACE][4],
426 CreatedRaceVeh[MAX_PLAYERS],
427 Index,
428 PlayersCount[2],
429 CountTimer,
430 CountAmount,
431 bool: Joined[MAX_PLAYERS],
432 RaceTick,
433 RaceStarted,
434 CPProgess[MAX_PLAYERS],
435 Position,
436 FinishCount,
437 JoinCount,
438 rCounter,
439 RaceTime,
440 Text: RaceInfo[MAX_PLAYERS],
441 InfoTimer[MAX_PLAYERS],
442 RacePosition[MAX_PLAYERS],
443 RaceNames[MAX_RACES][128],
444 TotalRaces,
445 bool: AutomaticRace,
446 TimeProgress
447
448;
449
450//these are custom callbacks so they must be forwarded otherwise compiler will show error
451forward OnAccountCheck(playerid);
452forward OnAccountLoad(playerid);
453forward AutoLogin(playerid);
454forward OnAccountRegister(playerid);
455forward UnMutedTimer(playerid);
456new BlockedCommand[MAX_COMMAND_BLOCKED][25];
457new IsPlayerRegisterd[MAX_PLAYERS];
458new bool:pMuted[MAX_PLAYERS];//Global variables. We will use them later
459static
460MySQL:mysql, //This variable will be used to manage our database
461IP[MAX_PLAYERS][16]//We will use this variable to store player's ip.
462;
463native WP_Hash(buffer[], len, const str[]); //whirlpool, for hashing our password
464//Now let's create an enumerator that holds player's information
465enum DATAX //We name our enumerator as PDATA (which stands for PlayerDATA). You can name it however you want.
466{
467 ID, //Will be used later to store player's ID from database so we can use it anywhere later
468 Password[129], //We will load player's password into this varible from database
469 Admin, //We will load player's admin level from database into this variable so we can use it anywhere later.
470 VIP, //We will load player's VIP level from database into this variable so we can use it anywhere later.
471 Kills,
472 Cookies,
473 Cakes,
474 Icecream,
475 Deaths,
476 Score,
477 Money,
478 pTotalTime,
479 pConnectTime,
480 pHours,
481 pMinutes,
482 pSeconds
483 //We will load player's money from database into this variable so we can use it anywhere later.
484};
485new pData[MAX_PLAYERS][DATAX]; //Variable that stores enumerator above
486//==========================CAR====================================//
487enum pInfo
488{
489 bool:pCanSpawnVehicle,
490 pSpawnVehicle,
491}
492//Client Variables
493new PlayerInfo[MAX_PLAYERS][pInfo];
494//=======================Property System=============================//
495new PropertiesAmount;
496enum propinfo
497{
498 PropName[150],
499 Float:PropX,
500 Float:PropY,
501 Float:PropZ,
502 PropIsBought,
503 PropUnbuyableTime,
504 PropOwner[MAX_PLAYER_NAME],
505 PropValue,
506 PropEarning,
507 PickupNr,
508}
509new PropInfo[MAX_PROPERTIES][propinfo]; //CarInfo
510new PlayerProps[MAX_PLAYERS];
511new EarningsForPlayer[MAX_PLAYERS];
512//=================================================================//
513//Server Variables
514new Float:pX,
515Float:pY, Float:pZ, Float:pAngle;
516new VehicleNames[212][] = {
517{"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
518{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
519{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
520{"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
521{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
522{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
523{"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
524{"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
525{"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
526{"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
527{"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
528{"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
529{"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
530{"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
531{"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
532{"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
533{"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
534{"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
535{"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
536{"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
537{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
538{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
539{"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
540{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
541{"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
542{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
543{"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
544{"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
545{"Utility Trailer"}};
546//=================================================================//
547main(){}
548//=======//
549new GotoOn[MAX_PLAYERS];
550new Text:Textdraw1;
551new Text:Textdraw7;
552new Text:Textdraw8;
553new Text:pgoo;
554new Text:prop;
555#define DIALOG_WEAPMENU 9990
556#define COLOR_RED 0xFF0000FF
557new Text:TDEditor_TD[60];
558new Text:TDGame[60];
559new Afk[MAX_PLAYERS];
560#define Blue "{003DF5}"
561#define Red "{FF0000}"
562#define Green "{66FF00}"
563#define White "{FFFFFF}"
564#define DIALOG_REGISTER 100
565#define MAX_HOUSES 100
566#define DIALOG_LOGIN 101
567#define DIALOG_POS 102
568#define COLOR_GREY 0xAFAFAFAA
569#define COLOR_GREEN 0x33AA33AA
570#define COLOR_WHITE 0xFFFFFFAA
571#define COLOR_LIGHTBLUE 0x33CCFFAA
572#define COLOR_ORANGE 0xFF9900AA
573#define COLOR_LIME 0x10F441AA
574#define COLOR_MAGENTA 0xFF00FFFF
575#define COLOR_NAVY 0x000080AA
576#define COLOR_AQUA 0xF0F8FFAA
577#define COLOR_CRIMSON 0xDC143CAA
578#define COLOR_DEEPPINK 0xFF1493FF
579#define COLOR_FLBLUE 0x6495EDAA
580#define COLOR_BISQUE 0xFFE4C4AA
581#define COLOR_CHARTREUSE 0x7FFF00AA
582#define COLOR_BROWN 0XA52A2AAA
583#define COLOR_CORAL 0xFF7F50AA
584#define COLOR_GOLD 0xB8860BAA
585#define COLOR_GREENYELLOW 0xADFF2FAA
586#define COLOR_INDIGO 0x4B00B0AA
587#define COLOR_IVORY 0xFFFF82AA
588#define COLOR_LAWNGREEN 0x7CFC00AA
589#define COLOR_SEAGREEN 0x20B2AAAA
590#define COLOR_LIMEGREEN 0x32CD32AA //<--- Dark lime
591#define COLOR_MIDNIGHTBLUE 0X191970AA
592#define COLOR_MAROON 0x800000AA
593#define COLOR_OLIVE 0x808000AA
594#define COLOR_ORANGERED 0xFF4500AA
595#define COLOR_PINK 0xFFC0CBAA // - Light light pink
596#define COLOR_SPRINGGREEN 0x00FF7FAA
597#define COLOR_TOMATO 0xFF6347AA // - Tomato >:/ sounds wrong lol... well... :P
598#define COLOR_YELLOWGREEN 0x9ACD32AA //- like military green
599#define COLOR_MEDIUMAQUA 0x83BFBFAA
600#define COLOR_MEDIUMMAGENTA 0x8B008BAA // dark magenta ^
601//===================================//
602// Name that everyone will see (main)
603#define BOT_1_MAIN_NICKNAME "Zx-01"
604// Name that everyone will see (alternate)
605#define BOT_1_ALTERNATE_NICKNAME "Zx-01"
606// Name that will only be visible in a whois
607#define BOT_1_REALNAME "ZoneX Bot"
608// Name that will be in front of the hostname (username@hostname)
609#define BOT_1_USERNAME "Zx-01"
610#define BOT_2_MAIN_NICKNAME "Zx-02"
611#define BOT_2_ALTERNATE_NICKNAME "Zx-02`"
612#define BOT_2_REALNAME "Zx-02"
613#define BOT_2_USERNAME "Zx-02"
614#define IRC_SERVER "pool.irc.tl"
615#define IRC_PORT (6667)
616#define IRC_CHANNEL "#ZoneX"
617// Maximum number of bots in the filterscript
618#define MAX_BOTS (2)
619#define PLUGIN_VERSION "1.4.3"
620new botIDs[MAX_BOTS], groupID;
621//===================================//
622#define RELEASED(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
623#define PRESSED(%0) \
624(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) // Type your server website here
625#pragma tabsize 0
626//Crappy colors - Why are thy reading this?
627#define COLOR_ROYALBLUE 0x4169E1FF
628#define COLOR_SALMON 0xFA8072FF
629new RandomMessages[][] =
630{
631 "~w~Welcome to ZoneX use~y~ /cmds~w~ to view our commands.",
632 "~w~Use~y~ /credits~w~ to view server scripters.",
633 "~w~Read~y~ /rules~w~ to don't get banned.",
634 "~w~If you want to join any event try ~y~/event.",
635 "~w~Saw a hacker? don't say in main chat try ~y~/report.",
636 "~w~Don't forget to add the ~y~ZoneX~w~ Server to your favorite."
637};
638//==============//
639/*Colours*/
640#define lighterblue 0x09F7DFC8
641#define orange 0xFF8000C8
642#define pink 0xFF00FFC8
643#define purple 0x8000FFC8
644#define black 0x000000C8
645#define white 0xFFFFFFC8
646#define brown 0x800000C8
647#define cream 0xFFFF80C8
648#define Cmdcolor 0xCCCCCCC8
649#define Admchat 0x00FF80C8 //Administrators chat colour
650//-----------------------------------
651stock pName(playerid)
652{
653 new name[MAX_PLAYER_NAME];
654 GetPlayerName(playerid, name, MAX_PLAYER_NAME);
655 return name;
656}
657//==================================//
658public OnGameModeInit()
659{
660 BuildCreatedVehicle = (BuildCreatedVehicle == 0x01) ? (DestroyVehicle(BuildVehicle), BuildCreatedVehicle = 0x00) : (DestroyVehicle(BuildVehicle), BuildCreatedVehicle = 0x00);
661 KillTimer(rCounter);
662 KillTimer(CountTimer);
663 Loop(i, MAX_PLAYERS)
664 {
665 DisablePlayerRaceCheckpoint(i);
666 TextDrawDestroy(RaceInfo[i]);
667 DestroyVehicle(CreatedRaceVeh[i]);
668 Joined[i] = false;
669 KillTimer(InfoTimer[i]);
670 }
671 JoinCount = 0;
672 FinishCount = 0;
673 TimeProgress = 0;
674 AutomaticRace = false;
675 SetTimer("RandBotMsgs", 8000, true);
676 // Loop
677 for (new i = 0; i < MAX_PLAYERS; i++)
678 {
679 // Check if player is connected and not a NPC
680 if (IsPlayerConnected(i) && !IsPlayerNPC(i))
681 {
682 // Set the default speed boost for each player
683 SpeedBoostMultiplier[i] = 1.5;
684 }
685 }
686
687 mysql_log(ALL); //Let's enable debugging so we can detect a problem(if there is)
688 mysql = mysql_connect(sqlhost, sqluser, pass, db); //This function will connect your server to database. Remember we have defined our host, username, database and password. It's time to use it here.
689 if(mysql_errno() != 0)
690 {
691 print("Could not connect to database!"); //This will tell if your connection to database is successful or not. If it's not, check your host, username, database and password. Make sure they all right.
692 }
693 else
694 {
695 printf("Successfully connected on DB %s","Zx");
696 mysql_query(mysql, "CREATE TABLE IF NOT EXISTS `banlist` ( `name` VARCHAR(50), `ip` VARCHAR(50), `Admin` VARCHAR(64), `Reason` VARCHAR(64))");
697 }
698 SetGameModeText("DM,Stunts,Racing,Freeroam");
699 SetTimer("RandomMessage",8000,1);
700 //===================lolypop=========================//
701 CreateObject(8003,494.33398438,-2432.67187500,7.80030441,0.00000000,0.00000000,0.00000000); //object(vegassedge22) (1)
702 CreateObject(8003,491.12988281,-2378.28027344,42.69731140,0.00000000,0.00000000,0.00000000); //object(vegassedge22) (2)
703 CreateObject(8003,483.27929688,-2325.82128906,72.12283325,0.00000000,0.00000000,0.00000000); //object(vegassedge22) (3)
704 //====================================================//
705/* Textdraw8 = TextDrawCreate(0.000013, 424.853454, "Welcome");
706TextDrawLetterSize(Textdraw8, 0.286149, 0.690432);
707TextDrawTextSize(Textdraw8, 659.000000, 0.000000);
708TextDrawAlignment(Textdraw8, 1);
709TextDrawColor(Textdraw8, -1);
710TextDrawUseBox(Textdraw8, 1);
711TextDrawBoxColor(Textdraw8, 2441635);
712TextDrawSetShadow(Textdraw8, 1);
713TextDrawSetOutline(Textdraw8, 0);
714TextDrawBackgroundColor(Textdraw8, 255);
715TextDrawFont(Textdraw8, 2);
716TextDrawSetProportional(Textdraw8, 1);
717TextDrawSetShadow(Textdraw8, 1);*/
718
719 //=======================//
720pgoo = TextDrawCreate(1.199936, 294.467010, "~w~Martex has found the~n~~g~~h~~h~Zx player hidden pickup (pgoo)~w~And~n~Won~r~~h~ 90000000~w~ Cookies");
721TextDrawLetterSize(pgoo, 0.309599, 1.181866);
722TextDrawTextSize(pgoo, 265.000000, 0.000000);
723TextDrawAlignment(pgoo, 1);
724TextDrawColor(pgoo, -1);
725TextDrawUseBox(pgoo, 1);
726TextDrawBoxColor(pgoo, 3823254);
727TextDrawSetShadow(pgoo, 1);
728TextDrawSetOutline(pgoo, 1);
729TextDrawBackgroundColor(pgoo, 255);
730TextDrawFont(pgoo, 2);
731TextDrawSetProportional(pgoo, 1);
732TextDrawSetShadow(pgoo, 1);
733//================//
734//=======================//
735 // Connect the first bot
736 botIDs[0] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_1_MAIN_NICKNAME, BOT_1_REALNAME, BOT_1_USERNAME);
737 // Set the connect delay for the first bot to 20 seconds
738 IRC_SetIntData(botIDs[0], E_IRC_CONNECT_DELAY, 20);
739 // Connect the second bot
740 botIDs[1] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_2_MAIN_NICKNAME, BOT_2_REALNAME, BOT_2_USERNAME);
741 // Set the connect delay for the second bot to 30 seconds
742 IRC_SetIntData(botIDs[1], E_IRC_CONNECT_DELAY, 30);
743 // Create a group (the bots will be added to it upon connect)
744 groupID = IRC_CreateGroup();
745 SetGameModeText("DM,Stunts,Racing,Freeroam");
746 AddPlayerClass(274,-2653.6968,632.9613,14.4531,180.3355,24,9999,25,9999,31,9999); //Medic
747 AddPlayerClass(275,-2653.6968,632.9613,14.4531,180.3355,24,9999,25,9999,31,9999); // Medic
748 AddPlayerClass(276,-2653.6968,632.9613,14.4531,180.3355,24,9999,25,9999,31,9999); // Medic
749 AddPlayerClass(280,-1616.2466,684.2715,7.1875,184.1279,16,100,24,99999,25,99999); // Police
750 AddPlayerClass(281,-1616.2466,684.2715,7.1875,184.1279,16,100,24,99999,25,99999); // Police
751 AddPlayerClass(282,-1616.2466,684.2715,7.1875,184.1279,16,100,24,99999,25,99999); // Police
752 AddPlayerClass(171,-2413.6963,331.1510,34.9755,241.4625,26,9999,28,9999,34,99999); // Valet
753 AddPlayerClass(172,-2413.6963,331.1510,34.9755,241.4625,26,9999,28,9999,34,99999); // Valet
754 //timer
755 SetTimer("SendRandomMsgToAll", 60 * 1000, 1);
756 UsePlayerPedAnims();
757 //vehicles
758 AddStaticVehicle(541,2816.5066,2379.3193,10.4451,89.6900,58,8); // 1
759 AddStaticVehicle(541,2816.4751,2375.6582,10.4452,89.4575,60,1); // 2
760 AddStaticVehicle(560,2816.3818,2372.0952,10.5253,90.2271,9,39); // 3
761 AddStaticVehicle(560,2816.1133,2368.0105,10.5253,89.9390,9,39); // 4
762 AddStaticVehicle(451,2816.1343,2364.4519,10.5264,90.2222,125,125); // 5
763 AddStaticVehicle(451,2816.0571,2360.6873,10.5272,90.8059,36,36); // 6
764 AddStaticVehicle(411,2816.1589,2356.8203,10.5474,89.9481,64,1); // 7
765 AddStaticVehicle(411,2816.0107,2353.1025,10.5474,89.4562,123,1); // 8
766 AddStaticVehicle(421,2826.8093,2379.4641,10.7028,270.7326,13,1); // 9
767 AddStaticVehicle(421,2826.6479,2375.8889,10.7028,269.9539,25,1); // 10
768 AddStaticVehicle(429,2826.2937,2371.9536,10.5000,269.6673,13,13); // 11
769 AddStaticVehicle(429,2825.9849,2368.1528,10.5000,268.0033,14,14); // 12
770 AddStaticVehicle(522,2815.2717,2407.5798,10.3916,133.2106,3,8); // 13
771 AddStaticVehicle(522,2810.7358,2411.8613,10.3932,132.9632,6,25); // 14
772 AddStaticVehicle(424,2844.6860,2402.9192,10.6006,225.8736,2,2); // 15
773 AddStaticVehicle(424,2848.5525,2406.7751,10.6014,225.3010,3,2); // 16
774 AddStaticVehicle(581,2806.4980,2416.1523,10.4161,133.4143,58,1); // 17
775 AddStaticVehicle(411,1616.0177,2724.8052,10.5473,74.6857,116,1); // 18
776 AddStaticVehicle(468,1619.0909,2743.0549,10.4889,41.7187,46,46); // 19
777 AddStaticVehicle(451,1635.7101,2742.9023,10.5273,328.1163,16,16); // 20
778 AddStaticVehicle(470,1661.9216,2722.4968,10.8157,235.5891,43,0); // 21
779 AddStaticVehicle(429,1663.1174,2742.0442,10.4999,137.5073,1,2); // 22
780 AddStaticVehicle(400,1591.6750,2746.1406,10.9126,184.7608,123,1); // 23
781 AddStaticVehicle(487,954.7487,1710.6289,8.8248,274.4774,29,42); // 24
782 AddStaticVehicle(429,951.0253,1716.7612,8.3281,269.8391,2,1); // 25
783 AddStaticVehicle(429,950.9359,1721.8273,8.3281,271.4854,1,3); // 26
784 AddStaticVehicle(451,951.0553,1757.5056,8.3517,271.7984,18,18); // 27
785 AddStaticVehicle(400,950.6319,1753.3009,8.7408,269.4296,113,1); // 28
786 AddStaticVehicle(522,985.4814,1746.3361,8.2208,89.6688,7,79); // 29
787 AddStaticVehicle(522,985.4091,1743.7507,8.2210,91.4495,8,82); // 30
788 AddStaticVehicle(562,-314.8365,1514.0304,75.0163,359.9016,35,1); // 31
789 AddStaticVehicle(562,-318.0147,1514.0380,75.0174,0.1555,17,1); // 32
790 AddStaticVehicle(562,-320.9383,1513.9976,75.0176,0.6138,11,1); // 33
791 AddStaticVehicle(562,-324.1760,1513.8207,75.0185,358.5926,116,1); // 34
792 AddStaticVehicle(562,-327.0551,1513.8773,75.0192,358.3781,113,1); // 35
793 AddStaticVehicle(562,-330.4488,1513.9043,75.0189,1.4758,101,1); // 36
794 AddStaticVehicle(565,-289.6847,1517.1619,74.9853,40.0958,42,42); // 37
795 AddStaticVehicle(565,-287.3174,1519.1779,74.9828,41.0786,53,53); // 38
796 AddStaticVehicle(565,-284.6469,1521.4510,74.9833,42.2172,62,62); // 39
797 AddStaticVehicle(565,-281.9391,1523.9922,74.9902,43.0592,7,7); // 40
798 AddStaticVehicle(581,-2535.3477,-601.8680,132.1613,179.6264,66,1); // savespawn4
799 AddStaticVehicle(471,-2531.7788,-601.8132,132.0436,179.9041,103,111); // savespawn4
800 AddStaticVehicle(468,-2528.0981,-602.1606,132.2325,180.2464,46,46); // savespawn4
801 AddStaticVehicleEx(415,1069.30004883,2509.69995117,359.89999390,0.00000000,-1,-1,15); //Cheetah
802 AddStaticVehicleEx(402,1072.50000000,2509.80004883,360.00000000,0.00000000,-1,-1,15); //Buffalo
803 AddStaticVehicleEx(429,1075.69995117,2510.39990234,359.79998779,0.00000000,-1,-1,15); //Banshee
804 AddStaticVehicleEx(506,1078.69995117,2510.39990234,359.79998779,0.00000000,-1,-1,15); //Super GT
805 AddStaticVehicleEx(480,1082.09997559,2510.19995117,359.89999390,0.00000000,-1,-1,15); //Comet
806 AddStaticVehicleEx(541,1085.19995117,2510.10009766,359.70001221,0.00000000,-1,-1,15); //Bullet
807 AddStaticVehicleEx(559,1066.09997559,2510.10009766,359.79998779,0.00000000,-1,-1,15); //Jester
808 AddStaticVehicleEx(411,1059.69995117,2510.00000000,359.79998779,0.00000000,-1,-1,15); //Infernus
809 AddStaticVehicleEx(411,1062.89941406,2510.09960938,359.79998779,0.00000000,-1,-1,15); //Infernus
810 AddStaticVehicleEx(411,1056.59997559,2509.80004883,359.79998779,0.00000000,-1,-1,15); //Infernus
811 AddStaticVehicleEx(522,1075.59997559,2491.19995117,359.70001221,0.00000000,-1,-1,15); //NRG-500
812 AddStaticVehicleEx(522,1078.80004883,2491.30004883,359.70001221,0.00000000,-1,-1,15); //NRG-500
813 AddStaticVehicleEx(581,1069.30004883,2491.00000000,359.70001221,0.00000000,-1,-1,15); //BF-400
814 AddStaticVehicleEx(522,1072.39941406,2490.89941406,359.70001221,0.00000000,-1,-1,15); //NRG-500
815 AddStaticVehicleEx(461,1065.80004883,2491.19995117,359.70001221,0.00000000,-1,-1,15); //PCJ-600
816 AddStaticVehicleEx(463,1062.90002441,2490.89990234,359.70001221,0.00000000,-1,-1,15); //Freeway
817 AddStaticVehicleEx(468,1059.80004883,2491.30004883,359.79998779,0.00000000,-1,-1,15); //Sanchez
818 AddStaticVehicleEx(471,1056.50000000,2491.00000000,359.60000610,0.00000000,-1,-1,15); //Quad
819 AddStaticVehicleEx(432,1101.59997559,2507.30004883,360.20001221,90.00000000,-1,-1,15); //Rhino
820 AddStaticVehicleEx(432,1102.00000000,2501.80004883,360.20001221,90.00000000,-1,-1,15); //Rhino
821 //drift2
822 AddStaticVehicle(562,2300.7075,1405.3156,42.4798,270.3187,35,1); //
823 AddStaticVehicle(562,2300.6252,1408.5039,42.4799,269.9902,17,1); //
824 AddStaticVehicle(562,2300.5918,1412.1040,42.4800,270.6449,11,1); //
825 AddStaticVehicle(562,2300.5208,1415.7723,42.4803,269.3216,116,1); //
826 AddStaticVehicle(562,2300.6250,1419.4047,42.4800,270.5325,113,1); //
827 AddStaticVehicle(562,2300.5193,1423.0452,42.4799,270.1995,101,1); //
828 AddStaticVehicle(562,2300.5188,1426.4868,42.4805,269.3894,92,1); //
829 AddStaticVehicle(565,2300.3044,1429.8539,42.4439,271.7605,42,42); //
830 AddStaticVehicle(565,2300.3086,1433.7706,42.4430,269.9579,53,53); //
831 AddStaticVehicle(565,2312.2852,1386.2614,42.4435,359.1888,62,62); //
832 AddStaticVehicle(565,2309.0413,1386.2773,42.4426,359.1597,7,7); //
833 AddStaticVehicle(565,2305.7395,1386.2900,42.4431,358.2173,10,10); //
834 AddStaticVehicle(565,2302.3853,1386.4126,42.4480,357.8887,11,11); //
835 AddStaticVehicle(565,2299.3557,1386.3687,42.4439,0.0010,15,15); //
836 AddStaticVehicle(560,2295.7761,1386.5234,42.5255,359.6993,41,29); //
837 AddStaticVehicle(560,2292.4463,1386.5447,42.5252,358.9042,56,29); //
838 AddStaticVehicle(560,2288.9299,1386.6454,42.5256,1.7947,52,39); //
839 AddStaticVehicle(560,2285.9626,1386.5701,42.5259,0.7920,9,39); //
840 AddStaticVehicle(560,2282.7314,1386.5483,42.5246,0.2929,17,1); //
841 AddStaticVehicle(558,2279.1680,1386.7858,42.4503,0.8899,116,1); //
842 AddStaticVehicle(562,-2391.9546,-608.0745,132.3084,35.4688,36,1); // drift4car
843 AddStaticVehicle(562,-2394.4692,-610.0773,132.3081,35.2974,35,1); // drift4car
844 AddStaticVehicle(562,-2396.9558,-611.6743,132.3076,34.5678,35,1); // drift4car
845 AddStaticVehicle(565,-2417.2473,-588.2581,132.2732,215.5045,37,37); // drift4car
846 AddStaticVehicle(565,-2414.7046,-586.6000,132.2726,216.1195,37,37); // drift4car
847 AddStaticVehicle(565,-2412.0701,-584.4867,132.2732,214.2395,37,37); // drift4car
848 AddStaticVehicle(565,-2409.4790,-583.3547,132.2712,216.5217,37,37); // drift4car
849 AddStaticVehicleEx(411,-6196.52930000,1808.78090000,7159.07710000,270.00000000,-1,-1,15);
850 AddStaticVehicleEx(411,-6196.77150000,1799.29470000,7159.07710000,270.00000000,-1,-1,15);
851 AddStaticVehicleEx(411,-6196.83740000,1802.08750000,7159.07710000,270.00000000,-1,-1,15);
852 AddStaticVehicleEx(411,-6196.67970000,1805.33700000,7159.07710000,270.00000000,-1,-1,15);
853 AddStaticVehicleEx(411,1796.09997559,-1169.40002441,815.29998779,0.00000000,-1,-1,15);
854 AddStaticVehicleEx(411,1792.90002441,-1169.09997559,815.29998779,0.00000000,-1,-1,15);
855 AddStaticVehicleEx(411,1788.69995117,-1168.80004883,815.29998779,0.00000000,-1,-1,15);
856 AddStaticVehicleEx(411,1784.50000000,-1168.50000000,815.29998779,0.00000000,-1,-1,15);
857 AddStaticVehicleEx(541,1797.19995117,-1139.09997559,815.20001221,180.00000000,-1,-1,15);
858 AddStaticVehicleEx(541,1794.19995117,-1138.69995117,815.20001221,180.00000000,-1,-1,15);
859 AddStaticVehicleEx(541,1791.00000000,-1138.30004883,815.20001221,180.00000000,-1,-1,15);
860 AddStaticVehicleEx(541,1787.50000000,-1137.80004883,815.20001221,180.00000000,-1,-1,15);
861 AddStaticVehicleEx(541,1784.00000000,-1137.80004883,815.20001221,180.00000000,-1,-1,15);
862 AddStaticVehicleEx(411,826.09997559,-4267.60009766,1840.69995117,0.00000000,-1,-1,15);
863 AddStaticVehicleEx(411,829.09997559,-4267.70019531,1840.69995117,0.00000000,-1,-1,15);
864 AddStaticVehicleEx(411,832.79998779,-4267.79980469,1840.69995117,0.00000000,-1,-1,15);
865 AddStaticVehicleEx(411,836.29998779,-4267.89990234,1840.69995117,0.00000000,-1,-1,15);
866 AddStaticVehicleEx(411,840.29998779,-4268.00000000,1840.69995117,0.00000000,-1,-1,15);
867 AddStaticVehicleEx(411,844.50000000,-4268.10009766,1840.69995117,0.00000000,-1,-1,15);
868 AddStaticVehicle(416,-2627.4924,616.9315,14.6032,90.0943,1,3); // Mediccar1
869 AddStaticVehicle(416,-2627.3296,599.6878,14.6025,92.0375,1,3); // Mediccar2
870 AddStaticVehicle(416,-2644.5322,599.7484,14.6025,268.6206,1,3); // Mediccar3
871 AddStaticVehicle(416,-2644.4192,616.9930,14.6021,268.7458,1,3); // Mediccar3
872 AddStaticVehicle(416,-2644.4192,616.9930,14.6021,268.7458,1,3); // Mediccar4
873 AddStaticVehicle(411,-2652.9363,600.1416,14.1802,89.0045,116,1); // Mediccar5
874 AddStaticVehicle(411,-2652.9468,616.6282,14.1803,89.7315,112,1); // Mediccar6
875 AddStaticVehicle(411,-2670.6128,616.8370,14.1811,270.5468,106,1); // Mediccar7
876 AddStaticVehicle(411,-2670.5386,600.1440,14.1806,271.3960,80,1); // Mediccar8
877 //MAP of /dm
878 //DM
879 AddStaticVehicleEx(432,2791.89990234,-2362.00000000,13.69999981,0.00000000,-1,-1,15); //Rhino
880 AddStaticVehicleEx(432,2786.19995117,-2361.89990234,13.69999981,0.00000000,-1,-1,15); //Rhino
881 AddStaticVehicleEx(432,2780.30004883,-2361.89990234,13.69999981,0.00000000,-1,-1,15); //Rhino
882 AddStaticVehicleEx(432,2792.10009766,-2349.60009766,13.69999981,0.00000000,-1,-1,15); //Rhino
883 AddStaticVehicleEx(432,2786.39990234,-2349.80004883,13.69999981,0.00000000,-1,-1,15); //Rhino
884 AddStaticVehicleEx(432,2781.00000000,-2350.19995117,13.69999981,0.00000000,-1,-1,15); //Rhino
885 AddStaticVehicleEx(432,2792.39990234,-2339.19995117,13.69999981,0.00000000,-1,-1,15); //Rhino
886 AddStaticVehicleEx(432,2785.69995117,-2338.69995117,13.69999981,0.00000000,-1,-1,15); //Rhino
887 AddStaticVehicleEx(432,2780.30004883,-2339.00000000,13.69999981,0.00000000,-1,-1,15); //Rhino
888 AddStaticVehicleEx(432,2799.50000000,-2538.00000000,13.69999981,0.00000000,-1,-1,15); //Rhino
889 AddStaticVehicleEx(432,2784.79980469,-2538.69921875,13.69999981,0.00000000,-1,-1,15); //Rhino
890 AddStaticVehicleEx(432,2791.39990234,-2538.50000000,13.69999981,0.00000000,-1,-1,15); //Rhino
891 AddStaticVehicleEx(432,2792.39990234,-2527.30004883,13.69999981,0.00000000,-1,-1,15); //Rhino
892 AddStaticVehicleEx(432,2785.39941406,-2527.19921875,13.69999981,0.00000000,-1,-1,15); //Rhino
893 AddStaticVehicleEx(432,2799.39990234,-2528.19995117,13.69999981,0.00000000,-1,-1,15); //Rhino
894 AddStaticVehicleEx(432,2791.69995117,-2548.60009766,13.69999981,0.00000000,-1,-1,15); //Rhino
895 AddStaticVehicleEx(432,2784.10009766,-2549.00000000,13.69999981,0.00000000,-1,-1,15); //Rhino
896 AddStaticVehicleEx(432,2798.60009766,-2549.00000000,13.69999981,0.00000000,-1,-1,15); //Rhino
897 CreateObject(980,2720.69995117,-2503.60009766,15.30000019,0.00000000,0.00000000,270.00000000); //object(airportgate) (1)
898 CreateObject(3578,2720.69995117,-2414.60009766,17.39999962,0.00000000,0.00000000,90.00000000); //object(dockbarr1_la) (1)
899 CreateObject(3578,2720.30004883,-2396.30004883,16.10000038,0.00000000,0.00000000,90.00000000); //object(dockbarr1_la) (2)
900 CreateObject(3578,2720.30004883,-2386.30004883,16.10000038,0.00000000,0.00000000,90.00000000); //object(dockbarr1_la) (3)
901 CreateObject(3578,2720.60009766,-2384.30004883,20.60000038,0.00000000,0.00000000,90.00000000); //object(dockbarr1_la) (4)
902 CreateObject(3578,2720.10009766,-2396.80004883,17.70000076,0.00000000,0.00000000,90.00000000); //object(dockbarr1_la) (5)
903 CreateObject(3578,2720.09960938,-2386.59960938,17.70000076,0.00000000,0.00000000,90.00000000); //object(dockbarr1_la) (7)
904 CreateObject(3578,2720.39941406,-2384.29980469,19.00000000,0.00000000,0.00000000,90.00000000); //object(dockbarr1_la) (8)
905 CreateObject(1238,2720.39990234,-2380.89990234,17.39999962,0.00000000,0.00000000,0.00000000); //object(trafficcone) (1)
906 CreateObject(1238,2720.29980469,-2380.79980469,16.70000076,0.00000000,0.00000000,0.00000000); //object(trafficcone) (2)
907 CreateObject(1238,2720.29980469,-2380.00000000,16.70000076,0.00000000,0.00000000,0.00000000); //object(trafficcone) (3)
908 CreateObject(1238,2720.39941406,-2380.00000000,17.39999962,0.00000000,0.00000000,0.00000000); //object(trafficcone) (4)
909 CreateObject(970,2732.30004883,-2385.50000000,13.19999981,0.00000000,0.00000000,88.00000000); //object(fencesmallb) (1)
910 CreateObject(970,2725.10009766,-2385.30004883,16.89999962,0.00000000,0.00000000,87.99499512); //object(fencesmallb) (2)
911 CreateObject(970,2729.79980469,-2385.39941406,13.80000019,0.00000000,0.00000000,87.99499512); //object(fencesmallb) (3)
912 CreateObject(980,2720.59960938,-2405.50000000,15.19999981,0.00000000,0.00000000,270.00000000); //object(airportgate) (2)
913 CreateObject(3578,2721.30004883,-2506.30004883,18.10000038,0.00000000,0.00000000,92.00000000); //object(dockbarr1_la) (9)
914 CreateObject(3578,2720.19921875,-2511.69921875,15.89999962,0.00000000,0.00000000,91.99951172); //object(dockbarr1_la) (10)
915 CreateObject(3578,2720.29980469,-2513.00000000,17.50000000,0.00000000,0.00000000,91.99951172); //object(dockbarr1_la) (11)
916 CreateObject(3578,2720.50000000,-2512.69921875,19.10000038,0.00000000,0.00000000,91.99951172); //object(dockbarr1_la) (12)
917 CreateObject(3578,2720.19921875,-2494.50000000,15.89999962,0.00000000,0.00000000,91.99951172); //object(dockbarr1_la) (13)
918 CreateObject(3578,2720.69921875,-2491.59960938,16.10000038,0.00000000,0.00000000,91.99951172); //object(dockbarr1_la) (14)
919 CreateObject(3578,2720.89941406,-2491.29980469,17.70000076,0.00000000,0.00000000,91.99951172); //object(dockbarr1_la) (15)
920 CreateObject(3578,2720.69921875,-2501.39941406,17.70000076,0.00000000,0.00000000,91.99951172); //object(dockbarr1_la) (16)
921 CreateObject(3578,2720.39941406,-2414.89941406,16.10000038,0.00000000,0.00000000,90.00000000); //object(dockbarr1_la) (17)
922 //Stunt
923 AddStaticVehicleEx(415,2715.89990234,-1736.90002441,148.30000305,270.00000000,3,1,15); //Cheetah
924 AddStaticVehicleEx(415,2715.59960938,-1743.00000000,148.30000305,270.00000000,3,1,15); //Cheetah
925 AddStaticVehicleEx(415,2715.79980469,-1739.79980469,148.30000305,270.00000000,3,1,15); //Cheetah
926 AddStaticVehicleEx(451,2715.89990234,-1727.00000000,148.19999695,270.00000000,6,1,15); //Turismo
927 AddStaticVehicleEx(451,2715.89990234,-1723.59997559,148.19999695,270.00000000,6,1,15); //Turismo
928 AddStaticVehicleEx(451,2715.80004883,-1720.40002441,148.19999695,270.00000000,6,1,15); //Turismo
929 AddStaticVehicleEx(480,2716.00000000,-1704.59997559,148.30000305,270.00000000,-1,1,15); //Comet
930 AddStaticVehicleEx(480,2716.00000000,-1711.00000000,148.30000305,269.99951172,-1,1,15); //Comet
931 AddStaticVehicleEx(480,2715.89941406,-1707.69921875,148.30000305,270.00000000,-1,1,15); //Comet
932 AddStaticVehicleEx(506,2715.69995117,-1695.19995117,148.19999695,270.00000000,2,3,15); //Super GT
933 AddStaticVehicleEx(506,2715.69921875,-1698.09960938,148.19999695,270.00000000,1,1,15); //Super GT
934 AddStaticVehicleEx(506,2715.89990234,-1691.69995117,148.19999695,270.00000000,125,1,15); //Super GT
935 AddStaticVehicleEx(541,2728.30004883,-1676.09997559,148.10000610,180.00000000,-1,-1,15); //Bullet
936 AddStaticVehicleEx(541,2722.39941406,-1676.19921875,148.10000610,180.00000000,-1,-1,15); //Bullet
937 AddStaticVehicleEx(541,2725.29980469,-1676.09960938,148.10000610,180.00000000,-1,-1,15); //Bullet
938 AddStaticVehicleEx(603,2737.30004883,-1676.19995117,148.39999390,181.99963379,-1,-1,15); //Phoenix
939 AddStaticVehicleEx(603,2734.39941406,-1676.29980469,148.39999390,181.99951172,-1,-1,15); //Phoenix
940 AddStaticVehicleEx(603,2740.10009766,-1675.80004883,148.39999390,181.99951172,-1,-1,15); //Phoenix
941 AddStaticVehicleEx(522,2746.00000000,-1704.69995117,148.10000610,92.00000000,-1,-1,15); //NRG-500
942 AddStaticVehicleEx(522,2746.00000000,-1701.79980469,148.10000610,91.99951172,-1,-1,15); //NRG-500
943 AddStaticVehicleEx(522,2746.19995117,-1707.69995117,148.10000610,91.99951172,-1,-1,15); //NRG-500
944 AddStaticVehicleEx(522,2746.10009766,-1711.09997559,148.10000610,91.99951172,-1,-1,15); //NRG-500
945 AddStaticVehicleEx(522,2746.10009766,-1717.59997559,148.10000610,91.99951172,-1,-1,15); //NRG-500
946 AddStaticVehicleEx(522,2746.00000000,-1714.39941406,148.10000610,91.99951172,-1,-1,15); //NRG-500
947 AddStaticVehicleEx(522,2746.00000000,-1720.90002441,148.10000610,91.99951172,-1,-1,15); //NRG-500
948 AddStaticVehicleEx(522,2746.10009766,-1723.69995117,148.10000610,91.99951172,-1,-1,15); //NRG-500
949 AddStaticVehicleEx(522,2746.30004883,-1727.00000000,148.10000610,91.99951172,-1,-1,15); //NRG-500
950 AddStaticVehicleEx(522,2746.19995117,-1730.19995117,148.10000610,91.99951172,-1,-1,15); //NRG-500
951 AddStaticVehicleEx(461,2746.00000000,-1736.80004883,148.10000610,88.00000000,-1,-1,15); //PCJ-600
952 AddStaticVehicleEx(461,2745.89990234,-1733.50000000,148.10000610,88.00000000,-1,-1,15); //PCJ-600
953 AddStaticVehicleEx(461,2746.30004883,-1739.80004883,148.10000610,87.99499512,-1,-1,15); //PCJ-600
954 AddStaticVehicleEx(461,2746.39990234,-1742.90002441,148.10000610,87.99499512,-1,-1,15); //PCJ-600
955 AddStaticVehicleEx(522,2745.69995117,-1695.40002441,148.10000610,91.99951172,-1,-1,15); //NRG-500
956 AddStaticVehicleEx(522,2745.50000000,-1698.39941406,148.10000610,91.99951172,-1,-1,15); //NRG-500
957 AddStaticVehicleEx(588,2741.39990234,-1686.00000000,149.00000000,90.00000000,-1,-1,15); //Hotdog
958 AddStaticVehicleEx(494,2734.00000000,-1711.09997559,148.39999390,179.99450684,-1,-1,15); //Hotring
959 AddStaticVehicleEx(494,2734.00000000,-1704.09997559,148.39999390,179.99450684,-1,-1,15); //Hotring
960 AddStaticVehicleEx(494,2727.69995117,-1704.80004883,148.39999390,179.99450684,-1,-1,15); //Hotring
961 AddStaticVehicleEx(494,2727.59960938,-1711.09960938,148.39999390,179.99450684,-1,-1,15); //Hotring
962 AddStaticVehicleEx(494,2727.50000000,-1719.59960938,148.39999390,179.99450684,-1,-1,15); //Hotring
963 AddStaticVehicleEx(494,2733.89941406,-1720.09960938,148.39999390,179.99450684,-1,-1,15); //Hotring
964 AddStaticVehicleEx(494,2727.29980469,-1726.29980469,148.39999390,179.99450684,-1,-1,15); //Hotring
965 AddStaticVehicleEx(494,2734.09960938,-1727.79980469,148.39999390,179.99450684,-1,-1,15); //Hotring
966 CreateObject(3873,2729.69995117,-1761.19995117,60.29999924,0.00000000,0.00000000,0.00000000); //object(silicon04_sfs) (1)
967 CreateObject(3873,2726.30004883,-1761.00000000,95.00000000,0.00000000,0.00000000,0.00000000); //object(silicon04_sfs) (2)
968 CreateObject(3873,2727.19995117,-1760.90002441,129.69999695,0.00000000,0.00000000,0.00000000); //object(silicon04_sfs) (3)
969 CreateObject(4108,2725.89990234,-1818.90002441,145.00000000,0.00000000,0.00000000,0.00000000); //object(roads01b_lan) (1)
970 CreateObject(4654,2725.60009766,-1932.00000000,140.19999695,0.00000000,0.00000000,0.00000000); //object(road09_lan2) (1)
971 CreateObject(5153,2725.50000000,-1989.59997559,135.30000305,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (1)
972 CreateObject(5153,2727.39990234,-1989.50000000,135.30000305,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (2)
973 CreateObject(5153,2729.50000000,-1989.50000000,135.30000305,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (3)
974 CreateObject(5153,2731.69995117,-1989.50000000,135.50000000,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (4)
975 CreateObject(5153,2733.80004883,-1989.30004883,135.50000000,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (5)
976 CreateObject(5153,2723.39990234,-1989.59997559,135.30000305,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (6)
977 CreateObject(5153,2721.19995117,-1989.80004883,135.30000305,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (7)
978 CreateObject(5153,2719.10009766,-1989.30004883,135.50000000,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (8)
979 CreateObject(5153,2716.89990234,-1989.50000000,135.50000000,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (9)
980 CreateObject(5153,2715.60009766,-1989.50000000,135.50000000,0.00000000,0.00000000,270.00000000); //object(stuntramp7_las2) (10)
981 CreateObject(8040,2730.89990234,-1712.30004883,148.19999695,0.00000000,0.00000000,270.00000000); //object(airprtcrprk02_lvs) (1)
982 CreateObject(9833,2730.50000000,-1712.09997559,144.39999390,0.00000000,0.00000000,0.00000000); //object(fountain_sfw) (1)
983 CreateObject(3749,2730.30004883,-1753.30004883,152.89999390,0.00000000,0.00000000,0.00000000); //object(clubgate01_lax) (1)
984 CreateObject(10281,2736.30004883,-1751.50000000,159.39999390,0.00000000,0.00000000,182.00000000); //object(michsign_sfe) (1)
985 CreateObject(10281,2729.89990234,-1751.30004883,159.19999695,0.00000000,0.00000000,181.99951172); //object(michsign_sfe) (2)
986 CreateObject(10281,2724.30004883,-1750.80004883,158.80000305,0.00000000,0.00000000,181.99951172); //object(michsign_sfe) (3)
987 CreateObject(792,2731.19995117,-1694.19995117,147.60000610,0.00000000,0.00000000,0.00000000); //object(aw_streettree1) (1)
988 CreateObject(792,2731.30004883,-1700.69995117,147.60000610,0.00000000,0.00000000,0.00000000); //object(aw_streettree1) (2)
989 CreateObject(792,2731.10009766,-1707.69995117,147.60000610,0.00000000,0.00000000,0.00000000); //object(aw_streettree1) (3)
990 CreateObject(792,2730.80004883,-1715.30004883,147.60000610,0.00000000,0.00000000,0.00000000); //object(aw_streettree1) (4)
991 CreateObject(792,2731.00000000,-1723.00000000,147.60000610,0.00000000,0.00000000,0.00000000); //object(aw_streettree1) (5)
992 CreateObject(792,2738.30004883,-1749.09997559,147.39999390,0.00000000,0.00000000,0.00000000); //object(aw_streettree1) (6)
993 CreateObject(792,2730.69921875,-1731.39941406,147.60000610,0.00000000,0.00000000,0.00000000); //object(aw_streettree1) (7)
994 CreateObject(792,2723.00000000,-1749.40002441,147.39999390,0.00000000,0.00000000,0.00000000); //object(aw_streettree1) (8)
995 CreateObject(1215,2737.69995117,-1749.19995117,148.00000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (1)
996 CreateObject(1215,2739.10009766,-1749.30004883,148.00000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (2)
997 CreateObject(1215,2723.69995117,-1749.40002441,148.00000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (3)
998 CreateObject(1215,2722.29980469,-1749.50000000,148.00000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (4)
999 CreateObject(1215,2735.89990234,-1751.40002441,148.00000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (5)
1000 CreateObject(1215,2724.69995117,-1751.40002441,148.00000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (6)
1001 CreateObject(1215,2730.80004883,-1719.09997559,148.19999695,0.00000000,0.00000000,0.00000000); //object(bollardlight) (7)
1002 CreateObject(1215,2731.09960938,-1726.79980469,148.19999695,0.00000000,0.00000000,0.00000000); //object(bollardlight) (8)
1003 CreateObject(1215,2731.00000000,-1697.30004883,148.19999695,0.00000000,0.00000000,0.00000000); //object(bollardlight) (9)
1004 CreateObject(1215,2730.80004883,-1703.80004883,148.19999695,0.00000000,0.00000000,0.00000000); //object(bollardlight) (10)
1005 CreateObject(1290,2724.89990234,-1933.40002441,143.39999390,0.00000000,0.00000000,0.00000000); //object(lamppost2) (1)
1006 CreateObject(1290,2725.50000000,-1964.00000000,140.30000305,0.00000000,0.00000000,0.00000000); //object(lamppost2) (2)
1007 //stunt
1008 AddStaticVehicleEx(451,2761.10009766,-1464.59997559,228.69999695,0.00000000,-1,-1,15); //Turismo
1009 AddStaticVehicleEx(451,2766.80004883,-1465.50000000,228.69999695,0.00000000,-1,-1,15); //Turismo
1010 AddStaticVehicleEx(451,2771.89990234,-1466.19995117,228.69999695,0.00000000,-1,-1,15); //Turismo
1011 AddStaticVehicleEx(451,2776.10009766,-1456.09997559,228.69999695,78.00000000,-1,-1,15); //Turismo
1012 AddStaticVehicleEx(451,2777.59960938,-1451.09960938,228.69999695,77.99743652,-1,-1,15); //Turismo
1013 AddStaticVehicleEx(451,2778.50000000,-1446.80004883,228.69999695,77.99743652,-1,-1,15); //Turismo
1014 AddStaticVehicleEx(451,2768.80004883,-1443.30004883,228.69999695,115.99743652,-1,-1,15); //Turismo
1015 AddStaticVehicleEx(451,2763.10009766,-1442.69995117,228.69999695,115.99365234,-1,-1,15); //Turismo
1016 AddStaticVehicleEx(451,2756.30004883,-1441.50000000,228.69999695,115.99365234,-1,-1,15); //Turismo
1017 AddStaticVehicleEx(451,2750.50000000,-1440.30004883,228.69999695,115.99365234,-1,-1,15); //Turismo
1018 AddStaticVehicleEx(451,2755.80004883,-1463.30004883,228.69999695,0.00000000,-1,-1,15); //Turismo
1019 AddStaticVehicleEx(451,2750.50000000,-1462.09997559,228.69999695,0.00000000,-1,-1,15); //Turismo
1020 AddStaticVehicleEx(451,2745.50000000,-1461.59997559,228.69999695,0.00000000,-1,-1,15); //Turismo
1021 CreateObject(4023,2763.09960938,-1452.00000000,122.69999695,0.00000000,0.00000000,0.00000000); //object(newdbbuild_lan04) (4)
1022 CreateObject(4113,2760.89990234,-1454.59997559,191.89999390,0.00000000,0.00000000,0.00000000); //object(lanofficeblok1) (1)
1023 CreateObject(4148,2703.50000000,-1454.90002441,227.19999695,0.00000000,0.00000000,98.00000000); //object(roads13_lan) (1)
1024 CreateObject(4654,2497.30004883,-1481.50000000,212.60000610,0.00000000,0.00000000,276.00000000); //object(road09_lan2) (1)
1025 CreateObject(4654,2598.50000000,-1471.09960938,222.80000305,0.00000000,0.00000000,275.99853516); //object(road09_lan2) (2)
1026 CreateObject(1634,2439.30004883,-1479.80004883,208.19999695,0.00000000,0.00000000,96.00000000); //object(landjump2) (10)
1027 CreateObject(1634,2439.89990234,-1496.59997559,208.19999695,0.00000000,0.00000000,95.99853516); //object(landjump2) (11)
1028 CreateObject(1634,2438.59960938,-1488.29980469,208.00000000,0.00000000,0.00000000,95.99853516); //object(landjump2) (12)
1029 CreateObject(1634,2438.89941406,-1484.19921875,208.00000000,0.00000000,0.00000000,95.99853516); //object(landjump2) (13)
1030 CreateObject(1634,2439.39941406,-1492.59960938,208.19999695,0.00000000,0.00000000,95.99853516); //object(landjump2) (14)
1031 CreateObject(980,2781.89990234,-1448.30004883,230.69999695,0.00000000,0.00000000,256.00000000); //object(airportgate) (1)
1032 CreateObject(980,2776.69921875,-1466.69921875,230.69999695,0.00000000,0.00000000,255.99792480); //object(airportgate) (2)
1033 CreateObject(980,2779.59960938,-1455.29980469,230.69999695,0.00000000,0.00000000,255.99792480); //object(airportgate) (3)
1034 CreateObject(980,2748.50000000,-1437.30004883,230.69999695,0.00000000,0.00000000,351.99792480); //object(airportgate) (4)
1035 CreateObject(980,2769.50000000,-1471.09997559,230.69999695,0.00000000,0.00000000,345.99645996); //object(airportgate) (5)
1036 CreateObject(980,2766.39941406,-1439.89941406,230.69999695,0.00000000,0.00000000,351.99645996); //object(airportgate) (6)
1037 CreateObject(980,2755.00000000,-1438.29980469,230.69999695,0.00000000,0.00000000,351.99645996); //object(airportgate) (7)
1038 CreateObject(980,2777.89941406,-1441.50000000,230.69999695,0.00000000,0.00000000,351.99645996); //object(airportgate) (8)
1039 CreateObject(980,2747.19995117,-1465.19995117,230.69999695,0.00000000,0.00000000,345.99243164); //object(airportgate) (9)
1040 CreateObject(980,2758.39941406,-1468.00000000,230.69999695,0.00000000,0.00000000,345.99243164); //object(airportgate) (10)
1041 CreateObject(980,2743.19995117,-1464.19995117,230.69999695,0.00000000,0.00000000,345.99243164); //object(airportgate) (11)
1042 CreateObject(3749,2742.60009766,-1448.80004883,233.80000305,0.00000000,0.00000000,82.00000000); //object(clubgate01_lax) (1)
1043 CreateObject(970,2738.89990234,-1460.59997559,228.50000000,0.00000000,0.00000000,260.00000000); //object(fencesmallb) (1)
1044 CreateObject(970,2743.30004883,-1437.80004883,228.50000000,0.00000000,0.00000000,259.99694824); //object(fencesmallb) (2)
1045 CreateObject(970,2738.80004883,-1460.59997559,229.60000610,0.00000000,0.00000000,259.99694824); //object(fencesmallb) (3)
1046 CreateObject(970,2738.60009766,-1460.59997559,230.69999695,0.00000000,0.00000000,259.99694824); //object(fencesmallb) (4)
1047 CreateObject(970,2743.19995117,-1437.69995117,229.60000610,0.00000000,0.00000000,259.99694824); //object(fencesmallb) (5)
1048 CreateObject(970,2743.10009766,-1437.59997559,230.60000610,0.00000000,0.00000000,259.99694824); //object(fencesmallb) (6)
1049 CreateObject(9833,2746.00000000,-1438.80004883,231.10000610,0.00000000,0.00000000,0.00000000); //object(fountain_sfw) (1)
1050 CreateObject(9833,2739.69921875,-1460.89941406,231.10000610,0.00000000,0.00000000,0.00000000); //object(fountain_sfw) (2)
1051 CreateObject(10281,2745.89990234,-1450.00000000,238.89999390,0.00000000,0.00000000,74.00000000); //object(michsign_sfe) (1)
1052 CreateObject(4148,2703.50000000,-1454.89941406,227.19999695,0.00000000,0.00000000,97.99804688); //object(roads13_lan) (2)
1053 CreateObject(1215,2773.19995117,-1443.00000000,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (1)
1054 CreateObject(1215,2744.19921875,-1454.50000000,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (2)
1055 CreateObject(1215,2745.19921875,-1443.39941406,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (3)
1056 CreateObject(1215,2758.89990234,-1443.00000000,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (4)
1057 CreateObject(1215,2775.50000000,-1453.19995117,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (5)
1058 CreateObject(1215,2775.10009766,-1461.90002441,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (6)
1059 CreateObject(1215,2769.50000000,-1467.19995117,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (7)
1060 CreateObject(1215,2748.00000000,-1459.69995117,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (9)
1061 CreateObject(1215,2752.89990234,-1460.50000000,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (10)
1062 CreateObject(1215,2769.60009766,-1463.80004883,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (11)
1063 CreateObject(1215,2764.00000000,-1463.19995117,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (12)
1064 CreateObject(1215,2758.50000000,-1462.00000000,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (13)
1065 CreateObject(1215,2776.39990234,-1448.69995117,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (14)
1066 CreateObject(1215,2764.80004883,-1444.00000000,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (15)
1067 CreateObject(1215,2752.19995117,-1442.19995117,228.50000000,0.00000000,0.00000000,0.00000000); //object(bollardlight) (16)
1068 //good dm
1069 CreateObject(8664,-746.31768799,1909.59155273,-0.42997101,0.00000000,0.00000000,270.00000000); //object(casrylegrnd_lvs) (1)
1070 CreateObject(8210,-779.87677002,1925.58923340,2.72172809,0.00000000,0.00000000,270.00000000); //object(vgsselecfence12) (1)
1071 CreateObject(8210,-779.87231445,1891.58459473,2.72952509,0.00000000,0.00000000,270.00000000); //object(vgsselecfence12) (2)
1072 CreateObject(987,-780.09094238,1904.70227051,2.60350108,0.00000000,0.00000000,0.00003052); //object(elecfence_bar) (1)
1073 CreateObject(987,-768.31262207,1904.60412598,2.60350704,0.00000000,0.00000000,90.00012207); //object(elecfence_bar) (2)
1074 CreateObject(987,-768.22564697,1916.37963867,2.55349898,0.00000000,0.00000000,179.99993896); //object(elecfence_bar) (3)
1075 CreateObject(11427,-771.17156982,1910.23999023,9.84331703,0.00000000,0.00000000,180.00000000); //object(des_adobech) (1)
1076 CreateObject(8838,-763.19134521,1943.02539062,1.09790003,0.00000000,0.00000000,0.00000000); //object(vgehshade01_lvs) (1)
1077 CreateObject(8838,-759.55108643,1943.03625488,1.12289798,0.00000000,0.00000000,0.00000000); //object(vgehshade01_lvs) (2)
1078 CreateObject(8838,-759.54357910,1940.51171875,1.17289996,0.00000000,0.00000000,180.00006104); //object(vgehshade01_lvs) (3)
1079 CreateObject(8838,-777.85577393,1928.93676758,1.14788795,0.00000000,0.00000000,270.00000000); //object(vgehshade01_lvs) (4)
1080 CreateObject(8838,-772.83776855,1928.92407227,1.19790006,0.00000000,0.00000000,270.00000000); //object(vgehshade01_lvs) (5)
1081 CreateObject(8838,-767.73614502,1909.77404785,1.14789999,0.00000000,0.00000000,270.00000000); //object(vgehshade01_lvs) (6)
1082 CreateObject(8838,-766.22094727,1909.77233887,1.17289996,0.00000000,0.00000000,270.00000000); //object(vgehshade01_lvs) (7)
1083 CreateObject(8838,-756.17565918,1912.56042480,1.19790006,0.00000000,0.00000000,180.00006104); //object(vgehshade01_lvs) (8)
1084 CreateObject(8838,-756.11535645,1908.30847168,1.18540096,0.00000000,0.00000000,180.00006104); //object(vgehshade01_lvs) (9)
1085 CreateObject(8838,-772.78527832,1889.65710449,1.12290001,0.00000000,0.00000000,270.00000000); //object(vgehshade01_lvs) (10)
1086 CreateObject(8838,-777.89288330,1889.66552734,1.12290001,0.00000000,0.00000000,270.00000000); //object(vgehshade01_lvs) (11)
1087 CreateObject(8838,-759.53796387,1875.51611328,1.17289996,0.00000000,0.00000000,180.00006104); //object(vgehshade01_lvs) (12)
1088 CreateObject(8838,-759.54956055,1877.88476562,1.14789605,0.00000000,0.00000000,180.00006104); //object(vgehshade01_lvs) (13)
1089 CreateObject(14416,-768.17785645,1936.17663574,-0.53393602,0.00000000,0.00000000,0.00000000); //object(carter-stairs07) (1)
1090 CreateObject(14416,-768.26867676,1882.28564453,-0.52613902,0.00000000,0.00000000,179.99993896); //object(carter-stairs07) (2)
1091 CreateObject(8210,-736.31860352,1966.78930664,2.72952509,0.00000000,0.00000000,0.00006104); //object(vgsselecfence12) (3)
1092 CreateObject(8210,-736.00830078,1851.80371094,2.72952509,0.00000000,0.00000000,180.00012207); //object(vgsselecfence12) (4)
1093 CreateObject(14416,-741.00292969,1940.08264160,-0.55114102,0.00000000,0.00000000,89.99996948); //object(carter-stairs07) (3)
1094 CreateObject(14416,-741.02697754,1943.64306641,-0.55113900,0.00000000,0.00000000,89.99996948); //object(carter-stairs07) (4)
1095 CreateObject(14416,-737.66802979,1907.75634766,-0.52613902,0.00000000,0.00000000,89.99996948); //object(carter-stairs07) (5)
1096 CreateObject(14416,-737.66998291,1911.74462891,-0.52613902,0.00000000,0.00000000,89.99996948); //object(carter-stairs07) (6)
1097 CreateObject(14416,-737.68096924,1913.15710449,-0.52614099,0.00000000,0.00000000,89.99996948); //object(carter-stairs07) (7)
1098 CreateObject(14416,-741.02453613,1874.97985840,-0.52489102,0.00000000,0.00000000,89.99996948); //object(carter-stairs07) (8)
1099 CreateObject(987,-708.79010010,1966.34143066,1.12849796,0.00000000,0.00000000,270.00000000); //object(elecfence_bar) (4)
1100 CreateObject(987,-708.72186279,1864.06677246,1.15349603,0.00000000,0.00000000,270.00000000); //object(elecfence_bar) (5)
1101 CreateObject(8838,-734.82421875,1909.76269531,-0.35990101,0.00000000,0.00000000,90.00000000); //object(vgehshade01_lvs) (14)
1102 CreateObject(3565,-739.69470215,1884.28588867,-0.16856600,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (1)
1103 CreateObject(3565,-739.68255615,1876.21667480,-0.17356500,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (2)
1104 CreateObject(3565,-739.68481445,1871.15869141,-0.14856200,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (3)
1105 CreateObject(8838,-730.04235840,1909.77636719,-0.32707399,0.00000000,0.00000000,90.00000000); //object(vgehshade01_lvs) (15)
1106 CreateObject(3565,-737.19433594,1884.27551270,-0.17356201,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (4)
1107 CreateObject(3565,-737.09613037,1876.21447754,-0.17356600,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (5)
1108 CreateObject(3565,-737.11566162,1871.16333008,-0.17356600,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (6)
1109 CreateObject(14416,-738.67083740,1889.98303223,-2.02613902,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (9)
1110 CreateObject(14416,-738.69165039,1893.95166016,-2.02613902,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (10)
1111 CreateObject(3565,-742.28216553,1884.28576660,-0.16356200,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (7)
1112 CreateObject(3565,-743.18939209,1884.29345703,-0.17356600,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (8)
1113 CreateObject(14416,-741.02838135,1878.47949219,-0.52613902,0.00000000,0.00000000,89.99996948); //object(carter-stairs07) (11)
1114 CreateObject(8838,-734.21191406,1883.76757812,-0.35210201,0.00000000,0.00000000,90.00000000); //object(vgehshade01_lvs) (16)
1115 CreateObject(3565,-739.71563721,1947.38281250,-0.17106199,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (9)
1116 CreateObject(3565,-739.68438721,1941.38195801,-0.17356201,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (10)
1117 CreateObject(3565,-739.67651367,1935.16528320,-0.16731200,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (11)
1118 CreateObject(3565,-737.13806152,1947.41259766,-0.17356201,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (12)
1119 CreateObject(3565,-737.11755371,1939.35583496,-0.17356201,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (13)
1120 CreateObject(3565,-737.12145996,1935.17614746,-0.16981199,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (14)
1121 CreateObject(14416,-738.62762451,1929.12280273,-2.05113912,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (12)
1122 CreateObject(14416,-738.62475586,1925.14404297,-2.05112100,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (13)
1123 CreateObject(3565,-742.24395752,1935.16711426,-0.17356201,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (15)
1124 CreateObject(3565,-743.73651123,1935.18640137,-0.16856600,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (16)
1125 CreateObject(3565,-741.62030029,1871.14941406,-0.17356201,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (17)
1126 CreateObject(14416,-744.79937744,1869.03466797,-2.05113912,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (14)
1127 CreateObject(3565,-742.25164795,1947.40539551,-0.17356201,0.00000000,0.00000000,270.00000000); //object(lasdkrt1_la01) (18)
1128 CreateObject(14416,-745.42718506,1949.42602539,-2.02613902,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (15)
1129 CreateObject(1684,-743.82836914,1953.45324707,1.21837604,0.00000000,0.00000000,0.00000000); //object(portakabin) (1)
1130 CreateObject(1684,-733.87097168,1953.50378418,1.21837401,0.00000000,0.00000000,180.00000000); //object(portakabin) (2)
1131 CreateObject(1684,-743.80645752,1953.49450684,4.17413187,0.00000000,0.00000000,180.00006104); //object(portakabin) (3)
1132 CreateObject(1684,-733.89062500,1953.47033691,4.17412996,0.00000000,0.00000000,0.00000000); //object(portakabin) (4)
1133 CreateObject(1684,-733.82666016,1864.99938965,1.21837401,0.00000000,0.00000000,0.00000000); //object(portakabin) (5)
1134 CreateObject(1684,-743.76190186,1865.00671387,1.21837401,0.00000000,0.00000000,180.00006104); //object(portakabin) (6)
1135 CreateObject(1684,-733.80133057,1865.03369141,4.17412996,0.00000000,0.00000000,180.00006104); //object(portakabin) (7)
1136 CreateObject(1684,-743.77008057,1864.96777344,4.17412996,0.00000000,0.00000000,0.00003052); //object(portakabin) (8)
1137 CreateObject(8838,-722.84503174,1859.74609375,-0.37085500,0.00000000,0.00000000,0.00003052); //object(vgehshade01_lvs) (17)
1138 CreateObject(8838,-722.85229492,1854.64685059,-0.35210499,0.00000000,0.00000000,0.00003052); //object(vgehshade01_lvs) (18)
1139 CreateObject(8838,-722.87158203,1860.44738770,-0.35211200,0.00000000,0.00000000,0.00003052); //object(vgehshade01_lvs) (19)
1140 CreateObject(8838,-722.87274170,1958.04931641,-0.32710600,0.00000000,0.00000000,0.00003052); //object(vgehshade01_lvs) (20)
1141 CreateObject(8838,-722.88085938,1963.08349609,-0.35210201,0.00000000,0.00000000,0.00003052); //object(vgehshade01_lvs) (21)
1142 CreateObject(8838,-722.90081787,1963.94104004,-0.32710800,0.00000000,0.00000000,0.00003052); //object(vgehshade01_lvs) (22)
1143 CreateObject(14416,-741.47662354,1957.45471191,-2.02613711,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (16)
1144 CreateObject(14416,-741.48181152,1961.08154297,-2.02613902,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (17)
1145 CreateObject(14416,-741.47076416,1964.82128906,-2.02613902,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (18)
1146 CreateObject(14416,-741.44372559,1860.92919922,-2.03393412,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (19)
1147 CreateObject(14416,-741.46588135,1857.72399902,-2.03393412,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (20)
1148 CreateObject(14416,-741.48107910,1854.02758789,-2.03393412,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (21)
1149 CreateObject(3578,-744.75262451,1906.41491699,3.03152990,0.00000000,0.00000000,180.00006104); //object(dockbarr1_la) (1)
1150 CreateObject(3578,-744.62597656,1914.46545410,3.03152990,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (2)
1151 CreateObject(3578,-755.03332520,1906.42993164,3.03152990,0.00000000,0.00000000,180.00006104); //object(dockbarr1_la) (3)
1152 CreateObject(3578,-758.52148438,1906.42871094,3.03152990,0.00000000,0.00000000,180.00006104); //object(dockbarr1_la) (4)
1153 CreateObject(3578,-754.92340088,1914.47363281,3.03152990,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (5)
1154 CreateObject(3578,-758.51568604,1914.46398926,3.03152990,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (6)
1155 CreateObject(3578,-748.04357910,1879.82958984,2.98152995,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (7)
1156 CreateObject(3578,-758.32904053,1879.84399414,2.98152590,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (8)
1157 CreateObject(3578,-761.00268555,1879.84167480,2.98152590,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (9)
1158 CreateObject(3578,-748.02606201,1873.61096191,2.95653009,0.00000000,0.00000000,180.00000000); //object(dockbarr1_la) (10)
1159 CreateObject(3578,-758.29431152,1873.62243652,2.95653009,0.00000000,0.00000000,180.00006104); //object(dockbarr1_la) (11)
1160 CreateObject(3578,-765.32128906,1873.62609863,2.98152995,0.00000000,0.00000000,180.00006104); //object(dockbarr1_la) (12)
1161 CreateObject(3578,-748.01220703,1938.65869141,3.03152990,0.00000000,0.00000000,180.00006104); //object(dockbarr1_la) (13)
1162 CreateObject(3578,-758.26873779,1938.68249512,3.03152990,0.00000000,0.00000000,180.00000000); //object(dockbarr1_la) (14)
1163 CreateObject(3578,-760.80102539,1938.68225098,3.03152990,0.00000000,0.00000000,180.00000000); //object(dockbarr1_la) (15)
1164 CreateObject(3578,-761.06793213,1944.93542480,3.03152990,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (16)
1165 CreateObject(3578,-750.82818604,1944.91552734,3.03152990,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (17)
1166 CreateObject(3578,-748.02581787,1944.89453125,3.03152800,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (18)
1167 CreateObject(3578,-771.08001709,1932.84582520,3.03152990,0.00000000,0.00000000,270.00000000); //object(dockbarr1_la) (19)
1168 CreateObject(3578,-764.41198730,1920.28710938,3.03152990,0.00000000,0.00000000,270.00000000); //object(dockbarr1_la) (20)
1169 CreateObject(3578,-764.41625977,1900.21643066,3.03152990,0.00000000,0.00000000,270.00000000); //object(dockbarr1_la) (21)
1170 CreateObject(3578,-771.01715088,1885.59814453,3.00653005,0.00000000,0.00000000,270.00000000); //object(dockbarr1_la) (22)
1171 CreateObject(3578,-771.33850098,1944.94482422,3.03152990,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (23)
1172 CreateObject(3578,-775.13732910,1944.95300293,3.03152990,0.00000000,0.00000000,0.00000000); //object(dockbarr1_la) (24)
1173 CreateObject(3578,-775.31927490,1873.64306641,2.98152995,0.00000000,0.00000000,180.00006104); //object(dockbarr1_la) (25)
1174 CreateObject(944,-768.54718018,1941.49194336,3.56328511,0.00000000,0.00000000,89.99996948); //object(packing_carates04) (1)
1175 CreateObject(944,-765.17669678,1910.50109863,3.56328511,0.00000000,0.00000000,89.99996948); //object(packing_carates04) (2)
1176 CreateObject(944,-768.58892822,1877.11486816,3.56328511,0.00000000,0.00000000,89.99996948); //object(packing_carates04) (3)
1177 CreateObject(1685,-742.45947266,1910.51879883,3.42849803,0.00000000,0.00000000,0.00000000); //object(blockpallet) (1)
1178 CreateObject(1685,-746.90924072,1942.37500000,3.42849803,0.00000000,0.00000000,0.00000000); //object(blockpallet) (2)
1179 CreateObject(1685,-749.14025879,1876.96679688,3.42849803,0.00000000,0.00000000,22.49996948); //object(blockpallet) (3)
1180 CreateObject(1685,-739.66839600,1893.95556641,1.92069697,0.00000000,0.00000000,0.00000000); //object(blockpallet) (4)
1181 CreateObject(8838,-739.17407227,1909.76196289,-0.33500001,0.00000000,0.00000000,90.00000000); //object(vgehshade01_lvs) (23)
1182 CreateObject(2567,-747.73480225,1899.21887207,1.56003594,0.00000000,0.00000000,11.25000000); //object(ab_warehouseshelf) (1)
1183 CreateObject(3798,-757.41552734,1897.88818359,-0.37102199,0.00000000,0.00000000,11.25000000); //object(acbox3_sfs) (1)
1184 CreateObject(3799,-746.16711426,1921.98645020,-0.48576200,0.00000000,0.00000000,22.49996948); //object(acbox2_sfs) (1)
1185 CreateObject(3798,-748.81799316,1928.71032715,-0.37102401,0.00000000,0.00000000,11.25000000); //object(acbox3_sfs) (2)
1186 CreateObject(934,-756.83776855,1934.35461426,0.96071303,0.00000000,0.00000000,270.00000000); //object(generator_big) (1)
1187 CreateObject(923,-752.67108154,1906.94921875,0.51212102,0.00000000,0.00000000,0.00000000); //object(packing_carates2) (1)
1188 CreateObject(922,-754.49047852,1924.47167969,0.51017898,0.00000000,0.00000000,270.00000000); //object(packing_carates1) (1)
1189 CreateObject(3631,-760.92803955,1885.06262207,0.21073100,0.00000000,0.00000000,270.00000000); //object(oilcrat_las) (1)
1190 CreateObject(14416,-745.43096924,1947.14331055,-2.02978611,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (22)
1191 CreateObject(14416,-744.79962158,1870.73779297,-2.05877805,0.00000000,0.00000000,270.00000000); //object(carter-stairs07) (23)
1192 CreateObject(973,-741.42028809,1921.80798340,0.47265401,0.00000000,0.00000000,90.00000000); //object(sub_roadbarrier) (1)
1193 CreateObject(973,-741.41503906,1912.42871094,0.47265401,0.00000000,0.00000000,90.00000000); //object(sub_roadbarrier) (2)
1194 CreateObject(973,-741.42718506,1903.08508301,0.47265401,0.00000000,0.00000000,90.00000000); //object(sub_roadbarrier) (3)
1195 CreateObject(973,-741.43231201,1897.71606445,0.47265401,0.00000000,0.00000000,90.00000000); //object(sub_roadbarrier) (4)
1196 CreateObject(973,-736.94189453,1893.25512695,0.47265401,0.00000000,0.00000000,180.00006104); //object(sub_roadbarrier) (5)
1197 CreateObject(973,-736.95312500,1926.29943848,0.47265401,0.00000000,0.00000000,0.00006104); //object(sub_roadbarrier) (6)
1198 CreateObject(1684,-765.80700684,1921.45141602,1.09730995,0.00000000,0.00000000,270.00000000); //object(portakabin) (9)
1199 CreateObject(1684,-765.82464600,1911.51184082,1.08951402,0.00000000,0.00000000,270.00000000); //object(portakabin) (10)
1200 CreateObject(1684,-765.81494141,1901.56042480,1.09730995,0.00000000,0.00000000,270.00000000); //object(portakabin) (11)
1201 CreateObject(1684,-768.70965576,1895.15173340,1.09621203,0.00000000,0.00000000,180.00000000); //object(portakabin) (12)
1202 CreateObject(1684,-772.40551758,1888.00976562,1.09730995,0.00000000,0.00000000,270.00000000); //object(portakabin) (13)
1203 CreateObject(1684,-772.38928223,1878.06945801,1.09730995,0.00000000,0.00000000,270.00000000); //object(portakabin) (14)
1204 CreateObject(1684,-772.78942871,1924.37744141,1.09730995,0.00000000,0.00000000,0.00000000); //object(portakabin) (15)
1205 CreateObject(1684,-772.45153809,1931.41564941,1.09730995,0.00000000,0.00000000,270.00000000); //object(portakabin) (16)
1206 CreateObject(1684,-772.44165039,1941.36584473,1.09730995,0.00000000,0.00000000,270.00000000); //object(portakabin) (17)
1207 CreateObject(3578,-771.00415039,1887.98791504,3.00653005,0.00000000,0.00000000,270.00000000); //object(dockbarr1_la) (26)
1208 CreateObject(3578,-771.07312012,1931.57421875,3.03152990,0.00000000,0.00000000,270.00000000); //object(dockbarr1_la) (27)
1209 CreateObject(3631,-761.07702637,1951.30639648,0.21073100,0.00000000,0.00000000,281.25000000); //object(oilcrat_las) (2)
1210 CreateObject(1439,-764.09503174,1905.83471680,2.79420304,0.00000000,0.00000000,56.25000000); //object(dyn_dumpster_1) (1)
1211 CreateObject(1439,-764.15258789,1914.54443359,2.79420304,0.00000000,0.00000000,134.99996948); //object(dyn_dumpster_1) (2)
1212 CreateObject(3631,-767.69940186,1894.06689453,3.25679493,0.00000000,0.00000000,0.00000000); //object(oilcrat_las) (3)
1213 CreateObject(3631,-767.66662598,1925.45605469,3.25679493,0.00000000,0.00000000,0.00000000); //object(oilcrat_las) (4)
1214 CreateObject(738,-729.04388428,1916.95800781,1.60420203,0.00000000,0.00000000,0.00000000); //object(aw_streettree2) (1)
1215 CreateObject(738,-729.02954102,1903.01000977,1.60420203,0.00000000,0.00000000,0.00000000); //object(aw_streettree2) (2)
1216 CreateObject(936,-728.54516602,1911.98999023,1.65323603,0.00000000,0.00000000,0.00000000); //object(cj_df_worktop_2) (1)
1217 CreateObject(936,-728.55352783,1908.59765625,1.65323603,0.00000000,0.00000000,0.00000000); //object(cj_df_worktop_2) (2)
1218 CreateObject(936,-730.04931641,1911.87207031,1.65323603,0.00000000,0.00000000,89.99996948); //object(cj_df_worktop_2) (3)
1219 CreateObject(936,-730.02947998,1908.67016602,1.65323603,0.00000000,0.00000000,89.99996948); //object(cj_df_worktop_2) (4)
1220 CreateObject(3594,-754.32910156,1886.42883301,0.26361099,0.00000000,0.00000000,281.25000000); //object(la_fuckcar1) (1)
1221 CreateObject(944,-776.80078125,1894.36682129,3.56328511,0.00000000,0.00000000,180.00000000); //object(packing_carates04) (4)
1222 CreateObject(944,-779.62091064,1894.35607910,3.54196405,0.00000000,0.00000000,180.00000000); //object(packing_carates04) (5)
1223 CreateObject(944,-776.82147217,1925.75744629,3.55916190,0.00000000,0.00000000,180.00000000); //object(packing_carates04) (6)
1224 CreateObject(944,-779.14758301,1925.74499512,3.56327200,0.00000000,0.00000000,180.00000000); //object(packing_carates04) (7)
1225 CreateObject(944,-772.92352295,1933.54113770,3.56328511,0.00000000,0.00000000,179.99993896); //object(packing_carates04) (8)
1226 CreateObject(944,-772.87878418,1885.38012695,3.56328511,0.00000000,0.00000000,179.99993896); //object(packing_carates04) (9)
1227 CreateObject(3798,-777.31994629,1885.36047363,2.67504191,0.00000000,0.00000000,0.00000000); //object(acbox3_sfs) (3)
1228 CreateObject(944,-738.44396973,1937.21643066,2.06060910,0.00000000,0.00000000,180.00000000); //object(packing_carates04) (10)
1229 CreateObject(944,-733.18005371,1945.55761719,2.06328392,0.00000000,0.00000000,180.00000000); //object(packing_carates04) (11)
1230 CreateObject(1685,-740.21166992,1925.55053711,1.92069495,0.00000000,0.00000000,0.00000000); //object(blockpallet) (5)
1231 CreateObject(944,-742.96740723,1936.43469238,2.06060910,0.00000000,0.00000000,270.00000000); //object(packing_carates04) (12)
1232 CreateObject(1439,-744.63354492,1931.85473633,1.29152298,0.00000000,0.00000000,89.99996948); //object(dyn_dumpster_1) (3)
1233 CreateObject(936,-737.65814209,1931.68359375,1.65053499,0.00000000,0.00000000,180.00000000); //object(cj_df_worktop_2) (5)
1234 CreateObject(1685,-743.62719727,1887.43969727,1.90082204,0.00000000,0.00000000,0.00000000); //object(blockpallet) (6)
1235 CreateObject(1685,-738.12878418,1887.40759277,1.92582202,0.00000000,0.00000000,0.00000000); //object(blockpallet) (7)
1236 CreateObject(936,-742.02142334,1881.58813477,1.63506496,0.00000000,0.00000000,89.99996948); //object(cj_df_worktop_2) (6)
1237 CreateObject(8838,-734.23602295,1934.65075684,-0.38490900,0.00000000,0.00000000,90.00000000); //object(vgehshade01_lvs) (24)
1238 CreateObject(2094,-737.15917969,1923.27258301,1.16947603,0.00000000,0.00000000,337.50000000); //object(swank_cabinet_4) (1)
1239 CreateObject(1762,-734.80786133,1923.84692383,1.17852998,0.00000000,0.00000000,33.75000000); //object(swank_single_2) (1)
1240 CreateObject(1765,-735.75921631,1899.39477539,1.17647600,0.00000000,0.00000000,213.75000000); //object(low_single_2) (1)
1241 CreateObject(936,-734.61016846,1899.01940918,1.65320802,0.00000000,0.00000000,146.25003052); //object(cj_df_worktop_2) (7)
1242 CreateObject(2530,-740.36486816,1905.01477051,1.15497696,0.00000000,0.00000000,0.00000000); //object(cj_off2_lic_2_r) (1)
1243 CreateObject(1348,-738.09722900,1905.10766602,1.87322199,0.00000000,0.00000000,0.00000000); //object(cj_o2tanks) (1)
1244 CreateObject(1431,-739.42053223,1915.41467285,1.71830904,0.00000000,0.00000000,0.00000000); //object(dyn_box_pile) (1)
1245 CreateObject(936,-746.04534912,1913.18273926,3.15321112,0.00000000,0.00000000,90.00000000); //object(cj_df_worktop_2) (8)
1246 CreateObject(944,-754.66833496,1908.31457520,3.56328511,0.00000000,0.00000000,270.00000000); //object(packing_carates04) (13)
1247 CreateObject(3798,-765.24084473,1932.96301270,-0.45530301,0.00000000,0.00000000,0.00000000); //object(acbox3_sfs) (4)
1248 CreateObject(3798,-765.27374268,1885.60278320,-0.40384400,0.00000000,0.00000000,0.00000000); //object(acbox3_sfs) (5)
1249 CreateObject(7606,-765.78570557,1877.84362793,-2.85801291,0.00000000,0.00000000,0.00000000); //object(vegasbigsign1) (1)
1250 CreateObject(7606,-765.76580811,1940.71923828,-2.90779305,0.00000000,0.00000000,0.00000000); //object(vegasbigsign1) (2)
1251 CreateObject(3287,-743.52923584,1943.31713867,1.16754305,0.00000000,0.00000000,0.00000000); //object(cxrf_oiltank) (1)
1252 CreateObject(3287,-739.84454346,1913.18835449,1.15384400,0.00000000,0.00000000,0.00000000); //object(cxrf_oiltank) (2)
1253 CreateObject(3287,-739.86834717,1910.81323242,1.13464499,0.00000000,0.00000000,0.00000000); //object(cxrf_oiltank) (3)
1254 CreateObject(3287,-743.16918945,1878.22192383,1.15261197,0.00000000,0.00000000,0.00000000); //object(cxrf_oiltank) (4)
1255 CreateObject(12814,-780.33197021,1897.85058594,21.55792236,0.00000000,269.75915527,0.00003052); //object(cuntyeland04) (1)
1256 CreateObject(12814,-780.30645752,1929.84973145,21.47311974,0.00000000,269.75915527,0.00003052); //object(cuntyeland04) (2)
1257 CreateObject(5706,-776.66040039,1856.50097656,2.09430909,0.00000000,0.00000000,270.00000000); //object(studiobld03_law) (1)
1258 CreateObject(5706,-776.65606689,1856.50964355,8.43157673,0.00000000,0.00000000,270.00000000); //object(studiobld03_law) (2)
1259 CreateObject(5706,-777.11743164,1961.97058105,2.17001700,0.00000000,0.00000000,270.00000000); //object(studiobld03_law) (3)
1260 CreateObject(5706,-777.11169434,1961.96777344,8.50730133,0.00000000,0.00000000,270.00000000); //object(studiobld03_law) (4)
1261 CreateObject(5706,-715.13317871,1876.14880371,3.63957405,0.00000000,0.00000000,180.00000000); //object(studiobld03_law) (5)
1262 CreateObject(5706,-715.24829102,1942.37402344,3.67028403,0.00000000,0.00000000,0.00003052); //object(studiobld03_law) (6)
1263 CreateObject(5835,-710.06134033,1909.26745605,7.88854122,0.00000000,0.00000000,90.00006104); //object(ci_astage) (1)
1264 CreateObject(1684,-736.81091309,1953.46862793,7.04114199,0.00000000,0.00000000,0.00000000); //object(portakabin) (18)
1265 CreateObject(1684,-736.70629883,1865.00231934,7.03989077,0.00000000,0.00000000,0.00000000); //object(portakabin) (19)
1266 CreateObject(987,-768.29974365,1904.59997559,6.61638212,0.00000000,0.00000000,90.00012207); //object(elecfence_bar) (6)
1267 CreateObject(987,-780.08410645,1904.65820312,6.61964798,0.00000000,0.00000000,0.00033569); //object(elecfence_bar) (7)
1268 CreateObject(987,-768.25305176,1916.37426758,6.60349703,0.00000000,0.00000000,179.99993896); //object(elecfence_bar) (8)
1269 CreateObject(8168,-729.25598145,1889.57104492,3.02646899,0.00000000,0.00000000,106.48394775); //object(vgs_guardhouse01) (1)
1270 CreateObject(8168,-729.22576904,1889.56359863,6.73069286,0.00000000,0.00000000,106.48400879); //object(vgs_guardhouse01) (2)
1271 CreateObject(8168,-729.24749756,1929.96606445,2.96866202,0.00000000,0.00000000,106.48400879); //object(vgs_guardhouse01) (3)
1272 CreateObject(8168,-729.23370361,1929.97485352,6.57288504,0.00000000,0.00000000,106.48400879); //object(vgs_guardhouse01) (4)
1273 CreateObject(974,-778.72875977,1926.43383789,6.90210915,0.00000000,0.00000000,0.00000000); //object(tall_fence) (1)
1274 CreateObject(974,-778.72570801,1893.66186523,6.82712078,0.00000000,0.00000000,0.00000000); //object(tall_fence) (2)
1275 CreateObject(974,-742.63464355,1937.91052246,0.42343101,0.00000000,269.75915527,0.00000000); //object(tall_fence) (3)
1276 CreateObject(974,-742.64996338,1945.61938477,0.40356299,0.00000000,269.75915527,0.00000000); //object(tall_fence) (4)
1277 CreateObject(974,-742.66839600,1872.76965332,0.35355899,0.00000000,269.75915527,180.00000000); //object(tall_fence) (5)
1278 CreateObject(974,-742.66033936,1880.48498535,0.35356200,0.00000000,269.75915527,180.00000000); //object(tall_fence) (6)
1279 CreateObject(974,-739.42626953,1905.71826172,0.39833900,0.00000000,269.75915527,180.00000000); //object(tall_fence) (7)
1280 CreateObject(974,-739.40509033,1915.13513184,0.38852400,0.00000000,269.75915527,180.00000000); //object(tall_fence) (8)
1281 CreateObject(974,-768.14556885,1926.47302246,6.56403208,0.00000000,0.00000000,0.00000000); //object(tall_fence) (9)
1282 CreateObject(974,-764.16448975,1923.18090820,6.56403208,0.00000000,0.00000000,270.00000000); //object(tall_fence) (10)
1283 CreateObject(974,-767.50958252,1926.47021484,6.56403208,0.00000000,0.00000000,0.00000000); //object(tall_fence) (11)
1284 CreateObject(974,-768.14898682,1893.07580566,6.53903198,0.00000000,0.00000000,0.00000000); //object(tall_fence) (12)
1285 CreateObject(974,-767.51257324,1893.05603027,6.53903198,0.00000000,0.00000000,0.00000000); //object(tall_fence) (13)
1286 CreateObject(974,-764.20642090,1896.32324219,6.53903198,0.00000000,0.00000000,270.00000000); //object(tall_fence) (14)
1287 CreateObject(7073,-763.89190674,1871.85998535,30.51881027,0.00000000,0.00000000,45.00000000); //object(vegascowboy1) (1)
1288 CreateObject(7392,-768.98992920,1950.26550293,20.44785690,0.00000000,0.00000000,315.00000000); //object(vegcandysign1) (1)
1289 CreateObject(1684,-743.77575684,1864.96533203,7.05488586,0.00000000,0.00000000,0.00000000); //object(portakabin) (20)
1290 CreateObject(1684,-743.83123779,1953.46337891,7.05488777,0.00000000,0.00000000,0.00000000); //object(portakabin) (21)
1291 //good dm2
1292 CreateObject(3997,2948.63476562,-1472.52636719,746.49713135,0.00000000,0.00000000,0.00000000); //object(cityhallblok_lan) (1)
1293 CreateObject(11088,2905.96826200,-1453.53991700,753.25402800,0.00000000,0.00000000,0.00000000); //object(cf_ext_dem_sfs) (1)
1294 CreateObject(11428,2974.14404300,-1460.90637200,752.00018300,0.00000000,0.00000000,0.00000000); //object(des_indruin02) (1)
1295 CreateObject(11440,2964.97827100,-1483.47253400,746.01898200,0.00000000,0.00000000,0.00000000); //object(des_pueblo1) (1)
1296 CreateObject(11427,2995.99536100,-1500.74389600,753.68701200,0.00000000,0.00000000,89.99998128); //object(des_adobech) (1)
1297 CreateObject(11426,2973.96240200,-1492.24267600,746.39062500,0.00000000,0.00000000,-89.99998128); //object(des_adobe03) (1)
1298 CreateObject(11440,2983.62329100,-1491.28454600,745.99395800,0.00000000,0.00000000,0.00000000); //object(des_pueblo1) (2)
1299 CreateObject(11441,3010.45336900,-1424.56372100,746.67205800,0.00000000,0.00000000,0.00000000); //object(des_pueblo5) (1)
1300 CreateObject(11442,3009.56005900,-1432.21643100,746.67089800,0.00000000,0.00000000,0.00000000); //object(des_pueblo3) (1)
1301 CreateObject(11443,3000.27221700,-1427.73999000,746.66888400,0.00000000,0.00000000,-180.00001985); //object(des_pueblo4) (1)
1302 CreateObject(11444,2959.11401400,-1462.32116700,746.49011200,0.00000000,0.00000000,0.00000000); //object(des_pueblo2) (1)
1303 CreateObject(11442,2956.57177700,-1450.56994600,746.67089800,0.00000000,0.00000000,-89.99998128); //object(des_pueblo3) (2)
1304 CreateObject(11441,2962.56713900,-1441.76635700,746.67205800,0.00000000,0.00000000,0.00000000); //object(des_pueblo5) (2)
1305 CreateObject(11442,2953.08056600,-1441.14685100,746.67089800,0.00000000,0.00000000,-89.99998128); //object(des_pueblo3) (3)
1306 CreateObject(11443,2953.28808600,-1431.40173300,746.59381100,0.00000000,0.00000000,-180.00001985); //object(des_pueblo4) (2)
1307 CreateObject(11445,2944.22607400,-1425.89306600,746.66888400,0.00000000,0.00000000,89.99998128); //object(des_pueblo06) (1)
1308 CreateObject(11446,2962.19531300,-1436.85253900,746.67205800,0.00000000,0.00000000,0.00000000); //object(des_pueblo07) (1)
1309 CreateObject(11447,2954.95947300,-1423.66015600,746.49127200,0.00000000,0.00000000,0.00000000); //object(des_pueblo08) (1)
1310 CreateObject(11447,2987.64013700,-1469.43823200,746.46624800,0.00000000,0.00000000,-89.99998128); //object(des_pueblo08) (2)
1311 CreateObject(11457,2971.27880900,-1422.68762200,746.09832800,0.00000000,0.00000000,0.00000000); //object(des_pueblo09) (1)
1312 CreateObject(11458,2979.76342800,-1453.98217800,746.66906700,0.00000000,0.00000000,0.00000000); //object(des_pueblo10) (1)
1313 CreateObject(11459,2955.10620100,-1423.79919400,749.34881600,0.00000000,0.00000000,-89.99998128); //object(des_pueblo11) (1)
1314 CreateObject(11458,3005.70288100,-1491.26770000,746.66906700,0.00000000,0.00000000,0.00000000); //object(des_pueblo10) (2)
1315 CreateObject(11459,3014.51171900,-1510.55419900,746.49530000,0.00000000,0.00000000,-89.99998128); //object(des_pueblo11) (2)
1316 CreateObject(11458,3009.78686500,-1517.19018600,746.66906700,0.00000000,0.00000000,-89.99998128); //object(des_pueblo10) (3)
1317 CreateObject(11457,2986.69702100,-1430.92309600,746.09832800,0.00000000,0.00000000,0.00000000); //object(des_pueblo09) (2)
1318 CreateObject(11446,2995.08252000,-1489.13378900,746.67205800,0.00000000,0.00000000,0.00000000); //object(des_pueblo07) (2)
1319 CreateObject(11444,2998.71508800,-1483.30859400,746.49011200,0.00000000,0.00000000,0.00000000); //object(des_pueblo2) (2)
1320 CreateObject(11443,3013.29516600,-1485.33752400,746.66888400,0.00000000,0.00000000,89.99998128); //object(des_pueblo4) (3)
1321 CreateObject(11441,3015.72241200,-1495.96008300,746.67205800,0.00000000,0.00000000,-89.99998128); //object(des_pueblo5) (3)
1322 CreateObject(11442,3020.40210000,-1476.42907700,746.54577600,0.00000000,0.00000000,89.99998128); //object(des_pueblo3) (4)
1323 CreateObject(11441,3012.45874000,-1475.39794900,746.67205800,0.00000000,0.00000000,0.00000000); //object(des_pueblo5) (4)
1324 CreateObject(11440,3001.91137700,-1453.90258800,746.09405500,0.00000000,0.00000000,0.00000000); //object(des_pueblo1) (3)
1325 CreateObject(11440,3015.66308600,-1465.28100600,746.09405500,0.00000000,0.00000000,89.99998128); //object(des_pueblo1) (4)
1326 CreateObject(11428,2931.99462900,-1429.07666000,751.89270000,0.00000000,0.00000000,-191.24998886); //object(des_indruin02) (2)
1327 CreateObject(11427,2941.20288100,-1486.74939000,753.63696300,0.00000000,0.00000000,89.99998128); //object(des_adobech) (2)
1328 CreateObject(11426,2958.84448200,-1489.75195300,746.49072300,0.00000000,0.00000000,0.00000000); //object(des_adobe03) (2)
1329 CreateObject(11441,2957.47192400,-1481.04895000,746.67205800,0.00000000,0.00000000,0.00000000); //object(des_pueblo5) (5)
1330 CreateObject(11442,2972.25000000,-1444.14978000,746.67089800,0.00000000,0.00000000,0.00000000); //object(des_pueblo3) (5)
1331 CreateObject(11446,2993.91650400,-1474.48498500,746.64703400,0.00000000,0.00000000,0.00000000); //object(des_pueblo07) (3)
1332 CreateObject(11445,2988.73144500,-1452.99108900,746.66888400,0.00000000,0.00000000,-89.99998128); //object(des_pueblo06) (2)
1333 CreateObject(11444,3021.41674800,-1454.48486300,746.49011200,0.00000000,0.00000000,0.00000000); //object(des_pueblo2) (3)
1334 CreateObject(11446,2980.87866200,-1460.61645500,746.67205800,0.00000000,0.00000000,0.00000000); //object(des_pueblo07) (4)
1335 CreateObject(11445,2996.06884800,-1463.00048800,746.66888400,0.00000000,0.00000000,0.00000000); //object(des_pueblo06) (3)
1336 CreateObject(11445,3017.92431600,-1520.58032200,746.66888400,0.00000000,0.00000000,-89.99998128); //object(des_pueblo06) (4)
1337 CreateObject(11445,3002.34741200,-1522.74023400,746.66888400,0.00000000,0.00000000,-270.00000112); //object(des_pueblo06) (5)
1338 CreateObject(11446,2998.31030300,-1515.06359900,746.67205800,0.00000000,0.00000000,0.00000000); //object(des_pueblo07) (5)
1339 CreateObject(11446,3025.02685500,-1509.09314000,746.67205800,0.00000000,0.00000000,-180.00001985); //object(des_pueblo07) (6)
1340 CreateObject(11445,2940.25439500,-1448.24682600,746.64386000,0.00000000,0.00000000,-359.99998240); //object(des_pueblo06) (6)
1341 CreateObject(976,2868.76171900,-1412.71984900,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (1)
1342 CreateObject(976,2877.63305700,-1412.68737800,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (2)
1343 CreateObject(976,2886.35424800,-1412.72375500,746.70513900,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (3)
1344 CreateObject(976,2895.18627900,-1412.58313000,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (4)
1345 CreateObject(976,2903.96460000,-1412.58618200,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (5)
1346 CreateObject(976,2912.79858400,-1412.60241700,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (6)
1347 CreateObject(976,2921.55664100,-1412.65881300,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (7)
1348 CreateObject(976,2930.36523400,-1412.64489700,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (8)
1349 CreateObject(976,2939.14941400,-1412.64892600,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (9)
1350 CreateObject(976,2947.96728500,-1412.65698200,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (10)
1351 CreateObject(976,2956.85546900,-1412.61706500,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (11)
1352 CreateObject(976,2965.68872100,-1412.63110400,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (12)
1353 CreateObject(976,2974.50634800,-1412.61889600,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (13)
1354 CreateObject(976,2983.41601600,-1412.61413600,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (14)
1355 CreateObject(976,2992.26025400,-1412.63793900,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (15)
1356 CreateObject(976,3001.09472700,-1412.61901900,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (16)
1357 CreateObject(976,3009.93335000,-1412.60681200,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (17)
1358 CreateObject(976,3018.70556600,-1412.62133800,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (18)
1359 CreateObject(976,3020.11132800,-1412.73352100,746.65905800,0.00000000,0.00000000,0.00000000); //object(phils_compnd_gate) (19)
1360 CreateObject(976,3028.78735400,-1412.83544900,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (20)
1361 CreateObject(976,3028.77832000,-1421.58898900,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (21)
1362 CreateObject(976,3028.76928700,-1430.38940400,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (22)
1363 CreateObject(976,3028.81958000,-1439.04528800,746.68463100,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (23)
1364 CreateObject(976,3028.81713900,-1447.81152300,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (24)
1365 CreateObject(976,3028.86743200,-1456.51831100,746.69256600,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (25)
1366 CreateObject(976,3028.81567400,-1465.26184100,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (26)
1367 CreateObject(976,3028.80127000,-1474.10388200,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (27)
1368 CreateObject(976,3028.77392600,-1482.87573200,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (28)
1369 CreateObject(976,3028.78466800,-1491.67712400,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (29)
1370 CreateObject(976,3028.78662100,-1500.49816900,746.65905800,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (30)
1371 CreateObject(976,3028.79858400,-1509.23083500,746.66449000,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (31)
1372 CreateObject(976,3028.84887700,-1517.80346700,746.66937300,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (32)
1373 CreateObject(976,3028.94897500,-1523.84387200,746.59881600,0.00000000,0.00000000,-89.99998128); //object(phils_compnd_gate) (33)
1374 CreateObject(976,3028.67065400,-1532.52343800,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (34)
1375 CreateObject(976,3019.86938500,-1532.52014200,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (35)
1376 CreateObject(976,3011.07348600,-1532.51232900,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (36)
1377 CreateObject(976,3002.26269500,-1532.52868700,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (37)
1378 CreateObject(976,2993.39160200,-1532.54772900,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (38)
1379 CreateObject(976,2984.43750000,-1532.55969200,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (39)
1380 CreateObject(976,2975.64965800,-1532.56445300,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (40)
1381 CreateObject(976,2966.91699200,-1532.56543000,746.66009500,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (41)
1382 CreateObject(976,2958.04345700,-1532.55896000,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (42)
1383 CreateObject(976,2949.21044900,-1532.51440400,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (43)
1384 CreateObject(976,2940.38208000,-1532.47876000,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (44)
1385 CreateObject(976,2931.74218800,-1532.43005400,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (45)
1386 CreateObject(976,2922.97314500,-1532.44397000,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (46)
1387 CreateObject(976,2914.15966800,-1532.38061500,746.68408200,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (47)
1388 CreateObject(976,2905.23584000,-1532.45910600,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (48)
1389 CreateObject(976,2896.39770500,-1532.47204600,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (49)
1390 CreateObject(976,2887.62817400,-1532.43981900,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (50)
1391 CreateObject(976,2878.74438500,-1532.40002400,746.65905800,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (51)
1392 CreateObject(976,2877.15551800,-1532.36364700,746.68389900,0.00000000,0.00000000,-180.00001985); //object(phils_compnd_gate) (52)
1393 CreateObject(976,2868.51049800,-1532.30395500,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (53)
1394 CreateObject(976,2868.48608400,-1523.42810100,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (54)
1395 CreateObject(976,2868.51245100,-1514.49597200,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (55)
1396 CreateObject(976,2868.53125000,-1505.57482900,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (56)
1397 CreateObject(976,2868.51855500,-1496.70092800,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (57)
1398 CreateObject(976,2868.55493200,-1487.97900400,746.71020500,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (58)
1399 CreateObject(976,2868.59130900,-1479.36840800,746.71783400,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (59)
1400 CreateObject(976,2868.62768600,-1470.63867200,746.73779300,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (60)
1401 CreateObject(976,2868.48168900,-1461.89367700,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (61)
1402 CreateObject(976,2868.48291000,-1453.04150400,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (62)
1403 CreateObject(976,2868.50146500,-1444.18566900,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (63)
1404 CreateObject(976,2868.50366200,-1435.34570300,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (64)
1405 CreateObject(976,2868.49121100,-1426.52819800,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (65)
1406 CreateObject(976,2868.63818400,-1421.30529800,746.65905800,0.00000000,0.00000000,-270.00000112); //object(phils_compnd_gate) (66)
1407 CreateObject(967,2894.62988300,-1516.24560500,746.49713100,0.00000000,0.00000000,-0.00005730); //object(bar_gatebox01) (1)
1408 CreateObject(3866,2928.86914062,-1500.98339844,754.33520508,0.00000000,0.00000000,179.99450684); //object(demolish1_sfxrf) (1)
1409 CreateObject(11492,2883.66699200,-1523.24902300,746.49279800,0.00000000,0.00000000,-180.00001985); //object(des_rshed1_) (1)
1410 CreateObject(12929,3022.45190400,-1428.55761700,746.99511700,0.00000000,0.00000000,-89.99998128); //object(sw_shed06) (1)
1411 CreateObject(12942,2905.85986300,-1427.44812000,746.70929000,0.00000000,0.00000000,0.00000000); //object(sw_shedinterior01) (1)
1412 CreateObject(5153,2934.79882800,-1491.38134800,753.52380400,0.00000000,0.00000000,0.00000000); //object(stuntramp7_las2) (1)
1413 CreateObject(5153,2930.78979500,-1491.38659700,751.77233900,0.00000000,0.00000000,0.00000000); //object(stuntramp7_las2) (2)
1414 CreateObject(5153,2926.76464800,-1491.37500000,750.00830100,0.00000000,0.00000000,0.00000000); //object(stuntramp7_las2) (3)
1415 CreateObject(5153,2922.74804700,-1491.35241700,748.23394800,0.00000000,0.00000000,0.00000000); //object(stuntramp7_las2) (4)
1416 CreateObject(5153,2919.44506800,-1491.35803200,746.78723100,0.00000000,0.00000000,0.00000000); //object(stuntramp7_las2) (5)
1417 CreateObject(5153,2899.24414100,-1427.17187500,752.43902600,0.00000000,0.00000000,-180.00001985); //object(stuntramp7_las2) (6)
1418 CreateObject(12929,2905.80932600,-1427.53894000,746.71508800,0.00000000,0.00000000,-180.00001985); //object(sw_shed06) (2)
1419 CreateObject(12928,3022.45043900,-1428.56872600,746.99511700,0.00000000,0.00000000,-89.99998128); //object(sw_shedinterior04) (1)
1420 CreateObject(1696,2936.86230500,-1465.37524400,747.12933300,0.00000000,0.00000000,89.99998128); //object(roofstuff15) (1)
1421 CreateObject(14395,2874.28759800,-1437.01257300,747.01001000,0.00000000,0.00000000,0.00000000); //object(dr_gsnew11) (1)
1422 CreateObject(14407,2881.44775400,-1435.64856000,750.44006300,0.00000000,0.00000000,89.99998128); //object(carter-stairs01) (1)
1423 CreateObject(14467,2889.20581100,-1463.29577600,750.64404300,0.00000000,0.00000000,67.49998596); //object(carter_statue) (1)
1424 CreateObject(9191,2891.18017600,-1486.42810100,751.23272700,0.00000000,0.00000000,0.00000000); //object(vgeastbillbrd03) (1)
1425 CreateObject(9191,2891.17773400,-1486.44616700,751.23077400,0.00000000,0.00000000,-180.00001985); //object(vgeastbillbrd03) (2)
1426 CreateObject(980,2919.17602500,-1412.63879400,752.62866200,0.00000000,0.00000000,0.00000000); //object(airportgate) (1)
1427 CreateObject(980,2907.59912100,-1412.62255900,752.62835700,0.00000000,0.00000000,0.00000000); //object(airportgate) (2)
1428 CreateObject(980,2896.14160156,-1412.60156250,752.62335205,0.00000000,0.00000000,0.00000000); //object(airportgate) (3)
1429 CreateObject(980,2884.75781300,-1412.69873000,752.59149200,0.00000000,0.00000000,0.00000000); //object(airportgate) (4)
1430 CreateObject(980,2874.32959000,-1412.68737800,752.62335200,0.00000000,0.00000000,0.00000000); //object(airportgate) (5)
1431 CreateObject(980,2930.68335000,-1412.63891600,752.62335200,0.00000000,0.00000000,0.00000000); //object(airportgate) (6)
1432 CreateObject(980,2942.18798800,-1412.64929200,752.62335200,0.00000000,0.00000000,0.00000000); //object(airportgate) (7)
1433 CreateObject(980,2953.81030300,-1412.66760300,752.62335200,0.00000000,0.00000000,0.00000000); //object(airportgate) (8)
1434 CreateObject(980,2965.37744100,-1412.64965800,752.62335200,0.00000000,0.00000000,0.00000000); //object(airportgate) (9)
1435 CreateObject(980,2976.92163100,-1412.59863300,752.62335200,0.00000000,0.00000000,0.00000000); //object(airportgate) (10)
1436 CreateObject(980,2988.42407200,-1412.62793000,752.62335200,0.00000000,0.00000000,0.00000000); //object(airportgate) (11)
1437 CreateObject(980,2999.91845700,-1412.67431600,752.61169400,0.00000000,0.00000000,0.00000000); //object(airportgate) (12)
1438 CreateObject(980,3011.44970700,-1412.64318800,752.60522500,0.00000000,0.00000000,0.00000000); //object(airportgate) (13)
1439 CreateObject(980,3022.98120100,-1412.68823200,752.62335200,0.00000000,0.00000000,0.00000000); //object(airportgate) (14)
1440 CreateObject(980,2868.52758800,-1418.26855500,752.58544900,0.00000000,0.00000000,-89.99998128); //object(airportgate) (15)
1441 CreateObject(980,2868.46142600,-1429.66943400,752.54827900,0.00000000,0.00000000,-89.99998128); //object(airportgate) (16)
1442 CreateObject(980,2868.45678700,-1441.15173300,752.54827900,0.00000000,0.00000000,-89.99998128); //object(airportgate) (17)
1443 CreateObject(980,2868.44458000,-1452.55334500,752.63470500,0.00000000,0.00000000,-89.99998128); //object(airportgate) (18)
1444 CreateObject(980,2868.58471700,-1464.15429700,752.70208700,0.00000000,0.00000000,-89.99998128); //object(airportgate) (19)
1445 CreateObject(980,2868.53149400,-1475.64819300,752.68212900,0.00000000,0.00000000,-89.99998128); //object(airportgate) (20)
1446 CreateObject(980,2868.56372100,-1487.20214800,752.67450000,0.00000000,0.00000000,-89.99998128); //object(airportgate) (21)
1447 CreateObject(980,2868.54663100,-1498.60644500,752.62335200,0.00000000,0.00000000,-89.99998128); //object(airportgate) (22)
1448 CreateObject(980,2868.46972700,-1510.02124000,752.62335200,0.00000000,0.00000000,-89.99998128); //object(airportgate) (23)
1449 CreateObject(980,2868.44775400,-1521.51709000,752.60711700,0.00000000,0.00000000,-89.99998128); //object(airportgate) (24)
1450 CreateObject(980,2868.44335900,-1526.64160200,752.67413300,0.00000000,0.00000000,-89.99998128); //object(airportgate) (25)
1451 CreateObject(980,2874.17211900,-1532.38781700,752.62335200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (26)
1452 CreateObject(980,2885.59863300,-1532.46484400,752.62335200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (27)
1453 CreateObject(980,2897.27758800,-1532.42272900,752.59802200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (28)
1454 CreateObject(980,2908.76538100,-1532.44433600,752.61517300,0.00000000,0.00000000,-180.00001985); //object(airportgate) (29)
1455 CreateObject(980,2920.31469700,-1532.48217800,752.62335200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (30)
1456 CreateObject(980,2931.80029300,-1532.43823200,752.62335200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (31)
1457 CreateObject(980,2943.25317400,-1532.47802700,752.60272200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (32)
1458 CreateObject(980,2954.71728500,-1532.52258300,752.59259000,0.00000000,0.00000000,-180.00001985); //object(airportgate) (33)
1459 CreateObject(980,2966.23193400,-1532.52905300,752.60034200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (34)
1460 CreateObject(980,2977.69555700,-1532.52331500,752.59692400,0.00000000,0.00000000,-180.00001985); //object(airportgate) (35)
1461 CreateObject(980,2989.15649400,-1532.51135300,752.62158200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (36)
1462 CreateObject(980,3000.62500000,-1532.51733400,752.62072800,0.00000000,0.00000000,-180.00001985); //object(airportgate) (37)
1463 CreateObject(980,3012.12963900,-1532.50927700,752.62335200,0.00000000,0.00000000,-180.00001985); //object(airportgate) (38)
1464 CreateObject(980,3023.15991200,-1532.46203600,752.64770500,0.00000000,0.00000000,-180.00001985); //object(airportgate) (39)
1465 CreateObject(980,3028.97314500,-1526.72827100,752.56311000,0.00000000,0.00000000,-270.00000112); //object(airportgate) (40)
1466 CreateObject(980,3028.76586900,-1515.12768600,752.62878400,0.00000000,0.00000000,-270.00000112); //object(airportgate) (41)
1467 CreateObject(980,3028.75024400,-1503.65234400,752.63378900,0.00000000,0.00000000,-270.00000112); //object(airportgate) (42)
1468 CreateObject(980,3028.74829100,-1492.09216300,752.62262000,0.00000000,0.00000000,-270.00000112); //object(airportgate) (43)
1469 CreateObject(980,3028.80224600,-1480.63147000,752.62335200,0.00000000,0.00000000,-270.00000112); //object(airportgate) (44)
1470 CreateObject(980,3028.77929700,-1469.16320800,752.61114500,0.00000000,0.00000000,-270.00000112); //object(airportgate) (45)
1471 CreateObject(980,3028.83105500,-1457.72375500,752.60540800,0.00000000,0.00000000,-270.00000112); //object(airportgate) (46)
1472 CreateObject(980,3028.82934600,-1446.21398900,752.64892600,0.00000000,0.00000000,-270.00000112); //object(airportgate) (47)
1473 CreateObject(980,3028.82031300,-1434.68542500,752.64837600,0.00000000,0.00000000,-270.00000112); //object(airportgate) (48)
1474 CreateObject(980,3028.82202100,-1418.49719200,752.62335200,0.00000000,0.00000000,-270.00000112); //object(airportgate) (49)
1475 CreateObject(980,3028.82666000,-1425.75036600,752.62335200,0.00000000,0.00000000,-270.00000112); //object(airportgate) (50)
1476 CreateObject(11444,3013.14331100,-1449.91552700,746.49011200,0.00000000,0.00000000,0.00000000); //object(des_pueblo2) (4)
1477 CreateObject(11444,3011.19604500,-1440.32519500,746.49011200,0.00000000,0.00000000,-89.99998128); //object(des_pueblo2) (5)
1478 CreateObject(3644,2978.77710000,-1517.32519500,749.15997300,0.00000000,0.00000000,179.99996255); //object(idlebuild01_lax) (1)
1479 //good race
1480 AddStaticVehicleEx(504,-1403.90002441,1060.30004883,1038.50000000,178.00000000,-1,-1,15); //Bloodring Banger
1481 AddStaticVehicleEx(504,-1429.19995117,1060.30004883,1038.50000000,177.99499512,-1,-1,15); //Bloodring Banger
1482 AddStaticVehicleEx(504,-1513.09997559,980.29998779,1037.30004883,277.99462891,-1,-1,15); //Bloodring Banger
1483 AddStaticVehicleEx(504,-1370.30004883,1060.30004883,1038.40002441,177.99499512,-1,-1,15); //Bloodring Banger
1484 AddStaticVehicleEx(504,-1347.69995117,1057.19995117,1038.30004883,167.99194336,-1,-1,15); //Bloodring Banger
1485 AddStaticVehicleEx(504,-1319.09960938,1048.50000000,1038.09997559,147.99133301,-1,-1,15); //Bloodring Banger
1486 AddStaticVehicleEx(504,-1296.69921875,1035.09960938,1037.90002441,131.98974609,-1,-1,15); //Bloodring Banger
1487 AddStaticVehicleEx(504,-1281.59960938,1017.89941406,1037.59997559,113.99414062,-1,-1,15); //Bloodring Banger
1488 AddStaticVehicleEx(504,-1276.69921875,1000.09960938,1037.30004883,89.99450684,-1,-1,15); //Bloodring Banger
1489 AddStaticVehicleEx(504,-1277.59997559,983.29998779,1037.00000000,73.99291992,-1,-1,15); //Bloodring Banger
1490 AddStaticVehicleEx(504,-1282.30004883,973.00000000,1036.80004883,65.98937988,-1,-1,15); //Bloodring Banger
1491 AddStaticVehicleEx(504,-1290.19995117,963.40002441,1036.69995117,41.98974609,-1,-1,15); //Bloodring Banger
1492 AddStaticVehicleEx(504,-1386.69921875,1060.69921875,1038.50000000,177.99499512,-1,-1,15); //Bloodring Banger
1493 AddStaticVehicleEx(504,-1417.69921875,1061.19921875,1038.50000000,177.99499512,-1,-1,15); //Bloodring Banger
1494 AddStaticVehicleEx(504,-1302.79980469,953.59960938,1036.50000000,21.99462891,-1,-1,15); //Bloodring Banger
1495 AddStaticVehicleEx(504,-1319.29980469,943.39941406,1036.40002441,21.99462891,-1,-1,15); //Bloodring Banger
1496 AddStaticVehicleEx(504,-1339.19995117,935.40002441,1036.30004883,21.99462891,-1,-1,15); //Bloodring Banger
1497 AddStaticVehicleEx(504,-1357.50000000,933.59960938,1036.30004883,359.99450684,-1,-1,15); //Bloodring Banger
1498 AddStaticVehicleEx(504,-1491.19921875,951.09960938,1036.80004883,317.99377441,-1,-1,15); //Bloodring Banger
1499 AddStaticVehicleEx(504,-1501.29980469,963.29980469,1037.00000000,303.99169922,-1,-1,15); //Bloodring Banger
1500 AddStaticVehicleEx(504,-1514.40002441,992.00000000,1037.50000000,277.99255371,-1,-1,15); //Bloodring Banger
1501 AddStaticVehicleEx(504,-1510.59997559,1013.50000000,1037.90002441,243.99255371,-1,-1,15); //Bloodring Banger
1502 AddStaticVehicleEx(504,-1503.50000000,1026.00000000,1038.09997559,229.98986816,-1,-1,15); //Bloodring Banger
1503 AddStaticVehicleEx(504,-1478.00000000,1042.50000000,1038.30004883,209.98779297,-1,-1,15); //Bloodring Banger
1504 AddStaticVehicleEx(504,-1491.69921875,1035.29980469,1038.19995117,209.98718262,-1,-1,15); //Bloodring Banger
1505 AddStaticVehicleEx(504,-1459.30004883,1051.19995117,1038.40002441,209.98718262,-1,-1,15); //Bloodring Banger
1506 AddStaticVehicleEx(504,-1442.80004883,1057.40002441,1038.50000000,209.98718262,-1,-1,15); //Bloodring Banger
1507 CreateObject(13595,-1398.45312500,995.79687500,1057.44531300,0.00000000,0.00000000,0.00000000); //object0
1508 CreateObject(13596,-1312.46093800,998.46093800,1068.42968800,0.00000000,0.00000000,0.00000000); //object1
1509 CreateObject(13597,-1440.01562500,998.46093800,1068.42968800,0.00000000,0.00000000,0.00000000); //object2
1510 CreateObject(13598,-1398.45312500,111.31250000,1060.81250000,0.00000000,0.00000000,0.00000000); //object3
1511 CreateObject(13599,-1295.75000000,112.52343800,1036.33593800,0.00000000,0.00000000,0.00000000); //object4
1512 CreateObject(13600,-1312.46093800,113.97656300,1068.42968800,0.00000000,0.00000000,0.00000000); //object5
1513 CreateObject(13601,-1440.01562500,113.97656300,1068.42968800,0.00000000,0.00000000,0.00000000); //object6
1514 CreateObject(13602,-1448.67968800,182.60937500,1035.32031300,0.00000000,0.00000000,0.00000000); //object7
1515 CreateObject(13611,-1292.36718800,1030.59375000,1035.60156300,0.00000000,0.00000000,0.00000000); //object8
1516 CreateObject(13612,-1398.46093800,995.64062500,1024.46093800,0.00000000,0.00000000,0.00000000); //object9
1517 CreateObject(13613,-1330.23437500,938.27343800,1035.26562500,0.00000000,0.00000000,0.00000000); //object10
1518 CreateObject(13614,-1522.76562500,972.85156300,1038.35156300,0.00000000,0.00000000,0.00000000); //object11
1519 CreateObject(13615,-1290.44531300,962.54687500,1035.38281300,0.00000000,0.00000000,0.00000000); //object12
1520 CreateObject(13616,-1328.84375000,1059.27343800,1035.49218800,0.00000000,0.00000000,0.00000000); //object13
1521 CreateObject(13617,-1469.40625000,933.46093800,1038.53906300,0.00000000,0.00000000,0.00000000); //object14
1522 CreateObject(13618,-1497.53125000,1038.28906300,1035.50000000,0.00000000,0.00000000,0.00000000); //object15
1523 CreateObject(13619,-1390.49218800,1069.92968800,1035.26562500,0.00000000,0.00000000,0.00000000); //object16
1524 CreateObject(13620,-1404.28125000,932.84375000,1035.22656300,0.00000000,0.00000000,0.00000000); //object17
1525 CreateObject(13621,-1448.67968800,1067.09375000,1035.32031300,0.00000000,0.00000000,0.00000000); //object18
1526 CreateObject(13627,-1448.67968800,182.60937500,1035.32031300,0.00000000,0.00000000,0.00000000); //object19
1527 CreateObject(13651,-1404.28125000,932.84375000,1035.22656300,0.00000000,0.00000000,0.00000000); //object20
1528 CreateObject(13652,-1404.28125000,932.84375000,1035.22656300,0.00000000,0.00000000,0.00000000); //object21
1529 CreateObject(13653,-1398.45312500,995.79687500,1060.81250000,0.00000000,0.00000000,0.00000000); //object22
1530 CreateObject(13656,-1399.69531300,997.87500000,1011.20312500,0.00000000,0.00000000,0.00000000); //object23
1531 //parachute,race :) good!
1532 AddStaticVehicleEx(468,-2300.60009766,-1654.30004883,483.10000610,22.00000000,-1,-1,15); //Sanchez
1533 AddStaticVehicleEx(468,-2299.60009766,-1653.59997559,483.10000610,21.99462891,-1,-1,15); //Sanchez
1534 AddStaticVehicleEx(468,-2300.19995117,-1656.19995117,483.00000000,21.99462891,-1,-1,15); //Sanchez
1535 AddStaticVehicleEx(468,-2297.89941406,-1653.19921875,483.10000610,21.99462891,-1,-1,15); //Sanchez
1536 AddStaticVehicleEx(468,-2296.59960938,-1652.59960938,483.10000610,21.99462891,-1,-1,15); //Sanchez
1537 AddStaticVehicleEx(468,-2295.39941406,-1651.89941406,483.10000610,21.99462891,-1,-1,15); //Sanchez
1538 AddStaticVehicleEx(468,-2294.09960938,-1650.79980469,483.10000610,21.99462891,-1,-1,15); //Sanchez
1539 AddStaticVehicleEx(468,-2293.00000000,-1653.39941406,483.00000000,21.99462891,-1,-1,15); //Sanchez
1540 AddStaticVehicleEx(468,-2294.50000000,-1654.09997559,483.00000000,21.99462891,-1,-1,15); //Sanchez
1541 AddStaticVehicleEx(468,-2295.79980469,-1654.69921875,483.00000000,21.99462891,-1,-1,15); //Sanchez
1542 AddStaticVehicleEx(468,-2297.19921875,-1655.19921875,483.00000000,21.99462891,-1,-1,15); //Sanchez
1543 AddStaticVehicleEx(468,-2298.79980469,-1655.79980469,483.00000000,21.99462891,-1,-1,15); //Sanchez
1544 AddStaticVehicleEx(468,-2395.89990234,-2214.39990234,33.00000000,0.00000000,-1,-1,15); //Sanchez
1545 AddStaticVehicleEx(468,-2393.89990234,-2215.19995117,33.00000000,0.00000000,-1,-1,15); //Sanchez
1546 AddStaticVehicleEx(468,-2392.19995117,-2214.89990234,33.00000000,0.00000000,-1,-1,15); //Sanchez
1547 AddStaticVehicleEx(468,-2399.60009766,-2212.39990234,33.00000000,302.00000000,-1,-1,15); //Sanchez
1548 AddStaticVehicleEx(468,-2400.69995117,-2209.30004883,33.00000000,291.99768066,-1,-1,15); //Sanchez
1549 AddStaticVehicleEx(468,-2401.50000000,-2205.89990234,33.00000000,283.99462891,-1,-1,15); //Sanchez
1550 AddStaticVehicleEx(468,-2401.19995117,-2199.69995117,33.00000000,247.99108887,-1,-1,15); //Sanchez
1551 AddStaticVehicleEx(468,-2402.00000000,-2202.89941406,33.00000000,263.99047852,-1,-1,15); //Sanchez
1552 CreateObject(2780,-2367.47753906,-2187.62597656,32.56118011,0.00000000,0.00000000,0.00000000); //object0
1553 CreateObject(2780,-2362.69921900,-2194.43579100,32.64584000,0.00000000,0.00000000,158.99584544); //object1
1554 CreateObject(3264,-2525.92285156,-1696.32617188,401.40737915,0.00000000,0.00000000,3.43322754); //object2
1555 CreateObject(3873,-2337.00000000,-1611.90002441,500.10000610,0.00000000,0.00000000,0.00000000); //object3
1556 CreateObject(8397,-2523.30566406,-1431.05468750,359.09335327,8.59130859,359.13757324,121.17919922); //object4
1557 CreateObject(7916,-2407.85668900,-1349.25305200,339.38436900,0.00000000,0.00000000,284.47354528); //object5
1558 CreateObject(2780,-2286.69995117,-1719.50000000,472.00000000,0.00000000,0.00000000,0.00000000); //object0
1559 CreateObject(2780,-2279.50000000,-1716.69995117,473.29998779,0.00000000,0.00000000,0.00000000); //object0
1560 CreateObject(2633,-2266.19995117,-1798.09997559,427.20001221,0.00000000,0.00000000,332.00000000); //object(crack_walkway1) (1)
1561 CreateObject(2633,-2267.19995117,-1800.19995117,427.20001221,0.00000000,0.00000000,331.99584961); //object(crack_walkway1) (2)
1562 CreateObject(2633,-2268.19995117,-1802.19995117,427.20001221,0.00000000,0.00000000,331.99584961); //object(crack_walkway1) (3)
1563 CreateObject(2633,-2269.39990234,-1804.19995117,427.20001221,0.00000000,0.00000000,331.99584961); //object(crack_walkway1) (4)
1564 CreateObject(2633,-2270.89990234,-1806.09997559,427.10000610,0.00000000,0.00000000,331.99584961); //object(crack_walkway1) (5)
1565 CreateObject(3525,-2268.39990234,-1796.50000000,431.20001221,0.00000000,0.00000000,232.00000000); //object(exbrtorch01) (1)
1566 CreateObject(3525,-2273.89990234,-1805.09997559,431.10000610,0.00000000,0.00000000,231.99829102); //object(exbrtorch01) (2)
1567 CreateObject(1633,-2227.89990234,-1740.30004883,481.20001221,0.00000000,0.00000000,214.00000000); //object(landjump) (1)
1568 CreateObject(1633,-2235.00000000,-1744.90002441,481.20001221,0.00000000,0.00000000,211.99719238); //object(landjump) (2)
1569 CreateObject(1633,-2231.39941406,-1742.29980469,481.20001221,0.00000000,0.00000000,213.99719238); //object(landjump) (3)
1570 CreateObject(1633,-2238.60009766,-1747.59997559,481.20001221,0.00000000,0.00000000,211.99670410); //object(landjump) (4)
1571 CreateObject(1633,-2241.80004883,-1749.50000000,481.20001221,0.00000000,0.00000000,211.99218750); //object(landjump) (5)
1572 CreateObject(1697,-2281.60009766,-1637.30004883,484.20001221,0.00000000,0.00000000,90.00000000); //object(roofstuff16) (1)
1573 CreateObject(1697,-2281.79980469,-1632.79980469,484.29998779,0.00000000,0.00000000,90.00000000); //object(roofstuff16) (2)
1574 CreateObject(1697,-2282.19995117,-1628.50000000,484.20001221,0.00000000,0.00000000,90.00000000); //object(roofstuff16) (4)
1575 CreateObject(16401,-2282.50000000,-1619.40002441,481.29998779,0.00000000,0.00000000,0.00000000); //object(desn2_peckjump) (1)
1576 CreateObject(16401,-2282.69921875,-1612.29980469,480.29998779,0.00000000,0.00000000,0.00000000); //object(desn2_peckjump) (2)
1577 CreateObject(13636,-2391.80004883,-2180.39990234,34.59999847,0.00000000,0.00000000,0.00000000); //object(logramps) (1)
1578 CreateObject(13648,-2380.19995117,-2219.00000000,32.29999924,0.00000000,0.00000000,290.00000000); //object(wall2) (1)
1579 //Good race on water
1580 AddStaticVehicleEx(495,2412.19995117,-4027.60009766,4.09999990,126.00000000,-1,-1,15); //Sandking
1581 AddStaticVehicleEx(495,2414.39990234,-4033.89990234,4.09999990,87.99560547,-1,-1,15); //Sandking
1582 AddStaticVehicleEx(495,2414.80004883,-4042.89990234,4.09999990,87.99499512,-1,-1,15); //Sandking
1583 AddStaticVehicleEx(495,2416.10009766,-4053.30004883,4.09999990,87.99499512,-1,-1,15); //Sandking
1584 AddStaticVehicleEx(495,2414.69995117,-4066.39990234,4.09999990,59.99499512,-1,-1,15); //Sandking
1585 AddStaticVehicleEx(495,2410.39990234,-4072.80004883,4.09999990,11.99084473,-1,-1,15); //Sandking
1586 AddStaticVehicleEx(495,2401.80004883,-4073.60009766,4.09999990,3.98608398,-1,-1,15); //Sandking
1587 AddStaticVehicleEx(495,2390.39990234,-4073.80004883,4.09999990,357.98254395,-1,-1,15); //Sandking
1588 AddStaticVehicleEx(495,2400.89990234,-4025.00000000,4.09999990,187.97851562,-1,-1,15); //Sandking
1589 AddStaticVehicleEx(495,2377.19921875,-4074.79980469,4.09999990,357.97851562,-1,-1,15); //Sandking
1590 AddStaticVehicleEx(495,2377.19921875,-4074.79980469,4.09999990,357.97851562,-1,-1,15); //Sandking
1591 AddStaticVehicleEx(495,2366.19921875,-4069.00000000,4.09999990,295.97717285,-1,-1,15); //Sandking
1592 AddStaticVehicleEx(495,2365.00000000,-4056.09960938,4.09999990,271.97753906,-1,-1,15); //Sandking
1593 AddStaticVehicleEx(495,2364.79980469,-4045.50000000,4.09999990,263.97399902,-1,-1,15); //Sandking
1594 AddStaticVehicleEx(495,2365.69921875,-4033.19921875,4.09999990,249.97741699,-1,-1,15); //Sandking
1595 AddStaticVehicleEx(495,2375.29980469,-4026.69921875,4.09999990,187.97607422,-1,-1,15); //Sandking
1596 AddStaticVehicleEx(495,2388.79980469,-4026.29980469,4.09999990,187.97601318,-1,-1,15); //Sandking
1597 CreateObject(3374,2360.50000000,-4072.50000000,2.50000000,0.00000000,44.99999064,14.99997778); //object0
1598 CreateObject(3374,2360.00000000,-4068.00000000,2.50000000,0.00000000,44.99450684,0.00000000); //object1
1599 CreateObject(3374,2360.00000000,-4064.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object2
1600 CreateObject(3374,2360.00000000,-4060.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object3
1601 CreateObject(3374,2360.00000000,-4056.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object4
1602 CreateObject(3374,2360.00000000,-4052.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object5
1603 CreateObject(3374,2360.00000000,-4048.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object6
1604 CreateObject(3374,2360.00000000,-4044.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object7
1605 CreateObject(3374,2360.00000000,-4040.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object8
1606 CreateObject(3374,2360.00000000,-4036.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object9
1607 CreateObject(3374,2360.00000000,-4032.00000000,2.50000000,0.00000000,44.99999064,0.00000000); //object10
1608 CreateObject(3374,2360.50000000,-4027.50000000,2.50000000,0.00000000,44.99450684,344.99816895); //object11
1609 CreateObject(3374,2363.00000000,-4077.00000000,2.50000000,-44.99999064,0.00000000,-44.99999064); //object12
1610 CreateObject(3374,2364.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object13
1611 CreateObject(3374,2364.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object14
1612 CreateObject(3374,2364.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object15
1613 CreateObject(3374,2364.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object16
1614 CreateObject(3374,2364.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object17
1615 CreateObject(3374,2364.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object18
1616 CreateObject(3374,2364.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object19
1617 CreateObject(3374,2364.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object20
1618 CreateObject(3374,2364.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object21
1619 CreateObject(3374,2364.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object22
1620 CreateObject(3374,2364.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object23
1621 CreateObject(3374,2364.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object24
1622 CreateObject(3374,2363.00000000,-4023.00000000,2.50000000,0.00000000,44.99999064,-44.99999064); //object25
1623 CreateObject(3374,2367.50000000,-4079.50000000,2.50000000,-44.99999064,0.00000000,-14.99997778); //object26
1624 CreateObject(3374,2368.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object27
1625 CreateObject(3374,2368.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object28
1626 CreateObject(3374,2368.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object29
1627 CreateObject(3374,2368.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object30
1628 CreateObject(3374,2368.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object31
1629 CreateObject(3374,2368.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object32
1630 CreateObject(3374,2368.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object33
1631 CreateObject(3374,2368.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object34
1632 CreateObject(3374,2368.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object35
1633 CreateObject(3374,2368.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object36
1634 CreateObject(3374,2368.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object37
1635 CreateObject(3374,2368.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object38
1636 CreateObject(3374,2368.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object39
1637 CreateObject(3374,2368.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object40
1638 CreateObject(3374,2367.50000000,-4020.50000000,2.50000000,44.99999064,0.00000000,14.99997778); //object41
1639 CreateObject(3374,2372.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object42
1640 CreateObject(3374,2372.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object43
1641 CreateObject(3374,2372.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object44
1642 CreateObject(3374,2372.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object45
1643 CreateObject(3374,2372.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object46
1644 CreateObject(3374,2372.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object47
1645 CreateObject(3374,2372.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object48
1646 CreateObject(3374,2372.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object49
1647 CreateObject(3374,2372.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object50
1648 CreateObject(3374,2372.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object51
1649 CreateObject(3374,2372.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object52
1650 CreateObject(3374,2372.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object53
1651 CreateObject(3374,2372.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object54
1652 CreateObject(3374,2372.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object55
1653 CreateObject(3374,2372.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object56
1654 CreateObject(3374,2372.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object57
1655 CreateObject(3374,2376.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object58
1656 CreateObject(3374,2376.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object59
1657 CreateObject(3374,2376.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object60
1658 CreateObject(3374,2376.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object61
1659 CreateObject(3374,2376.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object62
1660 CreateObject(3374,2376.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object63
1661 CreateObject(3374,2376.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object64
1662 CreateObject(3374,2376.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object65
1663 CreateObject(3374,2376.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object66
1664 CreateObject(3374,2376.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object67
1665 CreateObject(3374,2376.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object68
1666 CreateObject(3374,2376.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object69
1667 CreateObject(3374,2376.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object70
1668 CreateObject(3374,2376.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object71
1669 CreateObject(3374,2376.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object72
1670 CreateObject(3374,2376.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object73
1671 CreateObject(3374,2380.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object74
1672 CreateObject(3374,2380.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object75
1673 CreateObject(3374,2380.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object76
1674 CreateObject(3374,2380.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object77
1675 CreateObject(3374,2380.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object78
1676 CreateObject(3374,2380.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object79
1677 CreateObject(3374,2380.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object80
1678 CreateObject(3374,2380.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object81
1679 CreateObject(3374,2380.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object82
1680 CreateObject(3374,2380.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object83
1681 CreateObject(3374,2380.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object84
1682 CreateObject(3374,2380.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object85
1683 CreateObject(3374,2380.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object86
1684 CreateObject(3374,2380.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object87
1685 CreateObject(3374,2380.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object88
1686 CreateObject(3374,2380.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object89
1687 CreateObject(3374,2384.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object90
1688 CreateObject(3374,2384.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object91
1689 CreateObject(3374,2384.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object92
1690 CreateObject(3374,2384.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object93
1691 CreateObject(3374,2384.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object94
1692 CreateObject(3374,2384.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object95
1693 CreateObject(3374,2384.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object96
1694 CreateObject(3374,2384.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object97
1695 CreateObject(3374,2384.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object98
1696 CreateObject(3374,2384.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object99
1697 CreateObject(3374,2384.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object100
1698 CreateObject(3374,2384.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object101
1699 CreateObject(3374,2384.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object102
1700 CreateObject(3374,2384.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object103
1701 CreateObject(3374,2384.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object104
1702 CreateObject(3374,2384.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object105
1703 CreateObject(3374,2388.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object106
1704 CreateObject(3374,2388.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object107
1705 CreateObject(3374,2388.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object108
1706 CreateObject(3374,2388.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object109
1707 CreateObject(3374,2388.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object110
1708 CreateObject(3374,2388.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object111
1709 CreateObject(3374,2388.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object112
1710 CreateObject(3374,2388.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object113
1711 CreateObject(3374,2388.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object114
1712 CreateObject(3374,2388.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object115
1713 CreateObject(3374,2388.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object116
1714 CreateObject(3374,2388.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object117
1715 CreateObject(3374,2388.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object118
1716 CreateObject(3374,2388.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object119
1717 CreateObject(3374,2388.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object120
1718 CreateObject(3374,2388.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object121
1719 CreateObject(3374,2392.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object122
1720 CreateObject(3374,2392.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object123
1721 CreateObject(3374,2392.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object124
1722 CreateObject(3374,2392.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object125
1723 CreateObject(3374,2392.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object126
1724 CreateObject(3374,2392.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object127
1725 CreateObject(3374,2392.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object128
1726 CreateObject(3374,2392.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object129
1727 CreateObject(3374,2392.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object130
1728 CreateObject(3374,2392.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object131
1729 CreateObject(3374,2392.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object132
1730 CreateObject(3374,2392.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object133
1731 CreateObject(3374,2392.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object134
1732 CreateObject(3374,2392.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object135
1733 CreateObject(3374,2392.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object136
1734 CreateObject(3374,2392.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object137
1735 CreateObject(3374,2396.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object138
1736 CreateObject(3374,2396.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object139
1737 CreateObject(3374,2396.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object140
1738 CreateObject(3374,2396.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object141
1739 CreateObject(3374,2396.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object142
1740 CreateObject(3374,2396.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object143
1741 CreateObject(3374,2396.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object144
1742 CreateObject(3374,2396.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object145
1743 CreateObject(3374,2396.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object146
1744 CreateObject(3374,2396.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object147
1745 CreateObject(3374,2396.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object148
1746 CreateObject(3374,2396.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object149
1747 CreateObject(3374,2396.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object150
1748 CreateObject(3374,2396.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object151
1749 CreateObject(3374,2396.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object152
1750 CreateObject(3374,2396.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object153
1751 CreateObject(3374,2400.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object154
1752 CreateObject(3374,2400.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object155
1753 CreateObject(3374,2400.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object156
1754 CreateObject(3374,2400.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object157
1755 CreateObject(3374,2400.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object158
1756 CreateObject(3374,2400.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object159
1757 CreateObject(3374,2400.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object160
1758 CreateObject(3374,2400.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object161
1759 CreateObject(3374,2400.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object162
1760 CreateObject(3374,2400.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object163
1761 CreateObject(3374,2400.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object164
1762 CreateObject(3374,2400.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object165
1763 CreateObject(3374,2400.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object166
1764 CreateObject(3374,2400.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object167
1765 CreateObject(3374,2400.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object168
1766 CreateObject(3374,2400.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object169
1767 CreateObject(3374,2404.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object170
1768 CreateObject(3374,2404.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object171
1769 CreateObject(3374,2404.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object172
1770 CreateObject(3374,2404.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object173
1771 CreateObject(3374,2404.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object174
1772 CreateObject(3374,2404.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object175
1773 CreateObject(3374,2404.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object176
1774 CreateObject(3374,2404.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object177
1775 CreateObject(3374,2404.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object178
1776 CreateObject(3374,2404.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object179
1777 CreateObject(3374,2404.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object180
1778 CreateObject(3374,2404.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object181
1779 CreateObject(3374,2404.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object182
1780 CreateObject(3374,2404.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object183
1781 CreateObject(3374,2404.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object184
1782 CreateObject(3374,2404.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object185
1783 CreateObject(3374,2408.00000000,-4080.00000000,2.50000000,-44.99999064,0.00000000,0.00000000); //object186
1784 CreateObject(3374,2408.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object187
1785 CreateObject(3374,2408.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object188
1786 CreateObject(3374,2408.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object189
1787 CreateObject(3374,2408.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object190
1788 CreateObject(3374,2408.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object191
1789 CreateObject(3374,2408.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object192
1790 CreateObject(3374,2408.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object193
1791 CreateObject(3374,2408.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object194
1792 CreateObject(3374,2408.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object195
1793 CreateObject(3374,2408.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object196
1794 CreateObject(3374,2408.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object197
1795 CreateObject(3374,2408.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object198
1796 CreateObject(3374,2408.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object199
1797 CreateObject(3374,2408.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object200
1798 CreateObject(3374,2408.00000000,-4020.00000000,2.50000000,44.99999064,0.00000000,0.00000000); //object201
1799 CreateObject(3374,2412.50000000,-4079.50000000,2.50000000,-44.99999064,0.00000000,14.99997778); //object202
1800 CreateObject(3374,2412.00000000,-4076.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object203
1801 CreateObject(3374,2412.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object204
1802 CreateObject(3374,2412.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object205
1803 CreateObject(3374,2412.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object206
1804 CreateObject(3374,2412.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object207
1805 CreateObject(3374,2412.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object208
1806 CreateObject(3374,2412.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object209
1807 CreateObject(3374,2412.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object210
1808 CreateObject(3374,2412.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object211
1809 CreateObject(3374,2412.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object212
1810 CreateObject(3374,2412.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object213
1811 CreateObject(3374,2412.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object214
1812 CreateObject(3374,2412.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object215
1813 CreateObject(3374,2412.00000000,-4024.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object216
1814 CreateObject(3374,2412.50000000,-4020.50000000,2.50000000,44.99999064,0.00000000,-14.99997778); //object217
1815 CreateObject(3374,2417.00000000,-4077.00000000,2.50000000,0.00000000,-44.99999064,-44.99999064); //object218
1816 CreateObject(3374,2416.00000000,-4072.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object219
1817 CreateObject(3374,2416.00000000,-4068.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object220
1818 CreateObject(3374,2416.00000000,-4064.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object221
1819 CreateObject(3374,2416.00000000,-4060.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object222
1820 CreateObject(3374,2416.00000000,-4056.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object223
1821 CreateObject(3374,2416.00000000,-4052.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object224
1822 CreateObject(3374,2416.00000000,-4048.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object225
1823 CreateObject(3374,2416.00000000,-4044.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object226
1824 CreateObject(3374,2416.00000000,-4040.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object227
1825 CreateObject(3374,2416.00000000,-4036.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object228
1826 CreateObject(3374,2416.00000000,-4032.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object229
1827 CreateObject(3374,2416.00000000,-4028.00000000,1.00000000,0.00000000,0.00000000,0.00000000); //object230
1828 CreateObject(3374,2417.00000000,-4023.00000000,2.50000000,0.00000000,-44.99999064,44.99999064); //object231
1829 CreateObject(3374,2419.50000000,-4072.50000000,2.50000000,0.00000000,-44.99999064,-14.99997778); //object232
1830 CreateObject(3374,2420.00000000,-4068.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object233
1831 CreateObject(3374,2420.00000000,-4064.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object234
1832 CreateObject(3374,2420.00000000,-4060.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object235
1833 CreateObject(3374,2420.00000000,-4056.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object236
1834 CreateObject(3374,2420.00000000,-4052.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object237
1835 CreateObject(3374,2420.00000000,-4048.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object238
1836 CreateObject(3374,2420.00000000,-4044.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object239
1837 CreateObject(3374,2420.00000000,-4040.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object240
1838 CreateObject(3374,2420.00000000,-4036.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object241
1839 CreateObject(3374,2420.00000000,-4032.00000000,2.50000000,0.00000000,-44.99999064,0.00000000); //object242
1840 CreateObject(3374,2419.50000000,-4027.50000000,2.50000000,0.00000000,-44.99999064,14.99997778); //object243
1841 CreateObject(1225,2390.00000000,-4050.00000000,2.91177800,0.00000000,0.00000000,0.00000000); //object244
1842 CreateObject(1225,2404.00000000,-4036.00000000,2.91177800,0.00000000,0.00000000,0.00000000); //object245
1843 CreateObject(1225,2376.00000000,-4036.00000000,2.91177800,0.00000000,0.00000000,0.00000000); //object246
1844 CreateObject(1225,2376.00000000,-4064.00000000,2.91177800,0.00000000,0.00000000,0.00000000); //object247
1845 CreateObject(1225,2404.00000000,-4064.00000000,2.91177800,0.00000000,0.00000000,0.00000000); //object248
1846 //falldown
1847 AddStaticVehicleEx(461,1323.69995117,1889.59997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1848 AddStaticVehicleEx(461,1326.40002441,1889.40002441,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1849 AddStaticVehicleEx(461,1329.09997559,1886.50000000,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1850 AddStaticVehicleEx(461,1328.79980469,1889.50000000,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1851 AddStaticVehicleEx(461,1326.30004883,1886.30004883,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1852 AddStaticVehicleEx(461,1323.00000000,1883.40002441,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1853 AddStaticVehicleEx(461,1323.39941406,1886.50000000,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1854 AddStaticVehicleEx(461,1329.09997559,1883.59997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1855 AddStaticVehicleEx(461,1326.19921875,1883.39941406,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1856 AddStaticVehicleEx(461,1326.00000000,1880.59997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1857 AddStaticVehicleEx(461,1322.79980469,1880.69921875,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1858 AddStaticVehicleEx(461,1328.90002441,1878.09997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1859 AddStaticVehicleEx(461,1328.89941406,1880.89941406,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1860 AddStaticVehicleEx(461,1329.00000000,1874.30004883,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1861 AddStaticVehicleEx(461,1325.80004883,1877.59997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1862 AddStaticVehicleEx(461,1322.80004883,1877.90002441,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1863 AddStaticVehicleEx(461,1322.50000000,1874.40002441,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1864 AddStaticVehicleEx(461,1325.19995117,1874.09997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1865 AddStaticVehicleEx(461,1324.90002441,1871.40002441,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1866 AddStaticVehicleEx(461,1322.40002441,1871.59997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1867 AddStaticVehicleEx(461,1328.59997559,1871.00000000,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1868 AddStaticVehicleEx(461,1327.09997559,1871.09997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1869 AddStaticVehicleEx(461,1327.30004883,1873.59997559,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1870 AddStaticVehicleEx(461,1327.59997559,1876.80004883,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1871 AddStaticVehicleEx(461,1328.00000000,1880.50000000,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1872 AddStaticVehicleEx(461,1324.50000000,1880.80004883,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1873 AddStaticVehicleEx(461,1324.19995117,1877.80004883,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1874 AddStaticVehicleEx(461,1323.90002441,1869.50000000,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1875 AddStaticVehicleEx(461,1325.90002441,1869.30004883,1015.79998779,0.00000000,-1,-1,15); //PCJ-600
1876 AddStaticVehicleEx(451,1335.50000000,1887.90002441,1015.90002441,256.00000000,-1,-1,15); //Turismo
1877 AddStaticVehicleEx(451,1334.80004883,1884.40002441,1015.90002441,255.99792480,-1,-1,15); //Turismo
1878 AddStaticVehicleEx(451,1341.40002441,1886.00000000,1015.90002441,255.99792480,-1,-1,15); //Turismo
1879 AddStaticVehicleEx(451,1340.69995117,1882.80004883,1015.90002441,255.99792480,-1,-1,15); //Turismo
1880 AddStaticVehicleEx(506,1349.80004883,1881.80004883,1015.90002441,163.99993896,-1,-1,15); //Super GT
1881 AddStaticVehicleEx(506,1347.19995117,1882.59997559,1015.90002441,163.99841309,1,1,15); //Super GT
1882 AddStaticVehicleEx(506,1345.50000000,1877.09997559,1015.90002441,163.99841309,3,65,15); //Super GT
1883 AddStaticVehicleEx(506,1348.09997559,1875.80004883,1015.90002441,163.99841309,-1,-1,15); //Super GT
1884 CreateObject(2910,1342.69995117,1785.19995117,1015.09997559,0.00000000,0.00000000,0.00000000); //object(temp_road) (1)
1885 CreateObject(4193,1335.80004883,1882.19995117,1002.40002441,0.00000000,0.00000000,180.00000000); //object(officeblok1_lan) (1)
1886 CreateObject(971,1352.00000000,1879.50000000,1018.70001221,0.00000000,0.00000000,86.00000000); //object(subwaygate) (1)
1887 CreateObject(971,1351.59997559,1870.80004883,1018.50000000,0.00000000,0.00000000,86.00000000); //object(subwaygate) (2)
1888 CreateObject(2910,1337.00000000,1626.00000000,973.20001221,29.00000000,0.00000000,356.00000000); //object(temp_road) (2)
1889 CreateObject(2910,1327.19995117,1483.90002441,894.09997559,28.99841309,0.00000000,355.99548340); //object(temp_road) (3)
1890 CreateObject(971,1328.69995117,1867.90002441,1018.70001221,0.00000000,0.00000000,1.99548340); //object(subwaygate) (4)
1891 CreateObject(971,1321.80004883,1867.80004883,1018.50000000,0.00000000,0.00000000,359.99450684); //object(subwaygate) (5)
1892 CreateObject(2910,1317.09997559,1339.90002441,814.00000000,28.99841309,0.00000000,355.99548340); //object(temp_road) (4)
1893 CreateObject(1634,1315.69995117,1262.69995117,775.09997559,0.00000000,0.00000000,176.00000000); //object(landjump2) (1)
1894 CreateObject(1634,1319.69995117,1262.40002441,775.09997559,0.00000000,0.00000000,175.99548340); //object(landjump2) (2)
1895 CreateObject(1634,1311.69995117,1262.90002441,775.09997559,0.00000000,0.00000000,175.99548340); //object(landjump2) (3)
1896 CreateObject(1634,1308.00000000,1263.00000000,775.09997559,0.00000000,0.00000000,175.99548340); //object(landjump2) (4)
1897 CreateObject(1634,1304.19995117,1263.09997559,775.09997559,0.00000000,0.00000000,176.00000000); //object(landjump2) (6)
1898 //parachute xD
1899 AddStaticVehicleEx(462,1097.90002441,1999.09997559,1343.00000000,0.00000000,-1,-1,15); //Faggio
1900 AddStaticVehicleEx(462,1100.09997559,2003.69995117,1342.80004883,0.00000000,-1,-1,15); //Faggio
1901 AddStaticVehicleEx(462,1098.09997559,2003.90002441,1342.80004883,0.00000000,-1,-1,15); //Faggio
1902 AddStaticVehicleEx(462,1096.09997559,1999.40002441,1343.00000000,0.00000000,-1,-1,15); //Faggio
1903 CreateObject(11566,1096.59997559,1998.00000000,1341.09997559,0.00000000,0.00000000,338.00000000); //object(des_tepeoff02) (1)
1904 CreateObject(11566,1098.50000000,2002.69995117,1340.90002441,0.00000000,0.00000000,337.99987793); //object(des_tepeoff02) (2)
1905 CreateObject(2163,1100.30004883,2000.59997559,1341.19995117,0.00000000,0.00000000,340.00000000); //object(med_office_unit_2) (1)
1906 CreateObject(2163,1100.80004883,2002.00000000,1341.19995117,0.00000000,0.00000000,339.99938965); //object(med_office_unit_2) (2)
1907 CreateObject(2163,1099.40002441,1998.30004883,1341.19995117,0.00000000,0.00000000,339.99938965); //object(med_office_unit_2) (3)
1908 CreateObject(2163,1098.40002441,1995.80004883,1341.19995117,0.00000000,0.00000000,339.99938965); //object(med_office_unit_2) (4)
1909 AddStaticVehicle(522,309.1958,-1809.6781,4.0110,2.4756,3,8); // beachcar3
1910 AddStaticVehicle(471,330.8299,-1809.6675,3.9587,0.6833,103,111); // beachcar4
1911 AddStaticVehicle(493,894.0062,-1905.7173,0.0980,186.7178,36,13); // pihenoboat
1912 AddStaticVehicle(493,917.3811,-1908.1396,-0.3078,183.5349,36,13); // pihenoboat2
1913 AddStaticVehicle(463,882.8429,-1821.0671,11.6904,89.1694,84,84); // beachcar5
1914 AddStaticVehicle(429,939.6917,-1845.2692,10.8763,5.0770,0,1); // beachcar1
1915 AddStaticVehicle(429,321.3799,-1809.1808,4.1622,359.6006,0,1); // beachcar2
1916 AddStaticVehicle(415,1535.8552,-1678.4626,13.1558,180.8168,0,0); // cheetah1
1917 AddStaticVehicle(424,1648.3202,-1613.7819,13.3588,89.8909,2,2); // kocsi1
1918 AddStaticVehicle(480,1608.5376,-1650.4370,13.3204,92.8428,12,12); //
1919 AddStaticVehicle(461,1609.3181,-1652.8834,13.1166,90.1595,37,1); // moci
1920 AddStaticVehicle(461,1608.7245,-1656.0504,13.1386,87.1948,37,1); // moci2
1921 AddStaticVehicle(567,1611.0812,-1678.3467,13.4178,0.7853,88,64); // kocsi2
1922 AddStaticVehicle(461,1391.6920,-1565.5775,13.1633,349.9458,37,1); // moci3
1923 AddStaticVehicle(461,1354.8339,-1627.8975,13.1903,86.8743,37,1); // moci4
1924 AddStaticVehicle(506,1379.5983,-1566.0115,13.2853,166.8974,6,6); // kocsi4
1925 AddStaticVehicle(506,1341.7719,-1570.7941,13.1589,73.0866,6,6); // kocsi5
1926 AddStaticVehicle(438,1118.2937,-1699.4940,13.5526,89.3231,6,76); // taxi1
1927 AddStaticVehicle(438,1130.4675,-1691.7065,13.6237,2.9770,6,76); // taxi2
1928 AddStaticVehicle(438,1130.3484,-1675.8254,13.6193,0.8477,6,76); // taxi3
1929 AddStaticVehicle(438,1137.2297,-1698.2827,13.8553,178.1206,6,76); // taxi4
1930 AddStaticVehicle(437,1172.9656,-1795.3866,13.5323,359.4278,79,7); // bus
1931 AddStaticVehicle(437,1182.9713,-1799.1869,13.5318,0.3939,79,7); // bus2
1932 AddStaticVehicle(560,1069.5917,-1792.5101,13.3677,269.5814,9,39); // sultan
1933 AddStaticVehicle(560,1069.6102,-1796.1511,13.3764,271.2086,9,39); // sultan
1934 AddStaticVehicle(581,1082.2688,-1807.8798,13.2100,266.3931,58,1); // moci 6
1935 AddStaticVehicle(581,1082.3510,-1811.6407,13.2083,269.0593,58,1); // moci 7
1936 AddStaticVehicle(451,-2033.7946,168.8366,28.5436,91.7168,125,125); // turmi
1937 AddStaticVehicle(451,-1956.8148,301.1177,35.1760,38.1197,36,36); // tumi2
1938 AddStaticVehicle(560,-1949.7059,269.8210,35.1767,66.7201,17,1); // sulti4
1939 AddStaticVehicle(415,-1958.7864,256.7287,35.2401,315.1033,40,1); // cheetah3
1940 AddStaticVehicle(415,-1972.0507,421.8898,34.9449,268.5504,40,1); // cheetah4
1941 AddStaticVehicle(461,-1959.0219,472.1629,34.7582,264.4777,43,1); // moci7
1942 AddStaticVehicle(461,-1964.2601,521.2622,34.7481,264.5663,43,1); // moci8
1943 AddStaticVehicle(477,-1926.1060,585.3528,34.8787,1.4215,94,1); // zr
1944 AddStaticVehicle(426,-1941.5206,585.2960,34.8615,359.9632,42,42); // premier
1945 AddStaticVehicle(426,-2059.2502,557.9722,34.8336,91.3456,42,42); // premier2
1946 AddStaticVehicle(426,-2113.5854,459.0975,34.9144,181.2359,42,42); // premier3
1947 AddStaticVehicle(415,1500.0238,-1737.8079,13.2324,92.7214,1,1); // cheetah2
1948 AddStaticVehicle(411,1495.7128,-1727.2906,13.1889,270.2644,6,6); // infi1
1949 AddStaticVehicle(411,1490.9528,-1586.6821,13.1889,91.0488,0,0); // infi2
1950 AddStaticVehicle(429,1461.8713,-1586.9352,13.1410,89.1969,0,1); // banshee1
1951 AddStaticVehicle(429,1363.2566,-1637.1613,13.0625,94.7875,1,0); // banshee2
1952 AddStaticVehicle(429,1365.8136,-1679.0565,13.2219,179.3801,3,1); // banshee3
1953 AddStaticVehicle(439,1355.9655,-1678.4800,13.4981,0.0149,5,38); // sabre1
1954 AddStaticVehicle(599,-1575.7006,651.6685,7.3774,359.9366,0,1); // Police Car1
1955 AddStaticVehicle(599,-1581.6942,651.2568,7.3740,1.7073,0,1); // Police Car2
1956 AddStaticVehicle(596,-1587.4795,650.6609,6.9093,0.1613,0,1); // Police Car3
1957 AddStaticVehicle(596,-1593.9192,651.6821,6.9088,0.3991,0,1); // Police Car4
1958 AddStaticVehicle(596,-1599.6677,651.5295,6.9076,358.7293,0,1); // Police Car5
1959 AddStaticVehicle(601,-1605.2771,651.4894,6.9463,359.2185,1,1); // Police Car6
1960 AddStaticVehicle(601,-1610.6888,651.1324,6.9462,1.4585,1,1); // Police Car7
1961 AddStaticVehicle(601,-1616.4635,651.3605,6.9462,359.7383,1,1); // Police Car8
1962 AddStaticVehicle(599,-1623.0770,651.4625,7.3736,359.3172,0,1); // Police Car9
1963 AddStaticVehicle(599,-1628.3235,651.9718,7.3727,359.8919,0,1); // Police Car10
1964 AddStaticVehicle(596,-1634.3855,651.9880,6.9094,1.2363,0,1); // Police Car11
1965 AddStaticVehicle(596,-1638.8059,651.9648,6.9077,2.3650,0,1); // Police Car12
1966 AddStaticVehicle(497,-1680.0112,707.0408,30.7776,89.7080,0,1); // Police Car13
1967 AddStaticVehicle(489,-1616.5581,732.1980,-5.2150,359.4570,10,10); // police Car 18
1968 AddStaticVehicle(599,-1612.6494,732.4237,-5.0592,359.5013,0,1); // police Car 19
1969 AddStaticVehicle(599,-1616.3856,747.9042,-5.0589,179.4841,0,1); // police Car 20
1970 AddStaticVehicle(599,-1609.2136,732.6057,-5.0547,177.3089,0,1); // police Car 21
1971 AddStaticVehicle(599,-1613.1326,750.0759,-5.0529,1.0538,0,1); // police Car 22
1972 AddStaticVehicle(599,-1606.2820,731.7369,-5.0528,178.6994,0,1); // police Car 23
1973 AddStaticVehicle(451,-2422.5452,298.0093,34.6753,222.4361,75,75); // valetcar1
1974 AddStaticVehicle(409,-2416.2903,333.0186,34.7687,152.0183,1,1); // valetcar2
1975 AddStaticVehicle(409,-2420.2317,325.7164,34.7687,150.3089,1,1); // valetcar3
1976 AddStaticVehicle(409,-2400.8713,323.5370,34.8161,329.5084,1,1); // valetcar4
1977 AddStaticVehicle(415,-2389.8606,354.7628,34.8342,254.9232,92,1); // valetcar5
1978 TDGame[3] = TextDrawCreate(3.200013, 282.986724, "~w~class:~p~ Medic~w~~n~weapons: deagle~n~shotgun~n~m4");
1979 TextDrawLetterSize(TDGame[3], 0.449999, 1.600000);
1980 TextDrawTextSize(TDGame[3], 231.200027, -73.173332);
1981 TextDrawAlignment(TDGame[3], 1);
1982 TextDrawColor(TDGame[3], -1);
1983 TextDrawUseBox(TDGame[3], true);
1984 TextDrawBoxColor(TDGame[3], 234898779);
1985 TextDrawSetShadow(TDGame[3], 0);
1986 TextDrawSetOutline(TDGame[3], 1);
1987 TextDrawBackgroundColor(TDGame[3], 51);
1988 TextDrawFont(TDGame[3], 2);
1989 TextDrawSetProportional(TDGame[3], 1);
1990 TDGame[4] = TextDrawCreate(3.200013, 282.986724, "~w~class:~p~ Police~w~~n~weapons: deagle~n~shotgun~n~Grenade");
1991 TextDrawLetterSize(TDGame[4], 0.449999, 1.600000);
1992 TextDrawTextSize(TDGame[4], 231.200027, -73.173332);
1993 TextDrawAlignment(TDGame[4], 1);
1994 TextDrawColor(TDGame[4], -1);
1995 TextDrawUseBox(TDGame[4], true);
1996 TextDrawBoxColor(TDGame[4], 234898779);
1997 TextDrawSetShadow(TDGame[4], 0);
1998 TextDrawSetOutline(TDGame[4], 1);
1999 TextDrawBackgroundColor(TDGame[4], 51);
2000 TextDrawFont(TDGame[4], 2);
2001 TextDrawSetProportional(TDGame[4], 1);
2002 TDGame[5] = TextDrawCreate(3.200013, 282.986724, "~w~class:~p~ Valet~w~~n~weapons: sawnoff~n~Uzi~n~sniper");
2003 TextDrawLetterSize(TDGame[5], 0.449999, 1.600000);
2004 TextDrawTextSize(TDGame[5], 231.200027, -73.173332);
2005 TextDrawAlignment(TDGame[5], 1);
2006 TextDrawColor(TDGame[5], -1);
2007 TextDrawUseBox(TDGame[5], true);
2008 TextDrawBoxColor(TDGame[5], 234898779);
2009 TextDrawSetShadow(TDGame[5], 0);
2010 TextDrawSetOutline(TDGame[5], 1);
2011 TextDrawBackgroundColor(TDGame[5], 51);
2012 TextDrawFont(TDGame[5], 2);
2013 TextDrawSetProportional(TDGame[5], 1);
2014 prop = TextDrawCreate(189.599914, 336.000030, "Name:~y~ %s~w~~n~Value:~y~ %d~w~~n~Earning:~y~ %d~w~~n~Owner:~y~ %s~w~~n~Type~y~ /buyproperty~w~ To buy this property.");
2015 TextDrawLetterSize(prop, 0.390800, 1.092266);
2016 TextDrawTextSize(prop, 469.599578, -27.626638);
2017 TextDrawAlignment(prop, 1);
2018 TextDrawColor(prop, -1);
2019 TextDrawUseBox(prop, true);
2020 TextDrawBoxColor(prop, 22869);
2021 TextDrawSetShadow(prop, 0);
2022 TextDrawSetOutline(prop, 1);
2023 TextDrawBackgroundColor(prop, 51);
2024 TextDrawFont(prop, 1);
2025 TextDrawSetProportional(prop, 1);
2026
2027 TDEditor_TD[3] = TextDrawCreate(178.800079, 137.733245, "__ZoneX~n~~n~~n~~n~~n~~n~~n~");
2028TextDrawLetterSize(TDEditor_TD[3], 0.735199, 3.018666);
2029TextDrawTextSize(TDEditor_TD[3], 497.000000, 0.000000);
2030TextDrawAlignment(TDEditor_TD[3], 1);
2031TextDrawColor(TDEditor_TD[3], -1);
2032TextDrawUseBox(TDEditor_TD[3], 1);
2033TextDrawBoxColor(TDEditor_TD[3], 107);
2034TextDrawSetShadow(TDEditor_TD[3], 0);
2035TextDrawSetOutline(TDEditor_TD[3], 0);
2036TextDrawBackgroundColor(TDEditor_TD[3], 255);
2037TextDrawFont(TDEditor_TD[3], 0);
2038TextDrawSetProportional(TDEditor_TD[3], 1);
2039TextDrawSetShadow(TDEditor_TD[3], 0);
2040
2041TDEditor_TD[4] = TextDrawCreate(177.199981, 185.520004, "welcome_to_ZoneX_we_wish_you_have_fun~n~and_never_get_bored_also_we_have_rules_you_~n~should_follow_it_also_use_/cmds_to_view_our~n~main_server_commands_and_also_view_/credits~n~to_know_the_people_who_scripted_and_developed~n~the_server_and_last_enjoy_playing_ZoneX_:)");
2042TextDrawLetterSize(TDEditor_TD[4], 0.400000, 1.600000);
2043TextDrawAlignment(TDEditor_TD[4], 1);
2044TextDrawColor(TDEditor_TD[4], -1);
2045TextDrawSetShadow(TDEditor_TD[4], 0);
2046TextDrawSetOutline(TDEditor_TD[4], 0);
2047TextDrawBackgroundColor(TDEditor_TD[4], 255);
2048TextDrawFont(TDEditor_TD[4], 1);
2049TextDrawSetProportional(TDEditor_TD[4], 1);
2050TextDrawSetShadow(TDEditor_TD[4], 0);
2051
2052TDEditor_TD[5] = TextDrawCreate(230.800033, 288.560028, "~r~~h~Cheat and you will be banned");
2053TextDrawLetterSize(TDEditor_TD[5], 0.400000, 1.600000);
2054TextDrawAlignment(TDEditor_TD[5], 1);
2055TextDrawColor(TDEditor_TD[5], -1);
2056TextDrawSetShadow(TDEditor_TD[5], 1);
2057TextDrawSetOutline(TDEditor_TD[5], 0);
2058TextDrawBackgroundColor(TDEditor_TD[5], 255);
2059TextDrawFont(TDEditor_TD[5], 3);
2060TextDrawSetProportional(TDEditor_TD[5], 1);
2061TextDrawSetShadow(TDEditor_TD[5], 1);
2062
2063TDEditor_TD[6] = TextDrawCreate(286.000061, 313.199829, "~g~~h~~h~Zx v4.0.1");
2064TextDrawLetterSize(TDEditor_TD[6], 0.400000, 1.600000);
2065TextDrawAlignment(TDEditor_TD[6], 1);
2066TextDrawColor(TDEditor_TD[6], -1);
2067TextDrawSetShadow(TDEditor_TD[6], 1);
2068TextDrawSetOutline(TDEditor_TD[6], 0);
2069TextDrawBackgroundColor(TDEditor_TD[6], 255);
2070TextDrawFont(TDEditor_TD[6], 1);
2071TextDrawSetProportional(TDEditor_TD[6], 1);
2072TextDrawSetShadow(TDEditor_TD[6], 1);
2073 LoadProperties();
2074 for(new i = 0; i < MAX_PLAYERS; i++)
2075 {
2076 if(IsPlayerConnected(i))
2077 {
2078 for(new propid; propid < PropertiesAmount; propid++)
2079 {
2080 if(PropInfo[propid][PropIsBought] == 1)
2081 {
2082 new pName1[145];
2083 GetPlayerName(i, pName1, MAX_PLAYER_NAME);
2084 if(strcmp(PropInfo[propid][PropOwner], pName1, true)==0)
2085 {
2086 EarningsForPlayer[i] += PropInfo[propid][PropEarning];
2087 PlayerProps[i]++;
2088 }
2089 }
2090 }
2091 }
2092 }
2093 SetTimer("UpdateUnbuyableTime", 60000, 1);
2094 #if ENABLE_MAP_ICON_STREAMER == 1
2095 SetTimer("MapIconStreamer", 500, 1);
2096 SetTimer("PropertyPayout", 60000, 1);
2097 #endif
2098 prop = TextDrawCreate(189.599914, 336.000030, "Name:~y~ %s~w~~n~Value:~y~ %d~w~~n~Earning:~y~ %d~w~~n~Owner:~y~ %s~w~~n~Type~y~ /buyproperty~w~ To buy this property.");
2099 TextDrawLetterSize(prop, 0.390800, 1.092266);
2100 TextDrawTextSize(prop, 469.599578, -27.626638);
2101 TextDrawAlignment(prop, 1);
2102 TextDrawColor(prop, -1);
2103 TextDrawUseBox(prop, true);
2104 TextDrawBoxColor(prop, 22869);
2105 TextDrawSetShadow(prop, 0);
2106 TextDrawSetOutline(prop, 1);
2107 TextDrawBackgroundColor(prop, 51);
2108 TextDrawFont(prop, 1);
2109 TextDrawSetProportional(prop, 1);
2110 //=====================================//
2111 return 1;
2112}
2113public OnGameModeExit()
2114{
2115 // Disconnect the first bot
2116 IRC_Quit(botIDs[0], "Filterscript exiting");
2117 // Disconnect the second bot
2118 IRC_Quit(botIDs[1], "Filterscript exiting");
2119 // Destroy the group
2120 IRC_DestroyGroup(groupID);
2121 SaveProperties();
2122 return 1;
2123}
2124public OnPlayerConnect(playerid)
2125{
2126 ResetPlayerCash(playerid);
2127 RaceInfo[playerid] = TextDrawCreate(633.000000, 348.000000, " ");
2128 TextDrawAlignment(RaceInfo[playerid], 3);
2129 TextDrawBackgroundColor(RaceInfo[playerid], 255);
2130 TextDrawFont(RaceInfo[playerid], 1);
2131 TextDrawLetterSize(RaceInfo[playerid], 0.240000, 1.100000);
2132 TextDrawColor(RaceInfo[playerid], -687931137);
2133 TextDrawSetOutline(RaceInfo[playerid], 0);
2134 TextDrawSetProportional(RaceInfo[playerid], 1);
2135 TextDrawSetShadow(RaceInfo[playerid], 1);
2136 SetTimerEx("TimeOnServer", 1000, 1, "i", playerid);
2137 new IPx[16], Adminx[20], reason[50];
2138 GetPlayerIp(playerid, IPx, sizeof(IPx));
2139 new querys[128], Cache:results;
2140 format(querys, 128, "SELECT * FROM `banlist` WHERE `ip` = '%s'", IPx);
2141 results = mysql_query(mysql, querys);
2142 new rowsK;
2143 cache_get_row_count(rowsK);
2144 if(rowsK)
2145 {
2146 cache_get_value_name(0, "Admin", Adminx);
2147 cache_get_value_name(0, "Reason", reason);
2148 new str[150+1000],hour,minute,year,day,month;
2149 gettime(hour,minute);
2150 getdate(day,month,year);
2151 strcat(str,"---------------------------------------------------\n");
2152 strcat(str,"YOU HAVE BEEN BANNED - READ THE FOLLOWING DETAILS:\n\n");
2153 format(str, sizeof(str), "%sYour Player Name: %s\n",str, GetName(playerid) );
2154 format(str, sizeof(str), "%sAdmin Name: %s\n",str, Adminx );
2155 format(str, sizeof(str), "%sDate and Time: %d:%d %d-%d-%d\n",str,hour,minute,day,month,year);
2156 format(str, sizeof(str), "%sReason: %s\n\n",str, reason );
2157 strcat(str, "If you think that ban was unfair you can take a screenshot of this screen by pressing F8 Key\nThen go www.xtremesserver.proboards.com and post in the Ban Appeal Forum\n");
2158 strcat(str,"---------------------------------------------------\n");
2159 ShowPlayerDialog(playerid,1240, DIALOG_STYLE_MSGBOX, ""COL_RED"You Bave Been Banned...", str, "OK", "");
2160 SetTimerEx("DelayKick", 1000, false, "i", playerid);
2161 }
2162 cache_delete(results);
2163 GameTextForPlayer(playerid,"~p~ZoneX",3000,4);
2164 SendClientMessage(playerid, COLOR_WHITE, "Welcome to "COL_RED"ZoneX "COL_WHITE"(/help)");
2165 SendClientMessage(playerid, COLOR_WHITE, "Please read "COL_RED"/rules /commands "COL_WHITE"to explore our server");
2166 new playername1[MAX_PLAYER_NAME];
2167 new string1[64];
2168 GetPlayerName(playerid, playername1, sizeof(playername1));
2169 format(string1, sizeof(string1), "%s (ID: %d) has joined the server", playername1, playerid);
2170 SendClientMessageToAll(0x5FFF00FF,string1);
2171 GotoOn[playerid] = 1;
2172 TextDrawHideForPlayer(playerid,TDEditor_TD[2]);
2173 SendDeathMessage(-1, playerid, 200);
2174 for(new i; DATAX:i < DATAX; i++)
2175 {
2176 pData[playerid][DATAX:i] = 0;
2177 }
2178 IsPlayerRegisterd[playerid] = 0;
2179 new query[128];
2180 GetPlayerIp(playerid, IP[playerid], 16);
2181 mysql_format(mysql, query, sizeof(query),"SELECT `IP`, `Password`, `ID` FROM `players` WHERE `Username` = '%e' LIMIT 1", pName(playerid));
2182 mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
2183 format(joinMsg, sizeof(joinMsg), "02[%d] 03***3* %s has joined the server .",playerid, GetName(playerid));
2184 IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg);
2185 PlayerProps[playerid] = 0;
2186 EarningsForPlayer[playerid] = 0;
2187 for(new propid; propid < PropertiesAmount; propid++)
2188 {
2189 if(PropInfo[propid][PropIsBought] == 1)
2190 {
2191 if(strcmp(PropInfo[propid][PropOwner], pName(playerid), true)==0)
2192 {
2193 EarningsForPlayer[playerid] += PropInfo[propid][PropEarning];
2194 PlayerProps[playerid]++;
2195 }
2196 }
2197 }
2198 if(PlayerProps[playerid] > 0)
2199 {
2200 new str[128];
2201 format(str, 128, "You currently own %d properties. Type /myproperties for more info about them.", PlayerProps[playerid]);
2202 SendClientMessage(playerid, 0x99FF66AA, str);
2203 }
2204 TextDrawShowForPlayer(playerid,TDEditor_TD[3]);
2205 TextDrawShowForPlayer(playerid,TDEditor_TD[4]);
2206 TextDrawShowForPlayer(playerid,TDEditor_TD[5]);
2207 TextDrawShowForPlayer(playerid,TDEditor_TD[6]);
2208 SetTimerEx("hidetextdraw", 5000, false, "i", playerid);
2209 SpeedBoostMultiplier[playerid] = 0.0;
2210 Medic = GangZoneCreate(-2734.599, 554.6121, -2502.838, 759.7503);
2211
2212Textdraw7 = TextDrawCreate(0.400007, 425.947021, "News: There is no News");
2213TextDrawLetterSize(Textdraw7, 0.223999, 0.875733);
2214TextDrawTextSize(Textdraw7, 746.000000, 0.000000);
2215TextDrawAlignment(Textdraw7, 1);
2216TextDrawColor(Textdraw7, -1);
2217TextDrawUseBox(Textdraw7, 1);
2218TextDrawBoxColor(Textdraw7, 255);
2219TextDrawSetShadow(Textdraw7, 0);
2220TextDrawSetOutline(Textdraw7, 0);
2221TextDrawBackgroundColor(Textdraw7, 255);
2222TextDrawFont(Textdraw7, 2);
2223TextDrawSetProportional(Textdraw7, 1);
2224TextDrawSetShadow(Textdraw7, 0);
2225 return 1;
2226}
2227public OnAccountCheck(playerid)
2228{
2229 new rows; //a variable that will be used to retrieve rows and fields in the database.
2230 cache_get_row_count(rows);//let's get the rows and fields from the database.
2231 if(rows == 1) //if there is row
2232 {
2233 cache_get_value_name(0, "IP", IP[playerid], 16);
2234 new newIP[16];
2235 new query[100+1000];
2236 GetPlayerIp(playerid, newIP, 16);
2237 IsPlayerRegisterd[playerid] = 1;
2238 if(strlen(IP[playerid]) != 0 && !strcmp(IP[playerid], newIP, true)) //Checks that the MySQL IP has a value and that they are the same.
2239 {
2240 mysql_format(mysql, query, sizeof(query), "SELECT * FROM `players` WHERE `Username` = '%e' LIMIT 1", pName(playerid));
2241 mysql_tquery(mysql, query, "AutoLogin", "i", playerid);
2242 }
2243 else
2244 {
2245 //then
2246 cache_get_value_name(0, "Password", pData[playerid][Password], 129);
2247 //we will load player's password into pData[playerid][Password] to be used in logging in
2248 cache_get_value_name_int(0, "ID", pData[playerid][ID]); //now let's load player's ID into pData[playerid][ID] so we can use it later
2249 printf("%s", pData[playerid][Password]); //OPTIONAL: Just for debugging. If it didn't show your password, then there must be something wrong while getting player's password
2250 ShowPlayerDialog(playerid, dLOGIN, DIALOG_STYLE_INPUT, "Login", "Welcome Back to ZoneX your Username is saved in our Database Please Login.", "Login", "Quit"); //And since we found a result from the database, which means, there is an account; we will show a login dialog
2251 }
2252 }
2253 else //if we didn't find any rows from the database, that means, no accounts were found
2254 {
2255 ShowPlayerDialog(playerid, dREGISTER, DIALOG_STYLE_INPUT, "Register", "Welcome To ZoneX your Username is not founded in our Database Please Register.", "Register", "Quit");
2256 //So we show them a dialog register
2257 }
2258 return 1;
2259}
2260public OnPlayerDisconnect(playerid, reason)
2261{
2262 new playerName[MAX_PLAYER_NAME], string[56];
2263 GetPlayerName(playerid, playerName, sizeof(playerName));
2264 switch(reason)
2265 {
2266 case 0: format(string, sizeof(string), "%s has left the server. (Ping Timeout)", playerName);
2267 case 1: format(string, sizeof(string), "%s has left the server. (Left/Leave)", playerName);
2268 case 2: format(string, sizeof(string), "%s has left the server. (Kicked/Banned)", playerName);
2269 }
2270 SendClientMessageToAll(0xFF0000F, string);
2271 if(IsPlayerRegisterd[playerid] != 0)
2272 {
2273 SavePlayerData(playerid);
2274 }
2275 new leaveMsg[128], name[MAX_PLAYER_NAME], reasonMsg[8];
2276 switch(reason)
2277 {
2278 case 0: reasonMsg = "Timeout";
2279 case 1: reasonMsg = "Leaving";
2280 case 2: reasonMsg = "Kicked";
2281 }
2282 pData[ playerid ][ pConnectTime ] = gettime();
2283 GetPlayerName(playerid, name, sizeof(name));
2284 format(leaveMsg, sizeof(leaveMsg), "02[%d] 03*** %s has left the server. (%s)", playerid, name, reasonMsg);
2285 IRC_GroupSay(groupID, IRC_CHANNEL, leaveMsg);
2286 if(Joined[playerid] == true)
2287 {
2288 JoinCount--;
2289 Joined[playerid] = false;
2290 DestroyVehicle(CreatedRaceVeh[playerid]);
2291 DisablePlayerRaceCheckpoint(playerid);
2292 TextDrawHideForPlayer(playerid, RaceInfo[playerid]);
2293 CPProgess[playerid] = 0;
2294 KillTimer(InfoTimer[playerid]);
2295 #if defined RACE_IN_OTHER_WORLD
2296 SetPlayerVirtualWorld(playerid, 0);
2297 #endif
2298 }
2299 TextDrawDestroy(RaceInfo[playerid]);
2300 if(BuildRace == playerid+1) BuildRace = 0;
2301 return 1;
2302}
2303public OnPlayerRequestClass(playerid,classid)
2304{
2305 TextDrawHideForPlayer(playerid,TDEditor_TD[0]);
2306 TextDrawHideForPlayer(playerid,TDEditor_TD[1]);
2307 SetPlayerPos(playerid, -2619.311523, 1452.251098, 8.094432);
2308 SetPlayerFacingAngle(playerid, 183.227935);
2309 SetPlayerCameraLookAt(playerid, -2619.311523, 1452.251098, 8.094432);
2310 SetPlayerCameraPos(playerid, -2619.311523 + (10 * floatsin(-183.227935, degrees)), 1452.251098 + (10 * floatcos(-183.227935, degrees)), 8.094432);
2311 GameTextForPlayer(playerid,"Select a Skin",3000,6);
2312 TextDrawShowForPlayer(playerid, Textdraw1);
2313 SetTimer("tde", 10000, false);
2314 if(classid == 0) //Medic
2315 {
2316 TextDrawShowForPlayer(playerid,TDGame[3]);
2317 TextDrawHideForPlayer(playerid,TDGame[4]);
2318 TextDrawHideForPlayer(playerid,TDGame[5]);
2319 }
2320 else if(classid == 1) //Medic
2321 {
2322 TextDrawShowForPlayer(playerid,TDGame[3]);
2323 TextDrawHideForPlayer(playerid,TDGame[4]);
2324 TextDrawHideForPlayer(playerid,TDGame[5]);
2325 }
2326 else if(classid == 2) //Medic
2327 {
2328 TextDrawShowForPlayer(playerid,TDGame[3]);
2329 TextDrawHideForPlayer(playerid,TDGame[4]);
2330 TextDrawHideForPlayer(playerid,TDGame[5]);
2331 }
2332 else if(classid == 3) //Police
2333 {
2334 TextDrawHideForPlayer(playerid,TDGame[3]);
2335 TextDrawShowForPlayer(playerid,TDGame[4]);
2336 TextDrawHideForPlayer(playerid,TDGame[5]);
2337 }
2338 else if(classid == 4) //Police
2339 {
2340 TextDrawHideForPlayer(playerid,TDGame[3]);
2341 TextDrawShowForPlayer(playerid,TDGame[4]);
2342 TextDrawHideForPlayer(playerid,TDGame[5]);
2343 }
2344 else if(classid == 5) //Police
2345 {
2346 TextDrawHideForPlayer(playerid,TDGame[3]);
2347 TextDrawShowForPlayer(playerid,TDGame[4]);
2348 TextDrawHideForPlayer(playerid,TDGame[5]);
2349 }
2350 else if(classid == 6) //Valet
2351 {
2352 TextDrawHideForPlayer(playerid,TDGame[3]);
2353 TextDrawHideForPlayer(playerid,TDGame[4]);
2354 TextDrawShowForPlayer(playerid,TDGame[5]);
2355 }
2356 else if(classid == 7) //Valet
2357 {
2358 SetPlayerColor(playerid,0x00FF00FF);
2359 TextDrawHideForPlayer(playerid,TDGame[3]);
2360 TextDrawHideForPlayer(playerid,TDGame[4]);
2361 TextDrawShowForPlayer(playerid,TDGame[5]);
2362 }
2363 TextDrawHideForPlayer(playerid,TDEditor_TD[2]);
2364 return 1;
2365}
2366forward hidetextdraw(playerid);
2367public hidetextdraw(playerid)
2368{
2369 TextDrawHideForPlayer(playerid,TDEditor_TD[3]);
2370 TextDrawHideForPlayer(playerid,TDEditor_TD[4]);
2371 TextDrawHideForPlayer(playerid,TDEditor_TD[5]);
2372 TextDrawHideForPlayer(playerid,TDEditor_TD[6]);
2373 return 1;
2374}
2375
2376SetPlayerCash(playerid, money)
2377{
2378 pData[playerid][Money] = money;
2379 ResetMoneyBar(playerid);//Resets the money in the M4 moneybar, Do not remove!
2380 UpdateMoneyBar(playerid,pData[playerid][Money]);//Sets the money in the moneybar to the serverside cash, Do not remove!
2381 return pData[playerid][Money];
2382}
2383ResetPlayerCash(playerid)
2384{
2385 pData[playerid][Money] = 0;
2386 ResetMoneyBar(playerid);//Resets the money in the M4 moneybar, Do not remove!
2387 UpdateMoneyBar(playerid,pData[playerid][Money]);//Sets the money in the moneybar to the serverside cash, Do not remove!
2388 return pData[playerid][Money];
2389}
2390GetPlayerCash(playerid)
2391{
2392 return pData[playerid][Money];
2393}
2394
2395function MoneyTimer()
2396{
2397 for(new i=0; i<MAX_PLAYERS; i++)
2398 {
2399 if(IsPlayerConnected(i))
2400 {
2401 if(GetPlayerCash(i) < GetPlayerMoney(i))
2402 {
2403 ResetMoneyBar(i);//Resets the money in the M4 moneybar, Do not remove!
2404 UpdateMoneyBar(i,GetPlayerCash(i));//Sets the money in the moneybar to the serverside cash, Do not remove!
2405 new hack = GetPlayerMoney(i) - GetPlayerCash(i);
2406 if(pData[i][Admin] >= 3)
2407 {
2408 new string[130];
2409 format(string, sizeof(string),"AC ALERT: %s (ID:%d) has cheated $%d",GetName(i),i,hack);
2410 SendClientMessage(i,0xFF0000FF,string);
2411 }
2412 }
2413 }
2414 }
2415 return 1;
2416}
2417public OnPlayerSpawn(playerid)
2418{
2419 TextDrawHideForPlayer(playerid,TDEditor_TD[0]);
2420 TextDrawHideForPlayer(playerid,TDEditor_TD[1]);
2421 TextDrawHideForPlayer(playerid,TDGame[3]);
2422 TextDrawHideForPlayer(playerid,TDGame[4]);
2423 TextDrawHideForPlayer(playerid,TDGame[5]);
2424 //TextDrawShowForPlayer(playerid, Textdraw8);
2425 new objectid = CreateObject(19447,-2711.86182, 609.32404, 23.06240, 0.00000, 0.00000, 0.00000);
2426 SetObjectMaterialText(objectid, "Medic {FFFFFF}Spawn", 0, OBJECT_MATERIAL_SIZE_256x128, "Arial", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
2427 ResetMoneyBar(playerid);
2428 SetPlayerCash(playerid,pData[playerid][Money]);
2429 GangZoneShowForPlayer(playerid, Medic, 0xFE5F6366);
2430 TextDrawShowForAll(Textdraw7);
2431 return 1;
2432}
2433public GetVehicleModelIDFromName(vname[])
2434{
2435 for(new i = 0; i < 211; i++)
2436 {
2437 if ( strfind(VehicleNames[i], vname, true) != -1 )
2438 return i + 400;
2439 }
2440 return -1;
2441}
2442CMD:v(playerid, params[])
2443{
2444 new Vehicle[32], VehicleID, ColorOne, ColorTwo;
2445 PlayerInfo[playerid][pCanSpawnVehicle] = true;
2446 if(Joined[playerid] == true)
2447 {
2448 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
2449 }
2450 if(sscanf(params, "s[32]D(1)D(1)", Vehicle, ColorOne, ColorTwo))
2451 {
2452 PlayerInfo[playerid][pCanSpawnVehicle] = true;
2453 SendClientMessage(playerid, COLOR_GREY, "[USAGE]: /v[Vehiclename/Vehicleid] [Color 1 (optional)] [Color 2 (optional)]");
2454 SendClientMessage(playerid, COLOR_GREY, "[USAGE]: Like /v Turismo , /v Elegy /v Nrg /v 522");
2455 return 1;
2456 }
2457 if(PlayerInfo[playerid][pCanSpawnVehicle])
2458 {
2459 VehicleID = GetVehicleModelIDFromName(Vehicle);
2460 if(VehicleID != 425 && VehicleID != 432 && VehicleID != 447 &&
2461 VehicleID != 430 && VehicleID != 417 && VehicleID != 435 &&
2462 VehicleID != 446 && VehicleID != 449 && VehicleID != 450 &&
2463 VehicleID != 452 && VehicleID != 453 && VehicleID != 454 &&
2464 VehicleID != 460 && VehicleID != 464 && VehicleID != 465 &&
2465 VehicleID != 469 && VehicleID != 472 && VehicleID != 473 &&
2466 VehicleID != 476 && VehicleID != 484 && VehicleID != 487 &&
2467 VehicleID != 488 && VehicleID != 493 && VehicleID != 497 &&
2468 VehicleID != 501 && VehicleID != 511 && VehicleID != 512 &&
2469 VehicleID != 513 && VehicleID != 519 && VehicleID != 520 &&
2470 VehicleID != 537 && VehicleID != 538 && VehicleID != 548 &&
2471 VehicleID != 553 && VehicleID != 563 && VehicleID != 564 &&
2472 VehicleID != 569 && VehicleID != 570 && VehicleID != 577 &&
2473 VehicleID != 584 && VehicleID != 590 && VehicleID != 591 &&
2474 VehicleID != 592 && VehicleID != 593 && VehicleID != 594 &&
2475 VehicleID != 595 && VehicleID != 606 && VehicleID != 607 &&
2476 VehicleID != 608 && VehicleID != 610 && VehicleID != 611) {
2477 if(VehicleID == -1 )
2478 {
2479 VehicleID = strval(Vehicle);
2480 if(VehicleID < 400 || VehicleID > 611 )
2481 {
2482 return SendClientMessage(playerid, COLOR_GREY, "You entered an invalid vehiclename!");
2483 }
2484 }
2485 GetPlayerPos(playerid, pX, pY, pZ);
2486 GetPlayerFacingAngle(playerid, pAngle);
2487 DestroyVehicle(PlayerInfo[playerid][pSpawnVehicle]);
2488 PlayerInfo[playerid][pSpawnVehicle] = CreateVehicle(VehicleID, pX, pY, pZ+2.0, pAngle, ColorOne, ColorTwo, -1);
2489 LinkVehicleToInterior(PlayerInfo[playerid][pSpawnVehicle], GetPlayerInterior(playerid));
2490 PutPlayerInVehicle(playerid, PlayerInfo[playerid][pSpawnVehicle], 0);
2491 SendClientMessage(playerid, COLOR_GREY, "You succesfully spawned this vehicle!");
2492 } else {
2493 SendClientMessage(playerid, COLOR_GREY, "You are not allowed to spawn this vehicle!!");
2494}
2495} else {
2496SendClientMessage(playerid, COLOR_GREY, "You can not spawn vehicles in this zone!");
2497}
2498return 1;
2499}
2500public OnPlayerDeath(playerid, killerid, reason)
2501{
2502 if(Joined[playerid] == true)
2503 {
2504 JoinCount--;
2505 Joined[playerid] = false;
2506 DestroyVehicle(CreatedRaceVeh[playerid]);
2507 DisablePlayerRaceCheckpoint(playerid);
2508 TextDrawHideForPlayer(playerid, RaceInfo[playerid]);
2509 CPProgess[playerid] = 0;
2510 KillTimer(InfoTimer[playerid]);
2511 #if defined RACE_IN_OTHER_WORLD
2512 SetPlayerVirtualWorld(playerid, 0);
2513 #endif
2514 }
2515 if(BuildRace == playerid+1) BuildRace = 0;
2516
2517 if(killerid != INVALID_PLAYER_ID)
2518 {
2519 SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
2520 pData[killerid][Kills]++;
2521 }
2522 pData[playerid][Deaths]++;
2523 new msg[128], killerName[MAX_PLAYER_NAME], reasonMsg[32], playerName[MAX_PLAYER_NAME];
2524 GetPlayerName(killerid, killerName, sizeof(killerName));
2525 GetPlayerName(playerid, playerName, sizeof(playerName));
2526 if (killerid != INVALID_PLAYER_ID)
2527 {
2528 switch (reason)
2529 {
2530 case 0: reasonMsg = "Unarmed";
2531 case 1: reasonMsg = "Brass Knuckles";
2532 case 2: reasonMsg = "Golf Club";
2533 case 3: reasonMsg = "Night Stick";
2534 case 4: reasonMsg = "Knife";
2535 case 5: reasonMsg = "Baseball Bat";
2536 case 6: reasonMsg = "Shovel";
2537 case 7: reasonMsg = "Pool Cue";
2538 case 8: reasonMsg = "Katana";
2539 case 9: reasonMsg = "Chainsaw";
2540 case 10: reasonMsg = "Dildo";
2541 case 11: reasonMsg = "Dildo";
2542 case 12: reasonMsg = "Vibrator";
2543 case 13: reasonMsg = "Vibrator";
2544 case 14: reasonMsg = "Flowers";
2545 case 15: reasonMsg = "Cane";
2546 case 22: reasonMsg = "Pistol";
2547 case 23: reasonMsg = "Silenced Pistol";
2548 case 24: reasonMsg = "Desert Eagle";
2549 case 25: reasonMsg = "Shotgun";
2550 case 26: reasonMsg = "Sawn-off Shotgun";
2551 case 27: reasonMsg = "Combat Shotgun";
2552 case 28: reasonMsg = "MAC-10";
2553 case 29: reasonMsg = "MP5";
2554 case 30: reasonMsg = "AK-47";
2555 case 31: reasonMsg = "M4";
2556 case 32: reasonMsg = "TEC-9";
2557 case 33: reasonMsg = "Country Rifle";
2558 case 34: reasonMsg = "Sniper Rifle";
2559 case 37: reasonMsg = "Fire";
2560 case 38: reasonMsg = "Minigun";
2561 case 41: reasonMsg = "Spray Can";
2562 case 42: reasonMsg = "Fire Extinguisher";
2563 case 49: reasonMsg = "Vehicle Collision";
2564 case 50: reasonMsg = "Vehicle Collision";
2565 case 51: reasonMsg = "Explosion";
2566 default: reasonMsg = "Unknown";
2567 }
2568 format(msg, sizeof(msg), "04*** %s killed %s. (%s)", killerName, playerName, reasonMsg);
2569 }
2570 else
2571 {
2572 switch (reason)
2573 {
2574 case 53: format(msg, sizeof(msg), "04*** %s died. (Drowned)", playerName);
2575 case 54: format(msg, sizeof(msg), "04*** %s died. (Collision)", playerName);
2576 default: format(msg, sizeof(msg), "04*** %s died.", playerName);
2577 }
2578 }
2579 IRC_GroupSay(groupID, IRC_CHANNEL, msg);
2580 //===========Rank System================//
2581 /*new string[100+1000];
2582 if(pData[killerid][Kills] == 50)
2583 {
2584 pData[killerid][Rank] = 1;
2585 TRank = "ZoneX Newbie";
2586 format(string,sizeof(string),"* %s (ID: %d) reached the rank level 1",GetName(killerid),killerid);
2587 SendClientMessageToAll(0xEBFF00FF,string);
2588 }
2589 if(pData[killerid][Kills] == 100)
2590 {
2591 pData[killerid][Rank] = 2;
2592 TRank = "ZoneX Mini-Killer";
2593 format(string,sizeof(string),"* %s (ID: %d) reached the rank level 2",GetName(killerid),killerid);
2594 SendClientMessageToAll(0xEBFF00FF,string);
2595 }
2596 if(pData[killerid][Kills] == 150)
2597 {
2598 pData[killerid][Rank] = 3;
2599 TRank = "ZoneX Killer";
2600 format(string,sizeof(string),"* %s (ID: %d) reached the rank level 3",GetName(killerid),killerid);
2601 SendClientMessageToAll(0xEBFF00FF,string);
2602 }
2603 if(pData[killerid][Kills] == 200)
2604 {
2605 pData[killerid][Rank] = 4;
2606 TRank = "ZoneX Mature";
2607 format(string,sizeof(string),"* %s (ID: %d) reached the rank level 4",GetName(killerid),killerid);
2608 SendClientMessageToAll(0xEBFF00FF,string);
2609 }
2610 if(pData[killerid][Kills] == 250)
2611 {
2612 pData[killerid][Rank] = 5;
2613 TRank = "ZoneX Mini-ProKiller";
2614 format(string,sizeof(string),"* %s (ID: %d) reached the rank level 5",GetName(killerid),killerid);
2615 SendClientMessageToAll(0xEBFF00FF,string);
2616 }
2617 if(pData[killerid][Kills] == 300)
2618 {
2619 pData[killerid][Rank] = 6;
2620 format(string,sizeof(string),"* %s (ID: %d) reached the rank level 6",GetName(killerid),killerid);
2621 SendClientMessageToAll(0xEBFF00FF,string);
2622 }*/
2623 return 1;
2624}
2625public OnPlayerText(playerid, text[])
2626{
2627 new String[134];
2628 format(String,sizeof(String),"(%d): %s",playerid,text);
2629 SendPlayerMessageToAll(playerid,String);
2630 new name[MAX_PLAYER_NAME], ircMsg[256];
2631 GetPlayerName(playerid, name, sizeof(name));
2632 format(ircMsg, sizeof(ircMsg), "02[%d] 07%s: %s", playerid, name, text);
2633 IRC_GroupSay(groupID, IRC_CHANNEL, ircMsg);
2634 return 0;
2635}
2636
2637public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
2638{
2639 new
2640 string[256],
2641 rNameFile[256],
2642 rFile[256],
2643 Float: vPos[4]
2644 ;
2645 if(newkeys & KEY_FIRE)
2646 {
2647 if(BuildRace == playerid+1)
2648 {
2649 if(BuildTakeVehPos == true)
2650 {
2651 if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED, ">> You need to be in a vehicle");
2652 format(rFile, sizeof(rFile), "/rRaceSystem/%s.RRACE", BuildName);
2653 GetVehiclePos(GetPlayerVehicleID(playerid), vPos[0], vPos[1], vPos[2]);
2654 GetVehicleZAngle(GetPlayerVehicleID(playerid), vPos[3]);
2655 dini_Create(rFile);
2656 dini_IntSet(rFile, "vModel", BuildModeVID);
2657 dini_IntSet(rFile, "rType", BuildRaceType);
2658 format(string, sizeof(string), "vPosX_%d", BuildVehPosCount), dini_FloatSet(rFile, string, vPos[0]);
2659 format(string, sizeof(string), "vPosY_%d", BuildVehPosCount), dini_FloatSet(rFile, string, vPos[1]);
2660 format(string, sizeof(string), "vPosZ_%d", BuildVehPosCount), dini_FloatSet(rFile, string, vPos[2]);
2661 format(string, sizeof(string), "vAngle_%d", BuildVehPosCount), dini_FloatSet(rFile, string, vPos[3]);
2662 format(string, sizeof(string), ">> Vehicle Pos '%d' has been taken.", BuildVehPosCount+1);
2663 SendClientMessage(playerid, YELLOW, string);
2664 BuildVehPosCount++;
2665 }
2666 if(BuildVehPosCount >= 2)
2667 {
2668 BuildVehPosCount = 0;
2669 BuildTakeVehPos = false;
2670 ShowDialog(playerid, 605);
2671 }
2672 if(BuildTakeCheckpoints == true)
2673 {
2674 if(BuildCheckPointCount > MAX_RACE_CHECKPOINTS_EACH_RACE) return SendClientMessage(playerid, RED, ">> You reached the maximum amount of checkpoints!");
2675 if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED, ">> You need to be in a vehicle");
2676 format(rFile, sizeof(rFile), "/rRaceSystem/%s.RRACE", BuildName);
2677 GetVehiclePos(GetPlayerVehicleID(playerid), vPos[0], vPos[1], vPos[2]);
2678 format(string, sizeof(string), "CP_%d_PosX", BuildCheckPointCount), dini_FloatSet(rFile, string, vPos[0]);
2679 format(string, sizeof(string), "CP_%d_PosY", BuildCheckPointCount), dini_FloatSet(rFile, string, vPos[1]);
2680 format(string, sizeof(string), "CP_%d_PosZ", BuildCheckPointCount), dini_FloatSet(rFile, string, vPos[2]);
2681 format(string, sizeof(string), ">> Checkpoint '%d' has been setted!", BuildCheckPointCount+1);
2682 SendClientMessage(playerid, YELLOW, string);
2683 BuildCheckPointCount++;
2684 }
2685 }
2686 }
2687 if(newkeys & KEY_SECONDARY_ATTACK)
2688 {
2689 if(BuildTakeCheckpoints == true)
2690 {
2691 ShowDialog(playerid, 606);
2692 format(rNameFile, sizeof(rNameFile), "/rRaceSystem/RaceNames/RaceNames.txt");
2693 TotalRaces = dini_Int(rNameFile, "TotalRaces");
2694 TotalRaces++;
2695 dini_IntSet(rNameFile, "TotalRaces", TotalRaces);
2696 format(string, sizeof(string), "Race_%d", TotalRaces-1);
2697 format(rFile, sizeof(rFile), "/rRaceSystem/%s.RRACE", BuildName);
2698 dini_Set(rNameFile, string, BuildName);
2699 dini_IntSet(rFile, "TotalCP", BuildCheckPointCount);
2700 Loop(x, 5)
2701 {
2702 format(string, sizeof(string), "BestRacerTime_%d", x);
2703 dini_Set(rFile, string, "0");
2704 format(string, sizeof(string), "BestRacer_%d", x);
2705 dini_Set(rFile, string, "noone");
2706 }
2707 }
2708 }
2709 if (IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
2710 {
2711 // Check for the HORN key (Crouch key is the same as the horn key)
2712 if (newkeys & KEY_CROUCH)
2713 {
2714 // Create variables
2715 new Float:vx, Float:vy, Float:vz;
2716
2717 // Get the vehicles velocity
2718 GetVehicleVelocity(GetPlayerVehicleID(playerid), vx, vy, vz);
2719
2720 // Check the values are not too high already
2721 if (floatabs(vx) < 3 && floatabs(vy) < 3 && floatabs(vz) < 3)
2722 {
2723 // Boost the vehicle speed
2724 SetVehicleVelocity(GetPlayerVehicleID(playerid), vx * SpeedBoostMultiplier[playerid], vy * SpeedBoostMultiplier[playerid], vz * SpeedBoostMultiplier[playerid]);
2725 }
2726
2727 // Exit here
2728 return 1;
2729 }
2730 }
2731 return 1;
2732}
2733
2734public OnRconLoginAttempt(ip[], password[], success)
2735{
2736 return 1;
2737}
2738CMD:kill(playerid,params[])
2739{
2740 if(Joined[playerid] == true)
2741 {
2742 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
2743 }
2744 SetPlayerHealth(playerid,0);
2745 SendClientMessage(playerid,0xFFE600FF,"You have committed a suicide");
2746 new IRC[130];
2747 format(IRC, sizeof(IRC), "7,8* %s has committed a suicide (/kill) .",GetName(playerid));
2748 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
2749 return 1;
2750}
2751public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
2752{
2753 switch(dialogid)
2754 {
2755 case 599:
2756 {
2757 if(!response) return BuildRace = 0;
2758 switch(listitem)
2759 {
2760 case 0: BuildRaceType = 0;
2761 case 1: BuildRaceType = 3;
2762 }
2763 ShowDialog(playerid, 600);
2764 }
2765 case 600..601:
2766 {
2767 if(!response) return ShowDialog(playerid, 599);
2768 if(!strlen(inputtext)) return ShowDialog(playerid, 601);
2769 if(strlen(inputtext) < 1 || strlen(inputtext) > 20) return ShowDialog(playerid, 601);
2770 strmid(BuildName, inputtext, 0, strlen(inputtext), sizeof(BuildName));
2771 ShowDialog(playerid, 602);
2772 }
2773 case 602..603:
2774 {
2775 if(!response) return ShowDialog(playerid, 600);
2776 if(!strlen(inputtext)) return ShowDialog(playerid, 603);
2777 if(isNumeric(inputtext))
2778 {
2779
2780 if(!IsValidVehicle(strval(inputtext))) return ShowDialog(playerid, 603);
2781 new
2782 Float: pPos[4]
2783 ;
2784 GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
2785 GetPlayerFacingAngle(playerid, pPos[3]);
2786 BuildModeVID = strval(inputtext);
2787 BuildCreatedVehicle = (BuildCreatedVehicle == 0x01) ? (DestroyVehicle(BuildVehicle), BuildCreatedVehicle = 0x00) : (DestroyVehicle(BuildVehicle), BuildCreatedVehicle = 0x00);
2788 BuildVehicle = CreateVehicle(strval(inputtext), pPos[0], pPos[1], pPos[2], pPos[3], random(126), random(126), (60 * 60));
2789 PutPlayerInVehicle(playerid, BuildVehicle, 0);
2790 BuildCreatedVehicle = 0x01;
2791 ShowDialog(playerid, 604);
2792 }
2793 else
2794 {
2795 if(!IsValidVehicle(ReturnVehicleID(inputtext))) return ShowDialog(playerid, 603);
2796 new
2797 Float: pPos[4]
2798 ;
2799 GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
2800 GetPlayerFacingAngle(playerid, pPos[3]);
2801 BuildModeVID = ReturnVehicleID(inputtext);
2802 BuildCreatedVehicle = (BuildCreatedVehicle == 0x01) ? (DestroyVehicle(BuildVehicle), BuildCreatedVehicle = 0x00) : (DestroyVehicle(BuildVehicle), BuildCreatedVehicle = 0x00);
2803 BuildVehicle = CreateVehicle(ReturnVehicleID(inputtext), pPos[0], pPos[1], pPos[2], pPos[3], random(126), random(126), (60 * 60));
2804 PutPlayerInVehicle(playerid, BuildVehicle, 0);
2805 BuildCreatedVehicle = 0x01;
2806 ShowDialog(playerid, 604);
2807 }
2808 }
2809 case 604:
2810 {
2811 if(!response) return ShowDialog(playerid, 602);
2812 SendClientMessage(playerid, GREEN, ">> Go to the start line on the left road and press 'KEY_FIRE' and do the same with the right road block.");
2813 SendClientMessage(playerid, GREEN, " - When this is done, you will see a dialog to continue.");
2814 BuildVehPosCount = 0;
2815 BuildTakeVehPos = true;
2816 }
2817 case 605:
2818 {
2819 if(!response) return ShowDialog(playerid, 604);
2820 SendClientMessage(playerid, GREEN, ">> Start taking checkpoints now by clicking 'KEY_FIRE'.");
2821 SendClientMessage(playerid, GREEN, " - IMPORTANT: Press 'ENTER' when you're done with the checkpoints! If it doesn't react press again and again.");
2822 BuildCheckPointCount = 0;
2823 BuildTakeCheckpoints = true;
2824 }
2825 case 606:
2826 {
2827 if(!response) return ShowDialog(playerid, 606);
2828 BuildRace = 0;
2829 BuildCheckPointCount = 0;
2830 BuildVehPosCount = 0;
2831 BuildTakeCheckpoints = false;
2832 BuildTakeVehPos = false;
2833 BuildCreatedVehicle = (BuildCreatedVehicle == 0x01) ? (DestroyVehicle(BuildVehicle), BuildCreatedVehicle = 0x00) : (DestroyVehicle(BuildVehicle), BuildCreatedVehicle = 0x00);
2834 }
2835 }
2836
2837 if(dialogid == 1997) // Check the Dialogid
2838 {
2839 switch(listitem) //the list of the item you have in the Dialog ..
2840 {
2841 case 0: // case 0; is for San Fierro teleport . .
2842 {
2843 new vehicleid = GetPlayerVehicleID(playerid); // check the vehicleID
2844 new State = GetPlayerState(playerid); // Get the playerState
2845 if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER) // this will teleport you & your car if you are the driver...
2846 //if you are not the driver or you maybe a passenger u will just teleport without car ..
2847 {
2848 LinkVehicleToInterior(vehicleid,0); //Linkvehicle to interior,this is like SetPlayerInterior . .
2849 SetPlayerInterior(playerid,0); //this will set the playerinterior
2850 SetVehicleZAngle(vehicleid,227.2756); //this is the angle of your vehicle
2851 SetCameraBehindPlayer(playerid); //this will set the camera behind you
2852 SetVehiclePos(vehicleid,-1986.5483,305.5474,35.0071); //this is the vehicle Pos , Float:X , Float:Y , Float:Z
2853 return SendClientMessage(playerid, 0xFF0000FF, "[TP]:You has been Teleported to San Fierro!");//this will send u a Message when u was Teleported!. .
2854 }
2855 SetPlayerPos(playerid,-1969.0593,294.0901,35.1719);//this is the Player Pos , Float:X , Float:Y , Float:Z
2856 SetPlayerFacingAngle(playerid,89.9102); //this is the angle of your player
2857 SetPlayerInterior(playerid,0);//this will set the playerinterior
2858 SetCameraBehindPlayer(playerid);//this will set the camera behind you
2859 SendClientMessage(playerid, 0xFF0000FF, "[TP]:You has been Teleported to San Fierro!"); //this will send u a Message when u was Teleported!. .
2860 }
2861 case 1: // case 1; is for Los Santos teleport . .
2862 {
2863 new vehicleid = GetPlayerVehicleID(playerid);// check the vehicleID
2864 new State = GetPlayerState(playerid);// Get the playerState
2865 if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER) // this will teleport you & your car if you are the driver...
2866 //if you are not the driver or you maybe a passenger u will just teleport without car ..
2867 {
2868 LinkVehicleToInterior(vehicleid,0);//Linkvehicle to interior,this is like SetPlayerInterior . .
2869 SetPlayerInterior(playerid,0);//this will set the playerinterior
2870 SetVehicleZAngle(vehicleid,179.2136);//this is the angle of your vehicle
2871 SetCameraBehindPlayer(playerid);//this will set the camera behind you
2872 SetVehiclePos(vehicleid,1608.3900,-1719.7670,13.3786); //this is the vehicle Pos , Float:X , Float:Y , Float:Z
2873 return SendClientMessage(playerid, 0xFF0000FF, "[TP]:You has been Teleported to Los Santos!");//this will send u a Message when u was Teleported!. .
2874 }
2875 SetPlayerPos(playerid,1606.3514,-1739.5194,13.5469);//this is the Player Pos , Float:X , Float:Y , Float:Z
2876 SetPlayerFacingAngle(playerid,42.2198); //this is the angle of your player
2877 SetPlayerInterior(playerid,0);//this will set the playerinterior
2878 SetCameraBehindPlayer(playerid);//this will set the camera behind you
2879 SendClientMessage(playerid, 0xFF0000FF, "[TP]:You has been Teleported to Los Santos!");//this will send u a Message when u was Teleported!. .
2880 }
2881 case 2: // case 2; is for Las Venturas teleport . .
2882 {
2883 new vehicleid = GetPlayerVehicleID(playerid);// check the vehicleID
2884 new State = GetPlayerState(playerid);// Get the playerState
2885 if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)// this will teleport you & your car if you are the driver...
2886 //if you are not the driver or you maybe a passenger u will just teleport without car ..
2887 {
2888 LinkVehicleToInterior(vehicleid,0);//Linkvehicle to interior,this is like SetPlayerInterior . .
2889 SetPlayerInterior(playerid,0);//this will set the playerinterior
2890 SetVehicleZAngle(vehicleid,88.7952);//this is the angle of your vehicle
2891 SetCameraBehindPlayer(playerid);//this will set the camera behind you
2892 SetVehiclePos(vehicleid,2128.2754,1333.6340,10.6558);//this is the vehicle Pos , Float:X , Float:Y , Float:Z
2893 return SendClientMessage(playerid, 0xFF0000FF, "[TP]:You has been Teleported to Las Venturas!");//this will send u a Message when u was Teleported!. .
2894 }
2895 SetPlayerPos(playerid,2096.9543,1322.6205,10.8203);//this is the Player Pos , Float:X , Float:Y , Float:Z
2896 SetPlayerFacingAngle(playerid,52.1985); //this is the angle of your player
2897 SetPlayerInterior(playerid,0);//this will set the playerinterior
2898 SetCameraBehindPlayer(playerid);//this will set the camera behind you
2899 SendClientMessage(playerid, 0xFF0000FF, "[TP]:You has been Teleported to Las Venturas!");//this will send u a Message when u was Teleported!. .
2900 }
2901 }
2902 }
2903 switch(dialogid)
2904 {
2905 case dLOGIN: //login dialog
2906 {
2907 if(!response) Kick(playerid); //if they clicked Quit, we will kick them
2908 new hpass[129]; //for password hashing
2909 new query[100]; // for formatting our query.
2910 WP_Hash(hpass, 129, inputtext); //hashing inputtext
2911 if(!strcmp(hpass, pData[playerid][Password])) //remember we have loaded player's password into this variable, pData[playerid][Password] earlier. Now let's use it to compare the hashed password with password that we load
2912 {
2913 mysql_format(mysql, query, sizeof(query), "SELECT * FROM `players` WHERE `Username` = '%e' LIMIT 1", pName(playerid));
2914 mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
2915 }
2916 else //if the hashed password didn't match with the loaded password(pData[playerid][Password])
2917 {
2918 //we tell them that they have inserted a wrong password
2919 ShowPlayerDialog(playerid, dLOGIN, DIALOG_STYLE_INPUT, "Login", "In order to play, you need to login\nWrong password!", "Login", "Quit");
2920 }
2921 }
2922 case dREGISTER: //register dialog
2923 {
2924 if(!response) return Kick(playerid); //if they clicked Quit, we will kick them
2925 if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, dREGISTER, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.\nYour password must be at least 6 characters long!", "Register", "Quit");
2926 //strlen checks a lenght of a string. so if player types their password that is lower than 6, we tell them; Your password must be at least 6 characters long!
2927 WP_Hash(pData[playerid][Password], 129, inputtext); //hashing inputtext
2928 new Msg[130], str[800];
2929 pData[playerid][ID] = cache_insert_id(); //loads the ID of the player in the variable once they registered.
2930 printf("New account registered. ID: %d", pData[playerid][ID]); //just for debugging.
2931 pData[playerid][Money] = 50000;
2932 GivePlayerMoney(playerid, 50000);
2933 format(str, sizeof(str), "INSERT INTO `players`(`ID`, `Username`, `Password`, `IP`, `Admin`, `VIP`, `Kills`, `Cookies`, `Cakes`, `Icecream`, `Deaths`, `Score`, `Money`, `Hours`, `Minutes`) VALUES ('%d','%s','%s','%s',0,0,0,0,0,0,0,0,0,0,0)", pData[playerid][ID], GetName(playerid), pData[playerid][Password], IP[playerid]);
2934 mysql_query(mysql, str);
2935 format(joinMsg, sizeof(joinMsg), "02[%d] 03*** 11,12* Player %s has registered new at ZoneX (Zx)",playerid, GetName(playerid));
2936 IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg);
2937 new rows, Cache:getCache;
2938 getCache = mysql_query(mysql, "SELECT * FROM `players`");
2939 cache_get_row_count(rows);
2940 format(Msg, sizeof(Msg), "{00FF50}%s has registered at ZX {FF0000}[Total Registered Players: %i]",GetName(playerid), rows);
2941 SendClientMessageToAll(playerid,Msg);
2942 pData[playerid][Admin] = 1;
2943 cache_delete(getCache);
2944 //let's execute the query
2945 }
2946 }
2947 if(dialogid == 333) //Command Menu
2948 {
2949 if(response)
2950 {
2951 switch(listitem)
2952 {
2953 case 0: // Player Commands
2954 {
2955 return cmd_pcmds(playerid);
2956 }
2957 case 1: // Vehicle Commands
2958 {
2959 return cmd_acmds(playerid);
2960 }
2961 }
2962 }
2963 }
2964 return 0;
2965}
2966public OnAccountLoad(playerid)
2967{
2968 new score,string[143];
2969 cache_get_value_name_int(0, "Admin", pData[playerid][Admin]); //we're getting a field 4 from row 0. And since it's an integer, we use cache_get_row_int
2970 cache_get_value_name_int(0, "VIP", pData[playerid][VIP]); //Above
2971 cache_get_value_name_int(0, "Money", pData[playerid][Money]);//Above
2972 cache_get_value_name_int(0,"Kills", pData[playerid][Kills]);
2973 cache_get_value_name_int(0,"Cookies", pData[playerid][Cookies]);
2974 cache_get_value_name_int(0,"Cakes", pData[playerid][Cakes]);
2975 cache_get_value_name_int(0,"Icecream", pData[playerid][Icecream]);
2976 cache_get_value_name_int(0, "Deaths", pData[playerid][Deaths]);
2977 cache_get_value_name_int(0, "Hours", pData[playerid][pHours]);
2978 cache_get_value_name_int(0, "Minutes", pData[playerid][pMinutes]);
2979 cache_get_value_name_int(0, "Score", score);
2980 cache_get_value_name_int(0, "ID", pData[playerid][ID]);
2981 SetPlayerScore(playerid, score);
2982 GivePlayerMoney(playerid, pData[playerid][Money]);//Let's set their money
2983 //=============================================//
2984 new admtext[128];
2985 if( pData[playerid][Admin] >= 1 )
2986 {
2987 switch( pData[playerid][Admin] )
2988 {
2989 case 10: admtext = "Server Owner";
2990 case 9: admtext = "Management";
2991 case 8: admtext = "Zx Special Admin";
2992 case 7: admtext = "head admin";
2993 case 6: admtext = "lead admin";
2994 case 5: admtext = "ubber admin";
2995 case 4: admtext = "Admin";
2996 case 3: admtext = "Admin";
2997 case 2: admtext = "Elite Player";
2998 case 1: admtext = "Normal player";
2999 }
3000 }
3001 //============================================//
3002 //For player's position, set it once they spawn(OnPlayerSpawn)
3003 format(string,sizeof(string),"* Login Successful... Welcome Back to ZoneX %s",GetName(playerid)); //tell them that they have successfully logged in
3004 SendClientMessage(playerid, 0x00FF0054, string);
3005 format(joinMsg, sizeof(joinMsg), "02[%d] 03*** 13,1* %s Has Logged In As Level %d 8(%s).", playerid, GetName(playerid),pData[playerid][Admin],admtext);
3006 IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg);
3007 return 1;
3008}
3009public AutoLogin(playerid)
3010{
3011 new score,String[134];
3012 cache_get_value_name_int(0, "Admin", pData[playerid][Admin]); //we're getting a field 4 from row 0. And since it's an integer, we use cache_get_row_int
3013 cache_get_value_name_int(0, "VIP", pData[playerid][VIP]); //Above
3014 cache_get_value_name_int(0, "Money", pData[playerid][Money]);//Above
3015 cache_get_value_name_int(0,"Kills", pData[playerid][Kills]);
3016 cache_get_value_name_int(0,"Cookies", pData[playerid][Cookies]);
3017 cache_get_value_name_int(0,"Cakes", pData[playerid][Cakes]);
3018 cache_get_value_name_int(0,"Icecream", pData[playerid][Icecream]);
3019 cache_get_value_name_int(0, "Deaths", pData[playerid][Deaths]);
3020 cache_get_value_name_int(0, "Hours", pData[playerid][pHours]);
3021 cache_get_value_name_int(0, "Minutes", pData[playerid][pMinutes]);
3022 cache_get_value_name_int(0, "Score", score);
3023 cache_get_value_name_int(0, "ID", pData[playerid][ID]);
3024 SetPlayerScore(playerid, score);
3025 GivePlayerMoney(playerid, pData[playerid][Money]);//Let's set their money
3026 //For player's position, set it once they spawn(OnPlayerSpawn)
3027 //=============================================//
3028 new admtext[128];
3029 if( pData[playerid][Admin] >= 1 )
3030 {
3031 switch( pData[playerid][Admin] )
3032 {
3033 case 10: admtext = "Server Owner";
3034 case 9: admtext = "Management";
3035 case 8: admtext = "Zx Special Admin";
3036 case 7: admtext = "head admin";
3037 case 6: admtext = "lead admin";
3038 case 5: admtext = "ubber admin";
3039 case 4: admtext = "Admin";
3040 case 3: admtext = "Admin";
3041 case 2: admtext = "Elite Player";
3042 case 1: admtext = "Normal player";
3043 }
3044 }
3045 //============================================//
3046 format(String,sizeof(String),"* Auto-IP Login Successful... Welcome back to ZoneX %s!",GetName(playerid));
3047 SendClientMessage(playerid, 0x00FF0054, String); //tell them that they have successfully logged in
3048 format(joinMsg, sizeof(joinMsg), "02[%d] 03*** 13,1* %s Has Logged In As Level %d 8(%s).", playerid, GetName(playerid),pData[playerid][Admin],admtext);
3049 IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg);
3050 return 1;
3051}
3052public OnPlayerClickPlayer(playerid, clickedplayerid, source)
3053{
3054 return 1;
3055}
3056public OnPlayerClickTextDraw(playerid, Text:clickedid)
3057{
3058 return 1;
3059}
3060stock GetName(playerid)
3061{
3062 new JName[MAX_PLAYER_NAME];
3063 GetPlayerName(playerid,JName,MAX_PLAYER_NAME);
3064 return JName;
3065}
3066public OnPlayerUpdate(playerid)
3067{
3068 return 1;
3069}
3070forward RandomMessage();
3071public RandomMessage()
3072{
3073 TextDrawSetString(Textdraw8, RandomMessages[random(sizeof(RandomMessages))]);
3074 return 1;
3075}
3076
3077//====================Gamemode Commands====================================//
3078stock cbug(playerid)
3079{
3080 GivePlayerWeapon(playerid,24,9999);
3081 GivePlayerWeapon(playerid,25,9999);
3082 return 1;
3083}
3084stock GivePlayerScore(playerid, score)
3085{
3086 SetPlayerScore(playerid, GetPlayerScore(playerid)+score);
3087 return 1;
3088}
3089forward CarSpawner(playerid,model);
3090public CarSpawner(playerid,model)
3091{
3092 if(IsPlayerInAnyVehicle(playerid))
3093 SendClientMessage(playerid, COLOR_RED, "ERROR: You already have a car!");
3094 else
3095 {
3096 new Float:x, Float:y, Float:z, Float:angle;
3097 GetPlayerPos(playerid, x, y, z);
3098 GetPlayerFacingAngle(playerid, angle);
3099 new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
3100 PutPlayerInVehicle(playerid, vehicleid, 0);
3101 SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
3102 LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
3103 ChangeVehicleColor(vehicleid,0,3);
3104 }
3105 return 1;
3106}
3107CMD:buyweapons(playerid,params[])
3108{
3109 if(Joined[playerid] == true)
3110 {
3111 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3112 }
3113 ShowPlayerDialog(playerid, DIALOG_WEAPMENU, DIALOG_STYLE_LIST, "Weapon Menu", "Deagle:\t\t$2,000\nShotgun:\t$5,000", "Purchase", "Cancel");
3114 return 1;
3115}
3116//============================Hidden PickUp=================================//
3117#define cookies 3
3118new pgs, bool:takenbyplayer;
3119new Max, bool:created;
3120COMMAND:createhiddenpickup(playerid, params[])
3121{
3122 if(pData[playerid][Admin] >= 5)
3123 {
3124 if(Joined[playerid] == true)
3125 {
3126 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3127 }
3128 new szString[128], Float:X, Float:Y, Float:Z,string[123];
3129 if(sscanf(params, "i", Max)) return SendClientMessage(playerid, COLOR_RED, "* USAGE: /chp [Cookies]."),//
3130 GameTextForPlayer(playerid, "~r~~h~You have to~n~insert the Amount of cookies", 3000, 3);//
3131 takenbyplayer = false;
3132 created = true;
3133 GetPlayerPos(playerid, Float:X, Float:Y, Float:Z);
3134 GeZxYInFrontOfPlayer(playerid, Float:X, Float:Y, 2.0);
3135 pgs = CreatePickup(2976, 2, Float:X, Float:Y, Float:Z, GetPlayerVirtualWorld(playerid)); /*pickupids*/
3136 format(szString, sizeof(szString), "* You have been placed the Player hidden pickup for %d Cookies", Max);
3137 SendClientMessage(playerid, COLOR_YELLOW, szString);
3138 format(string,sizeof(string),"%s (ID: %d) Placed The PGoo With %d cookies",GetName(playerid),playerid,Max);
3139 SendClientMessageToAll(COLOR_YELLOW,string);
3140 new IRC[130];
3141 format(IRC, sizeof(IRC), "0,3* %s has created a Player Hidden Pickup worth %d Cookies.",GetName(playerid),Max);
3142 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3143 }
3144 else return SendClientMessage(playerid,COLOR_YELLOW,"Sorry, Only +level 5 can use this command");
3145 return 1;
3146}
3147CMD:martex(playerid,params[])
3148{
3149 if(Joined[playerid] == true)
3150 {
3151 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3152 }
3153GameTextForPlayer(playerid, "~r~~h~Martex's~n~House", 3000, 3);
3154SetPlayerPos(playerid,1124.5038,-2037.0673,69.8839);
3155 new IRC[130];
3156 format(IRC, sizeof(IRC), "3* %s has teleported to Martex's House.",GetName(playerid));
3157 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3158return 1;
3159}
3160COMMAND:chp(playerid, params[])
3161{
3162 return cmd_createhiddenpickup(playerid, params);
3163}
3164COMMAND:dhp(playerid, params[])
3165{
3166 return cmd_deletehiddenpickup(playerid, params);
3167}
3168COMMAND:deletehiddenpickup(playerid, params[])
3169{
3170 if(pData[playerid][Admin] >= 5)
3171 {
3172 if(created == true)
3173 {
3174 DestroyPickup(pgs);
3175 SendClientMessage(playerid, COLOR_YELLOW, "* The hidden pickup has been deleted");
3176 takenbyplayer = false;
3177 new IRC[130];
3178 format(IRC, sizeof(IRC), "0,3* %s has Deleted the Player Hidden Pickup.",GetName(playerid));
3179 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3180 }
3181 if(created == false)
3182 {
3183 SendClientMessage(playerid,0xFF0000FF,"Sorry, There is no PGoo to remove");
3184 }
3185 } else return SendClientMessage(playerid,COLOR_YELLOW,"Sorry, Only +level 5 can use this command");
3186 return 1;
3187}
3188stock GeZxYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
3189{
3190 new Float:a;
3191 GetPlayerPos(playerid, x, y, a);
3192 GetPlayerFacingAngle(playerid, a);
3193 if (GetPlayerVehicleID(playerid)) {GetVehicleZAngle(GetPlayerVehicleID(playerid), a);}
3194 x += (distance * floatsin(-a, degrees));
3195 y += (distance * floatcos(-a, degrees));
3196}
3197//========================================================================//
3198public OnPlayerPickUpPickup(playerid, pickupid)
3199{
3200 if(pickupid == pgs)
3201 {
3202 if(takenbyplayer == true) { SendClientMessage(playerid, COLOR_YELLOW, "* Sorry the hidden pickup already taken by other players"); return 1;}
3203 new szString[128];
3204 takenbyplayer = true;
3205 format(szString, sizeof(szString), "* You have been found the Player hidden pickup and win %d cookies", Max);
3206 SendClientMessage(playerid, COLOR_GREEN, szString);
3207 SendClientMessage(playerid, COLOR_GREEN, "* You can use your cookies by typing /rocket");
3208 pData[playerid][Cookies] += Max;
3209 new test[128], szName[MAX_PLAYER_NAME];
3210 GetPlayerName(playerid, szName, sizeof(szName));
3211 format(test,sizeof(test),"~w~%s has found the~n~~g~~h~~h~Zx player hidden pickup (pgoo)~w~And~n~Won~r~~h~ %d~w~ Cookies", GetName(playerid), Max);
3212 TextDrawSetString(pgoo, test);
3213 TextDrawShowForAll(pgoo);
3214 new IRC[130];
3215 format(IRC, sizeof(IRC), "0,3* %s has Found the Player Hidden Pickup won %d Cookies.",GetName(playerid),Max);
3216 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3217 SetTimerEx("pgoos", 10000, false, "i", playerid);
3218 DestroyPickup(pgs);
3219 }
3220 new propid = -1;
3221 for(new id = 0; id < MAX_PLAYERS; id++) {
3222 if(PropInfo[id][PickupNr] == pickupid)
3223 {
3224 propid = id;
3225 break;
3226 }
3227 }
3228 if(propid != -1)
3229 {
3230 new str[128],test[1000];
3231 format(str, 128, "~y~\"%s\"~n~~r~Value: ~y~$%d~n~~r~Earning: ~y~$%d~n~~r~Owner: ~y~%s", PropInfo[propid][PropName], PropInfo[propid][PropValue], PropInfo[propid][PropEarning], PropInfo[propid][PropOwner]);
3232 GameTextForPlayer(playerid, str, 6000, 3);
3233 format(test,sizeof(test),"~r~Name:~y~ \"%s\"~n~~r~Value: ~y~$%d~n~~r~Earning: ~y~$%d~n~~r~Owner: ~y~%s~w~~n~Type~y~ /buyproperty~w~ to buy This property", PropInfo[propid][PropName], PropInfo[propid][PropValue], PropInfo[propid][PropEarning], PropInfo[propid][PropOwner]);
3234 TextDrawSetString(prop, test);
3235 TextDrawShowForPlayer(playerid,prop);
3236 SetTimerEx("Prop", 10000, false, "i", playerid);
3237 }
3238 return 1;
3239}
3240
3241forward Prop(playerid);
3242public Prop(playerid)
3243{
3244 TextDrawHideForPlayer(playerid,prop);
3245 return 1;
3246}
3247forward pgoos(playerid);
3248public pgoos(playerid)
3249{
3250 TextDrawHideForAll(pgoo);
3251 return 1;
3252}
3253CMD:inf(playerid,params[])
3254{
3255 if(Joined[playerid] == true)
3256 {
3257 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3258 }
3259 if (!IsPlayerInAnyVehicle(playerid))
3260 {
3261 CarSpawner(playerid,411);
3262 return SendClientMessage(playerid,0x1400FFFF,"Car Successfully Created!");
3263 }
3264 else return SendClientMessage(playerid,COLOR_RED,"Error: You already have a vehicle");
3265}
3266CMD:nrg(playerid,params[])
3267{
3268 if(Joined[playerid] == true)
3269 {
3270 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3271 }
3272 if (!IsPlayerInAnyVehicle(playerid))
3273 {
3274 CarSpawner(playerid,522);
3275 return SendClientMessage(playerid,0x1400FFFF,"Car Successfully Created!");
3276 }
3277 else return SendClientMessage(playerid,COLOR_RED,"Error: You already have a vehicle");
3278}
3279CMD:chathelp(playerid,params[])
3280{
3281 new str[1000];
3282 strcat(str,"{FF4444}/care\n");
3283 strcat(str,"{FF4444}/WTF\n");
3284 strcat(str,"{FF4444}/OMG\n");
3285 ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,"ZoneX Chathelp", str, "", "Cancel");
3286 return 1;
3287}
3288CMD:care(playerid,params[])
3289{
3290 new string[1000];
3291 format(string,sizeof(string),"* {FF0023}[%s]{FFFFFF} Says: {FFFA00}Care?",pName(playerid));
3292 SendClientMessageToAll(-1,string);
3293 return 1;
3294}
3295CMD:wtf(playerid,params[])
3296{
3297 new string[1000];
3298 format(string,sizeof(string),"* {FF0023}[%s]{FFFFFF} Says: {FFFA00}What The Fuck",pName(playerid));
3299 SendClientMessageToAll(-1,string);
3300 return 1;
3301}
3302CMD:colour(playerid,params[])
3303{
3304 ShowPlayerDialog(playerid,6,DIALOG_STYLE_MSGBOX,"Colors","/red\n/blue\n/green\n/black\n/pink","Close","");
3305 return 1;
3306}
3307CMD:red(playerid,params[])
3308{
3309 SetPlayerColor(playerid,0xFF0000FF);
3310 SendClientMessage(playerid,0xFF0000FF,"Your colour has been changed to red");
3311 return 1;
3312}
3313CMD:blue(playerid,params[])
3314{
3315 SetPlayerColor(playerid,0x0000FFA3);
3316 SendClientMessage(playerid,0x0000FFA3,"Your colour has been changed to blue");
3317 return 1;
3318}
3319CMD:pink(playerid,params[])
3320{
3321 SetPlayerColor(playerid,0xFF00FFFF);
3322 SendClientMessage(playerid,0xFF00FFFF,"Your colour has been changed to pink");
3323 return 1;
3324}
3325CMD:black(playerid,params[])
3326{
3327 SetPlayerColor(playerid,0x323232FF);
3328 SendClientMessage(playerid,0x323232FF,"Your colour has been changed to black");
3329 return 1;
3330}
3331CMD:green(playerid,params[])
3332{
3333 SetPlayerColor(playerid,0x00FF00FF);
3334 SendClientMessage(playerid,0x00FF00FF,"Your colour has been changed to green");
3335 return 1;
3336}
3337CMD:omg(playerid,params[])
3338{
3339 new string[1000];
3340 format(string,sizeof(string),"* {FF0023}[%s]{FFFFFF} Says: {FFFA00}Oh My God!",pName(playerid));
3341 SendClientMessageToAll(-1,string);
3342 return 1;
3343}
3344CMD:skin(playerid, params[])
3345{
3346 if(Joined[playerid] == true)
3347 {
3348 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3349 }
3350 new skin;
3351 if(sscanf(params, "i",skin)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /skin [Skin ID]");
3352 if(skin < 0 || skin > 299) return SendClientMessage(playerid, COLOR_RED, "Wrong skin id!");
3353 SetPlayerSkin(playerid,skin);
3354 SendClientMessage(playerid,0xFF0000FF,"you have changed your Skin");
3355 new IRC[130];
3356 format(IRC, sizeof(IRC), "7,8* %s has changed his skin id to Skin ID %d .",GetName(playerid),skin);
3357 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3358 return 1;
3359}
3360CMD:givecash(playerid, params[])
3361{
3362 if(Joined[playerid] == true)
3363 {
3364 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3365 }
3366 new giveplayerid, amount;
3367 if (sscanf(params, "ud", giveplayerid, amount)) SendClientMessage(playerid, 0xFF0000AA, "ZoneX USAGE: /cash [Player-ID][Amount]");
3368 else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, "ERROR: Player not found!");
3369 else if (amount > GetPlayerMoney(playerid)) SendClientMessage(playerid, 0xFF0000AA, "ERROR: Insufficient funds!");
3370 else
3371 {
3372 GivePlayerMoney(giveplayerid, amount);
3373 GivePlayerMoney(playerid, 0 - amount);
3374 SendClientMessage(playerid, 0x00FF00AA, "> You have sent money.");
3375 SendClientMessage(giveplayerid, 0x00FF00AA, "> You have received money.");
3376 }
3377 return 1;
3378}
3379CMD:rules(playerid, params[])
3380{
3381 if(Joined[playerid] == true)
3382 {
3383 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3384 }
3385 new string[1246+200];
3386 strcat(string, "1- You are not allowed to use any kind from hacks\n");
3387 strcat(string, "2- respect players and admins and superplayers\n");
3388 strcat(string, "3- Dont Drive by in any kind of car\n");
3389 strcat(string, "4- when you are jailed dont leave the game to escape\n");
3390 strcat(string, "5- Dont Spawn kill players\n");
3391 strcat(string, "6- dont ads any of your servers or onther servers\n");
3392 strcat(string, "7- dont spam on chat or flood\n");
3393 strcat(string, "8- you must obey the admin how ever he told you do\n");
3394 strcat(string, "9- Dont insult any admin or player\n");
3395 ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"ZoneX Rules",string,"Ok","");
3396 new IRC[130];
3397 format(IRC, sizeof(IRC), "7,8* %s Is viewing ZoneX Rules. .",GetName(playerid));
3398 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3399 return 1;
3400}
3401CMD:regular(playerid, params[])
3402{
3403 if(Joined[playerid] == true)
3404 {
3405 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3406 }
3407 new string[1246+200];
3408 strcat(string, "1- use /register to make a new account\n");
3409 strcat(string, "2- use /report to report a hacker and you can get cookies from it\n");
3410 strcat(string, "3- if you a new player do /rules /cmds /credits\n");
3411 strcat(string, "4- join our forums. coming soon\n");
3412 strcat(string, "5- if you get banned for unfair reason go in forum report admin\n");
3413 ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"ZoneX New Player",string,"Ok","");
3414 return 1;
3415}
3416CMD:setlabel(playerid, params[])
3417{
3418 if(Joined[playerid] == true)
3419 {
3420 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3421 }
3422 new text[246];
3423 if(sscanf(params, "s[246]", text)) return SendClientMessage(playerid, -1, "USAGE: /setlabel [text]");
3424 new string[246];
3425 new Text3D:label = Create3DTextLabel(text, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
3426 format(string, sizeof(string), "Create3DTextLabel(\"%s\", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);",text); // I have no idea what this is for, it's not even being used
3427 Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
3428 new IRC[130];
3429 format(IRC, sizeof(IRC), "7,8* %s has changed his label to %s .",GetName(playerid),text);
3430 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3431 return 1;
3432}
3433CMD:cmds(playerid,params[])
3434{
3435 if(Joined[playerid] == true)
3436 {
3437 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3438 }
3439ShowPlayerDialog(playerid, 333, DIALOG_STYLE_LIST, "ZoneX Main Menu for commands", "Player Commands [/pcmds]\nAdmin Commands [/acmds]", "Select", "Exit");
3440 new IRC[130];
3441 format(IRC, sizeof(IRC), "2,3* %s Is viewing ZoneX Main Commands .",GetName(playerid));
3442 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3443return 1;
3444}
3445CMD:pcmds(playerid)
3446{
3447 if(Joined[playerid] == true)
3448 {
3449 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3450 }
3451 PlayerPlaySound(playerid, 1054, 0.0, 0.0, 10.0);
3452 new string[1900];
3453 strcat(string, "/kill - To Kill your self & You will lose 5000$", 1900 );
3454 strcat(string, "\n\n/givecash - Used to Give onther player some of your money by amount you type", 1900 );
3455 strcat(string, "\n\n/v - Use this command to spawn a car", 1900 );
3456 strcat(string, "\n\n/teleport - Used to view the list of teleports. Every teleports", 1900 );
3457 strcat(string, "\n\n/setspeedboost - Use this command to enable your car speed boost", 1900 );
3458 strcat(string, "\n\n/myweather - To change your weather", 1900 );
3459 strcat(string, "\n\n/rules - Use must read it before playing ", 1900 );
3460 strcat(string, "\n\n/skin - Used to change your skin id", 1900 );
3461 strcat(string, "\n\n/chathelp - Used to learn more about the chat", 1900 );
3462 strcat(string, "\n\n/regular - If you are a new player use it", 1900 );
3463 strcat(string, "\n\n/credits - Used to know scripters and developers of the server", 1900 );
3464 strcat(string, "\n\n/healme - Used Heal your self and you will lose 500& for healing your self", 1900 );
3465 strcat(string, "\n\n/afk - Used to be away from keyboard for reason", 1900 );
3466 strcat(string, "\n\n/back - Used to Be back from away mode", 1900 );
3467 strcat(string, "\n\n/stats - See your stats and your friends stats", 1900 );
3468 strcat(string, "\n\n/setlabel - Use this command to make a label near your head only players can read it you can not.", 1900 );
3469 ShowPlayerDialog(playerid,1231, DIALOG_STYLE_MSGBOX, "ZoneX Player Commands [Part 1 of 1]...", string, "Cancel","");
3470 new IRC[130];
3471 format(IRC, sizeof(IRC), "8,10* %s Is viewing ZoneX Player Commands.",GetName(playerid));
3472 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3473 return 1;}
3474CMD:acmds(playerid)
3475{
3476 if(pData[playerid][Admin] >=3)
3477 {
3478 if(Joined[playerid] == true)
3479 {
3480 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3481 }
3482 PlayerPlaySound(playerid, 1054, 0.0, 0.0, 10.0);
3483 new str[1900];
3484 strcat(str,""COL_YELLOW"Displaying Admin Commands for ZoneX V4.0.1\n", 1900);
3485 strcat(str,"/setlevel, /setdblevel, /setkills, /setdeaths, /setcookies, /seticecreams\n",1900);
3486 strcat(str,"/cookie, /cake, /icecream, /buildrace, /startrace, /stoprace\n",1900);
3487 strcat(str,"/mute, /chp, /dhp, /ban, /unban, /ep, /unmute, /setmoney, /setscore, /setcakes\n",1900);
3488 strcat(str,"/giveall, /blockcmd, /unblockcmd, /spec, /specoff, /checkbans, /ssb",1900);
3489 ShowPlayerDialog(playerid,2230,DIALOG_STYLE_MSGBOX,"ZoneX Admin system commands",str,"Ok","");
3490 new IRC[130];
3491 format(IRC, sizeof(IRC), "8,10* Admin %s Is viewing ZoneX Admin Commands.",GetName(playerid));
3492 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3493 } else return SendClientMessage(playerid,COLOR_YELLOW,"Sorry, Only +level 3 can use this command");
3494 return 1;}
3495 CMD:commands(playerid, params[])
3496 {
3497 return cmd_pcmds(playerid);
3498 }
3499 CMD:teleport(playerid, params[])
3500 {
3501 if(Joined[playerid] == true)
3502 {
3503 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3504 }
3505 ShowPlayerDialog(playerid, 1997, DIALOG_STYLE_LIST, "ZoneX Teleport", "San Fierro\nLos Santos\nLas Venturas", "Teleport", "Close"); // Dialogid 1997 ? you can change it or maybe define it . .
3506 return 1;
3507 }
3508 CMD:pgoto(playerid, params[])
3509 {
3510 if(Joined[playerid] == true)
3511 {
3512 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3513 }
3514 new pID;
3515 if(sscanf(params,"i", pID)) return SendClientMessage(playerid, -1,"Usage: /pgoto [PlayerID/Name]");
3516 if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, red,"ERROR: Player is not connected");
3517 new Float:x, Float:y, Float:z, inter;
3518 GetPlayerPos(pID, x, y, z);
3519 inter = GetPlayerInterior(pID);
3520 SetPlayerPos(playerid, x+1, y+1, z);
3521 SetPlayerInterior(playerid, inter);
3522 return 1;
3523 }
3524 CMD:credits(playerid,params[]){
3525 #pragma unused params
3526 new string[1900];
3527 strcat(string, "The ZoneX v4.0.1 Gamemode (player and admins commands) written by Martex & Yassine... And owned by Martex & Yassine & Giftson", 1900 );
3528 strcat(string, "\nSome portion of the code are used with the permission from various members of the SAMP community.", 1900 );
3529 strcat(string, "\n\nPlayer class skin, weapons and vehicle model choice by Martex and Zx Admins.", 1900 );
3530 strcat(string, "\nVehicle placement by Martex, Most of the maps done by UltraZ.", 1900 );
3531 strcat(string, "\n\nZx Beta testing by Martex, UltraZ, Nick", 1900 );
3532 strcat(string, "\n\nother credits to:", 1900 );
3533 strcat(string, "\nIncognito for the Streamer and IRC Plugin.", 1900 );
3534 strcat(string, "\nJeaSon for helping on scripting the admin commands", 1900 );
3535 strcat(string, "\nY_Less for sscanf Plugin.", 1900 );
3536 strcat(string, "\nSandra for coding the property system", 1900 );
3537 strcat(string, "\nBlueG for MySQL plugin.", 1900 );
3538 strcat(string, "\nKalcor(Kye) for coding SA-MP!", 1900 );
3539 strcat(string, "\nRyder for base of race system", 1900 );
3540 strcat(string, "\nMatite for Speed Boost Codes", 1900 );
3541 ShowPlayerDialog(playerid,1240, DIALOG_STYLE_MSGBOX, "Zx v4.0.1 Credits...", string, "OK", "");
3542 new IRC[130];
3543 format(IRC, sizeof(IRC), "10,7* %s Is viewing ZoneX Credits.",GetName(playerid));
3544 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3545 return 1;
3546}
3547CMD:ssb(playerid,params[])
3548{
3549 new Float:boost;
3550 new strTempString[267];
3551 if(sscanf(params,"f",boost))
3552 {
3553 SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "** Usage: /setspeedboost <SpeedBoostMultiplier>");
3554 SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "* Allows you to set the speed boost multiplier that is applied when you press the horn key.");
3555 SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "* Accepted speed boost multiplier values are between 1.0 and 3.0");
3556 SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "* The shortcut for this command is: /ssb");
3557 return 1;
3558 }
3559 if (boost < 1.0 || boost > 3.0)
3560 {
3561 SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "* Sorry, you must enter a speed boost multiplier between 1.0 and 3.0");
3562 return 1;
3563 }
3564 SpeedBoostMultiplier[playerid] = boost;
3565 format(strTempString,sizeof(strTempString), "* You set your speed boost multiplier to %0.2f", SpeedBoostMultiplier[playerid]);
3566 SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, strTempString);
3567
3568return 1;
3569}
3570 CMD:setspeedboost(playerid, params[])
3571 {
3572 return cmd_ssb(playerid,params);
3573 }
3574CMD:ban(playerid,params[])
3575{
3576 if(pData[playerid][Admin] >=4)
3577 {
3578 new IPx[16];
3579 new id,reason[50],str[300+1000];
3580 if(sscanf(params,"us[50]",id, reason)) return SendClientMessage(playerid, COLOR_RED,"USAGE: /ban [playerid] [reason]");
3581 GetPlayerIp(id, IPx, sizeof(IPx));
3582 for(new i = 0; i < 50; i++) SendClientMessage(id, -1,"");
3583 TogglePlayerControllable(id, 0);
3584 new hour,minute,year,day,month;
3585 gettime(hour,minute);
3586 getdate(day,month,year);
3587 strcat(str,"---------------------------------------------------\n");
3588 strcat(str,"YOU HAVE BEEN BANNED - READ THE FOLLOWING DETAILS:\n\n");
3589 format(str, sizeof(str), "%sYour Player Name: %s\n",str, GetName(id) );
3590 format(str, sizeof(str), "%sAdmin Name: %s\n",str, GetName(playerid) );
3591 format(str, sizeof(str), "%sDate and Time: %d:%d %d-%d-%d\n",str,hour,minute,day,month,year);
3592 format(str, sizeof(str), "%sReason: %s\n\n",str, reason );
3593 strcat(str, "If you think that ban was unfair you can take a screenshot of this screen by pressing F8 Key\nThen go www.xtremesserver.proboards.com and post in the Ban Appeal Forum\n");
3594 strcat(str,"---------------------------------------------------\n");
3595 ShowPlayerDialog(playerid,1240, DIALOG_STYLE_MSGBOX, ""COL_RED"You Bave Been Banned...", str, "OK", "");
3596 SetTimerEx("DelayKick", 1000, false, "i", playerid);
3597 new querylist[512];
3598 format(querylist, sizeof(querylist), "INSERT INTO `banlist`(`name`, `ip`, `Admin`, `Reason`) VALUES('%s', '%s', '%s', '%s')", GetName(id), IPx, GetName(playerid), reason);
3599 mysql_query(mysql, querylist);
3600 SetTimerEx("DelayKick", 1000, false, "i", id);
3601 new IRC[130];
3602 format(IRC, sizeof(IRC), "4,1* Admin %s Has banned %s for %s.",GetName(playerid),GetName(id),reason);
3603 IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
3604 }
3605 else return SendClientMessage(playerid, COLOR_YELLOW, "Sorry, Only +level 4 can use this command");
3606 return 1;
3607}
3608CMD:unban(playerid, params[])
3609{
3610 if(pData[playerid][Admin] >=4)
3611 {
3612 if(!isnull(params))
3613 {
3614 new Cache:result,query2[128];
3615 format(query2, 128, "SELECT * FROM `banlist` WHERE `name` = '%s'", params);
3616 result = mysql_query(mysql, query2);
3617 new rows;
3618 cache_get_row_count(rows);
3619 if(!rows) return SendClientMessage(playerid, COLOR_RED, "Error: this account Not Banned!");
3620 new querys[128];
3621 format(querys, 128, "DELETE FROM `banlist` WHERE name = '%s'", params);
3622 mysql_query(mysql, querys);
3623 SendClientMessage(playerid, COLOR_GREEN, "Success: this account unbanned!");
3624 cache_delete(result);
3625 }
3626 else return SendClientMessage(playerid, COLOR_RED,"USAGE: /unban [NickName]");
3627 }
3628 else return SendClientMessage(playerid, COLOR_YELLOW, "Sorry, Only +level 4 can use this command");
3629 return 1;
3630}
3631CMD:cbug(playerid,params[])
3632{
3633 if(Joined[playerid] == true)
3634 {
3635 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3636 }
3637 cbug(playerid);
3638 SendClientMessage(playerid,COLOR_RED,"You Have Got CBUG weapons [Deagle + shotgun]");
3639 return 1;
3640}
3641CMD:myweather(playerid, params[])
3642{
3643 new weather, string[100];
3644 if (sscanf(params,"d",weather)) return SendClientMessage(playerid,0x6FFF00FF,"{F07F1D}USAGE: {BBFF00}/myweather ");
3645 if (weather < 0 || weather > 1337) return SendClientMessage(playerid, -1,"{FA002E}ERROR: {C7BDBF}Invalid weather ID! Please keep it within range of 0 - 1337!");
3646 else
3647 SetPlayerWeather(playerid,weather);
3648 format(string,sizeof(string),"{FAB81E}You have changed your weather to {FAB81E}%d!",weather);
3649 SendClientMessage(playerid, -1, string);
3650 return 1;
3651}
3652CMD:healme(playerid,params[])
3653{
3654 GivePlayerMoney(playerid,-5000);
3655 SendClientMessage(playerid,0xFF0000FF,"You Have Been Healed For 5000 Cash");
3656 SetPlayerHealth(playerid,100);
3657 return 1;
3658}
3659CMD:afk(playerid,params[])
3660{
3661 if(Joined[playerid] == true)
3662 {
3663 SendClientMessage(playerid,0xFF0000FF,"Sorry, You must leave race to use this command");
3664 }
3665 if(Afk[playerid] == 0)
3666 {
3667 new string[133],reason;
3668 if(sscanf(params,"s[128]",reason)) return SendClientMessage(playerid,0xFF0000FF,"USAGE: /afk [Reason]");
3669 format(string,sizeof(string),"** [{FF0000}%s]{FF00FF} Is Now AFK Reason : %s",pName(playerid),reason);
3670 SendClientMessageToAll(playerid,string);
3671 Afk[playerid] = 1;
3672 TogglePlayerControllable(playerid,0);
3673 }
3674 else
3675 {
3676 SendClientMessage(playerid,0xFF0000FF,"Error: You Already Afk, Use /back");
3677 }
3678 return 1;
3679}
3680CMD:back(playerid,params[])
3681{
3682 if(Afk[playerid])
3683 {
3684 new string[133];
3685 format(string,sizeof(string),"** [{FF0000}%s]{FF00FF} Is Back",pName(playerid));
3686 SendClientMessageToAll(playerid,string);
3687 TogglePlayerControllable(playerid,1);
3688 Afk[playerid] = 0;
3689 }
3690 else
3691 {
3692 SendClientMessage(playerid,-1,"You Not Afk, Use /afk to Afk");
3693 }
3694 return 1;
3695}
3696
3697CMD:buildrace(playerid, params[])
3698{
3699 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, RED, "<!> You are not an administrator!");
3700 if(BuildRace != 0) return SendClientMessage(playerid, RED, "<!> There's already someone building a race!");
3701 if(RaceBusy == 0x01) return SendClientMessage(playerid, RED, "<!> Wait first till race ends!");
3702 if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED, "<!> Please leave your vehicle first!");
3703 BuildRace = playerid+1;
3704 ShowDialog(playerid, 599);
3705 return 1;
3706}
3707CMD:startrace(playerid, params[])
3708{
3709 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, RED, "<!> You are not an administrator!");
3710 if(AutomaticRace == true) return SendClientMessage(playerid, RED, "<!> Not possible. Automatic race is enabled!");
3711 if(BuildRace != 0) return SendClientMessage(playerid, RED, "<!> There's someone building a race!");
3712 if(RaceBusy == 0x01 || RaceStarted == 1) return SendClientMessage(playerid, RED, "<!> There's a race currently. Wait first till race ends!");
3713 if(isnull(params)) return SendClientMessage(playerid, RED, "<!> /startrace [racename]");
3714 LoadRace(playerid, params);
3715 return 1;
3716}
3717CMD:stoprace(playerid, params[])
3718{
3719 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, RED, "<!> You are not an administrator!");
3720 if(RaceBusy == 0x00 || RaceStarted == 0) return SendClientMessage(playerid, RED, "<!> There's no race to stop!");
3721 SendClientMessageToAll(RED, ">> An admin stopped the current race!");
3722 return StopRace();
3723}
3724CMD:joinrace(playerid, params[])
3725{
3726 if(RaceStarted == 1) return SendClientMessage(playerid, RED, "<!> Race already started! Wait first till race ends!");
3727 if(RaceBusy == 0x00) return SendClientMessage(playerid, RED, "<!> There's no race to join!");
3728 if(Joined[playerid] == true) return SendClientMessage(playerid, RED, "<!> You already joined a race!");
3729 if(IsPlayerInAnyVehicle(playerid)) return SetTimerEx("SetupRaceForPlayer", 2500, 0, "e", playerid), RemovePlayerFromVehicle(playerid), Joined[playerid] = true;
3730 SetupRaceForPlayer(playerid);
3731 Joined[playerid] = true;
3732 SpeedBoostMultiplier[playerid] = 0.0;
3733 return 1;
3734}
3735CMD:startautorace(playerid, params[])
3736{
3737 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, RED, "<!> You are not an administrator!");
3738 if(RaceBusy == 0x01 || RaceStarted == 1) return SendClientMessage(playerid, RED, "<!> There's a race currently. Wait first till race ends!");
3739 if(AutomaticRace == true) return SendClientMessage(playerid, RED, "<!> It's already enabled!");
3740 LoadRaceNames();
3741 LoadAutoRace(RaceNames[random(TotalRaces)]);
3742 AutomaticRace = true;
3743 SendClientMessage(playerid, GREEN, ">> You stared auto race. The filterscript will start a random race everytime the previous race is over!");
3744 return 1;
3745}
3746CMD:stopautorace(playerid, params[])
3747{
3748 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, RED, "<!> You are not an administrator!");
3749 if(AutomaticRace == false) return SendClientMessage(playerid, RED, "<!> It's already disabled!");
3750 AutomaticRace = false;
3751 return 1;
3752}
3753CMD:exitrace(playerid, params[])
3754{
3755 if(Joined[playerid] == true)
3756 {
3757 JoinCount--;
3758 Joined[playerid] = false;
3759 DestroyVehicle(CreatedRaceVeh[playerid]);
3760 DisablePlayerRaceCheckpoint(playerid);
3761 TextDrawHideForPlayer(playerid, RaceInfo[playerid]);
3762 CPProgess[playerid] = 0;
3763 KillTimer(InfoTimer[playerid]);
3764 TogglePlayerControllable(playerid, true);
3765 SetCameraBehindPlayer(playerid);
3766 #if defined RACE_IN_OTHER_WORLD
3767 SetPlayerVirtualWorld(playerid, 0);
3768 #endif
3769 } else return SendClientMessage(playerid, RED, "<!> You are not in a race!");
3770 return 1;
3771}
3772static specing[MAX_PLAYERS];
3773static lastreport[300];
3774
3775CMD:spec(playerid, params[])
3776{
3777 new id;
3778 if(pData[playerid][Admin] < 3) return SendClientMessage(playerid,COLOR_YELLOW,"Only +level 3 can use this command");
3779 if(sscanf(params, "i", id)) return SendClientMessage(playerid, COLOR_RED, "Usage: /spec [playerid]");
3780 if( id == playerid ) return SendClientMessage(playerid, COLOR_RED, "you cannot watch youself silly !");
3781 SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(id));
3782 TogglePlayerSpectating(playerid, 1);
3783 PlayerSpectatePlayer(playerid, id);
3784 specing[playerid] = 1;
3785 return 1;
3786}
3787CMD:specoff(playerid, params[])
3788{
3789 if(pData[playerid][Admin] < 3) return SendClientMessage(playerid,COLOR_YELLOW,"Only +level 3 can use this command");
3790 if(specing[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "you are not watching any one !");
3791 SetPlayerVirtualWorld(playerid, 0);
3792 TogglePlayerSpectating(playerid, 0);
3793 specing[playerid] = 0;
3794 return 1;
3795}
3796
3797CMD:checkbans(playerid, params[])
3798{
3799 if(pData[playerid][Admin] < 3) return SendClientMessage(playerid,COLOR_YELLOW,"Only +level 3 can use this command");
3800 if(isnull(params)) return SendClientMessage(playerid, -1,"Usage: /checkbans [name]");
3801
3802 new IPx[16], Adminx[20], reason[50], querys[128], str[200], Cache:results, rowsK;
3803 format(querys, 128, "SELECT * FROM `banlist` WHERE `name` = '%s'", params);
3804 results = mysql_query(mysql, querys);
3805 cache_get_row_count(rowsK);
3806 if(rowsK)
3807 {
3808 cache_get_value_name(0, "ip", IPx);
3809 cache_get_value_name(0, "Admin", Adminx);
3810 cache_get_value_name(0, "Reason", reason);
3811 format(str, sizeof(str), "Name: %s \nIP: %s \nBanned By: %s \nReason: %s", params, IPx, Adminx, reason);
3812 ShowPlayerDialog(playerid, 1240, DIALOG_STYLE_LIST, "Checking bans..", str, "Done", "");
3813 }
3814 else return SendClientMessage(playerid, -1,"this nickname not exists not database");
3815 cache_delete(results);
3816 return 1;
3817}
3818
3819CMD:report(playerid,params[])
3820{
3821 new id,reason[50],string[300];
3822 if(sscanf(params,"us[178]",id, reason)) return SendClientMessage(playerid, -1,"USAGE: /report [playerid] [reason]");
3823 format(string,sizeof(string),"[Notice]: Player %s (Id: %d) reported By %s(Id: %d) For: %s", GetName(id), id, GetName(playerid), playerid, reason);
3824 lastreport = string;
3825 for(new i = 0; i < MAX_PLAYERS; i++)
3826 {
3827 if(pData[i][Admin] >= 3 || IsPlayerAdmin(i))
3828 {
3829 SendClientMessage(i, 0xFF0000FF, string);
3830 }
3831 }
3832 format(string,sizeof(string),"Player %s (Id: %d) reported By %s(Id: %d) For: %s", GetName(id), id, GetName(playerid), playerid, reason);
3833 IRC_Say(groupID,"%"IRC_CHANNEL, string);
3834 return 1;
3835}
3836
3837CMD:reports(playerid, params[])
3838{
3839 if(pData[playerid][Admin] >= 3)
3840 {
3841 SendClientMessage(playerid, COLOR_YELLOW, "Last report was:");
3842 SendClientMessage(playerid, 0xFF0000FF, lastreport);
3843 } else return SendClientMessage(playerid,COLOR_YELLOW,"Only +level 3 can use this command");
3844 return 1;
3845}
3846new bmsgTDswitch;
3847forward RandBotMsgs();
3848public RandBotMsgs()
3849{
3850 bmsgTDswitch ++;
3851 switch(bmsgTDswitch)
3852 {
3853 case 1: Topscore();
3854 case 2: Topcash();
3855 }
3856 bmsgTDswitch = 0;
3857 return true;
3858}
3859stock Topscore()
3860{
3861 mysql_tquery(mysql ,"SELECT Username,Score FROM players WHERE ID ORDER BY Score DESC LIMIT 1;", "ShowBestScore","");
3862 return true;
3863}
3864forward ShowBestScore();
3865public ShowBestScore()
3866{
3867 new rows;
3868 cache_get_row_count(rows);
3869 if(rows)
3870 {
3871 new playername[35];
3872 new playerscore;
3873 new str[1303];
3874
3875 cache_get_value_index(0, 0, playername);
3876 cache_get_value_name_int(0,"Score",playerscore);
3877 cache_get_value_index_int(0,1, playerscore);
3878
3879 format(str, sizeof(str), "News: Player with the most score is~g~~h~ %s~w~ have (~r~~h~%d score~w~)~n~~n~", playername, playerscore);
3880 TextDrawSetString(Textdraw7,str);
3881 TextDrawShowForAll(Textdraw7);
3882 }
3883 return 1;
3884}
3885stock Topcash()
3886{
3887 mysql_tquery(mysql ,"SELECT Username,Money FROM players WHERE ID ORDER BY Score Money LIMIT 1;", "ShowBestCash","");
3888 return true;
3889}
3890forward ShowBestCash();
3891public ShowBestCash()
3892{
3893 new rows;
3894 cache_get_row_count(rows);
3895 if(rows)
3896 {
3897 new playername[35];
3898 new playermoney;
3899 new str[1303];
3900
3901 cache_get_value_index(0, 0, playername);
3902 cache_get_value_name_int(0,"Money",playermoney);
3903
3904 format(str, sizeof(str), "News: Player with the most cash is~g~~h~ %s~w~ have (~r~~h~%d cash~w~)~n~~n~", playername, playermoney);
3905 TextDrawSetString(Textdraw7,str);
3906 TextDrawShowForAll(Textdraw7);
3907 }
3908 return 1;
3909}
3910public OnPlayerEnterRaceCheckpoint(playerid)
3911{
3912 if(CPProgess[playerid] == TotalCP -1)
3913 {
3914 new
3915 TimeStamp,
3916 TotalRaceTime,
3917 string[256],
3918 rFile[256],
3919 rTime[3],
3920 Prize[2],
3921 TempTotalTime,
3922 TempTime[3]
3923 ;
3924 Position++;
3925 TimeStamp = GetTickCount();
3926 TotalRaceTime = TimeStamp - RaceTick;
3927 ConvertTime(var, TotalRaceTime, rTime[0], rTime[1], rTime[2]);
3928 switch(Position)
3929 {
3930 case 1: Prize[0] = (random(random(5000)) + 10000), Prize[1] = 10;
3931 case 2: Prize[0] = (random(random(4500)) + 9000), Prize[1] = 9;
3932 case 3: Prize[0] = (random(random(4000)) + 8000), Prize[1] = 8;
3933 case 4: Prize[0] = (random(random(3500)) + 7000), Prize[1] = 7;
3934 case 5: Prize[0] = (random(random(3000)) + 6000), Prize[1] = 6;
3935 case 6: Prize[0] = (random(random(2500)) + 5000), Prize[1] = 5;
3936 case 7: Prize[0] = (random(random(2000)) + 4000), Prize[1] = 4;
3937 case 8: Prize[0] = (random(random(1500)) + 3000), Prize[1] = 3;
3938 case 9: Prize[0] = (random(random(1000)) + 2000), Prize[1] = 2;
3939 default: Prize[0] = random(random(1000)), Prize[1] = 1;
3940 }
3941 format(string, sizeof(string), ">> \"%s\" has finished the race in position \"%d\".", pName(playerid), Position);
3942 SendClientMessageToAll(WHITE, string);
3943 format(string, sizeof(string), " - Time: \"%d:%d.%d\".", rTime[0], rTime[1], rTime[2]);
3944 SendClientMessageToAll(WHITE, string);
3945 format(string, sizeof(string), " - Prize: \"$%d and +%d Score\".", Prize[0], Prize[1]);
3946 SendClientMessageToAll(WHITE, string);
3947
3948 if(FinishCount <= 5)
3949 {
3950 format(rFile, sizeof(rFile), "/rRaceSystem/%s.RRACE", RaceName);
3951 format(string, sizeof(string), "BestRacerTime_%d", TimeProgress);
3952 TempTotalTime = dini_Int(rFile, string);
3953 ConvertTime(var1, TempTotalTime, TempTime[0], TempTime[1], TempTime[2]);
3954 if(TotalRaceTime <= dini_Int(rFile, string) || TempTotalTime == 0)
3955 {
3956 dini_IntSet(rFile, string, TotalRaceTime);
3957 format(string, sizeof(string), "BestRacer_%d", TimeProgress);
3958 if(TempTotalTime != 0) format(string, sizeof(string), ">> \"%s\" has broken the record of \"%s\" with \"%d\" seconds faster on the \"%d\"'st/th place!", pName(playerid), dini_Get(rFile, string), -(rTime[1] - TempTime[1]), TimeProgress+1);
3959 else format(string, sizeof(string), ">> \"%s\" has broken a new record of on the \"%d\"'st/th place!", pName(playerid), TimeProgress+1);
3960 SendClientMessageToAll(GREEN, " ");
3961 SendClientMessageToAll(GREEN, string);
3962 SendClientMessageToAll(GREEN, " ");
3963 format(string, sizeof(string), "BestRacer_%d", TimeProgress);
3964 dini_Set(rFile, string, pName(playerid));
3965 TimeProgress++;
3966 }
3967 }
3968 FinishCount++;
3969 GivePlayerMoney(playerid, Prize[0]);
3970 SetPlayerScore(playerid, GetPlayerScore(playerid) + Prize[1]);
3971 DisablePlayerRaceCheckpoint(playerid);
3972 CPProgess[playerid]++;
3973 if(FinishCount >= JoinCount) return StopRace();
3974 }
3975 else
3976 {
3977 CPProgess[playerid]++;
3978 CPCoords[CPProgess[playerid]][3]++;
3979 RacePosition[playerid] = floatround(CPCoords[CPProgess[playerid]][3], floatround_floor);
3980 SetCP(playerid, CPProgess[playerid], CPProgess[playerid]+1, TotalCP, RaceType);
3981 PlayerPlaySound(playerid, 1137, 0.0, 0.0, 0.0);
3982 }
3983 return 1;
3984}
3985
3986
3987public IRC_OnConnect(botid, ip[], port)
3988{
3989 printf("*** IRC_OnConnect: Bot ID %d connected to %s:%d", botid, ip, port);
3990 // Join the channel
3991 IRC_JoinChannel(botid, IRC_CHANNEL);
3992 // Add the bot to the group
3993 IRC_AddToGroup(groupID, botid);
3994 IRC_SendRaw(botid, "ns identify yassine23");
3995 return 1;
3996}
3997
3998public IRC_OnDisconnect(botid, ip[], port, reason[])
3999{
4000 printf("*** IRC_OnDisconnect: Bot ID %d disconnected from %s:%d (%s)", botid, ip, port, reason);
4001 // Remove the bot from the group
4002 IRC_RemoveFromGroup(groupID, botid);
4003 return 1;
4004}
4005public IRC_OnConnectAttempt(botid, ip[], port)
4006{
4007 printf("*** IRC_OnConnectAttempt: Bot ID %d attempting to connect to %s:%d...", botid, ip, port);
4008 return 1;
4009}
4010
4011public IRC_OnConnectAttemptFail(botid, ip[], port, reason[])
4012{
4013 printf("*** IRC_OnConnectAttemptFail: Bot ID %d failed to connect to %s:%d (%s)", botid, ip, port, reason);
4014 return 1;
4015}
4016
4017static Ztopic;
4018
4019public IRC_OnJoinChannel(botid, channel[])
4020{
4021 printf("*** IRC_OnJoinChannel: Bot ID %d joined channel %s", botid, channel);
4022
4023 if(Ztopic == 0)
4024 {
4025 Ztopic = 1;
4026 new gm[64];
4027 GetConsoleVarAsString("gamemodetext", gm, sizeof(gm));
4028 IRC_Say(botIDs[0], channel, "**4Global Gamemode Initialize");
4029 IRC_Say(botIDs[1], channel, "**4Admin system has been loaded");
4030 IRC_Say(botIDs[0], channel, "**4IRC system has been loaded");
4031 }
4032 return 1;
4033}
4034
4035public IRC_OnLeaveChannel(botid, channel[], message[])
4036{
4037 printf("*** IRC_OnLeaveChannel: Bot ID %d left channel %s (%s)", botid, channel, message);
4038 return 1;
4039}
4040public IRC_OnKickedFromChannel(botid, channel[], oppeduser[], oppedhost[], message[])
4041{
4042 printf("*** IRC_OnKickedFromChannel: Bot ID %d kicked by %s (%s) from channel %s (%s)", botid, oppeduser, oppedhost, channel, message);
4043 IRC_JoinChannel(botid, channel);
4044 return 1;
4045}
4046IRCCMD:say(botid, channel[], user[], host[], params[])
4047{
4048 if (IRC_IsOwner(botid, channel, user))
4049 {
4050 if (!isnull(params))
4051 {
4052 new msg[128];
4053 // Echo the formatted message
4054 format(msg, sizeof(msg), "02*** Owner %s on IRC: %s", user, params);
4055 IRC_GroupSay(groupID, channel, msg);
4056 format(msg, sizeof(msg), "*** Owner %s on IRC: %s", user, params);
4057 SendClientMessageToAll(0xFFB400FF, msg);
4058 }
4059 }
4060 else if (IRC_IsAdmin(botid, channel, user))
4061 {
4062 if (!isnull(params))
4063 {
4064 new msg[128];
4065 // Echo the formatted message
4066 format(msg, sizeof(msg), "02*** Management %s on IRC: %s", user, params);
4067 IRC_GroupSay(groupID, channel, msg);
4068 format(msg, sizeof(msg), "*** Management %s on IRC: %s", user, params);
4069 SendClientMessageToAll(0xFFB400FF, msg);
4070 }
4071 }
4072 else if (IRC_IsOp(botid, channel, user)) // back
4073 {
4074 if (!isnull(params))
4075 {
4076 new msg[128];
4077 // Echo the formatted message
4078 format(msg, sizeof(msg), "02*** Admin %s on IRC: %s", user, params);
4079 IRC_GroupSay(groupID, channel, msg);
4080 format(msg, sizeof(msg), "*** Admin %s on IRC: %s", user, params);
4081 SendClientMessageToAll(0xFFB400FF, msg);
4082 }
4083 }
4084 else if (IRC_IsHalfop(botid, channel, user)) // back
4085 {
4086 if (!isnull(params))
4087 {
4088 new msg[128];
4089 // Echo the formatted message
4090 format(msg, sizeof(msg), "02*** Elite Player %s on IRC: %s", user, params);
4091 IRC_GroupSay(groupID, channel, msg);
4092 format(msg, sizeof(msg), "*** Elite Player %s on IRC: %s", user, params);
4093 SendClientMessageToAll(0xFFB400FF, msg);
4094 }
4095 }
4096 else if (IRC_IsVoice(botid, channel, user))
4097 {
4098 // Check if the user entered any text
4099 if (!isnull(params))
4100 {
4101 new msg[128];
4102 // Echo the formatted message
4103 format(msg, sizeof(msg), "02*** %s on IRC: %s", user, params);
4104 IRC_GroupSay(groupID, channel, msg);
4105 format(msg, sizeof(msg), "*** %s on IRC: %s", user, params);
4106 SendClientMessageToAll(0xFFB400FF, msg);
4107 }
4108 }
4109 return 1;
4110}
4111
4112
4113IRCCMD:freeze(botid, channel[], user[], host[], params[])
4114{
4115 // Check if the user is at least a halfop in the channel
4116 if (IRC_IsHalfop(botid, channel, user))
4117 {
4118 new playerid, reason[64];
4119 // Check if the user at least entered a player ID
4120 if (sscanf(params, "dS(No reason)[64]", playerid, reason))
4121 {
4122 return 1;
4123 }
4124 // Check if the player is connected
4125 if (IsPlayerConnected(playerid))
4126 {
4127 // Echo the formatted message
4128 new msg[128], name[MAX_PLAYER_NAME];
4129 GetPlayerName(playerid, name, sizeof(name));
4130 format(msg, sizeof(msg), "02*** %s has been freezed by %s on IRC. (%s)", name, user, reason);
4131 IRC_GroupSay(groupID, channel, msg);
4132 // freeze the player
4133 TogglePlayerControllable(playerid, 0);
4134 }
4135 }
4136 return 1;
4137}
4138
4139IRCCMD:unfreeze(botid, channel[], user[], host[], params[])
4140{
4141 // Check if the user is at least a halfop in the channel
4142 if (IRC_IsHalfop(botid, channel, user))
4143 {
4144 new playerid, reason[64];
4145 // Check if the user at least entered a player ID
4146 if (sscanf(params, "dS(No reason)[64]", playerid, reason))
4147 {
4148 return 1;
4149 }
4150 // Check if the player is connected
4151 if (IsPlayerConnected(playerid))
4152 {
4153 // Echo the formatted message
4154 new msg[128], name[MAX_PLAYER_NAME];
4155 GetPlayerName(playerid, name, sizeof(name));
4156 format(msg, sizeof(msg), "02*** %s has been unfreezed by %s on IRC. (%s)", name, user, reason);
4157 IRC_GroupSay(groupID, channel, msg);
4158 // freeze the player
4159 TogglePlayerControllable(playerid, 1);
4160 }
4161 }
4162 return 1;
4163}
4164
4165IRCCMD:kill(botid, channel[], user[], host[], params[])
4166{
4167 // Check if the user is at least a halfop in the channel
4168 if (IRC_IsHalfop(botid, channel, user))
4169 {
4170 new playerid, reason[64];
4171 // Check if the user at least entered a player ID
4172 if (sscanf(params, "dS(No reason)[64]", playerid, reason))
4173 {
4174 return 1;
4175 }
4176 // Check if the player is connected
4177 if (IsPlayerConnected(playerid))
4178 {
4179 // Echo the formatted message
4180 new msg[128], name[MAX_PLAYER_NAME];
4181 GetPlayerName(playerid, name, sizeof(name));
4182 format(msg, sizeof(msg), "02*** %s has been killed by %s on IRC. (%s)", name, user, reason);
4183 IRC_GroupSay(groupID, channel, msg);
4184 // Kill the player
4185 SetPlayerHealth(playerid, 0);
4186 }
4187 }
4188 return 1;
4189}
4190
4191IRCCMD:kick(botid, channel[], user[], host[], params[])
4192{
4193 // Check if the user is at least a halfop in the channel
4194 if (IRC_IsHalfop(botid, channel, user))
4195 {
4196 new id,reason[50],string[300], str[300];
4197 if(sscanf(params,"us[178]",id, reason)) return IRC_Say(groupID, channel, "7Usage: 1!kick [ID] [reason]");
4198 format(string,sizeof(string),"[ADMIN]: Player %s (Id: %d) was Kicked by %s For: %s", GetName(id), id, user, reason);
4199 SendClientMessageToAll(COLOR_RED, string);
4200 for(new i = 0; i < 50; i++) SendClientMessage(id, -1,"");
4201 TogglePlayerControllable(id, 0);
4202 SendClientMessage(id, -1,""COL_RED"You have been kicked from ZoneX");
4203 format(str, sizeof(str), "You were kicked by: "COL_YELLOW"%s "COL_WHITE"with given a reason : "COL_RED"%s",user, reason);
4204 SendClientMessage(id, -1, str);
4205 SendClientMessage(id, -1, "if You Think You are Kick by unfair ! Feel Free to create a report in our forum ");
4206 SetTimerEx("DelayKick", 1000, false, "i", id);
4207 }
4208 return 1;
4209}
4210
4211IRCCMD:ban(botid, channel[], user[], host[], params[])
4212{
4213 // Check if the user is at least an op in the channel
4214 if (IRC_IsOp(botid, channel, user))
4215 {
4216 new IPx[16];
4217 new id,reason[50],string[300], str[300];
4218 if(sscanf(params,"us[200]",id, reason)) return IRC_Say(groupID, channel, "7Usage: 1!ban [ID] [reason]");
4219 GetPlayerIp(id, IPx, sizeof(IPx));
4220 format(string,sizeof(string),""COL_YELLOW"[ADMIN]: "COL_WHITE"Player %s (Id: %d) was banned by %s For: %s", GetName(id), id, user, reason);
4221 SendClientMessageToAll(-1, string);
4222 for(new i = 0; i < 50; i++) SendClientMessage(id, -1,"");
4223 TogglePlayerControllable(id, 0);
4224 SendClientMessage(id, -1,""COL_RED"You are Currently Banned From ZoneX");
4225 format(str, sizeof(str), "You are Banned by Administrator : "COL_YELLOW"%s (IRC)"COL_WHITE"with given a reason : "COL_RED"%s", user, reason);
4226 SendClientMessage(id, -1, str);
4227 SendClientMessage(id, -1, "if You Think This Ban was unfair ! Feel Free to create a ban appeal in our forum ");
4228 new querylist[512];
4229 format(querylist, sizeof(querylist), "INSERT INTO `banlist`(`name`, `ip`, `Admin`, `Reason`) VALUES('%s', '%s', '%s', '%s')", GetName(id), IPx, user, reason);
4230 mysql_query(mysql, querylist);
4231 SetTimerEx("DelayKick", 1000, false, "i", id);
4232 }
4233 return 1;
4234}
4235
4236IRCCMD:rcon(botid, channel[], user[], host[], params[])
4237{
4238 // Check if the user is at least an op in the channel
4239 if (IRC_IsOwner(botid, channel, user))
4240 {
4241 // Check if the user entered any text
4242 if (!isnull(params))
4243 {
4244 // Check if the user did not enter any invalid commands
4245 if (strcmp(params, "exit", true) != 0 && strfind(params, "loadfs irc", true) == -1)
4246 {
4247 // Echo the formatted message
4248 new msg[128];
4249 format(msg, sizeof(msg), "RCON command %s has been executed.", params);
4250 IRC_GroupSay(groupID, channel, msg);
4251 // Send the command
4252 SendRconCommand(params);
4253 }
4254 }
4255 }
4256 return 1;
4257}
4258IRCCMD:setdblevel(botid, channel[], user[], host[], params[])
4259{
4260 new account[24], Query[300], bString[128], level, Cache:GetCache, rows;
4261 if(IRC_IsOwner(botid, channel, user))
4262 {
4263 if(sscanf(params, "si[24]", account,level)) return IRC_Say(groupID, channel, "7Usage: 1!setdblevel [Account] [Level]");
4264 if(strlen(account) > 24) return IRC_Say(groupID, channel, "7Error: 1Player name cannot exceed 24 characters!");
4265 if(level > 10) return IRC_Say(groupID, channel, "7Error: 1Invalid Level");
4266 format(Query, sizeof(Query), "SELECT * FROM `players` WHERE `Username` = '%s'", account);
4267 GetCache = mysql_query(mysql, Query);
4268 cache_get_row_count(rows);
4269 if(rows == 1)
4270 {
4271 format(Query, sizeof(Query), "UPDATE `players` SET Admin=%d WHERE `Username` = '%s'", level, account);
4272 mysql_query(mysql, Query);
4273 format(bString, sizeof(bString), "7Success: 1You have succesfully set %s's level to %d.", account, level);
4274 IRC_Say(groupID, channel, bString);
4275 }
4276 else
4277 {
4278 IRC_Say(groupID, channel, "7Error: 1this name not exists on database");
4279 }
4280 cache_delete(GetCache);
4281 }
4282 else return IRC_Say(groupID, channel, "7Error: 1Invalid Level, this command can be used just by owners");
4283 return 1;
4284}
4285IRCCMD:pm(botid, channel[], user[], host[], params[])
4286{
4287 new string[128], str1[128], ppid, pname[MAX_PLAYER_NAME];
4288 if(sscanf(params, "us[100]", ppid, str1))
4289 {
4290 IRC_Say(groupID, channel, "Usage: !pm [ID] [message]");
4291 return 1;
4292 }
4293 if(!IsPlayerConnected(ppid)) return IRC_Say(groupID, channel, "Invalid Player ID.");
4294 {
4295 GetPlayerName(ppid, pname, sizeof(pname));
4296 format(string, sizeof(string), "4PM To: %s(ID %d): %s", pname, ppid, str1);
4297 IRC_Say(groupID, user, string);
4298 format(str1, sizeof(str1), "*PM From [IRC]%s : %s", user, str1);
4299 SendClientMessage(ppid, COLOR_RED, str1);
4300 }
4301 return 1;
4302}
4303IRCCMD:slap(botid, channel[], user[], host[], params[])
4304{
4305 new sid, str[128], str2[128], pname[MAX_PLAYER_NAME], Float:slapx, Float:slapy, Float:slapz;
4306 if(!IRC_IsHalfop(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level");
4307 {
4308 if(sscanf(params, "us[128]", sid, str))
4309 {
4310 IRC_Say(groupID, channel, "7Usage: 1!slap [ID] [reason]");
4311 }
4312 if(!IsPlayerConnected(sid)) return IRC_Say(groupID, channel, "7Error: 1Player Logged off");
4313 GetPlayerName(sid, pname, sizeof(pname));
4314 format(str2, sizeof(str2), " 1*%s Has Been Slapped By 3,9IRC Administrator1 %s - 4Reason:1 %s", pname, user, str);
4315 IRC_Say(groupID, channel, str2);
4316 GetPlayerPos(sid, slapx, slapy, slapz);
4317 SetPlayerPos(sid, slapx, slapy, slapz+10);
4318 }
4319 return 1;
4320}
4321IRCCMD:givecash(botid, channel[], user[], host[], params[])
4322{
4323 new gcid, amount, pname[MAX_PLAYER_NAME];
4324 if(!IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level");
4325 if(sscanf(params,"ui", gcid, amount)) return IRC_Say(groupID, channel, "7Usage: 1!givecash [ID] [Amount]");
4326 if(!IsPlayerConnected(gcid)) return IRC_Say(groupID, channel, "Invalid Player ID.");
4327 GetPlayerName(gcid, pname, sizeof(pname));
4328 GivePlayerMoney(gcid, amount);
4329 return 1;
4330}
4331
4332IRCCMD:cmds(botid, channel[], user[], host[], params[])
4333{
4334 if(!strcmp(channel, channel, true))
4335 {
4336 IRC_Say(botid, user, "04 [IRC Commands] ");
4337 IRC_Say(groupID, user, "| User: !pm !players !say ");
4338 {
4339 if(IRC_IsHalfop(botid, channel, user))
4340 {
4341 IRC_Say(groupID, user, "| Moderators: !slap !kick !clearchat !warn !getip");
4342 }
4343 if(IRC_IsOp(botid, channel, user))
4344 {
4345 IRC_Say(groupID, user, "| Administrators: !explode !ban !givecash !freeze !unfreeze !setwanted !loc !givemoderator");
4346 }
4347 if(IRC_IsAdmin(botid, channel, user))
4348 {
4349 IRC_Say(groupID, user, "| Managements: !cprotect !crestore ");
4350 }
4351 if(IRC_IsOwner(botid, channel, user))
4352 {
4353 IRC_Say(groupID, user, "| Owner: !restart !rcon !setlevel ");
4354 }
4355 }
4356 }
4357 return 1;
4358}
4359IRCCMD:restart(botid, channel[], user[], host[], params[])
4360{
4361 if(!IRC_IsOwner(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level.");
4362 SendRconCommand("gmx");
4363 return 1;
4364}
4365IRCCMD:cprotect(botid, channel[], user[], host[], params[])
4366{
4367 if(!IRC_IsAdmin(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level.");
4368 new pmode[50];
4369 format(pmode, sizeof(pmode), "mode %s +miRCp", channel);
4370 IRC_SendRaw(botid, pmode);
4371 return 1;
4372}
4373IRCCMD:crestore(botid, channel[], user[], host[], params[])
4374{
4375 if(!IRC_IsAdmin(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level.");
4376 new pmode[50];
4377 format(pmode, sizeof(pmode), "mode %s -miRCp", channel);
4378 IRC_SendRaw(botid, pmode);
4379 return 1;
4380}
4381IRCCMD:explode(botid, channel[], user[], host[], params[])
4382{
4383 if(!IRC_IsOp(botid, channel, user)) return IRC_Say(groupID, channel, "Invalid Level.");
4384 new exid, reason[80]; new pname[MAX_PLAYER_NAME];
4385 if(sscanf(params, "uS(No Reason)[80]", exid, reason))
4386 {
4387 IRC_GroupSay(groupID, user, "04USAGE: !explode [ID] [Reason]");
4388 return 1;
4389 }
4390 if(!IsPlayerConnected(exid))
4391 {
4392 IRC_GroupSay(groupID, user, "04ERROR: Invalid Player ID");
4393 return 1;
4394 }
4395 new Float:ircx, Float:ircy, Float:ircz;
4396 GetPlayerPos(exid, ircx, ircy, ircz);
4397 CreateExplosion(ircx, ircy, ircz, 6, 10);
4398 CreateExplosion(ircx, ircy, ircz, 6, 10);
4399 GetPlayerName(exid, pname, sizeof(pname));
4400 return 1;
4401}
4402IRCCMD:getip(botid, channel[], user[], host[], params[])//ReV
4403{
4404 if(!IRC_IsHalfop(botid, channel, user)) return false;
4405 new giveplayerid, ip[16], str[128];
4406 new dfgiveplayer[MAX_PLAYER_NAME];
4407 if(sscanf(params, "i", giveplayerid))
4408 {
4409 IRC_GroupSay(groupID, IRC_CHANNEL, "Usage: !getip (playerid)");
4410 return false;
4411 }
4412 GetPlayerName(giveplayerid, dfgiveplayer, sizeof(dfgiveplayer));
4413 GetPlayerIp(giveplayerid, ip, sizeof(ip));
4414
4415 if(!IsPlayerConnected(giveplayerid))
4416 {
4417 IRC_GroupSay(groupID, channel, "4Error:3 Invalid Player ID!");
4418 return 1;
4419 }
4420
4421 format(str, 128, "2Player:1 %s(%i) 4IP:1 Is %s", dfgiveplayer, giveplayerid, ip);
4422 IRC_GroupSay(groupID, channel, str);
4423
4424 #pragma unused botid, user
4425 return true;
4426}
4427IRCCMD:players(conn, channel[], user[], params[]) //made by Grove, taken from CYS Echo Bot 1.2
4428{
4429 new count, PlayerNames[512], string[256];
4430 for(new i=0; i<=MAX_PLAYERS; i++)
4431 {
4432 if(IsPlayerConnected(i))
4433 {
4434 if(count == 0)
4435 {
4436 new PlayerName1[MAX_PLAYER_NAME];
4437 GetPlayerName(i, PlayerName1, sizeof(PlayerName1));
4438 format(PlayerNames, sizeof(PlayerNames),"2%s1", PlayerName1);
4439 count++;
4440 }
4441 else
4442 {
4443 new PlayerName1[MAX_PLAYER_NAME];
4444 GetPlayerName(i, PlayerName1, sizeof(PlayerName1));
4445 format(PlayerNames, sizeof(PlayerNames),"%s, 2%s1", PlayerNames, PlayerName1);
4446 count++;
4447 }
4448 }
4449 else { if(count == 0) format(PlayerNames, sizeof(PlayerNames), "1No Players Online!"); }
4450 }
4451
4452 new counter = 0;
4453 for(new i=0; i<=MAX_PLAYERS; i++)
4454 {
4455 if(IsPlayerConnected(i)) counter++;
4456 }
4457
4458 format(string, 256, "5Connected Players[%d]:1 %s", counter, PlayerNames);
4459 IRC_Say(conn, channel, string);
4460 #pragma unused params,user
4461 return true;
4462}
4463IRCCMD:clearchat(conn, channel[], user[], message[])
4464{
4465 if(IRC_IsHalfop(conn, channel, user) == 0) return IRC_Say(conn, channel, "Invalid Level");
4466 {
4467 for( new i = 0; i <= 100; i ++ ) SendClientMessageToAll(COLOR_WHITE, "");
4468 }
4469 new string[256];
4470 format(string, sizeof(string), "An IRC Administrator %s has cleared the chat", user);
4471
4472 SendClientMessageToAll(COLOR_WHITE, string);
4473 IRC_Say(conn, channel, string);
4474
4475 #pragma unused message
4476 return 1;
4477}
4478
4479
4480//======================================//
4481CMD:admins(playerid, params[])
4482{
4483 new count;
4484 new admtext[128];
4485 new string[128],stringz[128];
4486 for( new i = 0; i < MAX_PLAYERS; i++ )
4487 {
4488 if ( IsPlayerConnected( i ) )
4489 {
4490 if( pData[i][Admin] >= 3 )
4491 {
4492 switch( pData[i][Admin] )
4493 {
4494 case 10: admtext = "Server Owner";
4495 case 9: admtext = "Management";
4496 case 8: admtext = "Zx Special Admin";
4497 case 7: admtext = "head admin";
4498 case 6: admtext = "lead admin";
4499 case 5: admtext = "ubber admin";
4500 case 4: admtext = "Admin";
4501 case 3: admtext = "Admin";
4502 case 2: admtext = "Admin";
4503 case 1: admtext = "Admin";
4504 }
4505 count++;
4506 format( stringz , 128,"Online Admins");
4507 format( string, 128, "%s (ID:%d) Level:%d (%s)\n\nTotal ZoneX admins %d", GetName( i ), i , pData[i][Admin] , admtext, count);
4508 ShowPlayerDialog( playerid , 190 , DIALOG_STYLE_MSGBOX , stringz , string, "Ok" , "Close" );
4509 }
4510 }
4511 if (count == 0)
4512 {
4513 format( stringz , 128 ,"No Admins Online ");
4514 format( string , 128 ,"Currently NO admin online\nAdmins Watching from IRC\nand Admins Eyes always on you" );
4515 ShowPlayerDialog( playerid,191,DIALOG_STYLE_MSGBOX , stringz , string , "Ok" , "Close" );
4516 }
4517 if(count >= 0)
4518 {
4519 ShowPlayerDialog( playerid , 190 , DIALOG_STYLE_MSGBOX , stringz , string, "Ok" , "Close" );
4520 }
4521 }
4522 return 1;
4523}
4524CMD:admlevel10(playerid, params[])
4525{
4526 new Cache:results, rows;
4527 results = mysql_query(mysql, "SELECT Username FROM players WHERE Admin = 10");
4528
4529 rows = cache_num_rows();
4530
4531 if(rows) {
4532
4533 new
4534 output[800];
4535
4536 for(new i; i < rows; i++) {
4537
4538 new
4539 username[24];
4540
4541 cache_get_value_name(i, "Username", username);
4542
4543 format(output, sizeof(output), "%s %s [Level 10]\n", output, username);
4544 }
4545 ShowPlayerDialog(playerid, 1101, DIALOG_STYLE_MSGBOX, "Level 10 Admins", output, "OK", "Cancel");
4546 }
4547 else ShowPlayerDialog(playerid, 1101, DIALOG_STYLE_MSGBOX, "Level 10 Admins", "No Admins of this level.", "OK", "Cancel");
4548 cache_delete(results);
4549 return 1;
4550}
4551IRCCMD:admins(botid, channel[], user[], host[], params[])
4552{
4553 new count;
4554 new admtext[128];
4555 new stringz[128];
4556 for( new i = 0; i < MAX_PLAYERS; i++ )
4557 {
4558 if( pData[i][Admin] >= 3 )
4559 {
4560 switch( pData[i][Admin] )
4561 {
4562 case 10: admtext = "Server Owner";
4563 case 9: admtext = "Management";
4564 case 8: admtext = "Zx Special Admin";
4565 case 7: admtext = "head admin";
4566 case 6: admtext = "lead admin";
4567 case 5: admtext = "ubber admin";
4568 case 4: admtext = "Admin";
4569 case 3: admtext = "Admin";
4570 case 2: admtext = "Admin";
4571 case 1: admtext = "Admin";
4572 }
4573 count++;
4574 format(stringz, sizeof(stringz), "0,10 %d ZoneX Admin Online",count);
4575 IRC_GroupSay(groupID, IRC_CHANNEL, stringz);
4576
4577 format(stringz,sizeof(stringz),"0,10 Admin %s (ID: %d) [Level %d] (%s)",GetName(i),i,pData[i][Admin],admtext);
4578 IRC_GroupSay(groupID, IRC_CHANNEL, stringz);
4579
4580 format(stringz, sizeof(stringz), "*Online Admins Player List Requested by %s ~ Total %d", user, count);
4581 SendClientMessageToAll(0xFFB400FF, stringz);
4582
4583 format(stringz, sizeof(stringz), "0,10 *Online Admins List Requested by %s ~ Total %d",user,count);
4584 IRC_GroupSay(groupID, IRC_CHANNEL, stringz);
4585 }
4586 }
4587 if (count == 0)
4588 {
4589 IRC_GroupSay(groupID, IRC_CHANNEL, "No admins are online!");
4590 }
4591 return 1;
4592}
4593
4594stock SavePlayerData(playerid)
4595{
4596 new query[150+1000];
4597 mysql_format(mysql, query, sizeof(query), "UPDATE `players` SET `IP` = '%e', `Admin` = %d, `VIP` = %d, `Kills` = %d,`Cookies` = %d,`Cakes` = %d,`Icecream` = %d, `Deaths` = %d, `Score` = %d, `Money` = %d, `Hours` = %d,\
4598 `Minutes` = %d WHERE `ID` = %d",
4599 IP[playerid], pData[playerid][Admin], pData[playerid][VIP], pData[playerid][Kills],pData[playerid][Cookies],pData[playerid][Cakes],pData[playerid][Icecream], pData[playerid][Deaths], GetPlayerScore(playerid),\
4600 GetPlayerMoney(playerid), pData[playerid][pHours], pData[playerid][pMinutes], pData[playerid][ID]);
4601 printf("Query %s",query);
4602 printf("Admin %d",pData[playerid][Admin]);
4603 mysql_query(mysql, query);
4604}
4605CMD:setlevel(playerid, params[])
4606{
4607 new lookupid, str[128], level;
4608 if(pData[playerid][Admin] >= 9 || IsPlayerAdmin(playerid))
4609 {
4610 if(sscanf(params,"ud",lookupid,level)) return SendClientMessage(playerid, COLOR_YELLOW, "Usage: /setlevel (UserID | UserName) (level)");
4611 if(pData[lookupid][Admin] > pData[playerid][Admin]) return SendClientMessage(playerid, -1, "Sorry you cant setlevel becoz his level is higher then you");
4612 if(level < 3 ||level > 10) return SendClientMessage(playerid, red, "ERROR: Invalid Level [Levels 3 to 10]"); // you can change this to any level you want
4613 if(!IsPlayerConnected(lookupid)) return SendClientMessage(playerid,0xFF0000FF, "Sorry this player isnt connected ");
4614 if(level < pData[lookupid][Admin])
4615 {
4616 format(str, sizeof(str), "Admin %s (ID:%d) has demoted you to level %d",GetName(playerid), playerid, level);
4617 SendClientMessage(lookupid, 0xFF0000FF, str);
4618 format(str, sizeof(str),"You have demoted %s (ID:%d) to level %d",GetName(lookupid),lookupid,level);
4619 SendClientMessage(playerid, -1, str);
4620 }
4621 if(level > pData[lookupid][Admin])
4622 {
4623 format(str, sizeof(str), "Admin %s (ID:%d) has promoted you to level %d",GetName(playerid), playerid, level);
4624 SendClientMessage(lookupid, COLOR_YELLOW, str);
4625 format(str, sizeof(str),"You have promoted %s (ID:%d) to level %d",GetName(lookupid),lookupid,level);
4626 SendClientMessage(playerid, COLOR_YELLOW, str);
4627 }
4628 pData[lookupid][Admin] = level;
4629 printf("Setted level %d",level);
4630 }
4631 else return SendClientMessage(playerid, COLOR_YELLOW, "Only +level 9 can use this command");
4632 return 1;
4633}
4634CMD:setdblevel(playerid, params[])
4635{
4636 new account[24], Query[300], bString[128], level, Cache:GetCache, rows;
4637 if(pData[playerid][Admin] == 10)
4638 {
4639 if(sscanf(params, "s[24]i", account,level)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /Setdblevel [Account] [Level]");
4640 if(strlen(account) > 24) return SendClientMessage(playerid, COLOR_RED, "ERROR: Player name cannot exceed 24 characters!");
4641 if(level < 3 ||level > 10) return SendClientMessage(playerid,red,"ERROR: Invalid Level [Levels 3 to 10]");
4642 format(Query, sizeof(Query), "SELECT * FROM `players` WHERE `Username` = '%s'", account);
4643 GetCache = mysql_query(mysql, Query);
4644 cache_get_row_count(rows);
4645 if(rows == 1)
4646 {
4647 format(Query, sizeof(Query), "UPDATE `players` SET Admin=%d WHERE `Username` = '%s'", level, account);
4648 mysql_query(mysql, Query);
4649 format(bString, sizeof(bString), "* You have succesfully set %s's level to %d.", account, level);
4650 SendClientMessage(playerid, -1, bString);
4651 }
4652 else
4653 {
4654 format(bString, sizeof(bString), "ERROR: Name %s doesn't exists in the database!", account);
4655 return SendClientMessage(playerid, red, bString);
4656 }
4657 cache_delete(GetCache);
4658 }
4659 else return SendClientMessage(playerid, yellow, "Sorry, you are not high enough level to use this command.");
4660 return 1;
4661}
4662CMD:ep(playerid, params[])
4663{
4664 new lookupid, str[128];
4665 if(pData[playerid][Admin] >= 4 || IsPlayerAdmin(playerid))
4666 {
4667 if(sscanf(params,"u",lookupid)) return SendClientMessage(playerid, COLOR_YELLOW, "Usage: /tp (UserID | UserName)");
4668 if(pData[lookupid][Admin] > pData[playerid][Admin]) return SendClientMessage(playerid, -1, "Sorry you cant setlevel becoz his level is higher then you");
4669 if(!IsPlayerConnected(lookupid)) return SendClientMessage(playerid,0xFF0000FF, "Sorry this player isnt connected ");
4670 if(pData[lookupid][Admin] == 1)
4671 {
4672 format(str, sizeof(str), "Admin %s (ID:%d) has gived you EP statue",GetName(playerid), playerid);
4673 SendClientMessage(lookupid, COLOR_YELLOW, str);
4674 format(str, sizeof(str),"You have gived %s (ID:%d) EP Statue",GetName(lookupid),lookupid);
4675 SendClientMessage(playerid, COLOR_YELLOW, str);
4676 pData[lookupid][Admin] = 2;
4677 }
4678 if(pData[lookupid][Admin] == 2)
4679 {
4680 format(str, sizeof(str), "Admin %s (ID:%d) has removed your EP statue",GetName(playerid), playerid);
4681 SendClientMessage(lookupid, 0xFF0000FF, str);
4682 format(str, sizeof(str),"You have Removed %s (ID:%d) EP statue",GetName(lookupid),lookupid);
4683 SendClientMessage(playerid, 0xFF0000FF, str);
4684 pData[lookupid][Admin] = 0;
4685 }
4686 }
4687 else return SendClientMessage(playerid, COLOR_YELLOW, "Only +level 4 can use this command");
4688 return 1;
4689}
4690
4691CMD:stats(playerid,params[])
4692{
4693 new id,Test[1000+1000];
4694 sscanf(params, "u", id);
4695 if (isnull(params))
4696 {
4697 format(Test, sizeof (Test), "{0055FF}ZoneX Stats For %s (ID:%d):\n\n"ccwhite"Score:"ccgreen" %d "ccwhite"Money/Cash: "ccgreen"$%d "ccwhite"Kills: "ccgreen"%d"ccwhite" Deaths:"ccgreen" %d"ccwhite" Level:"ccgreen" %d\n", GetName(playerid), playerid, GetPlayerScore(playerid), GetPlayerMoney(playerid), pData[playerid][Kills], pData[playerid][Deaths], pData[playerid][Admin]);
4698 format(Test, sizeof (Test), "%s"ccwhite" Time in game: "ccgreen"%d Hours %d Minutes"ccwhite" Cookies:"ccgreen" %d"ccwhite" Icecreams: "ccgreen"%d"ccwhite" Cakes:"ccgreen" %d\n\n\n{FFD200}Note: You also can view onther players thats by using /stats [playerid]",Test,pData[playerid][pHours], pData[playerid][pMinutes],pData[playerid][Cookies], pData[playerid][Icecream], pData[playerid][Cakes]);
4699 return ShowPlayerDialog(playerid,300,DIALOG_STYLE_MSGBOX,"ZoneX Statistics",Test, "Ok","");
4700 }
4701 else if(IsPlayerConnected(id))
4702 {
4703 format(Test, sizeof (Test), "{0055FF}ZoneX Stats For %s (ID:%d):\n\n{FFDC00}Main Stats:\n{E1FF00}> Score: %d\n> Money/Cash: $%d\n> Kills: %d\n> Deaths: %d\n> Level: %d\n", GetName(id), id, GetPlayerScore(id), GetPlayerMoney(id), pData[id][Kills], pData[id][Deaths], pData[id][Admin]);
4704 format(Test, sizeof (Test), "%s\n\n{FFDC00}Goodies Stats:\n{E1FF00}> Cookies: %d\n> Icecreams: %d\n> Cakes: %d\n\n\n{FFD200}Note: You also can view onther players thats by using /stats [playerid]", Test,pData[id][Cookies], pData[id][Icecream], pData[id][Cakes]);
4705 return ShowPlayerDialog(playerid,300,DIALOG_STYLE_MSGBOX,"ZoneX Statistics",Test, "Ok","");
4706 }
4707 else return SendClientMessage(playerid,0xFF0000FF,"* -ZoneX- Sorry, That player is not online now");
4708}
4709CMD:mute(playerid, params[])
4710{
4711 if(pData[playerid][Admin] >= 3) // player is not admin
4712 {
4713 new id, mins, str[128];
4714 if(sscanf(params,"ui",id,mins)) return SendClientMessage(playerid, -1,"Usage: /mute [playerid] [duration in mins]");
4715 if (!IsPlayerConnected(id)) return 1; // invalid player
4716 if(pMuted[id] == true) return SendClientMessage(playerid, COLOR_RED,"already muted ");
4717 pMuted[id] = true;
4718 format(str, sizeof(str),"Admin %s (ID:%d) has muted %s (ID:%d) for %d min(s)",GetName(playerid), playerid, GetName(id), id, mins);
4719 SendClientMessageToAll(COLOR_RED, str);
4720 SetTimerEx("UnMutedTimer", 60*1000*mins, false, "i", id); //60*1000 = 1 minute
4721 }
4722 return 1;
4723}
4724CMD:unmute(playerid, params[])
4725{
4726 if(pData[playerid][Admin] >= 3) // player is not admin
4727 {
4728 new id, str[128];
4729 if(sscanf(params,"u",id)) return SendClientMessage(playerid, COLOR_CMY,"Usage: /unmute [playerid]");
4730 if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_CMY,"target is not connected"); // invalid player id
4731 if(pMuted[id] == false) return SendClientMessage(playerid, COLOR_RED,"Player is not muted ");
4732 pMuted[id] = false;
4733 format(str, sizeof(str),"Admin %s (ID:%d) has unmuted %s (ID:%d)",GetName(playerid), playerid, GetName(id), id);
4734 SendClientMessageToAll(COLOR_RED, str);
4735 }
4736 return 1;
4737}
4738public UnMutedTimer(playerid)
4739{
4740 new str[128];
4741 pMuted[playerid] = false;
4742 format(str,sizeof(str),"%s (ID:%d) has been auto unmuted by ZoneX Admin ",GetName(playerid), playerid);
4743 SendClientMessageToAll(COLOR_GREEN, str);
4744 return 1;
4745}
4746CMD:setmoney(playerid, params[])
4747{
4748 new str[128], lookupid, amount;
4749 if(pData[playerid][Admin] >= 3)
4750 {
4751 if(sscanf(params, "ui",lookupid, amount)) return SendClientMessage(playerid ,COLOR_YELLOW, "Usage: /setmoney ");
4752 if(!IsPlayerConnected(lookupid)) return SendClientMessage(playerid, COLOR_YELLOW, "Player is not connected");
4753 format(str, sizeof(str), "Admin %s (ID:%d) has setted %s (ID:%d) money count to (%d)", GetName(playerid), playerid, GetName(lookupid),lookupid, amount);
4754 SendClientMessage(lookupid, COLOR_YELLOW, str);
4755 SetPlayerMoney(lookupid, amount);
4756 pData[lookupid][Money] = amount;
4757 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 3+ can use this cmd");
4758 return 1;
4759}
4760CMD:setscore(playerid, params[])
4761{
4762 new str[128], lookupid, amount;
4763 if(pData[playerid][Admin] >= 3)
4764 {
4765 if(sscanf(params, "ui",lookupid, amount)) return SendClientMessage(playerid ,COLOR_YELLOW, "Usage: /setscore ");
4766 if(!IsPlayerConnected(lookupid)) return SendClientMessage(playerid, COLOR_YELLOW, "Player is not connected");
4767 format(str, sizeof(str), "Admin %s (ID:%d) has setted %s (ID:%d) score count to (%d)", GetName(playerid), playerid, GetName(lookupid),lookupid, amount);
4768 SendClientMessage(lookupid, COLOR_YELLOW, str);
4769 SetPlayerScore(lookupid, amount);
4770 pData[lookupid][Score] = amount;
4771 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 3+ can use this cmd");
4772 return 1;
4773}
4774CMD:setdeaths(playerid, params[])
4775{
4776 new str[128], lookupid, amount;
4777 if(pData[playerid][Admin] >= 3)
4778 {
4779 if(sscanf(params, "ui",lookupid, amount)) return SendClientMessage(playerid ,COLOR_YELLOW, "Usage: /setdeaths ");
4780 if(!IsPlayerConnected(lookupid)) return SendClientMessage(playerid, COLOR_YELLOW, "Player is not connected");
4781 format(str, sizeof(str), "Admin %s (ID:%d) has setted %s (ID:%d) Death count to (%d)", GetName(playerid), playerid, GetName(lookupid),lookupid, amount);
4782 SendClientMessage(lookupid, COLOR_YELLOW, str);
4783 pData[lookupid][Deaths] = amount;
4784 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 3+ can use this cmd");
4785 return 1;
4786}
4787CMD:setkills(playerid, params[])
4788{
4789 new str[128], lookupid, amount;
4790 if(pData[playerid][Admin] >= 3)
4791 {
4792 if(sscanf(params, "ui",lookupid, amount)) return SendClientMessage(playerid ,COLOR_YELLOW, "Usage: /sekills ");
4793 if(!IsPlayerConnected(lookupid)) return SendClientMessage(playerid, COLOR_YELLOW, "Player is not connected");
4794 format(str, sizeof(str), "Admin %s (ID:%d) has setted %s (ID:%d) Kill count to (%d)", GetName(playerid), playerid, GetName(lookupid),lookupid, amount);
4795 SendClientMessage(lookupid, COLOR_YELLOW, str);
4796 pData[lookupid][Kills] = amount;
4797 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 3+ can use this cmd");
4798 return 1;
4799}
4800CMD:setcookies(playerid, params[])
4801{
4802 new pid;
4803 new amount;
4804 new str[250];
4805 if(pData[playerid][Admin] >= 4)
4806 {
4807 if(sscanf(params, "ui", pid, amount)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "USAGE: /setcookies [Player ID] [Amount]");
4808 if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_RED, "PlayerID is not connected");
4809 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4810 PlayerPlaySound(pid, 1057, 0.0, 0.0, 0.0);
4811 pData[playerid][Cookies] = 0;
4812 pData[pid][Cookies] += amount;
4813 format(str, sizeof(str), "* Admin %s (ID:%d) Set %s(ID:%d) cookies... %s has %d cookies",pName(playerid),playerid, pName(pid),pid,pName(pid),pData[pid][Cookies]);
4814 SendClientMessageToAll(COLOR_GREEN, str);
4815 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 4+ can use this cmd");
4816 return 1;
4817}
4818CMD:setcakes(playerid, params[])
4819{
4820 new pid;
4821 new amount;
4822 new str[250];
4823 if(pData[playerid][Admin] >= 4)
4824 {
4825 if(sscanf(params, "ui", pid, amount)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "USAGE: /setcakes [Player ID] [Amount]");
4826 if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_RED, "PlayerID is not connected");
4827 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4828 PlayerPlaySound(pid, 1057, 0.0, 0.0, 0.0);
4829 pData[playerid][Cakes] = 0;
4830 pData[pid][Cakes] += amount;
4831 format(str, sizeof(str), "* Admin %s (ID:%d) Set %s(ID:%d) cakes... %s has %d cakes",pName(playerid),playerid, pName(pid),pid,pName(pid),pData[pid][Cakes]);
4832 SendClientMessageToAll(COLOR_GREEN, str);
4833 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 4+ can use this cmd");
4834 return 1;
4835}
4836CMD:seticecreams(playerid, params[])
4837{
4838 new pid;
4839 new amount;
4840 new str[250];
4841 if(pData[playerid][Admin] >= 4)
4842 {
4843 if(sscanf(params, "ui", pid, amount)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "USAGE: /seticecreams [Player ID] [Amount]");
4844 if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_RED, "PlayerID is not connected");
4845 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4846 PlayerPlaySound(pid, 1057, 0.0, 0.0, 0.0);
4847 pData[playerid][Icecream] = 0;
4848 pData[pid][Icecream] += amount;
4849 format(str, sizeof(str), "* Admin %s (ID:%d) Set %s(ID:%d) Icecreams... %s has %d Icecreams",pName(playerid),playerid, pName(pid),pid,pName(pid),pData[pid][Icecream]);
4850 SendClientMessageToAll(COLOR_GREEN, str);
4851 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 4+ can use this cmd");
4852 return 1;
4853}
4854CMD:cookie(playerid, params[])
4855{
4856 new pid;
4857 new str[250];
4858 if(pData[playerid][Admin] >= 3)
4859 {
4860 if(sscanf(params, "u", pid)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "USAGE: /cookie [Player ID]");
4861 if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "PlayerID is not connected.");
4862 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4863 PlayerPlaySound(pid, 1057, 0.0, 0.0, 0.0);
4864 pData[pid][Cookies] += 1;
4865 format(str, sizeof(str), "* Admin %s (ID:%d) gave %s(ID:%d) a cookie... %s has %d cookies",pName(playerid),playerid, pName(pid),pid,pName(pid),pData[pid][Cookies]);
4866 SendClientMessageToAll(COLOR_GREEN, str);
4867 GameTextForPlayer(pid,"~g~~h~~h~Cookie",3000,4);
4868 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 4+ can use this cmd");
4869 return 1;
4870}
4871CMD:cake(playerid, params[])
4872{
4873 new pid;
4874 new str[250];
4875 if(pData[playerid][Admin] >= 4)
4876 {
4877 if(sscanf(params, "u", pid)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "USAGE: /cake [Player ID]");
4878 if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "PlayerID is not connected.");
4879 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4880 PlayerPlaySound(pid, 1057, 0.0, 0.0, 0.0);
4881 pData[pid][Cakes] += 1;
4882 format(str, sizeof(str), "* Admin %s (ID:%d) gave %s(ID:%d) a cake... %s has %d cakes",pName(playerid),playerid, pName(pid),pid,pName(pid),pData[pid][Cakes]);
4883 SendClientMessageToAll(COLOR_GREEN, str);
4884 GameTextForPlayer(pid,"~g~~h~~h~cake",3000,4);
4885 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 4+ can use this cmd");
4886 return 1;
4887}
4888CMD:icecream(playerid, params[])
4889{
4890 new pid;
4891 new str[250];
4892 if(pData[playerid][Admin] >= 4)
4893 {
4894 if(sscanf(params, "u", pid)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "USAGE: /iceream [Player ID]");
4895 if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "PlayerID is not connected.");
4896 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4897 PlayerPlaySound(pid, 1057, 0.0, 0.0, 0.0);
4898 pData[pid][Icecream] += 1;
4899 format(str, sizeof(str), "* Admin %s (ID:%d) gave %s(ID:%d) an icecream... %s has %d icecreams",pName(playerid),playerid, pName(pid),pid,pName(pid),pData[pid][Icecream]);
4900 SendClientMessageToAll(COLOR_GREEN, str);
4901 GameTextForPlayer(pid,"~g~~h~~h~iceream",3000,4);
4902 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 4+ can use this cmd");
4903 return 1;
4904}
4905CMD:giveall(playerid, params[])
4906{
4907 new str[250];
4908 new String[160];
4909 new thing;
4910 if(pData[playerid][Admin] >= 5)
4911 {
4912 if(sscanf(params, "s[64]", thing)) return SendClientMessage(playerid, COLOR_MESSAGE_YELLOW, "USAGE: /giveall [Any Thing]");
4913 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4914 format(str, sizeof(str), "* Admin %s (ID:%d) gaved all the players %s",pName(playerid),playerid, thing);
4915 SendClientMessageToAll(COLOR_GREEN, str);
4916 format(String,sizeof(String),"%s",thing);
4917 GameTextForAll(String,3000,4);
4918 } else return SendClientMessage(playerid, COLOR_YELLOW, "Only admin level 4+ can use this cmd");
4919 return 1;
4920}
4921CMD:rocket(playerid, params[])
4922{
4923 new str[250];
4924 if(pData[playerid][Cookies] < 1) return SendClientMessage(playerid, 0xFFFF00AA, " * You have not enough cookies.");
4925 pData[playerid][Cookies] -= 1; //cost 1 cookie
4926 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4927 GivePlayerWeapon(playerid, 35, 5);
4928 GameTextForPlayer(playerid,"~g~~h~~h~Rocket launcher",3000,4);
4929 format(str, sizeof(str), "** You just spawned a rocket launcher costs one cookie");
4930 SendClientMessage(playerid, COLOR_GREEN, str);
4931 return 1;
4932}
4933CMD:sniper(playerid, params[])
4934{
4935 new str[250];
4936 if(pData[playerid][Cakes] < 1) return SendClientMessage(playerid, 0xFFFF00AA, " * You have not enough cakes.");
4937 pData[playerid][Cakes] -= 1; //costs 1 cake
4938 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4939 GivePlayerWeapon(playerid, 34, 20);
4940 GameTextForPlayer(playerid,"~g~~h~~h~Sniper",3000,4);
4941 format(str, sizeof(str), "** You just spawned sniper rifle costs one cake");
4942 SendClientMessage(playerid, COLOR_GREEN, str);
4943 return 1;
4944}
4945CMD:flammer(playerid, params[])
4946{
4947 new str[250];
4948 if(pData[playerid][Icecream] < 1) return SendClientMessage(playerid, 0xFFFF00AA, " * You have not enough biscuits.");
4949 pData[playerid][Icecream] -= 1; // costs 1 biscuit
4950 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4951 GivePlayerWeapon(playerid, 37, 40);
4952 GameTextForPlayer(playerid,"~g~~h~~h~flammer",3000,4);
4953 format(str, sizeof(str), "** You just spawned a flammer costs one biscuit");
4954 SendClientMessage(playerid, COLOR_GREEN, str);
4955 return 1;
4956}
4957CMD:grenade(playerid, params[])
4958{
4959 new str[250];
4960 if(pData[playerid][Icecream] < 1) return SendClientMessage(playerid, 0xFFFF00AA, " * You have not enough icecreams.");
4961 pData[playerid][Icecream] -= 1; //costs 1 icecream
4962 PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
4963 GivePlayerWeapon(playerid, 16, 40);
4964 GameTextForPlayer(playerid,"~g~~h~~h~grenades",3000,4);
4965 format(str, sizeof(str), "** You just spawned grenades costs one icecream");
4966 SendClientMessage(playerid, COLOR_GREEN, str);
4967 return 1;
4968}
4969CMD:mycookies(playerid, params[])
4970{
4971 new str[250];
4972 format(str, sizeof(str), "* You have %d cookie(s)... zomfg you have so many cookies you could start a cookie factory!", pData[playerid][Cookies]);
4973 SendClientMessage(playerid, COLOR_GREEN, str);
4974 format(str, sizeof(str), "** Cookies can be exchanged for spawn a rocket launcher... type /rocket");
4975 SendClientMessage(playerid, COLOR_GREEN, str);
4976 return 1;
4977}
4978CMD:mycakes(playerid, params[])
4979{
4980 new str[250];
4981 format(str, sizeof(str), "* You have %d cake(s)... zomfg you have so many cakes you could start a cake factory!", pData[playerid][Cakes]);
4982 SendClientMessage(playerid, COLOR_GREEN, str);
4983 format(str, sizeof(str), "** Cakes can be exchanged for spawn a Sniper Rifl... type /sniper");
4984 SendClientMessage(playerid, COLOR_GREEN, str);
4985 return 1;
4986}
4987CMD:myicecreams(playerid, params[])
4988{
4989 new str[250];
4990 format(str, sizeof(str), "* You have %d icecream(s)... zomfg you have so many icecreams you could start an icecream factory!", pData[playerid][Icecream]);
4991 SendClientMessage(playerid, COLOR_GREEN, str);
4992 format(str, sizeof(str), "** icecreams can be exchanged for spawn a grenades packet ... type /grenade");
4993 SendClientMessage(playerid, COLOR_GREEN, str);
4994 return 1;
4995}
4996CMD:blockcommand(playerid, params[])
4997{
4998 if(!IsPlayerAdmin(playerid)) return 0;
4999 new command[25];
5000 if(sscanf(params, "s[25]", command)) return SendClientMessage(playerid, -1, "USAGE: /blockcommand [command]");
5001 if(command[0] == '/') strdel(command, 0, 1);
5002 new slotfree = -1;
5003 for(new i = 0; i < MAX_COMMAND_BLOCKED; i++)
5004 {
5005 if(BlockedCommand[i][0] == '\0') slotfree = i;
5006 else if(!strcmp(BlockedCommand[i], command, true)) return SendClientMessage(playerid, -1, "This command is already blocked. Use '/unblockcommand [command]' to unblock it.");
5007 if(slotfree != -1) continue;
5008 }
5009 if(slotfree == -1) return SendClientMessage(playerid, -1, "You have reached the maximum limit of blocked commands. Please unblock some before proceeding.");
5010 format(BlockedCommand[slotfree], 25, "%s", command);
5011 SendClientMessage(playerid, -1, "SUCCESS: Command Blocked successfully.");
5012 return 1;
5013}
5014CMD:blockcmd(playerid, params[]) return cmd_blockcommand(playerid, params);
5015CMD:unblockcommand(playerid, params[])
5016{
5017 if(!IsPlayerAdmin(playerid)) return 0;
5018 new command[25];
5019 if(sscanf(params, "s[25]", command)) return SendClientMessage(playerid, -1, "USAGE: /unblockcommand [command]");
5020 if(command[0] == '/') strdel(command, 0, 1);
5021 new slotfree = -1;
5022 for(new i = 0; i < MAX_COMMAND_BLOCKED; i++)
5023 {
5024 if(!strcmp(BlockedCommand[i], command, true) && BlockedCommand[i][0] != '\0')
5025 {
5026 slotfree = i;
5027 break;
5028 }
5029 }
5030 if(slotfree == -1) return SendClientMessage(playerid, -1, "This command is not blocked. Use '/blockcommand [command]' to block it.");
5031 strdel(BlockedCommand[slotfree], 0, strlen(BlockedCommand[slotfree]));
5032 SendClientMessage(playerid, -1, "SUCCESS: Command Unblocked successfully.");
5033 return 1;
5034}
5035CMD:unblockcmd(playerid, params[]) return cmd_unblockcommand(playerid, params);
5036public OnPlayerCommandPerformed(playerid, cmdtext[], success)
5037{
5038 if(!success) SendClientMessage(playerid,0xFF0000FF,"Sorry, You have typed an unknown command");
5039 new bool:CMD_BLOCKED = false;
5040 for(new i = 0; i < MAX_COMMAND_BLOCKED; i++)
5041 {
5042 if(BlockedCommand[i][0] == '\0') continue;
5043 if(cmdtext[0] == '/')
5044 {
5045 if(!strcmp(BlockedCommand[i], cmdtext[1], true)) CMD_BLOCKED = true;
5046 }
5047 else if(!strcmp(BlockedCommand[i], cmdtext, true)) CMD_BLOCKED = true;
5048 else continue;
5049 }
5050 if(CMD_BLOCKED) return SendClientMessage(playerid, COMMAND_BLOCKED_COLOR, COMMAND_BLOCKED_MSG);
5051 return success;
5052}
5053//=====================[Property System]==================================//
5054CMD:sellallproperties(playerid,params[])
5055{
5056 if(pData[playerid][Admin] >= 9)
5057 {
5058 for(new propid = 0; propid < MAX_PLAYERS; propid++) {
5059 format(PropInfo[propid][PropOwner], MAX_PLAYER_NAME, "Nobody");
5060 PropInfo[propid][PropIsBought] = 0;
5061 PropInfo[propid][PropUnbuyableTime] = 0;
5062 }
5063 for(new i = 0; i < MAX_PLAYERS; i++) {
5064 if(IsPlayerConnected(i))
5065 {
5066 PlayerProps[i] = 0;
5067 }
5068 }
5069 new str[128];
5070 format(str, 128, "Admin %s has reset all properties!", pName(playerid));
5071 SendClientMessageToAll(0xFFCC66AA, str);
5072 return 1;
5073 }
5074 else return SendClientMessageToAll(COLOR_YELLOW,"Only +level 9 can use this command");
5075}
5076CMD:myproperties(playerid,params[])
5077{
5078 new str[128], ownerid;
5079 if(PlayerProps[playerid] == 0)
5080 {
5081 SendClientMessage(playerid, 0xFF0000AA, "You don't own a property!");
5082 return 1;
5083 }
5084 format(str, 128, "|============ Your %d Properties: =============|", PlayerProps[playerid]);
5085 SendClientMessage(playerid, 0x99FF66AA, str);
5086 for(new propid; propid < PropertiesAmount; propid++)
5087 {
5088 if(PropInfo[propid][PropIsBought] == 1)
5089 {
5090 ownerid = GetPlayerID(PropInfo[propid][PropOwner]);
5091 if(ownerid == playerid)
5092 {
5093 format(str, 128, ">> \"%s\" Value: $%d,- Earnings: $%d,-", PropInfo[propid][PropName], PropInfo[propid][PropValue], PropInfo[propid][PropEarning]);
5094 SendClientMessage(playerid, 0x99FF66AA, str);
5095 }
5096 }
5097 }
5098 SendClientMessage(playerid, 0x99FF66AA, "|============================================|");
5099 return 1;
5100}
5101CMD:myprops(playerid,params[])
5102{
5103 new str[128], ownerid;
5104 if(PlayerProps[playerid] == 0)
5105 {
5106 SendClientMessage(playerid, 0xFF0000AA, "You don't own a property!");
5107 return 1;
5108 }
5109 format(str, 128, "|============ Your %d Properties: =============|", PlayerProps[playerid]);
5110 SendClientMessage(playerid, 0x99FF66AA, str);
5111 for(new propid; propid < PropertiesAmount; propid++)
5112 {
5113 if(PropInfo[propid][PropIsBought] == 1)
5114 {
5115 ownerid = GetPlayerID(PropInfo[propid][PropOwner]);
5116 if(ownerid == playerid)
5117 {
5118 format(str, 128, ">> \"%s\" Value: $%d,- Earnings: $%d,-", PropInfo[propid][PropName], PropInfo[propid][PropValue], PropInfo[propid][PropEarning]);
5119 SendClientMessage(playerid, 0x99FF66AA, str);
5120 }
5121 }
5122 }
5123 SendClientMessage(playerid, 0x99FF66AA, "|============================================|");
5124 return 1;
5125}
5126CMD:sellproperty(playerid,params[])
5127{
5128 new str[128];
5129 new propid = IsPlayerNearProperty(playerid);
5130 if(propid == -1)
5131 {
5132 SendClientMessage(playerid, 0xFF0000AA, "You're not close enough to a property");
5133 return 1;
5134 }
5135 if(PropInfo[propid][PropIsBought] == 1)
5136 {
5137 new ownerid = GetPlayerID(PropInfo[propid][PropOwner]);
5138 if(ownerid != playerid)
5139 {
5140 SendClientMessage(playerid, 0xFF0000AA, "You don't own this property!");
5141 return 1;
5142 }
5143 }
5144 format(PropInfo[propid][PropOwner], MAX_PLAYER_NAME, "Nobody");
5145 PropInfo[propid][PropIsBought] = 0;
5146 PropInfo[propid][PropUnbuyableTime] = 0;
5147 GivePlayerMoney(playerid, (PropInfo[propid][PropValue]/2));
5148 format(str, 128, "You have sold your property \"%s\" for 50 percents of its value: $%d,-", PropInfo[propid][PropName], PropInfo[propid][PropValue]/2);
5149 SendClientMessage(playerid, 0xFFFF00AA, str);
5150 format(str, 128, "%s has sold the property \"%s\".", pName(playerid), PropInfo[propid][PropName]);
5151 SendClientMessageToAllEx(playerid, 0xFFFF00AA, str);
5152 PlayerProps[playerid]--;
5153 EarningsForPlayer[playerid] -= PropInfo[propid][PropEarning];
5154 return 1;
5155}
5156CMD:resetprop(playerid,params[])
5157{
5158 new propid = IsPlayerNearProperty(playerid);
5159 if(pData[playerid][Admin] >= 9)
5160 {
5161 if(propid == -1)
5162 {
5163 SendClientMessage(playerid, 0xFF0000AA, "* You're not close enough to a property");
5164 return 1;
5165 }
5166 if(PropInfo[propid][PropIsBought] == 1)
5167 {
5168 new playerName[MAX_PLAYER_NAME];
5169 GetPlayerName(playerid, playerName, sizeof(playerName));
5170 format(PropInfo[propid][PropOwner], MAX_PLAYER_NAME, "Nobody");
5171 PropInfo[propid][PropIsBought] = 0;
5172 PropInfo[propid][PropUnbuyableTime] = 0;
5173 SendClientMessage(playerid,COLOR_GREEN,"* You have successfully sold this property.");
5174 SaveProperties();
5175 }
5176 else return SendClientMessage(playerid, 0x6699FFAA, "* This property is not owned by anyone.");
5177 }
5178 else return SendClientMessage(playerid,COLOR_YELLOW,"Only +level 9 can use this command");
5179 return 1;
5180}
5181CMD:buyproperty(playerid,params[])
5182{
5183 new str[128];
5184 new propid = IsPlayerNearProperty(playerid);
5185 if(propid == -1)
5186 {
5187 SendClientMessage(playerid, 0xFF0000AA, "You're not close enough to a property");
5188 return 1;
5189 }
5190 if(PlayerProps[playerid] == MAX_PROPERTIES_PER_PLAYER)
5191 {
5192 format(str, 128, "You already have %d properties, you can't buy more properties!", PlayerProps[playerid]);
5193 SendClientMessage(playerid, 0xFF0000AA, str);
5194 return 1;
5195 }
5196 if(PropInfo[propid][PropIsBought] == 1)
5197 {
5198 new ownerid = GetPlayerID(PropInfo[propid][PropOwner]);
5199 if(ownerid == playerid)
5200 {
5201 SendClientMessage(playerid, 0xFF0000AA, "You already own this property!");
5202 return 1;
5203 }
5204 else
5205 {
5206 if(PropInfo[propid][PropUnbuyableTime] > 0)
5207 {
5208 format(str, 128, "This property is already bought by %s. You'll have to wait %d minutes before you can buy it.", PropInfo[propid][PropOwner], PropInfo[propid][PropUnbuyableTime]);
5209 SendClientMessage(playerid, 0xFF0000AA, str);
5210 return 1;
5211 }
5212 }
5213 }
5214 if(GetPlayerMoney(playerid) < PropInfo[propid][PropValue])
5215 {
5216 format(str, 128, "You don't have enough money! You need $%d,-", PropInfo[propid][PropValue]);
5217 SendClientMessage(playerid, 0xFF0000AA, str);
5218 return 1;
5219 }
5220 if(PropInfo[propid][PropIsBought] && PropInfo[propid][PropUnbuyableTime] == 0)
5221 {
5222 new ownerid = GetPlayerID(PropInfo[propid][PropOwner]);
5223 format(str, 128, "%s has bought your property \"%s\". You recieved 50 percent of it's value ($%d)", pName(playerid), PropInfo[propid][PropName], (PropInfo[propid][PropValue]/2));
5224 GivePlayerMoney(ownerid, (PropInfo[propid][PropValue]/2));
5225 SendClientMessage(ownerid, 0xFFFF00AA, str);
5226 PlayerProps[ownerid]--;
5227 }
5228 PropInfo[propid][PropOwner] = pName(playerid);
5229 PropInfo[propid][PropIsBought] = 1;
5230 PropInfo[propid][PropUnbuyableTime] = UNBUYABLETIME;
5231 EarningsForPlayer[playerid] += PropInfo[propid][PropEarning];
5232 GivePlayerMoney(playerid, (0-PropInfo[propid][PropValue]));
5233 format(str, 128, "You have bought the property \"%s\" for $%d", PropInfo[propid][PropName], PropInfo[propid][PropValue]);
5234 SendClientMessage(playerid, 0xFFFF00AA, str);
5235 format(str, 128, "%s has bought the property \"%s\".", pName(playerid), PropInfo[propid][PropName]);
5236 SendClientMessageToAllEx(playerid, 0xFFFF00AA, str);
5237 PlayerProps[playerid]++;
5238 return 1;
5239}
5240CMD:prophelp(playerid,params[])
5241{
5242 SendClientMessage(playerid, 0x6699FFAA, "|=========================================================|");
5243 SendClientMessage(playerid, 0x6699FFAA, "Property-related commands:");
5244 SendClientMessage(playerid, 0x66CCFFAA, "/buyproperty or /buyprop ==>> To buy a property");
5245 SendClientMessage(playerid, 0x66CCFFAA, "/sellproperty or /sellprop ==>> To sell one of your properties");
5246 SendClientMessage(playerid, 0x66CCFFAA, "/myproperties or /myprops ==>> To see a list of all properties you own");
5247 if(pData[playerid][Admin] >= 7)
5248 {
5249 SendClientMessage(playerid, 0x66CCFFAA, "/sellallproperties [Admin Only] ==>> To sell all properties for all players");
5250 }
5251 SendClientMessage(playerid, 0x6699FFAA, "|=========================================================|");
5252 return 1;
5253}
5254CMD:propertyhelp(playerid,params[])
5255{
5256 return cmd_prophelp(playerid,params);
5257}
5258CMD:ircpm(playerid,params[])
5259{
5260 new str[700];
5261 new str2[256];
5262 new str3[700];
5263 new userx[44];
5264 if(sscanf(params, "ss[300]", userx, str2)) return SendClientMessage(playerid, 0xFF0000FF, "Usage: /ircpm [user] [message]");
5265 {
5266 format(str, sizeof(str), "*PM To [IRC]%s: %s", userx, str2);
5267 SendClientMessage(playerid, COLOR_YELLOW, str);
5268
5269 format(str3, sizeof(str3), "4*PM From %s(ID %d): %s", GetName(playerid), playerid, str2);
5270 IRC_Say(botIDs[0], userx, str3);
5271 }
5272 return 1;
5273}
5274
5275stock escpname(playerid)
5276{
5277 new escname[24], Pname[24];
5278 GetPlayerName(playerid, Pname, 24);
5279 mysql_real_escape_string(Pname, escname);
5280 return escname;
5281}
5282stock escstring(stri[])
5283{
5284 new escstr[200];
5285 mysql_real_escape_string(stri, escstr);
5286 return escstr;
5287}
5288stock PlayerName(pid)
5289{
5290 GetPlayerName(pid, Pname, 24);
5291 return Pname;
5292}
5293stock TotalGameTime(playerid, &h=0, &m=0, &s=0)
5294{
5295 pData[playerid][pTotalTime] =
5296 (
5297 (gettime() - pData[playerid][pConnectTime]) + (pData[playerid][pHours]*60*60) + (pData[playerid][pMinutes]*60) + (pData[playerid][pSeconds])
5298 );
5299 h = floatround(pData[playerid][pTotalTime] / 3600, floatround_floor);
5300 m = floatround(pData[playerid][pTotalTime] / 60, floatround_floor) % 60;
5301 s = floatround(pData[playerid][pTotalTime] % 60, floatround_floor);
5302 return pData[playerid][pTotalTime];
5303}
5304//==========================================================================//
5305//============================Property=================================//
5306stock LoadProperties()
5307{
5308 if(fexist("PropertySystem/PropertyInfo.txt"))
5309 {
5310 CountProperties();
5311 new Argument[9][70];
5312 new entry[256], BoughtProps;
5313 new File: propfile = fopen("PropertySystem/PropertyInfo.txt", io_read);
5314 if (propfile)
5315 {
5316 for(new id = 0; id < MAX_PROPERTIES; id++) {
5317 fread(propfile, entry);
5318 split(entry, Argument, ',');
5319 format(PropInfo[id][PropName], 150, "%s", Argument[0]);
5320 PropInfo[id][PropX] = floatstr(Argument[1]);
5321 PropInfo[id][PropY] = floatstr(Argument[2]);
5322 PropInfo[id][PropZ] = floatstr(Argument[3]);
5323 PropInfo[id][PropValue] = strval(Argument[4]);
5324 PropInfo[id][PropEarning] = strval(Argument[5]);
5325 format(PropInfo[id][PropOwner], MAX_PLAYER_NAME, "%s", Argument[6]);
5326 PropInfo[id][PropIsBought] = strval(Argument[7]);
5327 PropInfo[id][PropUnbuyableTime] = strval(Argument[8]);
5328 PropInfo[id][PickupNr] = CreatePickup(1273, 1, PropInfo[id][PropX], PropInfo[id][PropY], PropInfo[id][PropZ]);
5329 if(PropInfo[id][PropIsBought] == 1)
5330 {
5331 BoughtProps++;
5332 }
5333 }
5334 fclose(propfile);
5335 printf("===================================");
5336 printf("|| Created %d Properties ||", PropertiesAmount);
5337 printf("||%d of the properties are bought||", BoughtProps);
5338 printf("===================================");
5339 }
5340 }
5341}
5342stock SaveProperties()
5343{
5344 new entry[256];
5345 new File: propfile = fopen("PropertySystem/PropertyInfo.txt", io_write);
5346 for(new id = 0; id < MAX_PROPERTIES; id++){
5347 format(entry, 128, "%s,%.2f,%.2f,%.2f,%d,%d,%s,%d,%d \r\n",PropInfo[id][PropName], PropInfo[id][PropX], PropInfo[id][PropY], PropInfo[id][PropZ], PropInfo[id][PropValue], PropInfo[id][PropEarning], PropInfo[id][PropOwner], PropInfo[id][PropIsBought], PropInfo[id][PropUnbuyableTime]);
5348 fwrite(propfile, entry);
5349 }
5350 printf("Saved %d Properties!", PropertiesAmount);
5351 fclose(propfile);
5352}
5353forward split(const strsrc[], strdest[][], delimiter);
5354public split(const strsrc[], strdest[][], delimiter)
5355{
5356 new i, li;
5357 new aNum;
5358 new len;
5359 while(i <= strlen(strsrc)){
5360 if(strsrc[i]==delimiter || i==strlen(strsrc)){
5361 len = strmid(strdest[aNum], strsrc, li, i, 128);
5362 strdest[aNum][len] = 0;
5363 li = i+1;
5364 aNum++;
5365}
5366i++;
5367}
5368return 1;
5369}
5370stock CountProperties()
5371{
5372 new entry[256];
5373 new File: propfile = fopen("PropertySystem/PropertyInfo.txt", io_read);
5374 while(fread(propfile, entry, 256))
5375 {
5376 PropertiesAmount++;
5377 }
5378 fclose(propfile);
5379}
5380forward IsPlayerNearProperty(playerid);
5381public IsPlayerNearProperty(playerid)
5382{
5383 new Float:Distance;
5384 for(new propx = 0; propx < MAX_PROPERTIES; propx++) {
5385 Distance = GetDistanceToProperty(playerid, propx);
5386 if(Distance < 1.0)
5387 {
5388 return propx;
5389 }
5390 }
5391 return -1;
5392}
5393forward Float:GetDistanceToProperty(playerid, Property);
5394public Float:GetDistanceToProperty(playerid, Property)
5395{
5396 new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
5397 GetPlayerPos(playerid,x1,y1,z1);
5398 x2 = PropInfo[Property][PropX];
5399 y2 = PropInfo[Property][PropY];
5400 z2 = PropInfo[Property][PropZ];
5401 return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
5402}
5403forward TimeOnServer(playerid);
5404public TimeOnServer(playerid)
5405{
5406 pData[playerid][pSeconds]++;
5407 if(pData[playerid][pSeconds]>=60)
5408 {
5409 pData[playerid][pMinutes]++;
5410 pData[playerid][pSeconds]=0;
5411 }
5412 if(pData[playerid][pMinutes]>=60)
5413 {
5414 pData[playerid][pMinutes]=0;
5415 pData[playerid][pHours]++;
5416 }
5417}
5418stock GetPlayerID(const Name[])
5419{
5420 for(new i = 0; i < MAX_PLAYERS; i++) {
5421 if(IsPlayerConnected(i))
5422 {
5423 new pName1[MAX_PLAYER_NAME];
5424 GetPlayerName(i, pName1, sizeof(pName1));
5425 if(strcmp(Name, pName1, true)==0)
5426 {
5427 return i;
5428 }
5429 }
5430 }
5431 return -1;
5432}
5433stock SendClientMessageToAllEx(exeption, color, const message[])
5434{
5435 for(new i = 0; i < MAX_PLAYERS; i++) {
5436 if(IsPlayerConnected(i))
5437 {
5438 if(i != exeption)
5439 {
5440 SendClientMessage(i, color, message);
5441 }
5442 }
5443 }
5444}
5445forward UpdateUnbuyableTime();
5446public UpdateUnbuyableTime()
5447{
5448 for(new propid = 0; propid < MAX_PROPERTIES; propid++) {
5449 if(PropInfo[propid][PropIsBought] == 1)
5450 {
5451 if(PropInfo[propid][PropUnbuyableTime] > 0)
5452 {
5453 PropInfo[propid][PropUnbuyableTime]--;
5454 }
5455 }
5456 }
5457}
5458stock encodepass(buf[])
5459{
5460new length=strlen(buf);
5461new s1 = 1;
5462new s2 = 0;
5463new n;
5464for(new n = 0; n < MAX_PLAYERS; n++){
5465 s1 = (s1 + buf[n]) % 65521;
5466 s2 = (s2 + s1) % 65521;
5467}
5468return (s2 << 16) + s1;
5469}
5470forward MapIconStreamer();
5471public MapIconStreamer()
5472{
5473 for(new i = 0; i < MAX_PLAYERS; i++) {
5474 if(IsPlayerConnected(i))
5475 {
5476 new Float:SmallestDistance = 99999.9;
5477 new CP, Float:OldDistance;
5478 for(new propid = 0; propid < MAX_PLAYERS; propid++) {
5479 OldDistance = GetDistanceToProperty(i, propid);
5480 if(OldDistance < SmallestDistance)
5481 {
5482 SmallestDistance = OldDistance;
5483 CP = propid;
5484 }
5485 }
5486 RemovePlayerMapIcon(i, 31);
5487 if(PropInfo[CP][PropIsBought] == 1)
5488 {
5489 SetPlayerMapIcon(i, 31, PropInfo[CP][PropX], PropInfo[CP][PropY], PropInfo[CP][PropZ], 32, 0);
5490 }
5491 else
5492 {
5493 SetPlayerMapIcon(i, 31, PropInfo[CP][PropX], PropInfo[CP][PropY], PropInfo[CP][PropZ], 31, 0);
5494 }
5495 }
5496 }
5497}
5498forward DelayKick(playerid);
5499public DelayKick(playerid)
5500{
5501 Kick(playerid);
5502 return 1;
5503}
5504forward PropertyPayout();
5505public PropertyPayout()
5506{
5507 new str[64];
5508 for(new i = 0; i < MAX_PLAYERS; i++) {
5509 if(IsPlayerConnected(i))
5510 {
5511 if(PlayerProps[i] > 0)
5512 {
5513 GivePlayerMoney(i, EarningsForPlayer[i]);
5514 format(str, 64, "You earned $%d,- from your properties!", EarningsForPlayer[i]);
5515 SendClientMessage(i, 0xFFFF00AA, str);
5516 }
5517 }
5518 }
5519}
5520
5521
5522function LoadRaceNames()
5523{
5524 new
5525 rNameFile[64],
5526 string[64]
5527 ;
5528 format(rNameFile, sizeof(rNameFile), "/rRaceSystem/RaceNames/RaceNames.txt");
5529 TotalRaces = dini_Int(rNameFile, "TotalRaces");
5530 Loop(x, TotalRaces)
5531 {
5532 format(string, sizeof(string), "Race_%d", x), strmid(RaceNames[x], dini_Get(rNameFile, string), 0, 20, sizeof(RaceNames));
5533 printf(">> Loaded Races: %s", RaceNames[x]);
5534 }
5535 return 1;
5536}
5537
5538function LoadAutoRace(rName[])
5539{
5540 new
5541 rFile[256],
5542 string[256]
5543 ;
5544 format(rFile, sizeof(rFile), "/rRaceSystem/%s.RRACE", rName);
5545 if(!dini_Exists(rFile)) return printf("Race \"%s\" doesn't exist!", rName);
5546 strmid(RaceName, rName, 0, strlen(rName), sizeof(RaceName));
5547 RaceVehicle = dini_Int(rFile, "vModel");
5548 RaceType = dini_Int(rFile, "rType");
5549 TotalCP = dini_Int(rFile, "TotalCP");
5550
5551 #if DEBUG_RACE == 1
5552 printf("VehicleModel: %d", RaceVehicle);
5553 printf("RaceType: %d", RaceType);
5554 printf("TotalCheckpoints: %d", TotalCP);
5555 #endif
5556
5557 Loop(x, 2)
5558 {
5559 format(string, sizeof(string), "vPosX_%d", x), RaceVehCoords[x][0] = dini_Float(rFile, string);
5560 format(string, sizeof(string), "vPosY_%d", x), RaceVehCoords[x][1] = dini_Float(rFile, string);
5561 format(string, sizeof(string), "vPosZ_%d", x), RaceVehCoords[x][2] = dini_Float(rFile, string);
5562 format(string, sizeof(string), "vAngle_%d", x), RaceVehCoords[x][3] = dini_Float(rFile, string);
5563 #if DEBUG_RACE == 1
5564 printf("VehiclePos %d: %f, %f, %f, %f", x, RaceVehCoords[x][0], RaceVehCoords[x][1], RaceVehCoords[x][2], RaceVehCoords[x][3]);
5565 #endif
5566 }
5567 Loop(x, TotalCP)
5568 {
5569 format(string, sizeof(string), "CP_%d_PosX", x), CPCoords[x][0] = dini_Float(rFile, string);
5570 format(string, sizeof(string), "CP_%d_PosY", x), CPCoords[x][1] = dini_Float(rFile, string);
5571 format(string, sizeof(string), "CP_%d_PosZ", x), CPCoords[x][2] = dini_Float(rFile, string);
5572 #if DEBUG_RACE == 1
5573 printf("RaceCheckPoint %d: %f, %f, %f", x, CPCoords[x][0], CPCoords[x][1], CPCoords[x][2]);
5574 #endif
5575 }
5576 Position = 0;
5577 FinishCount = 0;
5578 JoinCount = 0;
5579 Loop(x, 2) PlayersCount[x] = 0;
5580 CountAmount = COUNT_DOWN_TILL_RACE_START;
5581 RaceTime = MAX_RACE_TIME;
5582 RaceBusy = 0x01;
5583 CountTimer = SetTimer("CountTillRace", 999, 1);
5584 TimeProgress = 0;
5585 return 1;
5586}
5587
5588function LoadRace(playerid, rName[])
5589{
5590 new
5591 rFile[256],
5592 string[256]
5593 ;
5594 format(rFile, sizeof(rFile), "/rRaceSystem/%s.RRACE", rName);
5595 if(!dini_Exists(rFile)) return SendClientMessage(playerid, RED, "<!> Race doesn't exist!"), printf("Race \"%s\" doesn't exist!", rName);
5596 strmid(RaceName, rName, 0, strlen(rName), sizeof(RaceName));
5597 RaceVehicle = dini_Int(rFile, "vModel");
5598 RaceType = dini_Int(rFile, "rType");
5599 TotalCP = dini_Int(rFile, "TotalCP");
5600
5601 #if DEBUG_RACE == 1
5602 printf("VehicleModel: %d", RaceVehicle);
5603 printf("RaceType: %d", RaceType);
5604 printf("TotalCheckpoints: %d", TotalCP);
5605 #endif
5606
5607 Loop(x, 2)
5608 {
5609 format(string, sizeof(string), "vPosX_%d", x), RaceVehCoords[x][0] = dini_Float(rFile, string);
5610 format(string, sizeof(string), "vPosY_%d", x), RaceVehCoords[x][1] = dini_Float(rFile, string);
5611 format(string, sizeof(string), "vPosZ_%d", x), RaceVehCoords[x][2] = dini_Float(rFile, string);
5612 format(string, sizeof(string), "vAngle_%d", x), RaceVehCoords[x][3] = dini_Float(rFile, string);
5613 #if DEBUG_RACE == 1
5614 printf("VehiclePos %d: %f, %f, %f, %f", x, RaceVehCoords[x][0], RaceVehCoords[x][1], RaceVehCoords[x][2], RaceVehCoords[x][3]);
5615 #endif
5616 }
5617 Loop(x, TotalCP)
5618 {
5619 format(string, sizeof(string), "CP_%d_PosX", x), CPCoords[x][0] = dini_Float(rFile, string);
5620 format(string, sizeof(string), "CP_%d_PosY", x), CPCoords[x][1] = dini_Float(rFile, string);
5621 format(string, sizeof(string), "CP_%d_PosZ", x), CPCoords[x][2] = dini_Float(rFile, string);
5622 #if DEBUG_RACE == 1
5623 printf("RaceCheckPoint %d: %f, %f, %f", x, CPCoords[x][0], CPCoords[x][1], CPCoords[x][2]);
5624 #endif
5625 }
5626 Position = 0;
5627 FinishCount = 0;
5628 JoinCount = 0;
5629 Loop(x, 2) PlayersCount[x] = 0;
5630 Joined[playerid] = true;
5631 CountAmount = COUNT_DOWN_TILL_RACE_START;
5632 RaceTime = MAX_RACE_TIME;
5633 RaceBusy = 0x01;
5634 TimeProgress = 0;
5635 SetupRaceForPlayer(playerid);
5636 CountTimer = SetTimer("CountTillRace", 999, 1);
5637 return 1;
5638}
5639
5640function SetCP(playerid, PrevCP, NextCP, MaxCP, Type)
5641{
5642 if(Type == 0)
5643 {
5644 if(NextCP == MaxCP) SetPlayerRaceCheckpoint(playerid, 1, CPCoords[PrevCP][0], CPCoords[PrevCP][1], CPCoords[PrevCP][2], CPCoords[NextCP][0], CPCoords[NextCP][1], CPCoords[NextCP][2], RACE_CHECKPOINT_SIZE);
5645 else SetPlayerRaceCheckpoint(playerid, 0, CPCoords[PrevCP][0], CPCoords[PrevCP][1], CPCoords[PrevCP][2], CPCoords[NextCP][0], CPCoords[NextCP][1], CPCoords[NextCP][2], RACE_CHECKPOINT_SIZE);
5646 }
5647 else if(Type == 3)
5648 {
5649 if(NextCP == MaxCP) SetPlayerRaceCheckpoint(playerid, 4, CPCoords[PrevCP][0], CPCoords[PrevCP][1], CPCoords[PrevCP][2], CPCoords[NextCP][0], CPCoords[NextCP][1], CPCoords[NextCP][2], RACE_CHECKPOINT_SIZE);
5650 else SetPlayerRaceCheckpoint(playerid, 3, CPCoords[PrevCP][0], CPCoords[PrevCP][1], CPCoords[PrevCP][2], CPCoords[NextCP][0], CPCoords[NextCP][1], CPCoords[NextCP][2], RACE_CHECKPOINT_SIZE);
5651 }
5652 return 1;
5653}
5654
5655function SetupRaceForPlayer(playerid)
5656{
5657 CPProgess[playerid] = 0;
5658 TogglePlayerControllable(playerid, false);
5659 CPCoords[playerid][3] = 0;
5660 SetCP(playerid, CPProgess[playerid], CPProgess[playerid]+1, TotalCP, RaceType);
5661 if(IsOdd(playerid)) Index = 1;
5662 else Index = 0;
5663
5664 switch(Index)
5665 {
5666 case 0:
5667 {
5668 if(PlayersCount[0] == 1)
5669 {
5670 RaceVehCoords[0][0] -= (6 * floatsin(-RaceVehCoords[0][3], degrees));
5671 RaceVehCoords[0][1] -= (6 * floatcos(-RaceVehCoords[0][3], degrees));
5672 CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+2, RaceVehCoords[0][3], random(126), random(126), (60 * 60));
5673 SetPlayerPos(playerid, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+2);
5674 SetPlayerFacingAngle(playerid, RaceVehCoords[0][3]);
5675 PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
5676 Camera(playerid, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2], RaceVehCoords[0][3], 20);
5677 }
5678 }
5679 case 1:
5680 {
5681 if(PlayersCount[1] == 1)
5682 {
5683 RaceVehCoords[1][0] -= (6 * floatsin(-RaceVehCoords[1][3], degrees));
5684 RaceVehCoords[1][1] -= (6 * floatcos(-RaceVehCoords[1][3], degrees));
5685 CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+2, RaceVehCoords[1][3], random(126), random(126), (60 * 60));
5686 SetPlayerPos(playerid, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+2);
5687 SetPlayerFacingAngle(playerid, RaceVehCoords[1][3]);
5688 PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
5689 Camera(playerid, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2], RaceVehCoords[1][3], 20);
5690 }
5691 }
5692 }
5693 switch(Index)
5694 {
5695 case 0:
5696 {
5697 if(PlayersCount[0] != 1)
5698 {
5699 CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+2, RaceVehCoords[0][3], random(126), random(126), (60 * 60));
5700 SetPlayerPos(playerid, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+2);
5701 SetPlayerFacingAngle(playerid, RaceVehCoords[0][3]);
5702 PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
5703 Camera(playerid, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2], RaceVehCoords[0][3], 20);
5704 PlayersCount[0] = 1;
5705 }
5706 }
5707 case 1:
5708 {
5709 if(PlayersCount[1] != 1)
5710 {
5711 CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+2, RaceVehCoords[1][3], random(126), random(126), (60 * 60));
5712 SetPlayerPos(playerid, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+2);
5713 SetPlayerFacingAngle(playerid, RaceVehCoords[1][3]);
5714 PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
5715 Camera(playerid, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2], RaceVehCoords[1][3], 20);
5716 PlayersCount[1] = 1;
5717 }
5718 }
5719 }
5720 new
5721 string[128]
5722 ;
5723 #if defined RACE_IN_OTHER_WORLD
5724 SetPlayerVirtualWorld(playerid, 10);
5725 #endif
5726 InfoTimer[playerid] = SetTimerEx("TextInfo", 500, 1, "e", playerid);
5727 if(JoinCount == 1) format(string, sizeof(string), "RaceName: ~w~%s~n~~p~~h~Checkpoint: ~w~%d/%d~n~~b~~h~RaceTime: ~w~%s~n~~y~RacePosition: ~w~1/1~n~ ", RaceName, CPProgess[playerid], TotalCP, TimeConvert(RaceTime));
5728 else format(string, sizeof(string), "RaceName: ~w~%s~n~~p~~h~Checkpoint: ~w~%d/%d~n~~b~~h~RaceTime: ~w~%s~n~~y~RacePosition: ~w~%d/%d~n~ ", RaceName, CPProgess[playerid], TotalCP, TimeConvert(RaceTime), RacePosition[playerid], JoinCount);
5729 TextDrawSetString(RaceInfo[playerid], string);
5730 TextDrawShowForPlayer(playerid, RaceInfo[playerid]);
5731 JoinCount++;
5732 return 1;
5733}
5734
5735function CountTillRace()
5736{
5737 switch(CountAmount)
5738 {
5739 case 0:
5740 {
5741 ForEach(i, MAX_PLAYERS)
5742 {
5743 if(Joined[i] == false)
5744 {
5745 new
5746 string[128]
5747 ;
5748 format(string, sizeof(string), ">> You can't join to \"%s\" named race anymore. Join time is over!", RaceName);
5749 SendClientMessage(i, RED, string);
5750 }
5751 }
5752 StartRace();
5753 }
5754 case 1..5:
5755 {
5756 new
5757 string[10]
5758 ;
5759 format(string, sizeof(string), "~b~%d", CountAmount);
5760 ForEach(i, MAX_PLAYERS)
5761 {
5762 if(Joined[i] == true)
5763 {
5764 GameTextForPlayer(i, string, 999, 5);
5765 PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
5766 }
5767 }
5768 }
5769 case 60, 50, 40, 30, 20, 10:
5770 {
5771 new
5772 string[128]
5773 ;
5774 format(string, sizeof(string), ">> \"%d\" seconds till \"%s\" named race starts! Type \"/joinrace\" to join the race.", CountAmount, RaceName);
5775 SendClientMessageToAll(GREEN, string);
5776 }
5777 }
5778 return CountAmount--;
5779}
5780
5781function StartRace()
5782{
5783 ForEach(i, MAX_PLAYERS)
5784 {
5785 if(Joined[i] == true)
5786 {
5787 TogglePlayerControllable(i, true);
5788 PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
5789 GameTextForPlayer(i, "~g~GO GO GO", 2000, 5);
5790 SetCameraBehindPlayer(i);
5791 }
5792 }
5793 rCounter = SetTimer("RaceCounter", 900, 1);
5794 RaceTick = GetTickCount();
5795 RaceStarted = 1;
5796 KillTimer(CountTimer);
5797 return 1;
5798}
5799
5800function StopRace()
5801{
5802 KillTimer(rCounter);
5803 RaceStarted = 0;
5804 RaceTick = 0;
5805 RaceBusy = 0x00;
5806 JoinCount = 0;
5807 FinishCount = 0;
5808 TimeProgress = 0;
5809
5810 ForEach(i, MAX_PLAYERS)
5811 {
5812 if(Joined[i] == true)
5813 {
5814 DisablePlayerRaceCheckpoint(i);
5815 DestroyVehicle(CreatedRaceVeh[i]);
5816 Joined[i] = false;
5817 TextDrawHideForPlayer(i, RaceInfo[i]);
5818 CPProgess[i] = 0;
5819 KillTimer(InfoTimer[i]);
5820 }
5821 }
5822 SendClientMessageToAll(YELLOW, ">> Race time is over!");
5823 if(AutomaticRace == true) LoadRaceNames(), LoadAutoRace(RaceNames[random(TotalRaces)]);
5824 return 1;
5825}
5826
5827function RaceCounter()
5828{
5829 if(RaceStarted == 1)
5830 {
5831 RaceTime--;
5832 if(JoinCount <= 0)
5833 {
5834 StopRace();
5835 SendClientMessageToAll(RED, ">> Race ended.. No one left in the race!");
5836 }
5837 }
5838 if(RaceTime <= 0)
5839 {
5840 StopRace();
5841 }
5842 return 1;
5843}
5844
5845function TextInfo(playerid)
5846{
5847 new
5848 string[128]
5849 ;
5850 if(JoinCount == 1) format(string, sizeof(string), "RaceName: ~w~%s~n~~p~~h~Checkpoint: ~w~%d/%d~n~~b~~h~RaceTime: ~w~%s~n~~y~RacePosition: ~w~1/1~n~", RaceName, CPProgess[playerid], TotalCP, TimeConvert(RaceTime));
5851 else format(string, sizeof(string), "RaceName: ~w~%s~n~~p~~h~Checkpoint: ~w~%d/%d~n~~b~~h~RaceTime: ~w~%s~n~~y~RacePosition: ~w~%d/%d~n~", RaceName, CPProgess[playerid], TotalCP, TimeConvert(RaceTime), RacePosition[playerid], JoinCount);
5852 TextDrawSetString(RaceInfo[playerid], string);
5853 TextDrawShowForPlayer(playerid, RaceInfo[playerid]);
5854}
5855
5856function Camera(playerid, Float:X, Float:Y, Float:Z, Float:A, Mul)
5857{
5858 SetPlayerCameraLookAt(playerid, X, Y, Z);
5859 SetPlayerCameraPos(playerid, X + (Mul * floatsin(-A, degrees)), Y + (Mul * floatcos(-A, degrees)), Z+6);
5860}
5861
5862function IsPlayerInRace(playerid)
5863{
5864 if(Joined[playerid] == true) return true;
5865 else return false;
5866}
5867
5868function ShowDialog(playerid, dialogid)
5869{
5870 switch(dialogid)
5871 {
5872 case 599: ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_LIST, CreateCaption("Build New Race"), "\
5873 Normal Race\n\
5874 Air Race", "Next", "Exit");
5875
5876 case 600: ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, CreateCaption("Build New Race (Step 1/4)"), "\
5877 Step 1:\n\
5878 ********\n\
5879 Welcome to wizard 'Build New Race'.\n\
5880 Before getting started, I need to know the name (e.g. SFRace) of the to save it under.\n\n\
5881 >> Give the NAME below and press 'Next' to continue.", "Next", "Back");
5882
5883 case 601: ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, CreateCaption("Build New Race (Step 1/4)"), "\
5884 ERROR: Name too short or too long! (min. 1 - max. 20)\n\n\n\
5885 Step 1:\n\
5886 ********\n\
5887 Welcome to wizard 'Build New Race'.\n\
5888 Before getting started, I need to know the name (e.g. SFRace) of the to save it under.\n\n\
5889 >> Give the NAME below and press 'Next' to continue.", "Next", "Back");
5890
5891 case 602: ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, CreateCaption("Build New Race (Step 2/4)"), "\
5892 Step 2:\n\
5893 ********\n\
5894 Please give the ID or NAME of the vehicle that's going to be used in the race you are creating now.\n\n\
5895 >> Give the ID or NAME of the vehicle below and press 'Next' to continue. 'Back' to change something.", "Next", "Back");
5896
5897 case 603: ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, CreateCaption("Build New Race (Step 2/4)"), "\
5898 ERROR: Invalid Vehilce ID/Name\n\n\n\
5899 Step 2:\n\
5900 ********\n\
5901 Please give the ID or NAME of the vehicle that's going to be used in the race you are creating now.\n\n\
5902 >> Give the ID or NAME of the vehicle below and press 'Next' to continue. 'Back' to change something.", "Next", "Back");
5903
5904 case 604: ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, CreateCaption("Build New Race (Step 3/4)"),
5905 "\
5906 Step 3:\n\
5907 ********\n\
5908 We are almost done! Now go to the start line where the first and second car should stand.\n\
5909 Note: When you click 'OK' you will be free. Use 'KEY_FIRE' to set the first position and second position.\n\
5910 Note: After you got these positions you will automaticly see a dialog to continue the wizard.\n\n\
5911 >> Press 'OK' to do the things above. 'Back' to change something.", "OK", "Back");
5912
5913 case 605: ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, CreateCaption("Build New Race (Step 4/4)"),
5914 "\
5915 Step 4:\n\
5916 ********\n\
5917 Welcome to the last stap. In this stap you have to set the checkpoints; so if you click 'OK' you can set the checkpoints.\n\
5918 You can set the checkpoints with 'KEY_FIRE'. Each checkpoint you set will save.\n\
5919 You have to press 'ENTER' button when you're done with everything. You race is aviable then!\n\n\
5920 >> Press 'OK' to do the things above. 'Back' to change something.", "OK", "Back");
5921
5922 case 606: ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, CreateCaption("Build New Race (Done)"),
5923 "\
5924 You have created your race and it's ready to use now.\n\n\
5925 >> Press 'Finish' to finish. 'Exit' - Has no effect.", "Finish", "Exit");
5926 }
5927 return 1;
5928}
5929
5930CreateCaption(arguments[])
5931{
5932 new
5933 string[128 char]
5934 ;
5935 format(string, sizeof(string), "ZoneX Race System - %s", arguments);
5936 return string;
5937}
5938
5939stock IsValidVehicle(vehicleid)
5940{
5941 if(vehicleid < 400 || vehicleid > 611) return false;
5942 else return true;
5943}
5944
5945ReturnVehicleID(vName[])
5946{
5947 Loop(x, 211)
5948 {
5949 if(strfind(vNames[x], vName, true) != -1)
5950 return x + 400;
5951 }
5952 return -1;
5953}
5954
5955TimeConvert(seconds)
5956{
5957 new tmp[16];
5958 new minutes = floatround(seconds/60);
5959 seconds -= minutes*60;
5960 format(tmp, sizeof(tmp), "%d:%02d", minutes, seconds);
5961 return tmp;
5962}
5963
5964//=======================================================================//
5965// [End Of ZoneX By Martex] //
5966//
5967//========================================================================//