//************************************************************************************************************************************
// Keep the values and assignments below this line to what they are
//************************************************************************************************************************************
// 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 VehicleDumper 406 // Dumper
#define VehicleYankee 456 // Yankee
#define VehicleBoxville 498 //Boxville1
#define VehiclePacker 443 //Packer
#define VehicleTrashmaster 408 // Kukás kocsi
#define VehicleLandstalker 400 // terepjáró
#define VehicleBarracks 433 // Katonai kamion
#define VehicleBerkley\'s RC Van 459 // Kisteherautó
#define VehicleRumpo 440 // Kisteherautó
#define VehiclePony 413 // Kisteherautó
#define VehiclePizza 448 // Pizzaboy (pizzásrobogó)
#define VehicleNrg 522 // NRG-500
#define VehicleInfernus 411 // Infi
#define VehicleCross 468 // Sanchez
// 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 6
#define PCV_PilotPlane 7
#define PCV_PilotHelicopter 8
#define PCV_MafiaVan 9
#define PCV_TruckerDumper 10
#define PCV_TruckerMatya 11
#define PCV_TruckerKukas 12
#define PCV_TruckerPacker 13
#define PCV_TruckerKatona 14
// 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 truckers
#define Trucker_TimeToFailMission 60
// Defines for busdrivers
#define BusDriver_TimeToFailMission 60
// Defines for mafia
#define Mafia_TimeToFailMission 60
// Defines for all classes
#define Job_TimeToFailMission 60
// Define class-colors
#define ColorClassTruckDriver 0xDDDD2357 // Citromsárga
#define ColorClassBusDriver 0x7CFC00AA // Light blue
#define ColorClassPilot 0x33AA33AA // fekete
#define ColorClassPolice 0x0000FFFF // Blue
#define ColorClassMafia 0x8000FFFF // Purple
#define ColorClassCourier 0xFF0080FF // Pink
#define ColorClassAssistance 0x80FF00FF // Dark green
#define ColorClassRoadWorker 0xFFFF80FF // Light yellow
// 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 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 8
#define CONVOY_MAX_MEMBERS 65
#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[7][25] =
{
{\"Player\"}, // Admin-level 0
{\"Moderátor\"}, // Admin-level 1
{\"Segéd-admin\"}, // Admin-level 2
{\"Admin\"}, // Admin-level 3
{\"csak van\"}, // Admin-level 4
{\"Fõadmin\"}, // Admin-level 5
{\"Scripter/Tulaj\"} //Admin-Level 6
};
// 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
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)
{\"bolt (Small)\", 6, -26.75, -55.75, 1003.6, 500000, 60, 52}, // Type 1 (earnings per day: $1200)
{\"bolt (Medium)\", 18, -31.0, -89.5, 1003.6, 750000, 85, 52}, // Type 2 (earnings per day: $1900)
{\"Bár\", 11, 502.25, -69.75, 998.8, 550000, 65, 49}, // Type 3 (earnings per day: $1800)
{\"Barber (Small)\", 2, 411.5, -21.25, 1001.8, 400000, 45, 7}, // Type 4 (earnings per day: $1500)
{\"Barber (Medium)\", 3, 418.75, -82.5, 1001.8, 800000, 85, 7}, // Type 5 (earnings per day: $1500)
{\"Betting shop\", 3, 833.25, 7.0, 1004.2, 1800000, 190, 52}, // Type 6 (earnings per day: $4300)
{\"Hambruger\", 10, 363.5, -74.5, 1001.5, 150000, 20, 10}, // Type 7 (earnings per day: $500)
{\"Casino (4 Dragons)\", 10, 2017.25, 1017.75, 996.9, 3500000, 360, 44}, // Type 8 (earnings per day: $9000)
{\"Casino (Caligula\'s)\", 1, 2234.0, 1710.75, 1011.3, 3500000, 360, 25}, // Type 9 (earnings per day: $9000)
{\"Casino (Small)\", 12, 1133.0, -9.5, 1000.7, 2500000, 260, 43}, // Type 10 (earnings per day: $6000)
{\"Clothing (Binco)\", 15, 207.75, -109.0, 1005.2, 850000, 90, 45}, // Type 11 (earnings per day: $2100)
{\"Clothing (Pro)\", 3, 207.0, -138.75, 1003.5, 850000, 90, 45}, // Type 12 (earnings per day: $2100)
{\"Clothing (Urban)\", 1, 203.75, -48.5, 1001.8, 850000, 90, 45}, // Type 13 (earnings per day: $2100)
{\"Clothing (Victim)\", 5, 226.25, -7.5, 1002.3, 850000, 90, 45}, // Type 14 (earnings per day: $2100)
{\"Clothing (ZIP)\", 18, 161.5, -92.25, 1001.8, 850000, 90, 45}, // Type 15 (earnings per day: $2100)
{\"Cluckin\' Bell\", 9, 365.75, -10.75, 1001.9, 900000, 95, 14}, // Type 16 (earnings per day: $2300)
{\"Disco (Small)\", 17, 492.75, -22.0, 1000.7, 1400000, 145, 48}, // Type 17 (earnings per day: $3500)
{\"Disco (Large)\", 3, -2642.0, 1406.5, 906.5, 1800000, 185, 48}, // Type 18 (earnings per day: $3800)
{\"Gym (LS)\", 5, 772.0, -3.0, 1000.8, 550000, 60, 54}, // Type 19 (earnings per day: $1400)
{\"Gym (SF)\", 6, 774.25, -49.0, 1000.6, 550000, 60, 54}, // Type 20 (earnings per day: $1400)
{\"Gym (LV)\", 7, 774.25, -74.0, 1000.7, 550000, 60, 54}, // Type 21 (earnings per day: $1400)
{\"Motel\", 15, 2216.25, -1150.5, 1025.8, 1500000, 160, 37}, // Type 22 (earnings per day: $4000)
{\"RCbolt\", 6, -2238.75, 131.0, 1035.5, 600000, 65, 46}, // Type 23 (earnings per day: $1500)
{\"Szexbolt\", 3, -100.25, -22.75, 1000.8, 950000, 100, 38}, // Type 24 (earnings per day: $2500)
{\"Slaughterhouse\", 1, 933.75, 2151.0, 1011.1, 700000, 75, 50}, // Type 25 (earnings per day: $1600)
{\"Stadion (roncsderby)\", 15, -1394.25, 987.5, 1024.0, 2000000, 210, 33}, // Type 26 (earnings per day: $4500)
{\"Stadion (rally)\", 14, -1410.75, 1591.25, 1052.6, 2000000, 210, 33}, // Type 27 (earnings per day: $4500)
{\"Stadion (verseny)\", 7, -1396.0, -208.25, 1051.2, 2000000, 210, 33}, // Type 28 (earnings per day: $4500)
{\"Stadion (Corss)\", 4, -1425.0, -664.5, 1059.9, 2000000, 210, 33}, // Type 29 (earnings per day: $4500)
{\"Striptizbár (Small)\", 3, 1212.75, -30.0, 1001.0, 900000, 95, 48}, // Type 30 (earnings per day: $2000)
{\"Sztriptizbár (Large)\", 2, 1204.75, -12.5, 1001.0, 1050000, 105, 48}, // Type 31 (earnings per day: $2300)
{\"Tetováló\", 16, -203.0, -24.25, 1002.3, 650000, 70, 39}, // Type 32 (earnings per day: $1600)
{\"Pizzéria\", 5, 372.25, -131.50, 1001.5, 750000, 80, 29} // Type 33 (earnings per day: $1800)
};
// 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
VehicleTimer, // The timer used to check if the player exited his vehicle or lost his trailer for more than 60 seconds
VehicleTimerTime, // Holds the remaining seconds for the 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 Depó
{-74.7, -1137.5, 4.5, 0.0}, // Flint Trucking Depó
{1457.0, 975.5, 11.0, 0.0}, // LVA Freight Depó
{-2136.0, -247.5, 36.5, 270.0}, // Doherty Depó
{1766.5, -2040.7, 14.0, 270.0}, // El Corona Depó
{-546.0, 2594.0, 54.0, 270.0}, // Las Payasdas Depó
{332.0, 900.0, 25.0, 205.0}, // Bánya
{-1575.0, -2724.0, 49.0, 146.0}, // Shady Creek Depó
{4414.4, 597.8, 57.4, 0.0}, // Lv szigeti depó
{2925.9, -2452.4, 9.0, 0.0} // Ls dokkoki depó
};
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
{-2197.1, -2154.8, 46.8, 0.0} // Chilliadi depó
};
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, Sid
Dupla hozzászólás automatikusan összefûzve. ( 2013. április 18. - 16:01:10 )
//************************************************************************************************************************************
// Keep the values and assignments below this line to what they are
//************************************************************************************************************************************
// 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 VehicleDumper 406 // Dumper
#define VehicleYankee 456 // Yankee
#define VehicleBoxville 498 //Boxville1
#define VehiclePacker 443 //Packer
#define VehicleTrashmaster 408 // Kukás kocsi
#define VehicleLandstalker 400 // terepjáró
#define VehicleBarracks 433 // Katonai kamion
#define VehicleBerkley\'s RC Van 459 // Kisteherautó
#define VehicleRumpo 440 // Kisteherautó
#define VehiclePony 413 // Kisteherautó
#define VehiclePizza 448 // Pizzaboy (pizzásrobogó)
#define VehicleNrg 522 // NRG-500
#define VehicleInfernus 411 // Infi
#define VehicleCross 468 // Sanchez
// 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 6
#define PCV_PilotPlane 7
#define PCV_PilotHelicopter 8
#define PCV_MafiaVan 9
#define PCV_TruckerDumper 10
#define PCV_TruckerMatya 11
#define PCV_TruckerKukas 12
#define PCV_TruckerPacker 13
#define PCV_TruckerKatona 14
// 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 truckers
#define Trucker_TimeToFailMission 60
// Defines for busdrivers
#define BusDriver_TimeToFailMission 60
// Defines for mafia
#define Mafia_TimeToFailMission 60
// Defines for all classes
#define Job_TimeToFailMission 60
// Define class-colors
#define ColorClassTruckDriver 0xDDDD2357 // Citromsárga
#define ColorClassBusDriver 0x7CFC00AA // Light blue
#define ColorClassPilot 0x33AA33AA // fekete
#define ColorClassPolice 0x0000FFFF // Blue
#define ColorClassMafia 0x8000FFFF // Purple
#define ColorClassCourier 0xFF0080FF // Pink
#define ColorClassAssistance 0x80FF00FF // Dark green
#define ColorClassRoadWorker 0xFFFF80FF // Light yellow
// 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 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 8
#define CONVOY_MAX_MEMBERS 65
#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[7][25] =
{
{\"Player\"}, // Admin-level 0
{\"Moderátor\"}, // Admin-level 1
{\"Segéd-admin\"}, // Admin-level 2
{\"Admin\"}, // Admin-level 3
{\"csak van\"}, // Admin-level 4
{\"Fõadmin\"}, // Admin-level 5
{\"Scripter/Tulaj\"} //Admin-Level 6
};
// 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
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 busi