Код:
// Define path to player's account-files
#define PlayerFile "ServerData/Players/%s.ini"
#define HouseFile "ServerData/Houses/House%i.ini"
#define CameraFile "ServerData/Cameras/Camera%i.ini"
#define BusinessFile "ServerData/Business/Business%i.ini"
#define BankFile "ServerData/Bank/%s.ini"
// Define vehicles
#define VehicleFlatbed 455 // Truck: Flatbed
#define VehicleDFT30 578 // Truck: DFT-30
#define VehicleCementTruck 524 // Truck: Cementtruck
#define VehicleLineRunner 403 // Truck: LineRunner
#define VehicleTanker 514 // Truck: Tanker
#define VehicleRoadTrain 515 // Truck: RoadTrain
#define VehicleTrailerCargo 435 // Trailer: cargo
#define VehicleTrailerCargo2 591 // Trailer: cargo
#define VehicleTrailerOre 450 // Trailer: Ore
#define VehicleTrailerFluids 584 // Trailer: Fluids
#define VehicleCoach 437 // Bus
#define VehicleShamal 519 // Plane: Shamal
#define VehicleNevada 553 // Plane: Nevada
#define VehicleStuntPlane 513 // Plane: Stuntplane
#define VehicleDodo 593 // Plane: Dodo
#define VehicleMaverick 487 // Helicopter: Maverick
#define VehicleCargobob 548 // Helicopter: Cargobob
#define VehiclePoliceLSPD 596 // Police Car Los Santos Police Department
#define VehiclePoliceSFPD 597 // Police Car San Fierro Police Department
#define VehiclePoliceLVPD 598 // Police Car Las Venturas Police Department
#define VehicleHPV1000 523 // Police motorcycle
#define VehiclePoliceRanger 599 // Police Ranger
#define VehicleSandKing 495 // Mafia-van: Sandking
#define VehicleMoonbeam 418 // Mafia-van: Moonbeam
#define VehicleBike 509 // Bike: Bike
#define VehicleBMX 481 // Bike: BMX
#define VehicleMountainBike 510 // Bike: Mountain Bike
#define VehicleFaggio 462 // Bike: Faggio
#define VehiclePizzaBoy 448 // Bike: Pizzaboy
#define VehicleBF400 581 // Bike: BF-400
#define VehicleNRG500 522 // Bike: NRG-500
#define VehiclePCJ600 461 // Bike: PCJ-600
#define VehicleFCR900 521 // Bike: FCR-900
#define VehicleFreeway 463 // Bike: Freeway
#define VehicleWayfarer 586 // Bike: Wayfarer
#define VehicleSanchez 468 // Bike: Sanchez
#define VehicleQuad 471 // Bike: Quad
#define VehicleCoastguard 472 // Boat: Coastguard
#define VehicleDinghy 473 // Boat: Dinghy
#define VehicleJetmax 493 // Boat: Jetmax
#define VehicleLaunch 595 // Boat: Launch
#define VehicleMarquis 484 // Boat: Marquis
#define VehiclePredator 430 // Boat: Predator
#define VehicleReefer 453 // Boat: Reefer
#define VehicleSpeeder 452 // Boat: Speeder
#define VehicleSquallo 446 // Boat: Squallo
#define VehicleTropic 454 // Boat: Tropic
#define VehicleRhino 432 // Tank: Rhino
#define VehiclePatriot 470 // Jeep: Patriot
#define VehicleTowTruck 525 // Towtruck
#define VehicleBurrito 482 // Van: Burrito
#define VehicleFaggio 462 // Bike: Faggio
#define VehicleBenson 499 // Truck: Benson
#define VehicleDozer 486 // Dozer
#define VehicleUtilityVan 552 // Utility Van
#define VehicleUtilityTrailer 611 // Utility trailer
// Define player-class AND vehicle statements to use for missions (PCV = PlayerClass and Vehicle)
#define PCV_TruckerOreTrailer 1
#define PCV_TruckerFluidsTrailer 2
#define PCV_TruckerCargoTrailer 3
#define PCV_TruckerCementTruck 4
#define PCV_TruckerNoTrailer 5
#define PCV_PilotPlane 6
#define PCV_PilotHelicopter 7
#define PCV_MafiaVan 8
// Define classes
#define ClassTruckDriver 1
#define ClassBusDriver 2
#define ClassPilot 3
#define ClassPolice 4
#define ClassMafia 5
#define ClassCourier 6
#define ClassAssistance 7
#define ClassRoadWorker 8
// Defines for all classes
#define Job_TimeToFailMission 60
// Define class-colors
#define ColorClassTruckDriver 0xFF9900AA // Yellow
#define ColorClassBusDriver 0x80FFFFFF // Light blue
#define ColorClassPilot 0x008080FF // Dark blue
#define ColorClassPolice 0x0000FFFF // Blue
#define ColorClassMafia 0x8000FFFF // Purple
#define ColorClassCourier 0xFF0080FF // Pink
#define ColorClassAssistance 0x80FF00FF // Dark green
#define ColorClassRoadWorker 0xFFFF80FF // Light yellow
#define ColorConvoy 0x008080FF // Dark blue
// Define Dialogs
#define DialogRegister 1
#define DialogLogin 2
#define DialogStats 3
#define DialogStatsOtherPlayer 4
#define DialogRules 5
#define DialogReports 6
#define DialogStatsHouse 7
#define DialogStatsGoHouse 8
#define DialogStatsGoBusiness 9
#define DialogRescue 11
#define DialogBuyLicenses 12
#define DialogTruckerJobMethod 21
#define DialogTruckerSelectLoad 22
#define DialogTruckerStartLoc 23
#define DialogTruckerEndLoc 24
#define DialogBusJobMethod 31
#define DialogBusSelectRoute 32
#define DialogCourierSelectQuant 41
#define DialogBike 101
#define DialogCar 102
#define DialogPlane 103
#define DialogTrailer 104
#define DialogRentCarClass 105
#define DialogRentCar 106
#define DialogBoat 107
#define DialogNeon 108
#define DialogWeather 201
#define DialogCarOption 202
#define DialogSelectConvoy 401
#define DialogConvoyMembers 402
#define DialogPlayerCommands 501
#define DialogPrimaryCarColor 502
#define DialogSedundaryCarColor 503
#define DialogHouseMenu 601
#define DialogUpgradeHouse 602
#define DialogGoHome 603
#define DialogHouseNameChange 604
#define DialogSellHouse 605
#define DialogBuyCarClass 606
#define DialogBuyCar 607
#define DialogSellCar 608
#define DialogBuyInsurance 609
#define DialogGetCarSelectHouse 610
#define DialogGetCarSelectCar 611
#define DialogUnclampVehicles 612
#define DialogCreateBusSelType 701
#define DialogBusinessMenu 702
#define DialogGoBusiness 703
#define DialogBusinessNameChange 704
#define DialogSellBusiness 705
#define DialogBankPasswordRegister 801
#define DialogBankPasswordLogin 802
#define DialogBankOptions 803
#define DialogBankDeposit 804
#define DialogBankWithdraw 805
#define DialogBankTransferMoney 806
#define DialogBankTransferName 807
#define DialogBankCancel 808
#define DialogHelpItemChosen 901
#define DialogHelpItem 902
#define DialogOldPassword 1001
#define DialogNewPassword 1002
#define DialogConfirmPassword 1003
#define DialogNoResponse 25000
// Define the maximum amount of convoys at the same time
#define MAX_CONVOYS 5
#define CONVOY_MAX_MEMBERS 25
#define CONVOY_EMPTY 0
#define CONVOY_OPEN 1
#define CONVOY_FULL 2
#define CONVOY_CLOSED 3
// Define messagecolors
#define ColorRed 0xFF0000FF
#define ColorGreen 0x00FF00FF
#define ColorBlue 0x0000FFFF
// Define Virtual Worlds
#define WORLD_JAIL 10254
// Define options for admins
#define AutoKickAfterWarn 1 // Define if the player gets kicked after a certain amount of warnings
#define AutoKickWarnings 3 // Define the amount of warnings before a player is kicked automatically
// Define spectate modes
#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2
// Create some global variables that are used to display large dialogs
new DialogMsg5000[5000];
// These variables are only used during the GameModeInit, they are used for debugging purposes
// A variable to hold the ID of every vehicle (used to record the last ID of a vehicle, for debugging)
new LastVehicleID;
// A variable to hold the ID of every object (used to record the last ID of an object, for debugging)
new LastObjectID;
// A variable to hold the total amount of houses that are loaded
new TotalHouses;
// A variable that holds the last speedcam-id
new TotalCameras;
// A variable that holds the total amount of businesses loaded
new TotalBusiness;
// This variable holds the number of the last TimedMessage that was sent to all players
new LastTimedMessage;
// This array holds all timed messages that will be sent every few minutes
new ATimedMessages[][128] =
{
{TXT_TimedRefuel},
{TXT_TimedConvoy},
{TXT_TimedGohome},
{TXT_TimedRentCar},
{TXT_TimedLicense},
{TXT_TimedSpeedTraps},
{TXT_TimedGoBusiness}
// {"{808080}Message"}
// {"{808080}Message"}
// {"{808080}Message"}
// {"{808080}Message"}
// {"{808080}Message"}
// {"{808080}Message"}
};
// Holds the data about the random bonus mission
enum TRandomBonusMission
{
RandomLoad, // Holds the random LoadID
RandomStartLoc, // Holds the random StartLocation ID
RandomEndLoc, // Holds the random EndLocation ID
bool:MissionFinished // Holds true if the bonus mission has been completed by someone, a new random mission will be chosen next
}
// Create one random bonus mission
new RandomBonusMission[TRandomBonusMission];
// Holds the admin-levelnames
new AdminLevelName[6][24] =
{
{"Player"}, // Admin-level 0
{"Moderator"}, // Admin-level 1
{"Helper-admin"}, // Admin-level 2
{"Manger-admin"}, // Admin-level 3
{"Head-admin"}, // Admin-level 4
{"Owner Admin"} // Admin-level 5
};
// Holds the reference to the pickup that can reward you with a trucker/busdriver license
new Pickup_License;
// Setup a custom type that holds the data of pickups
enum TPickupData
{
Float:pux,
Float:puy,
Float:puz,
PickupID
}
// Holds the data for pickups for refuelling (maximum 50 refuel-pickups)
new ARefuelPickups[50][TPickupData];
// Holds the data for pickups for 3 cardealers
new ACarDealerPickups[3][TPickupData];
// Setup a custom type that holds all data about toll-boots
enum TTollGate
{
GateID, // Holds the object-id of the gate
TollPrice, // Holds the price for passing the gate
GateStatus, // Holds the status of the gate (open = 1, closed = 0)
Float:OpenX, // Holds the coordinates when the gate is opened
Float:OpenY, // Holds the coordinates when the gate is opened
Float:OpenZ, // Holds the coordinates when the gate is opened
Float:CloseX, // Holds the coordinates when the gate is closed
Float:CloseY, // Holds the coordinates when the gate is closed
Float:CloseZ // Holds the coordinates when the gate is closed
}
new ATollGates[MAX_TOLLGATES][TTollGate];
// Setup a custom type that holds all data about spikestrips
enum TSpikeStrip
{
SpikeTime, // This holds the time left when the spikestrip automatically disappears
SpikeTimer, // This holds the reference to the timer for spikestrips
SpikeObject, // This holds the ObjectID of the spikestrip object
Float:SpikeX, // This holds the X coordinates of the spikestrip
Float:SpikeY, // This holds the Y coordinates of the spikestrip
Float:SpikeZ // This holds the Z coordinates of the spikestrip
}
new ASpikeStrips[MAX_SPIKESTRIPS][TSpikeStrip];
// Setup a custom type that holds all data about a speedcamera
enum TSpeedCamera
{
Float:CamX, // Holds the X-coordinate of the camera
Float:CamY, // Holds the Y-coordinate of the camera
Float:CamZ, // Holds the Z-coordinate of the camera
Float:CamAngle, // Holds the Angle of the camera
CamSpeed, // Holds the maximum speed allowed to pass this camera without being caught
CamObj1, // Holds the reference to the first camera object
CamObj2 // Holds the reference to the second camera object
}
new ACameras[100][TSpeedCamera];
// Setup a custom type to hold all data about a convoy
enum TConvoyData
{
Members[CONVOY_MAX_MEMBERS], // This array holds the playerid's of all members (at index 0, the leader is stored), so a convoy can hold 1 leader and 9 members
LoadID, // Holds the ID of the load
Location1, // Holds the location-id of the start-location
Location2, // Holds the location-id of the end-location
Status, // Holds the status of the convoy (1 = open, 2 = full, 3 = closed, 0 = empty)
ConvoyStep, // Holds the jobstep for the entire convoy
TrailerModel, // Holds the trailer-model required by the convoy
bool:LeaderInformedTrailers, // Is used to inform the leader ONCE if all members failed to have the same trailer
Text:ConvoyTextLeader, // This is the textdraw for the leader of the convoy
Text:ConvoyTextMember, // This is the textdraw for all members of the convoy
ConvoyTimer // This convoy-timer checks everything for the whole convoy
}
// Setup an array which holds all data for every convoy
new AConvoys[MAX_CONVOYS][TConvoyData];
// Setup a custom type to hold all data about a vehicle
enum TVehicleData
{
bool:MafiaLoad, // Holds True if the vehicle (or trailer) is carrying a mafia-wanted load
Fuel, // Holds the amount of fuel for this vehicle
BelongsToHouse, // Holds the HouseID to which this vehicle belongs
bool:StaticVehicle, // Holds true if this is a static vehicle
bool:Owned, // Holds true if the vehicle is owned by somebody
Owner[24], // Holds the name of the owned of the vehicle
Model, // Holds the vehicle-model of this vehicle
PaintJob, // Holds the ID of the paintjob applied to the vehicle
Components[14], // Holds all Component-ID's for all components on the vehicle
Color1, // Holds the primary color for this vehicle
Color2, // Holds the secundairy color for this vehicle
NeonLeft, // Holds the neon-object on the left side
NeonRight, // Holds the neon-object on the right side
Float:SpawnX, // Holds the X-coordinate of the parking spot for this vehicle
Float:SpawnY, // Holds the Y-coordinate of the parking spot for this vehicle
Float:SpawnZ, // Holds the Z-coordinate of the parking spot for this vehicle
Float:SpawnRot, // Holds the rotation of the parking spot for this vehicle
bool:Clamped // Holds "true" if the vehicle is clamped by an admin
}
// Setup an array which holds all data for every vehicleid, max 2000 vehicles (server limit)
new AVehicleData[2000][TVehicleData];
// Setup a custom type that holds all data for businesses
enum TBusinessData
{
PickupID, // Holds the pickup-id that is linked to this business
Text3D:DoorText, // Holds the reference to the 3DText above the business's pickup
MapIconID, // Holds the ID of the mapicon for the business
BusinessName[100], // Holds the name of the business (this will be displayed above the pickup near the business when it's owned)
Float:BusinessX, // Holds the X-coordinate of the pickup for the Business
Float:BusinessY, // Holds the Y-coordinate of the pickup for the Business
Float:BusinessZ, // Holds the Z-coordinate of the pickup for the Business
BusinessType, // Holds the type of business (well stacked pizza, burger shot, ...), this defines which icon and interior to use
BusinessLevel, // Holds the level of upgrades the business has
LastTransaction, // Holds the amount of minutes when the last transaction took place (buying the business or retrieving the money by the owner)
bool:Owned, // Holds true if the Business is owned by somebody
Owner[24] // Holds the name of the owner of the Business
}
// Holds the data for all houses
new ABusinessData[MAX_BUSINESS][TBusinessData];
// This variable holds the business-time (this value is increased every hour and is used to calculate the amount of money a business
// has generated after the last transaction of the business)
new BusinessTransactionTime;
// Setup a custom type that holds all data for houses
enum THouseData
{
PickupID, // Holds the pickup-id that is linked to this house
Text3D:DoorText, // Holds the reference to the 3DText above the house's pickup
MapIconID, // Holds the ID of the mapicon for the house
HouseName[100], // Holds the name of the house (this will be displayed above the pickup near the house when it's owned)
Insurance, // Holds "1" if the house has an insurance for the vehicles belonging to this house
Float:HouseX, // Holds the X-coordinate of the pickup for the house
Float:HouseY, // Holds the Y-coordinate of the pickup for the house
Float:HouseZ, // Holds the Z-coordinate of the pickup for the house
HouseLevel, // Holds the level of upgrades the house has (also defines how many vehicles can currently be added to the house)
HouseMaxLevel, // Holds the maximum level this house can be upgraded to
HousePrice, // Holds the price for buying the house, the same price applies when upgrading a house per level
bool:Owned, // Holds true if the house is owned by somebody
Owner[24], // Holds the name of the owner of the house
bool:HouseOpened, // Holds true if the house is open to the public (anyone can enter), false means: only the owner can enter it
VehicleIDs[10] // Holds the vehicle-id's of the vehicles linked to this house
}
// Holds the data for all houses
new AHouseData[MAX_HOUSES][THouseData];
// Setup a custom type that holds all data about a house-interior (selected when entering a house, based on the house-level)
enum THouseInterior
{
InteriorName[50], // Holds the name of the interior
InteriorID, // Holds the interior-id
Float:IntX, // Holds the X-coordinate of the spawn-location where you enter the house
Float:IntY, // Holds the Y-coordinate of the spawn-location where you enter the house
Float:IntZ // Holds the Z-coordinate of the spawn-location where you enter the house
}
// Holds the data for all interiors for houses
new AHouseInteriors[][THouseInterior] =
{
{"Dummy", 0, 0.0, 0.0, 0.0}, // Dummy interior (Level 0), as the house-level starts at 1
{"Small motel room", 10, 2262.83, -1137.71, 1050.63}, // Level 1
{"Small house", 2, 2467.36, -1698.38, 1013.51}, // Level 2
{"Small house 2", 1, 223.00, 1289.26, 1082.20}, // Level 3
{"Medium house", 10, 2260.76, -1210.45, 1049.02}, // Level 4
{"Medium house 2", 8, 2365.42, -1131.85, 1050.88}, // Level 5
{"Duplex house", 12, 2324.33, -1144.79, 1050.71}, // Level 6
{"Big house", 15, 295.14, 1474.47, 1080.52}, // Level 7
{"Big duplex house", 3, 235.50, 1189.17, 1080.34}, // Level 8
{"Huge house", 7, 225.63, 1022.48, 1084.07}, // Level 9
{"Mansion", 5, 1299.14, -794.77, 1084.00} // Level 10
};
// Setup a custom type that holds all data about a business
enum TBusinessType
{
InteriorName[50], // Holds the name of the interior
InteriorID, // Holds the interior-id
Float:IntX, // Holds the X-coordinate of the spawn-location where you enter the business
Float:IntY, // Holds the Y-coordinate of the spawn-location where you enter the business
Float:IntZ, // Holds the Z-coordinate of the spawn-location where you enter the business
BusPrice, // Holds the price for the business
BusEarnings, // Holds the earnings for this type of business
IconID // Holds the icon-id which represents the business
}
// Holds the data for all interiors for businesses
new ABusinessInteriors[][TBusinessType] =
{
{"Dummy", 0, 0.0, 0.0, 0.0, 0, 0, 0}, // Dummy business (Type 0)
{"24/7 (Small)", 6, -26.75, -55.75, 1003.6, 500000, 50, 52}, // Type 1 (earnings per day: $1200)
{"24/7 (Medium)", 18, -31.0, -89.5, 1003.6, 750000, 75, 52}, // Type 2 (earnings per day: $1800)
{"Bar", 11, 502.25, -69.75, 998.8, 350000, 35, 49}, // Type 3 (earnings per day: $840)
{"Barber (Small)", 2, 411.5, -21.25, 1001.8, 300000, 30, 7}, // Type 4 (earnings per day: $720)
{"Barber (Medium)", 3, 418.75, -82.5, 1001.8, 350000, 35, 7}, // Type 5 (earnings per day: $840)
{"Betting shop", 3, 833.25, 7.0, 1004.2, 1500000, 150, 52}, // Type 6 (earnings per day: $3600)
{"Burger Shot", 10, 363.5, -74.5, 1001.5, 750000, 75, 10}, // Type 7 (earnings per day: $1800)
{"Casino (4 Dragons)", 10, 2017.25, 1017.75, 996.9, 2500000, 250, 44}, // Type 8 (earnings per day: $6000)
{"Casino (Caligula's)", 1, 2234.0, 1710.75, 1011.3, 2500000, 250, 25}, // Type 9 (earnings per day: $6000)
{"Casino (Small)", 12, 1133.0, -9.5, 1000.7, 2000000, 200, 43}, // Type 10 (earnings per day: $4800)
{"Clothing (Binco)", 15, 207.75, -109.0, 1005.2, 850000, 85, 45}, // Type 11 (earnings per day: $2040)
{"Clothing (Pro)", 3, 207.0, -138.75, 1003.5, 850000, 85, 45}, // Type 12 (earnings per day: $2040)
{"Clothing (Urban)", 1, 203.75, -48.5, 1001.8, 850000, 85, 45}, // Type 13 (earnings per day: $2040)
{"Clothing (Victim)", 5, 226.25, -7.5, 1002.3, 850000, 85, 45}, // Type 14 (earnings per day: $2040)
{"Clothing (ZIP)", 18, 161.5, -92.25, 1001.8, 850000, 85, 45}, // Type 15 (earnings per day: $2040)
{"Cluckin' Bell", 9, 365.75, -10.75, 1001.9, 750000, 75, 14}, // Type 16 (earnings per day: $1800)
{"Disco (Small)", 17, 492.75, -22.0, 1000.7, 1000000, 100, 48}, // Type 17 (earnings per day: $2400)
{"Disco (Large)", 3, -2642.0, 1406.5, 906.5, 1200000, 120, 48}, // Type 18 (earnings per day: $2880)
{"Gym (LS)", 5, 772.0, -3.0, 1000.8, 500000, 50, 54}, // Type 19 (earnings per day: $1200)
{"Gym (SF)", 6, 774.25, -49.0, 1000.6, 500000, 50, 54}, // Type 20 (earnings per day: $1200)
{"Gym (LV)", 7, 774.25, -74.0, 1000.7, 500000, 50, 54}, // Type 21 (earnings per day: $1200)
{"Motel", 15, 2216.25, -1150.5, 1025.8, 1000000, 100, 37}, // Type 22 (earnings per day: $2400)
{"RC shop", 6, -2238.75, 131.0, 1035.5, 600000, 60, 46}, // Type 23 (earnings per day: $1440)
{"Sex-shop", 3, -100.25, -22.75, 1000.8, 800000, 80, 38}, // Type 24 (earnings per day: $1920)
{"Slaughterhouse", 1, 933.75, 2151.0, 1011.1, 500000, 50, 50}, // Type 25 (earnings per day: $1200)
{"Stadium (Bloodbowl)", 15, -1394.25, 987.5, 1024.0, 1750000, 175, 33}, // Type 26 (earnings per day: $4200)
{"Stadium (Kickstart)", 14, -1410.75, 1591.25, 1052.6, 1750000, 175, 33}, // Type 27 (earnings per day: $4200)
{"Stadium (8-Track)", 7, -1396.0, -208.25, 1051.2, 1750000, 175, 33}, // Type 28 (earnings per day: $4200)
{"Stadium (Dirt Bike)", 4, -1425.0, -664.5, 1059.9, 1750000, 175, 33}, // Type 29 (earnings per day: $4200)
{"Stripclub (Small)", 3, 1212.75, -30.0, 1001.0, 750000, 75, 48}, // Type 30 (earnings per day: $1800)
{"Stripclub (Large)", 2, 1204.75, -12.5, 1001.0, 900000, 90, 48}, // Type 31 (earnings per day: $2160)
{"Tattoo LS", 16, -203.0, -24.25, 1002.3, 500000, 50, 39}, // Type 32 (earnings per day: $1200)
{"Well Stacked Pizza", 5, 372.25, -131.50, 1001.5, 650000, 65, 29} // Type 33 (earnings per day: $1560)
};
// This holds all data about a report
enum TReport
{
bool:ReportUsed, // Holds true if this report-spot has been used
ReportName[24], // Holds the name of the offender
ReportReason[128] // Holds the reason why he's been reported
}
// This array holds all data about the recent 50 reports that have been reported
new AReports[50][TReport];
new ReportList[5000]; // Setup an array to holds the reports for the report-dialog
// Setup all the fields required for the player data (Speedometer TextDraw, current job, ...)
enum TPlayerData
{
PlayerPassword[50], // Holds the password of the player's account
PlayerNewPassword[50], // Holds the new password for the player
PlayerLevel, // The admin-level of the player
PlayerJailed, // Holds jail-time left for this player
PlayerJailedTimer, // Holds the reference to the jail-timer
PlayerFrozen, // Holds the time this player is frozen
PlayerFrozenTimer, // Holds the reference to the frozen-timer
Warnings, // Holds the number of warnings for this player
Bans, // Holds the number of bans for this player
BanTime, // Holds the time where the player is unbanned automatically (when the ban is over)
bool:LoggedIn, // Holds true if the player has properly logged in
bool:Muted, // Holds "true" if the player is muted
bool:RulesRead, // Holds "true" if the player accepted the rules
AutoReportTime, // Used to prevent the anti-hack system reporting the player every half a second when the player uses hacks
TruckerLicense, // Holds "1" if the player has acquired his truckers-license
BusLicense, // Holds "1" if the player has acquired his busdriver license
PlayerMoney, // Holds the money of this player
PlayerScore, // Holds the score of this player
PlayerName[24], // Holds the name of the player
Houses[MAX_HOUSESPERPLAYER], // Holds the HouseID's of the houses that the player owns (index of the AHouseData array)
CurrentHouse, // Holds the HouseID to track in which house the player currently is (used when accessing the housemenu)
Business[MAX_BUSINESSPERPLAYER], // Holds the BusinessID's of the business that the player owns
CurrentBusiness, // Holds the BusinessID to track in which business the player currently is (used when accessing the businessmenu)
PlayerClass, //Holds the Class that the player chose (1 = truckdriver, 2 = taxidriver, ... -> see DEFINES)
SpectateID, // Holds the ID of the other player which this player is spectating
SpectateVehicle, // If the target player is inside a vehicle, store it here
SpectateType, // Holds the type of spectating (none, player or vehicle)
Float:PreviousX, // Holds the previous X location of the player (used to detect airbreak hacks)
Float:PreviousY, // Holds the previous Y location of the player (used to detect airbreak hacks)
Float:PreviousZ, // Holds the previous Z location of the player (used to detect airbreak hacks)
PreviousInt, // Holds the previous interior id (used to detect airbreak hacks)
StatsTruckerJobs, // Holds the number of succesfully completed trucker-missions
StatsConvoyJobs, // Holds the number of completed trucking-routes when in a convoy
StatsBusDriverJobs, // Holds the number of completed busroutes
StatsPilotJobs, // Holds the number of completed pilot-missions
StatsMafiaJobs, // Holds the number of completed mafia-missions
StatsMafiaStolen, // Holds the number of succesfully deliveries of stolen mafialoads
StatsPoliceFined, // Holds the number of fined players for police
StatsPoliceJailed, // Holds the number of jailed players for police
StatsCourierJobs, // Holds the number of completed courier-jobs
StatsAssistance, // Holds the number of player-vehicles that this player has repaired/refuelled
StatsRoadworkerJobs, // Holds the number of completed roadworker jobs
Float:StatsMetersDriven, // Holds the total kilometers that the player has driven already
Text:SpeedometerText, // The TextDraw of the speedometer for this player
Text:FuelGauge, // The textdraw of the fuel-gauge for this player
SpeedometerTimer, // Holds the reference to the speedometer timer for this player
PlayerSpeed, // Holds the speed of the player
PlayerCaughtSpeeding, // This holds a value to prevent being caught multiple times by the same speedcamera
Timer_PoliceCanJailMe, // This holds a reference to the timer which is started when the player got warned by a police player
Value_PoliceCanJailMe, // This holds the remaining time for the Timer_PoliceCanJailPlayer timer
bool:PoliceCanJailMe, // This holds "true" when the player was warned by a police player but didn't stop before the timer ran out
bool:PoliceWarnedMe, // This holds "true" is the player got caught by a police player and got at least one warning
bool:AssistanceNeeded, // Holds "true" is the player called for assistance
bool:JobStarted, // States that the player has started a job or not
Text:MissionText, // Displays the mission info at the bottom of the screen
JobID, // Mission ID of the job (in the appropriate array, based on the PlayerClass), not used by truckers
JobStep, // Current step of the job (for trucker: 1 = going to load, 2 = delivering goods to destination)
Passengers, // Holds the number of passengers (used for busdriver, taxi classes)
PlayerCheckTimer, // A special timer used by certain classes (police, mafia) to check players every second if they're wanted/carrying mafialoads
LoadingTimer, // The timer used for loading and unloading during jobs
VehicleTimerTime, // Holds the remaining seconds for the global vehicletimer
VehicleID, // Holds the ID of the vehicle that the player is driving during his job
TrailerID, // Holds the ID of the trailer that the player has attached during his job (is 0 if no trailer attached)
LoadID, // Holds the ID of the load
JobLoc1, // Holds the LocationID where to pickup the load (used in trucking missions)
JobLoc2, // Holds the LocationID where to deliver the load (used in trucking missions)
bool:Overloaded, // Holds True if the player's vehicle is overloaded (wanted level increases by 2)
bool:MafiaLoad, // Holds True is the player's load is wanted by the mafia
bool:MafiaLoadHijacked, // Holds true if the mafia-player has hijacked a mafia-load
bool:InConvoy, // Holds true if the player has joined a convoy already
ConvoyID, // Holds the ID of the convoy where this player is a member
CourierHouses[11], // This holds up to 10 HouseID's for use during Courier-missions
CourierMaxStep, // This holds the max number of houses to deliver packages to
DialogFirstItem, // Holds the first array-index where a split dialog must start
DialogCarFirstCar, // Holds the first array-index where the carlist should start when the player asks to choose a car to spawn ("/car")
DialogPlaneFirstPlane, // Holds the first array-index where the planelist should start when the player asks to choose a plane to spawn ("/plane")
DialogTrailerFirstTrailer, // Holds the first array-index where the trailerlist should start when the player asks to choose a trailer to spawn ("/trailer")
DialogRentVClass, // Holds the ID of the chosen vehicle class to process when renting a vehicle
DialogRentCarIndex, // Holds the index in the ABuyableVehicles array which vehicle the player chose to rent
DialogBuyVClass, // Holds the ID of the chose vehicle class to process when buying a vehicle
DialogBuyCarIndex, // Holds the index in the ABuyableVehicles array which vehicle the player chose to buy
DialogGetCarHouseID, // Holds the HouseID from which to get a vehicle when using /getcar
DialogOtherPlayer, // Holds the id of the other player when viewing that other player's stats
DialogOtherPlayerHouse, // Holds the HouseID of the other player when viewing the stats for that house
BankPassword[24], // Bank-system: Used to hold the password to your bank-account
bool:BankLoggedIn, // Bank-system: Used to determine if you have logged in to your bank account
BankMoney, // Bank-system: Used to hold the money in your bank-account
UseMoney, // Bank-system: Used to hold the money you're be transferring to another player's account
LastIntrestTime, // Bank-system: Used to hold the last time where your bank account has received intrest
RentedVehicleID // Holds the vehicle-id of the rented vehicle (if any)
}
// Create an array to hold the playerdata for every player
new APlayerData[MAX_PLAYERS][TPlayerData];
// This variable holds the intrest-time (this value is increased every hour
// and is used to calculate the intrest you receive on your bank account
new CurrentIntrestTime;
// Setup all the fields for a spawnlocation
enum TSpawnLocation
{
Float:SpawnX,
Float:SpawnY,
Float:SpawnZ,
Float:SpawnAngle
}
// Setup spawnlocations for each class (when selecting "Spawn" at class-selection, a random spawnlocation is selected)
new ASpawnLocationsTrucker[][TSpawnLocation] =
{
{-525.0, -502.0, 26.0, 0.0}, // Fallen Tree Depot
{-74.7, -1137.5, 4.5, 0.0}, // Flint Trucking Depot
{1709.33, 974.43 ,10.82}, // LVA Freight Depot
{-2136.0, -247.5, 36.5, 270.0}, // Doherty Depot
{1766.5, -2040.7, 14.0, 270.0}, // El Corona Depot
{-546.0, 2594.0, 54.0, 270.0}, // Las Payasdas Depot
{332.0, 900.0, 25.0, 205.0}, // Quarry Top
{-1575.0, -2724.0, 49.0, 146.0} // Shady Creek Depot
};
new ASpawnLocationsBusDriver[][TSpawnLocation] =
{
{1809.0, -1905.0, 13.6, 90.0}, // Los Santos busdepot
{-1983.0, 110.0, 27.7, 180.0}, // San Fierro busdepot
{1060.0, 1260.0, 11.0, 270.0} // Las Venturas busdepot
};
new ASpawnLocationsPilot[][TSpawnLocation] =
{
{2010.0, -2345.0, 13.6, 90.0}, // Los Santos airport
{-1211.0, -105.0, 14.2, 135.0}, // San Fierro airport
{1630.0, 1615.0, 10.9, 90.0} // Las Venturas airport
};
new ASpawnLocationsPolice[][TSpawnLocation] =
{
{1568.5, -1693.5, 6.0, 180.0}, // Los Santos police station
{-1590.0, 716.25, -5.0, 270.0}, // San Fierro police station
{2275.0, 2460.0, 10.9, 90.0} // Las Venturas police station
};
new ASpawnLocationsMafia[][TSpawnLocation] =
{
{2822.5, 898.5, 10.8, 0.0} // Mafia hideout
};
new ASpawnLocationsCourier[][TSpawnLocation] =
{
{798.0, -618.75, 16.4, 0.0}, // Los Santos
{-1849.25, -135.0, 12.0, 90.0}, // San Fierro
{1050.5, 1931.0, 10.9, 270.0} // Las Venturas
};
new ASpawnLocationsAssistance[][TSpawnLocation] =
{
{211.25, 24.75, 2.6, 270.0}
};
new ASpawnLocationsRoadWorker[][TSpawnLocation] =
{
{-1866.25, -1715.25, 22.7, 125.0} // Junkyard
};
// Setup an array that holds all prices for vehicle-components
new AVehicleModPrices[] =
{
400, // ID 1000, Spoiler Pro Certain Transfender cars
550, // ID 1001, Spoiler Win Certain Transfender cars
200, // ID 1002, Spoiler Drag Certain Transfender cars
250, // ID 1003, Spoiler Alpha Certain Transfender cars
100, // ID 1004, Hood Champ Scoop Certain Transfender cars
150, // ID 1005, Hood Fury Scoop Certain Transfender cars
80, // ID 1006, Roof Roof Scoop Certain Transfender cars
500, // ID 1007, Sideskirt Right Sideskirt Certain Transfender cars
500, // ID 1008, Nitro 5 times Most cars, Most planes and Most Helicopters
200, // ID 1009, Nitro 2 times Most cars, Most planes and Most Helicopters
1000, // ID 1010, Nitro 10 times Most cars, Most planes and Most Helicopters
220, // ID 1011, Hood Race Scoop Certain Transfender cars
250, // ID 1012, Hood Worx Scoop Certain Transfender cars
100, // ID 1013, Lamps Round Fog Certain Transfender cars
400, // ID 1014, Spoiler Champ Certain Transfender cars
500, // ID 1015, Spoiler Race Certain Transfender cars
200, // ID 1016, Spoiler Worx Certain Transfender cars
500, // ID 1017, Sideskirt Left Sideskirt Certain Transfender cars
350, // ID 1018, Exhaust Upswept Most cars
300, // ID 1019, Exhaust Twin Most cars
250, // ID 1020, Exhaust Large Most cars
200, // ID 1021, Exhaust Medium Most cars
150, // ID 1022, Exhaust Small Most cars
350, // ID 1023, Spoiler Fury Certain Transfender cars
50, // ID 1024, Lamps Square Fog Certain Transfender cars
1000, // ID 1025, Wheels Offroad Certain Transfender cars
480, // ID 1026, Sideskirt Right Alien Sideskirt Sultan
480, // ID 1027, Sideskirt Left Alien Sideskirt Sultan
770, // ID 1028, Exhaust Alien Sultan
680, // ID 1029, Exhaust X-Flow Sultan
370, // ID 1030, Sideskirt Left X-Flow Sideskirt Sultan
370, // ID 1031, Sideskirt Right X-Flow Sideskirt Sultan
170, // ID 1032, Roof Alien Roof Vent Sultan
120, // ID 1033, Roof X-Flow Roof Vent Sultan
790, // ID 1034, Exhaust Alien Elegy
150, // ID 1035, Roof X-Flow Roof Vent Elegy
500, // ID 1036, SideSkirt Right Alien Sideskirt Elegy
690, // ID 1037, Exhaust X-Flow Elegy
190, // ID 1038, Roof Alien Roof Vent Elegy
390, // ID 1039, SideSkirt Right X-Flow Sideskirt Elegy
500, // ID 1040, SideSkirt Left Alien Sideskirt Elegy
390, // ID 1041, SideSkirt Right X-Flow Sideskirt Elegy
1000, // ID 1042, SideSkirt Right Chrome Sideskirt Broadway
500, // ID 1043, Exhaust Slamin Broadway
500, // ID 1044, Exhaust Chrome Broadway
510, // ID 1045, Exhaust X-Flow Flash
710, // ID 1046, Exhaust Alien Flash
670, // ID 1047, SideSkirt Right Alien Sideskirt Flash
530, // ID 1048, SideSkirt Right X-Flow Sideskirt Flash
810, // ID 1049, Spoiler Alien Flash
620, // ID 1050, Spoiler X-Flow Flash
670, // ID 1051, SideSkirt Left Alien Sideskirt Flash
530, // ID 1052, SideSkirt Left X-Flow Sideskirt Flash
130, // ID 1053, Roof X-Flow Flash
210, // ID 1054, Roof Alien Flash
230, // ID 1055, Roof Alien Stratum
520, // ID 1056, Sideskirt Right Alien Sideskirt Stratum
430, // ID 1057, Sideskirt Right X-Flow Sideskirt Stratum
620, // ID 1058, Spoiler Alien Stratum
720, // ID 1059, Exhaust X-Flow Stratum
530, // ID 1060, Spoiler X-Flow Stratum
180, // ID 1061, Roof X-Flow Stratum
520, // ID 1062, Sideskirt Left Alien Sideskirt Stratum
430, // ID 1063, Sideskirt Left X-Flow Sideskirt Stratum
830, // ID 1064, Exhaust Alien Stratum
850, // ID 1065, Exhaust Alien Jester
750, // ID 1066, Exhaust X-Flow Jester
250, // ID 1067, Roof Alien Jester
200, // ID 1068, Roof X-Flow Jester
550, // ID 1069, Sideskirt Right Alien Sideskirt Jester
450, // ID 1070, Sideskirt Right X-Flow Sideskirt Jester
550, // ID 1071, Sideskirt Left Alien Sideskirt Jester
450, // ID 1072, Sideskirt Left X-Flow Sideskirt Jester
1100, // ID 1073, Wheels Shadow Most cars
1030, // ID 1074, Wheels Mega Most cars
980, // ID 1075, Wheels Rimshine Most cars
1560, // ID 1076, Wheels Wires Most cars
1620, // ID 1077, Wheels Classic Most cars
1200, // ID 1078, Wheels Twist Most cars
1030, // ID 1079, Wheels Cutter Most cars
900, // ID 1080, Wheels Switch Most cars
1230, // ID 1081, Wheels Grove Most cars
820, // ID 1082, Wheels Import Most cars
1560, // ID 1083, Wheels Dollar Most cars
1350, // ID 1084, Wheels Trance Most cars
770, // ID 1085, Wheels Atomic Most cars
100, // ID 1086, Stereo Stereo Most cars
1500, // ID 1087, Hydraulics Hydraulics Most cars
150, // ID 1088, Roof Alien Uranus
650, // ID 1089, Exhaust X-Flow Uranus
450, // ID 1090, Sideskirt Right Alien Sideskirt Uranus
100, // ID 1091, Roof X-Flow Uranus
750, // ID 1092, Exhaust Alien Uranus
350, // ID 1093, Sideskirt Right X-Flow Sideskirt Uranus
450, // ID 1094, Sideskirt Left Alien Sideskirt Uranus
350, // ID 1095, Sideskirt Right X-Flow Sideskirt Uranus
1000, // ID 1096, Wheels Ahab Most cars
620, // ID 1097, Wheels Virtual Most cars
1140, // ID 1098, Wheels Access Most cars
1000, // ID 1099, Sideskirt Left Chrome Sideskirt Broadway
940, // ID 1100, Bullbar Chrome Grill Remington
780, // ID 1101, Sideskirt Left `Chrome Flames` Sideskirt Remington
830, // ID 1102, Sideskirt Left `Chrome Strip` Sideskirt Savanna
3250, // ID 1103, Roof Convertible Blade
1610, // ID 1104, Exhaust Chrome Blade
1540, // ID 1105, Exhaust Slamin Blade
780, // ID 1106, Sideskirt Right `Chrome Arches` Remington
780, // ID 1107, Sideskirt Left `Chrome Strip` Sideskirt Blade
780, // ID 1108, Sideskirt Right `Chrome Strip` Sideskirt Blade
1610, // ID 1109, Rear Bullbars Chrome Slamvan
1540, // ID 1110, Rear Bullbars Slamin Slamvan
55, // ID 1111, Front Sign? Little Sign? Slamvan ???
55, // ID 1112, Front Sign? Little Sign? Slamvan ???
3340, // ID 1113, Exhaust Chrome Slamvan
3250, // ID 1114, Exhaust Slamin Slamvan
2130, // ID 1115, Front Bullbars Chrome Slamvan
2050, // ID 1116, Front Bullbars Slamin Slamvan
2040, // ID 1117, Front Bumper Chrome Slamvan
780, // ID 1118, Sideskirt Right `Chrome Trim` Sideskirt Slamvan
940, // ID 1119, Sideskirt Right `Wheelcovers` Sideskirt Slamvan
780, // ID 1120, Sideskirt Left `Chrome Trim` Sideskirt Slamvan
940, // ID 1121, Sideskirt Left `Wheelcovers` Sideskirt Slamvan
780, // ID 1122, Sideskirt Right `Chrome Flames` Sideskirt Remington
860, // ID 1123, Bullbars Bullbar Chrome Bars Remington
780, // ID 1124, Sideskirt Left `Chrome Arches` Sideskirt Remington
1120, // ID 1125, Bullbars Bullbar Chrome Lights Remington
3340, // ID 1126, Exhaust Chrome Exhaust Remington
3250, // ID 1127, Exhaust Slamin Exhaust Remington
3340, // ID 1128, Roof Vinyl Hardtop Blade
1650, // ID 1129, Exhaust Chrome Savanna
3380, // ID 1130, Roof Hardtop Savanna
3290, // ID 1131, Roof Softtop Savanna
1590, // ID 1132, Exhaust Slamin Savanna
830, // ID 1133, Sideskirt Right `Chrome Strip` Sideskirt Savanna
800, // ID 1134, SideSkirt Right `Chrome Strip` Sideskirt Tornado
1500, // ID 1135, Exhaust Slamin Tornado
1000, // ID 1136, Exhaust Chrome Tornado
800, // ID 1137, Sideskirt Left `Chrome Strip` Sideskirt Tornado
580, // ID 1138, Spoiler Alien Sultan
470, // ID 1139, Spoiler X-Flow Sultan
870, // ID 1140, Rear Bumper X-Flow Sultan
980, // ID 1141, Rear Bumper Alien Sultan
150, // ID 1142, Vents Left Oval Vents Certain Transfender Cars
150, // ID 1143, Vents Right Oval Vents Certain Transfender Cars
100, // ID 1144, Vents Left Square Vents Certain Transfender Cars
100, // ID 1145, Vents Right Square Vents Certain Transfender Cars
490, // ID 1146, Spoiler X-Flow Elegy
600, // ID 1147, Spoiler Alien Elegy
890, // ID 1148, Rear Bumper X-Flow Elegy
1000, // ID 1149, Rear Bumper Alien Elegy
1090, // ID 1150, Rear Bumper Alien Flash
840, // ID 1151, Rear Bumper X-Flow Flash
910, // ID 1152, Front Bumper X-Flow Flash
1200, // ID 1153, Front Bumper Alien Flash
1030, // ID 1154, Rear Bumper Alien Stratum
1030, // ID 1155, Front Bumper Alien Stratum
920, // ID 1156, Rear Bumper X-Flow Stratum
930, // ID 1157, Front Bumper X-Flow Stratum
550, // ID 1158, Spoiler X-Flow Jester
1050, // ID 1159, Rear Bumper Alien Jester
1050, // ID 1160, Front Bumper Alien Jester
950, // ID 1161, Rear Bumper X-Flow Jester
650, // ID 1162, Spoiler Alien Jester
450, // ID 1163, Spoiler X-Flow Uranus
550, // ID 1164, Spoiler Alien Uranus
850, // ID 1165, Front Bumper X-Flow Uranus
950, // ID 1166, Front Bumper Alien Uranus
850, // ID 1167, Rear Bumper X-Flow Uranus
950, // ID 1168, Rear Bumper Alien Uranus
970, // ID 1169, Front Bumper Alien Sultan
880, // ID 1170, Front Bumper X-Flow Sultan
990, // ID 1171, Front Bumper Alien Elegy
900, // ID 1172, Front Bumper X-Flow Elegy
950, // ID 1173, Front Bumper X-Flow Jester
1000, // ID 1174, Front Bumper Chrome Broadway
900, // ID 1175, Front Bumper Slamin Broadway
1000, // ID 1176, Rear Bumper Chrome Broadway
900, // ID 1177, Rear Bumper Slamin Broadway
2050, // ID 1178, Rear Bumper Slamin Remington
2150, // ID 1179, Front Bumper Chrome Remington
2130, // ID 1180, Rear Bumper Chrome Remington
2050, // ID 1181, Front Bumper Slamin Blade
2130, // ID 1182, Front Bumper Chrome Blade
2040, // ID 1183, Rear Bumper Slamin Blade
2150, // ID 1184, Rear Bumper Chrome Blade
2040, // ID 1185, Front Bumper Slamin Remington
2095, // ID 1186, Rear Bumper Slamin Savanna
2175, // ID 1187, Rear Bumper Chrome Savanna
2080, // ID 1188, Front Bumper Slamin Savanna
2200, // ID 1189, Front Bumper Chrome Savanna
1200, // ID 1190, Front Bumper Slamin Tornado
1040, // ID 1191, Front Bumper Chrome Tornado
940, // ID 1192, Rear Bumper Chrome Tornado
1100, // ID 1193 Rear Bumper Slamin Tornado
};
enum TCommands
{
CommandLevel, // Holds the admin-level required to execute this command
CommandStructure[128], // Holds the command-structure
CommandDescription[128] // Holds the description of the command
}
new ACommands[][TCommands] =
{
{0, "/admins", "Displays all online admins"},
{0, "/assist", "Call for assistance to repair/refuel your vehicle"},
{0, "/bank", "Register/login/manage your bank account"},
{0, "/MiniGames", "See What Mini Games U can Play With Ur Mates"},
{0, "/busmenu", "Displays the menu for controlling your business"},
{0, "/buybus", "Buy a business (you must be in range of a business)"},
{0, "/buyhouse", "Buy a house (you must be in range of a house"},
{0, "/plate <NumberPlate>", "Changes the plate on your vehicle"},
{0, "/engine <EngineStatus (0/1)>", "Toggle engine-status on or off"},
{0, "/caroption", "Changes some options for your vehicle"},
{0, "/changepassword", "Allows the player to change his login password"},
{0, "/cmds", "Displays all the commands"},
{0, "/color1", "Changes the primary color of your vehicle"},
{0, "/color2", "Changes the secundary color of your vehicle"},
{0, "/convoy", "Lets you start or join a convoy"},
{0, "/convoycancel", "Cancels the convoy you're in"},
{0, "/convoykick <OtherPlayerID>", "Kicks a member from the convoy"},
{0, "/convoyleave", "You leave the convoy"},
{0, "/convoymembers", "Displays all convoy members"},
{0, "/detach", "Detaches your trailer"},
{0, "/enter", "Enter your business or house"},
{0, "/flip", "Flips your vehicle back onto it's wheels"},
{0, "/getcar", "Teleports a house-car to your location"},
{0, "/givecash <OtherPlayer> <Money>", "Give money to another player"},
{0, "/gobus", "Teleport to a business you own"},
{0, "/gohome", "Teleport to a house you own"},
{0, "/help", "Get help information about a specific topic"},
{0, "/housemenu", "Displays the menu for controlling your house"},
{0, "/kill", "Kill yourself"},
{0, "/me <action>", "Just a silly command to repeat your text"},
{0, "/overload", "Lets a trucker to overload his vehicle"},
{0, "/paint <paintjobid (0-2)>", "Apply a paintjob to a vehicle you own"},
{0, "/park", "Park your vehicle where it's standing now"},
{0, "/pm <otherplayerid> <message>", "Send a private message to another player"},
{0, "/reclass", "Choose another class"},
{0, "/rentcar", "Rent a car from a cardealer"},
{0, "/report <OtherPlayer> <Your report>", "Report a player for breaking the rules"},
{0, "/rescue", "Teleports you to a location where your class starts"},
{0, "/rules", "Display the rules and get a small gift (only once)"},
{0, "/say <message>", "Say something to players that have same class as you"},
{0, "/spike", "Creates a spikestrip (can only be used by cops)"},
{0, "/stats", "Displays statistics about yourself"},
{0, "/stopwork", "Ends the current job"},
{0, "/unclamp", "Allows a player to un-clamp his vehicles for a price"},
{0, "/work or /w", "Starts a job"},
{1, "/asay <message>", "Admin-chat (this allows admins to chat privately)"},
{1, "/announce Text", "This Cmd Is used for Annoucning Some thing And All Players Will See"},
{1, "/bike", "Spawns a bike of your choice"},
{1, "/ban <PlayerToBan> <Days> <Hours> <Reason>", "Ban a player for a certain time"},
{1, "/boat", "Spawns a boat of your choice"},
{1, "/car", "Spawns a car of your choice"},
{1, "/endspec", "Stop spectating a player"},
{1, "/freeze <OtherPlayer> <Duration> <Reason>", "Freeze a player for a certain time in seconds"},
{1, "/fuel", "Refuels your vehicle for free"},
{1, "/get <OtherPlayer>", "Teleports another player to your location"},
{1, "/jail <PlayerToJail> <JailTime> <Reason>", "Jails another player for a certain time in seconds"},
{1, "/kick <PlayerToKick> <Reason>", "Kick a player"},
{1, "/mute <OtherPlayer> <Reason>", "Mute a player"},
{1, "/mutes", "Display muted players"},
{1, "/nos", "Adds nitro to your vehicle"},
{1, "/healall", "Heals all the players"},
{1, "/repairall", "Repair all vehicles for free"},
{1, "/plane", "Spawns a plane of your choice"},
{1, "/port <OtherPlayer>", "Teleport yourself to another player"},
{1, "/portloc <x> <y> <z>", "Teleport yourself to the given coordinates"},
{1, "/portvehicle <CarID>", "Teleport yourself to a vehicle"},
{1, "/rep", "Show the last 50 reports in a dialog"},
{1, "/repair", "Repairs your vehicle for free"},
{1, "/respawn <Vehicle-id>", "Forces a vehicle to respawn"},
{1, "/spec <OtherPlayer>", "Spectate a player"},
{1, "/tele <PlayerToPort> <TargetPlayer>", "Teleport a player to another player"},
{1, "/trailer", "Spawns a trailer of your choice"},
{1, "/unmute <OtherPlayer>", "Un-mutes a player"},
{1, "/ban <PlayerToBan> <Days> <Hours> <Reason>", "Ban a player for a certain time"},
{1, "/warn <PlayerToWarn> <Reason>", "Warn a player, up to three times"},
{1, "/createbusiness", "Create a business at your location"},
{1, "/createcamera <max_speed>", "Create s speedcamera at your location"},
{1, "/delbusiness", "Delete a business"},
{1, "/delcamera", "Delete a speedcamera"},
{2, "/eject <OtherPlayer>", "Ejects a player from his vehicle"},
{2, "/wanted <PlayerID> <Stars>", "Set a player's wanted level"},
{3, "/cleanupcars", "Removes all spawned vehicles from the map"},
{3, "/fly", "Equips yourself with a jetpack"},
{3, "/ipban <PlayerToBan> <Reason>", "Ban a player's IP"},
{3, "/loc", "Display your current location"},
{3, "/rangeban <PlayerToBan> <Reason>", "Ban a player's entire IP-range"},
{3, "/setscore <OtherPlayer> <Score>", "Sets another player's score to the given value"},
{3, "/unban <PlayerToUnban>", "Unban a player"},
{4, "/cash <amount>", "Give cash to yourself"},
{4, "/score <amount>", "Give scorepoints to yourself"},
{4, "/setskin <skin-id (0-299)>", "Lets an admin choose another skin"},
{4, "/weather", "Changes the weather"},
{5, "/clamp <vehicleid> <reason>", "Delete a player-owned vehicle"},
{5, "/createhouse <price> <maxlevel (1-10)>", "Create a new house"},
{5, "/delhouse", "Delete a house"},
{5, "/delobject <ObjectID>", "Deletes an object"},
{5, "/delvehicle <VehicleID>", "Deletes a vehicle"},
{5, "/fixplayer <OtherPlayer>", "Fix a player's property (re-add his houses and buinesses)"},
{5, "/object <ObjectModel> <x> <y> <z> <Angle>", "Create an object"},
{5, "/pickup <PickupModel> <x> <y> <z> <PickupType>", "Create a pickup"},
{5, "/resetplayer <OtherPlayer> <Money (0/1)> <Score (0/1)> <Stats (0/1)> <Reason>", "Reset a player's money, score, stats"},
{5, "/restart", "Restarts the server in 2 minutes"},
{5, "/saveloc <ID> <LocationName>", "Saves your location to a file"},
{5, "/setlevel <OtherPlayer> <AdminLevel>", "Changes a player's admin-level"},
{5, "/vehicle <VehicleModel> <x> <y> <z> <Angle> <SpawnDelay>", "Create a vehicle"}
{5, "/evect" "To Delete A Player Owned House/Business"},
};
// Help text stuff
#define HelpIDTruckingClass 0 // Defines the ID for getting help about the trucking class
#define HelpIDBusDriverClass 1 // Defines the ID for getting help about the busdriver class
#define HelpIDMafiaClass 2 // Defines the ID for getting help about the mafia class
#define HelpIDPoliceClass 3 // Defines the ID for getting help about the police class
#define HelpIDPilotClass 4 // Defines the ID for getting help about the pilot class
#define HelpIDCourierClass 5 // Defines the ID for getting help about the courier class
#define HelpIDAssistanceClass 6 // Defines the ID for getting help about the assistance class
#define HelpIDRoadworkerClass 7 // Defines the ID for getting help about the roadworker class
#define HelpIDConvoy 8 // Defines the ID for getting help about convoys
#define HelpIDBonusMissions 9 // Defines the ID for getting help about bonus missions
#define HelpIDHouses 10 // Defines the ID for getting help about the houses
#define HelpIDInsurance 11 // Defines the ID for getting help about insurance
#define HelpIDBuyingVehicles 12 // Defines the ID for getting help about buying vehicles
#define HelpIDRentingVehicles 13 // Defines the ID for getting help about renting vehicles
#define HelpIDBusinesses 14 // Defines the ID for getting help about businesses
// Define the topics for the help menu
new AHelpTopics[][50] =
{
{"Trucking class"},
{"Busdriver class"},
{"Mafia class"},
{"Police class"},
{"Pilot class"},
{"Courier class"},
{"Assistance class"},
{"Roadworker class"},
{"Convoys"},
{"Bonus missions"},
{"Houses"},
{"Insurance"},
{"Buying vehicles"},
{"Renting vehicles"},
{"Businesses"}
};
// Setup a custom type that holds all text-lines for all help-topics
enum THelpItem
{
HelpID, // Holds the item for which to get help-info
HelpText[128] // Contains one line for the help-info, every help-item can use multiple lines
}
// This array holds the texts for the /help command
new AHelpText[][THelpItem] =
{
{HelpIDTruckingClass, "Using the trucking class, your job is to transport products from one location to another."},
{HelpIDTruckingClass, "To do so, take a truck (Flatbed, DFT-30, LineRunner, Tanker or Roadtrain) and enter the command \"/work\"."},
{HelpIDTruckingClass, "For the linerunner, Tanker or Roadtrain trucks, you'll need a trailer to start a job."},
{HelpIDTruckingClass, "When the job is started, you'll see a red marker on the map. That's the location where you must load your products."},
{HelpIDTruckingClass, "When you reach that location, the products are loaded onto your vehicle."},
{HelpIDTruckingClass, "Next, you're shown the location where you must unload your products."},
{HelpIDTruckingClass, "If you reach the destination, the products are unloaded and you will get paid."},
{HelpIDTruckingClass, "The payment depends on the distance between the loading and unloading points."},
{HelpIDTruckingClass, " "},
{HelpIDTruckingClass, "Some products can be wanted by the mafia. If you have such products loaded onto your vehicle, the mafia is informed"},
{HelpIDTruckingClass, "and they will chase you to steal your vehicle or trailer, so be careful."},
{HelpIDTruckingClass, "Delivering a mafia-wanted load to your destination earns you an extra bonus."},
{HelpIDTruckingClass, " "},
{HelpIDTruckingClass, "There is also a chance your vehicle can be overloaded. When this happens, the police is informed."},
{HelpIDTruckingClass, "Being overloaded rewards you with an extra bonus if you reach the destination."},
{HelpIDTruckingClass, " "},
{HelpIDTruckingClass, "You also get a small bonus if you transport the products using your own truck."},
{HelpIDTruckingClass, " "},
{HelpIDTruckingClass, "You can also buy a trucking license near the driving school in Doherty, San Fierro."},
{HelpIDTruckingClass, "This will allow you to choose your own product, loading point and unloading point for a job."},
{HelpIDTruckingClass, " "},
{HelpIDTruckingClass, "Truckers can also create and join convoys."},
{HelpIDTruckingClass, "See the \"Convoys\" topic for more information about them."},
{HelpIDBusDriverClass, "Using the busdriver class, your job is to transport passengers between several busstops."},
{HelpIDBusDriverClass, "To start a job, enter a bus and use the \"/work\" command."},
{HelpIDBusDriverClass, "You'll be shown the first busstop as a red marker on your map."},
{HelpIDBusDriverClass, "Go to this location to load your first passengers."},
{HelpIDBusDriverClass, " "},
{HelpIDBusDriverClass, "Because your bus is still empty, no passengers can get off your bus and you'll get no payment yet."},
{HelpIDBusDriverClass, "From the second busstop onwards, a random amount of passengers get off your bus."},
{HelpIDBusDriverClass, "For every passenger that gets off your bus, you'll get paid."},
{HelpIDBusDriverClass, " "},
{HelpIDBusDriverClass, "If you have completed the entire busroute, you're also shown the location of the busdepot."},
{HelpIDBusDriverClass, "Now you can choose to do the same busroute again by going to the first busstop again"},
{HelpIDBusDriverClass, "or to end the busroute by going to the busdepot."},
{HelpIDMafiaClass, "Using the mafia class, your job is to transport products from one location to another."},
{HelpIDMafiaClass, "To start a job, enter a Sandking or Moonbeam and use the \"/work\" command."},
{HelpIDMafiaClass, "This works almost the same way as the trucker class."},
{HelpIDMafiaClass, "Mafia's cannot be overloaded, and you cannot have mafia-wanted loads."},
{HelpIDMafiaClass, "Instead, every job informs the police. You'll get a wanted level of 4."},
{HelpIDMafiaClass, " "},
{HelpIDMafiaClass, "A second possibility for mafia's to earn money is to steal mafia-wanted loads from truckers."},
{HelpIDMafiaClass, "When a trucker with such a load onboard is driving around, you'll be informed. The trucker will appear as a red dot"},
{HelpIDMafiaClass, "on your radar. Now you have to chase that trucker and try to steal his load."},
{HelpIDMafiaClass, "If the trucker is in a Flatbed or DFT-30, his load in onboard the truck itself, so you'll have to force the trucker"},
{HelpIDMafiaClass, "out of his vehicle to steal it."},
{HelpIDMafiaClass, "If the trucker is driving a truck with a trailer, you'll need to steal the trailer, as the load is located in the trailer."},
{HelpIDMafiaClass, "Also possible is to steal the truck with the trailer attached to it."},
{HelpIDMafiaClass, " "},
{HelpIDMafiaClass, "From the moment you succeed in detaching the trucker's trailer, you have 60 seconds to attach the trailer to your own truck."},
{HelpIDMafiaClass, "If you fail to do this, the trucker's mission has failed and the load is lost."},
{HelpIDMafiaClass, "If you succeed to steal the trucker's load, take it to your mafia-hideout to deliver the load there."},
{HelpIDMafiaClass, "Once you reach the mafia-hideout with your stolen load, you'll get paid."},
{HelpIDPoliceClass, "Using the police class, your job is to fine or arrest any offenders of the law."},
{HelpIDPoliceClass, "When a trucker is overloaded, he'll get 2 stars on his wanted level."},
{HelpIDPoliceClass, "A mafia doing a job, gets 4 stars on his wanted level."},
{HelpIDPoliceClass, "Anyone speeding near a speedcamera gets one extra star on his wanted level."},
{HelpIDPoliceClass, " "},
{HelpIDPoliceClass, "Any player with a wanted level appears as a red dot on your radar."},
{HelpIDPoliceClass, "You need to pursue the player and try to stop him, so you can fine him."},
{HelpIDPoliceClass, "When you get close to the wanted player, you can use the LCTRL button on your keyboard to warn them."},
{HelpIDPoliceClass, "The wanted player will be informed that he's being chased by cops and that he needs to pull over."},
{HelpIDPoliceClass, " "},
{HelpIDPoliceClass, "If the wanted player stops immediately, you can only fine him, using the Right Mouse Button."},
{HelpIDPoliceClass, "You need to be on foot to fine a wanted player."},
{HelpIDPoliceClass, "If the wanted player doesn't stop within 60 seconds, he'll be sent to jail if you catch him."},
{HelpIDPoliceClass, "This will also double the fine."},
{HelpIDPilotClass, "When you choose the pilot class, your job is to transport passengers or cargo from one location to another."},
{HelpIDPilotClass, "To start a job, enter a Shamal or Nevada airplane and use the \"/work\" command."},
{HelpIDPilotClass, "Airplanes transport passengers and/or cargo."},
{HelpIDPilotClass, "Pilots can also use helicopters. Enter a Maverick or Cargobob helicopter to start a job."},
{HelpIDPilotClass, "Helicopters only transport passengers."},
{HelpIDCourierClass, "If you choose the courier class, your job is to deliver packages to player's houses."},
{HelpIDCourierClass, "To start a job, use a Burrito van or Faggio bike and use the \"/work\" command."},
{HelpIDCourierClass, "Next you can choose how many packages you want to deliver."},
{HelpIDCourierClass, " "},
{HelpIDCourierClass, "Player's houses are chosen randomly within a certain range."},
{HelpIDCourierClass, "If there are no owned houses in the vicinity, you'll be notified to search for another area to work in."},
{HelpIDCourierClass, " "},
{HelpIDCourierClass, "When you reach the house, get out of your vehicle and deliver the package at the door of the house."},
{HelpIDCourierClass, "When all packages are delivered, you'll be paid for the amount of packages you've delivered."},
{HelpIDAssistanceClass, "If you choose the assistance class, your job is to assist players when they're out of fuel"},
{HelpIDAssistanceClass, "or if their vehicle is damaged."},
{HelpIDAssistanceClass, "Players needing help from assistance players can use the \"/assist\" command to call for assistance."},
{HelpIDAssistanceClass, "All players in need of assistance are marked red on the radar."},
{HelpIDAssistanceClass, " "},
{HelpIDAssistanceClass, "The assistance player should go to the player who needs assistance and help them out."},
{HelpIDAssistanceClass, "You can help them by getting out of your vehicle and use the Right Mouse Button"},
{HelpIDAssistanceClass, "when you're near their vehicle."},
{HelpIDAssistanceClass, " "},
{HelpIDAssistanceClass, "You cannot randomly repair and refuel other player's vehicles if they didn't ask for it."},
{HelpIDRoadworkerClass, "The roadworker has 2 different kinds of jobs."},
{HelpIDRoadworkerClass, " "},
{HelpIDRoadworkerClass, "The first job is to repair speedcamera's which have been placed all around the map."},
{HelpIDRoadworkerClass, "Use a Utility Van with a Utility Trailer attached to it and use the \"/work\" command to start a job."},
{HelpIDRoadworkerClass, "Go to the indicated speedcamera to repair it. You need to be on foot near the speedcamera to fix it."},
{HelpIDRoadworkerClass, "After it has been repaired, the next one is chosen randomly."},
{HelpIDRoadworkerClass, "Now you have a choice: either you continu to repair speedcamera's, or you drive back to base"},
{HelpIDRoadworkerClass, "to end the mission."},
{HelpIDRoadworkerClass, " "},
{HelpIDRoadworkerClass, "The second job is to tow broken vehicles to the shredder."},
{HelpIDRoadworkerClass, "Use a towtruck and use the \"/work\" command to start a job."},
{HelpIDRoadworkerClass, "Drive to the red marker and there will be a broken vehicle."},
{HelpIDRoadworkerClass, "Enter the checkpoint to automatically attach the broken vehicle to your towtruck."},
{HelpIDRoadworkerClass, "Tow the vehicle back to base so it can be dumped into the shredder."},
{HelpIDRoadworkerClass, " "},
{HelpIDRoadworkerClass, "If you lose the broken vehicle while returning to base, drive close to the vehicle"},
{HelpIDRoadworkerClass, "and use the Left Mouse Button to re-attach it to your towtruck."},
{HelpIDConvoy, "Convoys are used by multiple players, so they can do the same mission all together."},
{HelpIDConvoy, "Only truckers can do convoys."},
{HelpIDConvoy, "Every convoy has one leader. This leader determines the job for the entire convoy."},
{HelpIDConvoy, "As there can only be 5 convoys at the same time, it's wise to create only one large convoy instead of"},
{HelpIDConvoy, "several small convoys. A large convoy earns more money than small convoys"},
{HelpIDConvoy, "Convoys can have up to 25 members."},
{HelpIDConvoy, " "},
{HelpIDConvoy, "Every member of the convoy increases the payment for every member by 25%."},
{HelpIDConvoy, "Convoys can also complete the bonus missions for extra cash."},
{HelpIDConvoy, "To start or join a convoy, use the \"/convoy\" command and select a slot."},
{HelpIDConvoy, " "},
{HelpIDConvoy, "Once a convoy has started the job, the convoy is closed, so new members cannot join in the middle of the job."},
{HelpIDConvoy, "As soon as every member of the convoy unloads their products at the destination,"},
{HelpIDConvoy, "all members are paid. The convoy also opens up to receive new members."},
{HelpIDBonusMissions, "Bonus missions are detected automatically when you finish a job."},
{HelpIDBonusMissions, "Only truckers can do those bonus missions. You're rewarded twice the normal payment when you complete the mission."},
{HelpIDBonusMissions, "Besides the double payment, all bonusses are doubled as well, for being overloaded, delivering mafia-load, ..."},
{HelpIDBonusMissions, "Bonus missions can only be completed by one trucker or convoy."},
{HelpIDBonusMissions, "As soon as the bonus mission is completed by a player, the other players cannot get the bonus,"},
{HelpIDBonusMissions, "even if they do the same job."},
{HelpIDBonusMissions, "The bonus mission stays the same until it has been completed. Once it's completed, a new bonus mission is generated."},
{HelpIDHouses, "Houses are properties that can be bought by players."},
{HelpIDHouses, "Up to 2 houses can be bought by any player."},
{HelpIDHouses, "Each house has a buying price and a maximum upgrade-level."},
{HelpIDHouses, "The maximum level of the house also determines the amount of vehicle-slots this house can hold when fully upgraded."},
{HelpIDHouses, "When you buy a house, it will be level 1. This gives you one vehicle slot."},
{HelpIDHouses, "Every time you upgrade your house one more level, one additional vehicle slot is created."},
{HelpIDHouses, "Each house-level also has a different interior. It gets bigger by every level."},
{HelpIDHouses, "The maximum level for any house is level 10."},
{HelpIDHouses, "These houses are expensive, because they can hold up to 10 vehicle slots when they're fully upgraded."},
{HelpIDHouses, " "},
{HelpIDHouses, "When you've bought your house, you can enter it by standing near the house-entrance (spinning house icon)"},
{HelpIDHouses, "and using the \"/enter\" command."},
{HelpIDHouses, "Once you've entered your house, you can use the command \"/housemenu\" to change some options for the house."},
{HelpIDHouses, "In this menu, you can change the name of the house, upgrade the house to a higher level, buy and sell vehicles,"},
{HelpIDHouses, "buy vehicle insurance and exit the house."},
{HelpIDHouses, "You can also sell the house if there are no more vehicles connected to the house."},
{HelpIDHouses, "Selling a vehicle refunds 50% of the price you've paid for it."},
{HelpIDHouses, "This excludes any moddings you have applied to the vehicle."},
{HelpIDHouses, " "},
{HelpIDHouses, "Also, you can open your house to the public. By doing so, anyone can enter your house."},
{HelpIDHouses, "Closing the house will only allow the owner to enter the house."},
{HelpIDHouses, "This way, you can invite your friends at your house. If they want to leave the house, they also have to use"},
{HelpIDHouses, "the \"/housemenu\" command. They're given the same menu as the owner, except only \"Exit house\" will work"},
{HelpIDHouses, "for your visitors."},
{HelpIDInsurance, "The vehicle insurance is pretty important to buy. This insures your vehicles in case they're destroyed."},
{HelpIDInsurance, "The insurance can be bought at your house for 10% of the buying price of the house."},
{HelpIDInsurance, "A vehicle can be destroyed by getting damage or by driving it into the water."},
{HelpIDInsurance, "If you don't have insurance, your destroyed vehicle is lost, you don't get it back."},
{HelpIDInsurance, "If you're insured, the vehicle is returned to you with full health and gas-tank."},
{HelpIDInsurance, " "},
{HelpIDInsurance, "When you buy a vehicle, the vehicle is connected to the house from which you've bought the vehicle."},
{HelpIDInsurance, "If you have 2 houses and only your first house has insurance, it will not insure the vehicles of the second house."},
{HelpIDBuyingVehicles, "Players can buy vehicles once they have earned enough money to buy a house first."},
{HelpIDBuyingVehicles, "Entering your house and using the \"/housemenu\" command will allow you to buy vehicles."},
{HelpIDBuyingVehicles, "The vehicles are connected to the house from which you've bought them."},
{HelpIDBuyingVehicles, "Once you've bought a vehicle, you can exit your house and use the \"/getcar\" command to spawn it."},
{HelpIDBuyingVehicles, "Now you can drive your vehicle to a desired spot where you can park it permanently using the \"/park\" command."},
{HelpIDBuyingVehicles, " "},
{HelpIDBuyingVehicles, "Bought vehicles can also be modded (tuned) with spoilers, nitro, other wheels, and much more."},
{HelpIDBuyingVehicles, "Just visit a modding garage and apply the tunings to your vehicle."},
{HelpIDBuyingVehicles, "The tunings will be saved when you exit the game, so don't worry about losing them."},
{HelpIDBuyingVehicles, " "},
{HelpIDBuyingVehicles, "When you exit the game, your vehicles will be unloaded, so other players cannot ruin them."},
{HelpIDBuyingVehicles, "Also, when you're logged in, your vehicles will be loaded again."},
{HelpIDBuyingVehicles, " "},
{HelpIDBuyingVehicles, "Your vehicles cannot be driven by other players, they will be kicked out if they're not the owner of the vehicle."},
{HelpIDBuyingVehicles, "Other players can take place in a passenger seat though."},
{HelpIDRentingVehicles, "Players who don't have a house yet, can rent a vehicle."},
{HelpIDRentingVehicles, "Go to Wang Cars in Doherty, San Fierro to rent a vehicle."},
{HelpIDRentingVehicles, " "},
{HelpIDRentingVehicles, "When you rent a vehicle, ownership is transferred to you."},
{HelpIDRentingVehicles, "This doesn't mean you can keep the vehicle."},
{HelpIDRentingVehicles, "It only means that you can be the only driver of the vehicle."},
{HelpIDRentingVehicles, " "},
{HelpIDRentingVehicles, "Rented vehicles cost 10% of the buying price of a vehicle."},
{HelpIDRentingVehicles, " "},
{HelpIDRentingVehicles, "If you already have a rented vehicle, the first one is impounded."},
{HelpIDRentingVehicles, "You cannot have 2 rented vehicles at the same time."},
{HelpIDRentingVehicles, "Also, when you logout, the rented vehicle will be impounded."},
{HelpIDRentingVehicles, "Logging in again won't give it back to you."},
{HelpIDBusinesses, "Players can also buy up to 2 businesses."},
{HelpIDBusinesses, "As houses, a business can be upgraded, the maximum upgrade-level for a business is 5."},
{HelpIDBusinesses, " "},
{HelpIDBusinesses, "Owning a business earns you a steady but low amount of cash every hour."},
{HelpIDBusinesses, "Your business also earns money when you're offline."},
{HelpIDBusinesses, "Upgrading a business earns more money every hour."},
{HelpIDBusinesses, "For every level, the earnings per hour are increased."},
{HelpIDBusinesses, "For the maximum level (level 5), a business earns 5 times the money it earned when the business was level 1."},
{HelpIDBusinesses, " "},
{HelpIDBusinesses, "There are different kinds of businesses. Each kind earns a different amount of money per hour."},
{HelpIDBusinesses, "The most profitable business is the casino. This business earns $250 per hour, that's $6000 each day."},
{HelpIDBusinesses, "Upgraded to level 5, this business earns $1,250 per hour, or $30,000 each day."},
{HelpIDBusinesses, "The downside is that a casino costs alot of money to buy."}
// {HelpIDBusinesses, "xxxxxxxxxxxx"},
};
// This array holds the vehicle-colors
new AVehicleColors[][10] =
{
{"{000000}"}, {"{f5f5f5}"}, {"{2a77a1}"}, {"{840510}"}, {"{253739}"}, // Colors 0, 1, 2, 3, 4
{"{87446f}"}, {"{d68f11}"}, {"{4c75b7}"}, {"{bdbdc5}"}, {"{5e7072}"}, // Colors 5, 6, 7, 8, 9
{"{46597a}"}, {"{66697a}"}, {"{5e7e8d}"}, {"{58595b}"}, {"{d6dbd5}"}, // Colors 10, 11, 12, 13, 14
{"{9ca1a4}"}, {"{34603f}"}, {"{740e1b}"}, {"{7c0a2b}"}, {"{a09d94}"}, // Colors 15, 16, 17, 18, 19
{"{3b4e79}"}, {"{732e40}"}, {"{691e3c}"}, {"{96918d}"}, {"{515459}"}, // Colors 20, 21, 22, 23, 24
{"{3f3e46}"}, {"{a5a9a8}"}, {"{645c5a}"}, {"{3c4969}"}, {"{969591}"}, // Colors 25, 26, 27, 28, 29
{"{431f21}"}, {"{5f272a}"}, {"{8494ab}"}, {"{757a7d}"}, {"{646464}"}, // Colors 30, 31, 32, 33, 34
{"{5b5853}"}, {"{252527}"}, {"{2e3a36}"}, {"{93a398}"}, {"{6d7a8a}"}, // Colors 35, 36, 37, 38, 39
{"{28201e}"}, {"{6f6860}"}, {"{7c1c28}"}, {"{600a15}"}, {"{193828}"}, // Colors 40, 41, 42, 43, 44
{"{5c1b1f}"}, {"{9c9872}"}, {"{7a7561}"}, {"{989586}"}, {"{acb0b1}"}, // Colors 45, 46, 47, 48, 49
{"{848a88}"}, {"{305045}"}, {"{4e6368}"}, {"{162248}"}, {"{282f4c}"}, // Colors 50, 51, 52, 53, 54
{"{7e6257}"}, {"{9fa4aa}"}, {"{9c8d70}"}, {"{6e1821}"}, {"{4e6881}"}, // Colors 55, 56, 57, 58, 59
{"{9c9d98}"}, {"{907347}"}, {"{661d26}"}, {"{949c9f}"}, {"{a3a8a4}"}, // Colors 60, 61, 62, 63, 64
{"{8f8c47}"}, {"{331a1d}"}, {"{697a8a}"}, {"{aaad8e}"}, {"{ac988f}"}, // Colors 65, 66, 67, 68, 69
{"{86202e}"}, {"{708298}"}, {"{585953}"}, {"{9aa68e}"}, {"{601a1a}"}, // Colors 70, 71, 72, 73, 74
{"{21212d}"}, {"{a4a097}"}, {"{ab9d83}"}, {"{78222b}"}, {"{0e326e}"}, // Colors 75, 76, 77, 78, 79
{"{722a40}"}, {"{7a715f}"}, {"{741c28}"}, {"{1d2f31}"}, {"{4e322f}"}, // Colors 80, 81, 82, 83, 84
{"{7d1b44}"}, {"{2f5b20}"}, {"{395a83}"}, {"{6c2837}"}, {"{a7a28f}"}, // Colors 85, 86, 87, 88, 89
{"{b0b2b1}"}, {"{364155}"}, {"{6d6d6f}"}, {"{0f6a89}"}, {"{204b6d}"}, // Colors 90, 91, 92, 93, 94
{"{2c3d57}"}, {"{0000FF}"}, {"{6d8494}"}, {"{4d5c5f}"}, {"{ac9b7f}"}, // Colors 95, 96, 97, 98, 99
{"{416c8f}"}, {"{20253b}"}, {"{ac9277}"}, {"{124574}"}, {"{96816c}"}, // Colors 100, 101, 102, 103, 104
{"{64686b}"}, {"{115083}"}, {"{a19984}"}, {"{385694}"}, {"{525661}"}, // Colors 105, 106, 107, 108, 109
{"{7e6956}"}, {"{8d919a}"}, {"{596d86}"}, {"{483433}"}, {"{456250}"}, // Colors 110, 111, 112, 113, 114
{"{730a28}"}, {"{223556}"}, {"{630d1a}"}, {"{a3adc6}"}, {"{6a5854}"}, // Colors 115, 116, 117, 118, 119
{"{9b8a80}"}, {"{620b1c}"}, {"{5c5d5f}"}, {"{634428}"}, {"{741827}"}, // Colors 120, 121, 122, 123, 124
{"{1c376e}"}, {"{00FF00}"} // Colors 125, 126
};