Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <Others/sscanf2>
- // Functions
- /*
- native GetPlayersName(playerid)
- native SetPlayerPositionEx(playerid, Float:x, Float:y, Float:z, Float:angle, vworld, interior)
- native TeleportPlayerToPlayer(playerid, targetid)
- native TeleportCarToPlayer(vehicleid, playerid)
- native TeleportPlayerToCar(playerid, vehicleid)
- native GetPlayerIPAddress(playerid)
- native HealPlayer(playerid)
- native KillPlayer(playerid)
- native CrashPlayer(playerid)
- native GivePlayerHealth(playerid, Float:health)
- native TakePlayerHealth(playerid, Float:health)
- native BankruptPlayer(playerid)
- native SetPlayerCash(playerid)
- native GivePlayerScore(playerid, score)
- native TakePlayerScore(playerid, score)
- native SlapPlayer(playerid)
- native IsPlayerSwimming(playerid)
- native IsPlayerFalling(playerid)
- native IsPlayerInModdingShop(playerid)
- native GetVehicleType(modelid)
- stock GetPlayerVehicleSpeed(playerid)
- native ExplodePlayer(playerid)
- native IsPlayerAiming(playerid)
- native GetWeaponNameByID(weaponid)
- native GetWeaponSlotByID(weaponid)
- native GetPlayerArmedWeaponAmmo(playerid)
- native GetVehicleNameByModel(model)
- native GetWeatherName(weatherid)
- native LoadObjectsFromFile(const filename[])
- native LoadVehiclesFromFile(const filename[])
- native CreateLogEntry(log[], text[])
- native HealAll()
- native ArmourAll()
- native FreezeAll()
- native DisarmAll()
- native GiveWeaponToAll(weaponid, ammo)
- native GiveCashToAll(cash)
- native GiveScoreToAll(score)
- native UnfreezeAll()
- native GetOnlinePlayersCount()
- */
- #define TYPE_INVALID -1
- #define TYPE_AIRPLANE 0
- #define TYPE_HELICOPTER 1
- #define TYPE_BIKE 2
- #define TYPE_CONVERTIBLE 3
- #define TYPE_INDUSTRIAL 4
- #define TYPE_LOWRIDER 5
- #define TYPE_OFFROAD 6
- #define TYPE_PUBLIC 7
- #define TYPE_SALOON 8
- #define TYPE_SPORT 9
- #define TYPE_STATION 10
- #define TYPE_BOAT 11
- #define TYPE_TRAILER 12
- #define TYPE_UNIQUE 13
- #define TYPE_RC 14
- new VehicleNames[212][] = {
- {"Landstalker"},
- {"Bravura"},
- {"Buffalo"},
- {"Linerunner"},
- {"Perrenial"},
- {"Sentinel"},
- {"Dumper"},
- {"Firetruck"},
- {"Trashmaster"},
- {"Stretch"},
- {"Manana"},
- {"Infernus"},
- {"Voodoo"},
- {"Pony"},
- {"Mule"},
- {"Cheetah"},
- {"Ambulance"},
- {"Leviathan"},
- {"Moonbeam"},
- {"Esperanto"},
- {"Taxi"},
- {"Washington"},
- {"Bobcat"},
- {"Mr Whoopee"},
- {"BF Injection"},
- {"Hunter"},
- {"Premier"},
- {"Enforcer"},
- {"Securicar"},
- {"Banshee"},
- {"Predator"},
- {"Bus"},
- {"Rhino"},
- {"Barracks"},
- {"Hotknife"},
- {"Trailer 1"},
- {"Previon"},
- {"Coach"},
- {"Cabbie"},
- {"Stallion"},
- {"Rumpo"},
- {"RC Bandit"},
- {"Romero"},
- {"Packer"},
- {"Monster"},
- {"Admiral"},
- {"Squalo"},
- {"Seasparrow"},
- {"Pizzaboy"},
- {"Tram"},
- {"Trailer 2"},
- {"Turismo"},
- {"Speeder"},
- {"Reefer"},
- {"Tropic"},
- {"Flatbed"},
- {"Yankee"},
- {"Caddy"},
- {"Solair"},
- {"Berkley's RC Van"},
- {"Skimmer"},
- {"PCJ-600"},
- {"Faggio"},
- {"Freeway"},
- {"RC Baron"},
- {"RC Raider"},
- {"Glendale"},
- {"Oceanic"},
- {"Sanchez"},
- {"Sparrow"},
- {"Patriot"},
- {"Quad"},
- {"Coastguard"},
- {"Dinghy"},
- {"Hermes"},
- {"Sabre"},
- {"Rustler"},
- {"ZR-350"},
- {"Walton"},
- {"Regina"},
- {"Comet"},
- {"BMX"},
- {"Burrito"},
- {"Camper"},
- {"Marquis"},
- {"Baggage"},
- {"Dozer"},
- {"Maverick"},
- {"News Chopper"},
- {"Rancher"},
- {"FBI Rancher"},
- {"Virgo"},
- {"Greenwood"},
- {"Jetmax"},
- {"Hotring"},
- {"Sandking"},
- {"Blista Compact"},
- {"Police Maverick"},
- {"Boxville"},
- {"Benson"},
- {"Mesa"},
- {"RC Goblin"},
- {"Hotring Racer A"},
- {"Hotring Racer B"},
- {"Bloodring Banger"},
- {"Rancher"},
- {"Super GT"},
- {"Elegant"},
- {"Journey"},
- {"Bike"},
- {"Mountain Bike"},
- {"Beagle"},
- {"Cropdust"},
- {"Stunt"},
- {"Tanker"},
- {"Roadtrain"},
- {"Nebula"},
- {"Majestic"},
- {"Buccaneer"},
- {"Shamal"},
- {"Hydra"},
- {"FCR-900"},
- {"NRG-500"},
- {"HPV1000"},
- {"Cement Truck"},
- {"Tow Truck"},
- {"Fortune"},
- {"Cadrona"},
- {"FBI Truck"},
- {"Willard"},
- {"Forklift"},
- {"Tractor"},
- {"Combine"},
- {"Feltzer"},
- {"Remington"},
- {"Slamvan"},
- {"Blade"},
- {"Freight"},
- {"Streak"},
- {"Vortex"},
- {"Vincent"},
- {"Bullet"},
- {"Clover"},
- {"Sadler"},
- {"Firetruck LA"},
- {"Hustler"},
- {"Intruder"},
- {"Primo"},
- {"Cargobob"},
- {"Tampa"},
- {"Sunrise"},
- {"Merit"},
- {"Utility"},
- {"Nevada"},
- {"Yosemite"},
- {"Windsor"},
- {"Monster A"},
- {"Monster B"},
- {"Uranus"},
- {"Jester"},
- {"Sultan"},
- {"Stratum"},
- {"Elegy"},
- {"Raindance"},
- {"RC Tiger"},
- {"Flash"},
- {"Tahoma"},
- {"Savanna"},
- {"Bandito"},
- {"Freight Flat"},
- {"Streak Carriage"},
- {"Kart"},
- {"Mower"},
- {"Duneride"},
- {"Sweeper"},
- {"Broadway"},
- {"Tornado"},
- {"AT-400"},
- {"DFT-30"},
- {"Huntley"},
- {"Stafford"},
- {"BF-400"},
- {"Newsvan"},
- {"Tug"},
- {"Trailer 3"},
- {"Emperor"},
- {"Wayfarer"},
- {"Euros"},
- {"Hotdog"},
- {"Club"},
- {"Freight Carriage"},
- {"Trailer 3"},
- {"Andromada"},
- {"Dodo"},
- {"RC Cam"},
- {"Launch"},
- {"Police Car (LSPD)"},
- {"Police Car (SFPD)"},
- {"Police Car (LVPD)"},
- {"Police Ranger"},
- {"Picador"},
- {"S.W.A.T. Van"},
- {"Alpha"},
- {"Phoenix"},
- {"Glendale"},
- {"Sadler"},
- {"Luggage Trailer A"},
- {"Luggage Trailer B"},
- {"Stair Trailer"},
- {"Boxville"},
- {"Farm Plow"},
- {"Utility Trailer"}
- };
- stock GetPlayersName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name) );
- return name;
- }
- stock SetPlayerPositionEx(playerid, Float:x, Float:y, Float:z, Float:angle, vworld, interior)
- {
- SetPlayerPos(playerid, x, y, z);
- SetPlayerFacingAngle(playerid, angle);
- SetPlayerVirtualWorld(playerid, vworld);
- SetPlayerInterior(playerid, interior);
- return 1;
- }
- stock TeleportPlayerToPlayer(playerid, targetid)
- {
- new Float:Pos[3];
- if(playerid == INVALID_PLAYER_ID || targetid == INVALID_PLAYER_ID) return 0;
- else
- {
- new Float:Pos[3];
- GetPlayerPos(targetid, Pos[0], Pos[1], Pos[2]);
- SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- SetPlayerInterior(playerid, GetPlayerInterior(targetid) );
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(targetid) );
- }
- return 1;
- }
- stock TeleportCarToPlayer(vehicleid, playerid)
- {
- if(vehicleid == INVALID_VEHICLE_ID || playerid == INVALID_PLAYER_ID) return 0;
- else
- {
- new Float:PlayerPos[3];
- GetPlayerPos(playerid, PlayerPos[0], PlayerPos[1], PlayerPos[2]);
- SetVehiclePos(vehicleid, PlayerPos[0], PlayerPos[1], PlayerPos[2]);
- }
- return 1;
- }
- stock TeleportPlayerToCar(playerid, vehicleid)
- {
- if(vehicleid == INVALID_VEHICLE_ID || playerid == INVALID_PLAYER_ID) return 0;
- else
- {
- new Float:CarPos[3];
- GetVehiclePos(vehicleid, CarPos[0], CarPos[1], CarPos[2]);
- SetVehiclePos(vehicleid, PlayerPos[0], PlayerPos[1], PlayerPos[2]);
- }
- return 1;
- }
- stock GetPlayerIPAddress(playerid)
- {
- new ip[20];
- GetPlayerIp(playerid, ip, sizeof(ip) );
- return ip;
- }
- stock HealPlayer(playerid) return SetPlayerHealth(playerid, 100);
- stock KillPlayer(playerid) return SetPlayerHealth(playerid, -5);
- stock GivePlayerHealth(playerid, Float:health)
- {
- new Float:hp;
- GetPlayerHealth(playerid, hp);
- new calc = floatadd(hp, health);
- SetPlayerHealth(playerid, calc);
- return 1;
- }
- stock TakePlayerHealth(playerid, Float:health)
- {
- new Float:hp;
- GetPlayerHealth(playerid, hp);
- new calc = floatsub(hp, health);
- SetPlayerHealth(playerid, calc);
- return 1;
- }
- stock BankruptPlayer(playerid) return ResetPlayerMoney(playerid)
- stock SetPlayerCash(playerid, cash)
- {
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, cash);
- }
- stock GivePlayerScore(playerid, score)
- {
- new pscore = GetPlayerScore(playerid);
- SetPlayerScore(playerid, pscore+score);
- return 1;
- }
- stock TakePlayerScore(playerid, score)
- {
- new pscore = GetPlayerScore(playerid);
- SetPlayerScore(playerid, pscore-score);
- return 1;
- }
- stock SlapPlayer(playerid)
- {
- new Float:Pos[3];
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2] );
- SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]+10);
- return 1;
- }
- stock ExplodePlayer(playerid)
- {
- new Float:Pos[3];
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2] );
- CreateExplosion(Pos[0], Pos[1], Pos[2], 8, 5.0);
- return 1;
- }
- stock bool:IsPlayerAiming(playerid)
- {
- new anim = GetPlayerAnimationIndex(playerid);
- switch(anim)
- {
- case 1167, 1365, 1643, 1453, 220: return true;
- }
- return false;
- }
- stock bool:IsPlayerFalling(playerid)
- {
- new animlib[1], animname[32];
- if(GetPlayerAnimationIndex(playerid))
- {
- GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,0,animname,32);
- if(!strcmp(animname, "FALL_FALL") || !strcmp(animname, "FALL_GLIDE")) return true;
- }
- return false;
- }
- stock bool:IsPlayerInModdingShop(playerid)
- {
- new mode = GetPlayerCameraMode(playerid);
- if(mode == 15) return true;
- return false;
- }
- stock bool:IsPlayerSwimming(playerid)
- {
- new animlib[1], animname[32];
- if(GetPlayerAnimationIndex(playerid))
- {
- GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,0,animname,32);
- if(!strcmp(animname, "SWIM_CRAWL") || !strcmp(animname, "SWIM_BREAST") || !strcmp(animname, "SWIM_GLIDE") || !strcmp(animname, "SWIM_DIVE_UNDER") || !strcmp(animname, "SWIM_UNDER")) return true;
- }
- return false;
- }
- stock GetPlayerVehicleSpeed(playerid)
- {
- if(!IsPlayerInAnyVehicle(playerid) ) return 0;
- else
- {
- new Float:Speed[3], Float:final_speed, final_speed_int;
- new vehicleid = GetPlayerVehicleID(playerid);
- GetVehicleVelocity(vehicleid,Speed[0],Speed[1],Speed[2]);
- final_speed = floatsqroot(((Speed[0]*Speed[0])+(Speed[1]*Speed[1]))+(Speed[2]*Speed[2]))*250.666667;
- final_speed_int = floatround(final_speed,floatround_round);
- return final_speed_int;
- }
- }
- stock GetWeaponNameByID(weaponid)
- {
- new gunname[32];
- switch (weaponid)
- {
- case 1..17,22..43,46: GetWeaponName(weaponid,gunname,sizeof(gunname));
- case 0: format(gunname,32,"%s","Fist");
- case 18: format(gunname,32,"%s","Molotov");
- case 44: format(gunname,32,"%s","Night Goggles");
- case 45: format(gunname,32,"%s","Thermal Goggles");
- default: format(gunname,32,"%s","Unknown weapon");
- }
- return gunname;
- }
- stock GetWeaponSlot(weaponid)
- {
- new slot;
- switch(weaponid)
- {
- case 0,1: slot = 0;
- case 2 .. 9: slot = 1;
- case 10 .. 15: slot = 10;
- case 16 .. 18, 39: slot = 8;
- case 22 .. 24: slot =2;
- case 25 .. 27: slot = 3;
- case 28, 29, 32: slot = 4;
- case 30, 31: slot = 5;
- case 33, 34: slot = 6;
- case 35 .. 38: slot = 7;
- case 40: slot = 12;
- case 41 .. 43: slot = 9;
- case 44 .. 46: slot = 11;
- }
- return slot;
- }
- stock GetPlayerAmmoEx(playerid)
- {
- new weapon[3];
- weapon[0] = GetWeaponSlot(GetPlayerWeapon(playerid) );
- GetPlayerWeaponData(playerid, weapon[0], weapon[1], weapon[2]);
- return weapon[2];
- }
- stock GetVehicleNameByModel(model)
- {
- new string[32];
- format(string,sizeof string,"%s",VehicleNames[model -400]);
- return string;
- }
- stock GetVehicleSpeed(vehicleid)
- {
- new Float:Speed[3];
- GetVehicleVelocity(vehicleid, Speed[0], Speed[1], Speed[2]);
- new calculate1 = floatsqroot((Speed[0]*Speed[0]+Speed[1]*Speed[1]));
- return floatround(calculate1* 100.0 * 1.6);
- }
- stock GetVehicleType(model)
- {
- switch(model)
- {
- case 460, 476, 511, 512, 519, 520, 553, 577, 592, 593: return TYPE_AIRPLANE;
- case 417, 425, 447, 469 ,487, 488, 497, 548, 563: return TYPE_HELICOPTER;
- case 448, 461 .. 463, 468, 471, 481, 509, 510, 521 .. 523, 581, 586: return TYPE_BIKE;
- case 439, 480, 533, 555: return TYPE_CONVERTIBLE;
- case 403, 408, 413, 414, 422, 440, 443, 455, 456, 459, 478, 482, 498, 499, 514, 515, 524, 531, 543, 552, 554, 578, 582, 600, 605, 609: return TYPE_INDUSTRIAL;
- case 412, 534 .. 536, 566, 567, 575, 576: return TYPE_LOWRIDER;
- case 400, 424, 444, 470, 489, 495, 500, 505, 556, 557, 568, 573, 579: return TYPE_OFFROAD;
- case 407, 416, 420, 427, 431, 432, 433, 437, 438, 490, 528, 544, 596 .. 599, 601: return TYPE_PUBLIC;
- case 401, 405, 410, 419, 421, 426, 436, 445, 466, 491, 492, 504, 507, 516 ..518, 526, 527, 529, 542, 546, 547, 549, 550, 560, 551, 562, 580, 585, 604: return TYPE_SALOON;
- case 402, 411, 415, 429, 451, 475, 477, 494, 496, 541, 502, 503, 506, 558, 559, 565, 587, 589, 602, 603: return TYPE_SPORT;
- case 404, 418, 458, 479, 561: return TYPE_STATION;
- case 430, 446, 452, 453, 454, 472, 473, 484, 493, 595: return TYPE_BOAT;
- case 435, 450, 569, 570, 584, 590, 591, 606, 607, 608, 610, 611: return TYPE_TRAILER;
- case 406, 409, 423, 428, 434, 442, 449, 457, 483, 485, 486, 508, 525, 530, 532, 537 .. 539, 545, 571, 572, 574, 583, 588: return TYPE_UNIQUE;
- case 441, 464, 465, 501, 564, 594: return TYPE_RC;
- }
- return TYPE_INVALID;
- }
- stock GetWeatherName(weatherid)
- {
- new wName[80];
- switch(weatherid)
- {
- case 0..7: wName = "Clear skies";
- case 8: wName = "Stormy";
- case 9: wName = "Cloudy";
- case 10: wName = "Clear skies";
- case 11: wName = "Heatwave";
- case 12..15: wName = "Cloudy/Clear";
- case 16: wName = "Cloudy/Rainy";
- case 17, 18: wName = "Heatwave";
- case 19: wName = "Sandstorm";
- case 20: wName = "Foggy/Greenish";
- case 21,22: wName = "Dark clouds";
- case 23..26: wName = "Heatwave";
- case 27..29: wName = "Clear skies";
- case 30: wName = "Cloudy";
- case default: wName = "Unknown";
- }
- return wName;
- }
- stock WriteLogEntry(log[], string[])
- {
- new lstring[180];
- new File:Logger = fopen(log, io_append);
- if(!fexist(log)) printf("[LOGS] The log %s doesn't exist! 'WriteLogEntry' function not completed ", log);
- else
- {
- new date[3], time[3];
- gettime(time[0], time[1], time[2]);
- getdate(date[0], date[1], date[2]);
- format(lstring, sizeof(lstring), "\r\n[%02d/%02d/%d] [%02d:%02d:%02d] %s ", date[0], date[1], date[2], time[0], time[1], time[2], string);
- fwrite(Logger, lstring);
- fclose(Logger);
- }
- return 1;
- }
- stock LoadObjectsFromFile(const filename[])
- {
- new Objects_loaded;
- if(!fexist(filename))
- return printf("[Objects] Couldn't load objects from %s [Reason : File doesn't exist]", filename);
- new File:Handler = fopen(filename, io_read);
- if(!Handler) return printf("[Objects] Couldn't load objects from %s [Reason : I/O Error]", filename);
- new Line[256], Index = -1, Model, Float:PosX, Float:PosY, Float:PosZ, Float:RotX, Float:RotY, Float:RotZ,Float:DrawDistance;
- Objects_loaded = 0;
- while(fread(Handler, Line))
- {
- Index++;
- new EOL = strfind(Line, ";", false);
- if(EOL != -1) strdel(Line, EOL - 1, sizeof Line - 1);
- else
- {
- printf("[Objects] Error reading @LineIndex %i from %s (EOL not found)", Index, filename);
- continue;
- }
- if(!sscanf(Line[13], "p<,>iffffffF(100)", Model, PosX, PosY, PosZ, RotX, RotY, RotZ, DrawDistance))
- {
- CreateObject(Model, PosX, PosY, PosZ, RotX, RotY, RotZ, DrawDistance);
- Objects_loaded++;
- }
- else printf("[Objects] Error reading @LineIndex %i from %s (Invalid format)", Index, filename);
- }
- fclose(Handler);
- printf("[Objects] Loaded %d objects from: %s", Objects_loaded, filename);
- return true;
- }
- stock LoadVehiclesFromFile(const filename[]) // Thanks to PLEO for doing most of it
- {
- new count;
- if(!fexist(filename)) return printf("[Vehicles] Couldn't load vehicles from %s [Reason : File doesn't exist] ", filename);
- new File:Handler = fopen(filename, io_read);
- if(!Handler) return printf("[Vehicles] Couldn't load vehicles from %s [Reason : I/O Error]", filename);
- new Line[256], Index = -1, Model, Float:Pos[3], Float:Angle, col1, col2, respawn_delay;
- while(fread(Handler, Line))
- {
- Index++;
- new EOL = strfind(Line, ";", false);
- if(EOL != -1) { strdel(Line, EOL - 1, sizeof Line - 1); }
- else
- {
- printf("[Vehicles] Error reading @LineIndex %i from %s (EOL not found)", Index, filename);
- }
- if(!sscanf(Line[14], "p<,>iffffddd", Model, Pos[0], Pos[1], Pos[2], Angle, col1, col2, respawn_delay))
- {
- CreateVehicle(Model, Pos[0], Pos[1], Pos[2], Angle, col1, col2, respawn_delay);
- count++;
- }
- else
- if(!sscanf(Line[17], "p<,>iffffdd", Model, Pos[0], Pos[1], Pos[2], Angle, col1, col2))
- {
- AddStaticVehicle(Model, Pos[0], Pos[1], Pos[2], Angle, col1, col2);
- count++;
- }
- else
- if(!sscanf(Line, "p<,>iffffdd", Model, Pos[0], Pos[1], Pos[2], Angle, col1, col2))
- {
- CreateVehicle(Model, Pos[0], Pos[1], Pos[2], Angle, col1, col2, respawn_delay);
- count++;
- }
- else printf("[Vehicles] Error reading @LineIndex %i from %s [Invalid format]", Index, filename);
- }
- fclose(Handler);
- printf("[Vehicles] Loaded %d vehicles from %s", count, filename);
- return true;
- }
- stock HealAll()
- {
- for(new i; i < MAX_PLAYERS; i++) SetPlayerHealth(i, 100);
- return 1;
- }
- stock ArmourAll()
- {
- for(new i; i < MAX_PLAYERS; i++) SetPlayerArmour(playerid, 100);
- return 1;
- }
- stock DisarmAll()
- {
- for(new i; i < MAX_PLAYERS; i++) ResetPlayerWeapons(i);
- return 1;
- }
- stock GiveWeaponToAll(weaponid, ammo)
- {
- if(weaponid > 46) return 0;
- for(new i; i < MAX_PLAYERS; i++) GivePlayerWeapon(playerid, weaponid, ammo);
- return 1;
- }
- stock GiveCashToAll(cash)
- {
- for(new i; i < MAX_PLAYERS; i++) GivePlayerMoney(i, cash);
- return 1;
- }
- stock GiveScoreToAll(score)
- {
- for(new i; i < MAX_PLAYERS; i++)
- {
- new pscore = GetPlayerScore(i);
- SetPlayerScore(i, pscore+score);
- }
- return 1;
- }
- stock FreezeAll()
- {
- for(new i; i < MAX_PLAYERS; i++) TogglePlayerControllable(i, false);
- return 1;
- }
- stock UnfreezeAll()
- {
- for(new i; i < MAX_PLAYERS; i++) TogglePlayerControllable(i, true);
- return 1;
- }
- stock GetOnlinePlayersCount()
- {
- new count;
- for(new x=0; x< MAX_PLAYERS; x++)
- {
- if(IsPlayerConnected(x))
- {
- count++;
- }
- }
- return count;
- }
- stock GetValidObjectsCount()
- {
- new count;
- for(new x = 0; x < MAX_OBJECTS; x++)
- {
- if(IsValidObject(x))
- {
- count++;
- }
- }
- return count;
- }
- stock GetValidVehiclesCount()
- {
- new count;
- for(new x = 0; x < MAX_VEHICLES; x++)
- {
- if(x != INVALID_VEHICLE_ID)
- {
- count++;
- }
- }
- return count;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement