https://www.youtube.com/watch?v=XHnP58sKHTIRent Tractor
Seeding with Planter
Harvesting with Harvester
Baling with Round Baler
Collecting Bales with Trailer
Storing Bales with Forklift
This system is designed for farm management. Players work on the farm and receive payment for each task. They are free to choose any stage, work as much as they like, and stop whenever they wish.
Fields operate based on a row system. Once a player starts working on a row, they must complete it. Each row consists of multiple parcels, and when a player finishes, they are paid based on the number of parcels completed.
The farming process includes Planting → Harvesting → Baling → Bale Collection → Bale Storage. Players can participate in any stage independently, each involving a different rented vehicle.
The system encourages teamwork, with multiple players handling different stages in sequence, such as planting, harvesting, baling, collecting bales, and transporting them to storage.
To start working, players must rent a tractor, planter, harvester, baler, bale trailer, or forklift. A deposit is charged and refunded if the vehicle is returned properly.
If the player leaves the server, disconnects, or moves too far from the vehicle, the rental is cancelled and the deposit is not refunded.
A rental fee is also charged when the vehicle is rented, and the system continues to charge automatically as time progresses.
These systems ensure efficient vehicle use and balanced server resource management.
Players are paid for each row they complete, based on the number of parcels and the payment per parcel.
Example: If a row has 30 parcels and pays 52 per parcel, the player earns 30 × 52 = 1560.
Payment rates can be adjusted in config.lua
under PLT.Payments
. Each job type has its own payment value. Additionally, config.lua
defines how many parcels a player can complete per hour. Upon script restart, the server console shows estimated hourly income and rental costs.
The script includes a company account system that updates automatically based on player payments and rental transactions.
Grains and bales produced by players are stored in the company warehouse. The company owner can sell them to generate income. Sale prices are configurable in config.lua
.
I have optimized the script as much as possible, but achieving perfect performance is not always feasible in a system with this many detailed objects.
First of all, the script only runs for players who are within the active farming area. Vehicles and field objects are not spawned for distant players, which helps prevent unnecessary resource usage. When outside the active area, the script’s CPU usage remains at 0.00.
When multiple players are working simultaneously, the number of spawned vehicles and objects increases, which can lead to FPS drops. To reduce this, I’ve implemented several in-game optimization toggles that players can control manually.
Additionally, there’s a setting to reduce object density. Instead of spawning all crop and straw objects, only the ones at the beginning of each row are spawned. This greatly reduces the number of scene objects and minimizes performance loss.
If only two or three players are working in the same area, FPS drops are barely noticeable.
Outside the farmig area: 0.00 CPU
inside the farming area During vehicle spawning or field interaction: 0.01 – 0.04 CPU
With markers and drawtext enabled: 0.04 – 0.06 CPU
During active work: 0.05 – 0.12 CPU
During active work with object animations disabled: 0.02 – 0.05 CPU
While the script maintains very low CPU usage under normal conditions, usage may increase depending on the number of active players and spawned objects.
Whenever a player rents a vehicle, all financial actions such as the deposit fee, rental charges, refund upon return, and payments made for completed jobs are automatically logged to Discord via webhook.
Additionally, a system designed for server managers (bosses) provides detailed Discord Webhook logs for the following actions: player payments, deposit collection, cash withdrawals from the company account, and grain or bale sales.
To ensure security during vehicle rentals and returns, the server performs various checks:
If any issues are detected (e.g., player too far from the location, incorrect data, or trying to return a vehicle they didn’t rent), the action is blocked and an alert is sent to server admins via Discord Webhook.
This system prevents abuse and ensures secure rental operations.
During planting, harvesting, and baling stages, the server performs validation checks at both the start and completion of each task:
If any inconsistency is detected, the action is canceled, and the event is reported via Discord Webhook. This system ensures secure task management and prevents abuse.
The crop, bale, and similar objects used during the job process were taken from in-game assets, edited, and optimized for use.
The vehicles used in the script were optimized using some custom modifications based on the original GTA V game assets:
Tractor: The original game tractor model tractor2
has been modified and used.
Planter (Seeding Machine): The prop_sprayer
and prop_plough
objects were modified and integrated into the tractor2
vehicle.
Harvester: A special add-on vehicle was added.
Round Baler (Baling Machine): The prop_roundbailer01
model from the game was modified and turned into a vehicle with a trailer.
Bale Trailer: The original game trailer model was used.
Forklift: The existing forklift model was adjusted to fit the script system.
All vehicles were adjusted as Add-ons to avoid conflicts with other files.
There are no trademark issues related to the vehicles used. The Planter and Baler machines use original in-game props and models such as “Brute” and “HVY” logos, which are already part of the original game files.
The terrain of all farming areas has been adjusted to make it more suitable for gameplay. The surfaces of the fields have been flattened and optimized to ensure players can work comfortably.
The crops, bales, and similar objects used during work were taken from the game, modified, and optimized for use.
A total of 40 assets are added.
In the MLO interior, appropriate areas use the original GTA V prop objects. Additionally, objects taken from the GTA V ranch house and the Cayo Perico Island interiors have been adjusted and placed to fit the scene.
In the MLO interior, appropriate areas use the original GTA V prop objects. Additionally, objects taken from the GTA V ranch house and the Cayo Perico Island interiors have been adjusted and placed to fit the scene.
Outside the MLO area, 90% of the objects used are original game objects from the same region. These objects have been relocated and adjusted to fit the new scene. Additionally, some trees, lighting, and decorative objects have been added to enhance the atmosphere of the scene.
A total of 45 assets are added. Polygons: 12 objects (0–1K), 12 objects (1K–2.5K), 11 objects (2.5K–5K), 4 objects (5K–10K), 3 objects (10K–15K)