- Required Dependencies
- https://chaoscode.io/resources/chaos.321/
This plugin requires the Chaos extension -> https://chaoscode.io/resources/chaos.321/
Create taxi's driven by NPC's that players can call to drive them around the map
Travelling down connected roads
Travelling down unconnected roads/offroad
Simple obstacle avoidance
How it works
When a player calls a taxi it will spawn nearby and drive to them.
The player then enters the taxi and sets their destination by placing a marker on the map.
The route is then generated and the fare is calculated. The fare cost is based on the length of the route and the config option "Scrap cost per 1km travelled"
The player then can either get out of the taxi, change their destination, or type /payfare to begin travelling to the map marker.
About the Taxi
Taxi's will always favour travelling on a road or trail.
You can only summon taxi's when you are near a road or trail.
Destinations can only be set near a road or trail.
In the event that the road the destination is set to is not connected to the road they are starting at the taxi will drive off road finding the path lowest cost path (minimal slopes, avoiding monuments, etc)
Taxi's are equipped with collision sensors and obstacle avoidance, but it's not perfect.
If the taxi is travelling off road and drives in to tree's it can not avoid it will knock them down
Permissions
npctaxi.use - Required to call a taxi
npctaxi.nocost - Players with this permission will not be charged for their trip
npctaxi.nocooldown - Players with this permission will not be subject to the cooldown period after using a taxi
There are other customizable permissions in the config to set custom fare costs for VIPs
Commands
/taxi - Calls a taxi to your position
/payfare - After you have set your destination use this command to pay the fare and begin travelling to your destination
Config
Create taxi's driven by NPC's that players can call to drive them around the map
Travelling down connected roads
Travelling down unconnected roads/offroad
Simple obstacle avoidance
How it works
When a player calls a taxi it will spawn nearby and drive to them.
The player then enters the taxi and sets their destination by placing a marker on the map.
The route is then generated and the fare is calculated. The fare cost is based on the length of the route and the config option "Scrap cost per 1km travelled"
The player then can either get out of the taxi, change their destination, or type /payfare to begin travelling to the map marker.
About the Taxi
Taxi's will always favour travelling on a road or trail.
You can only summon taxi's when you are near a road or trail.
Destinations can only be set near a road or trail.
In the event that the road the destination is set to is not connected to the road they are starting at the taxi will drive off road finding the path lowest cost path (minimal slopes, avoiding monuments, etc)
Taxi's are equipped with collision sensors and obstacle avoidance, but it's not perfect.
If the taxi is travelling off road and drives in to tree's it can not avoid it will knock them down
Permissions
NPCTaxi uses Oxides permission system
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
npctaxi.nocost - Players with this permission will not be charged for their trip
npctaxi.nocooldown - Players with this permission will not be subject to the cooldown period after using a taxi
There are other customizable permissions in the config to set custom fare costs for VIPs
Commands
/taxi - Calls a taxi to your position
/payfare - After you have set your destination use this command to pay the fare and begin travelling to your destination
Config
The configuration file can be found in your server directory at .../oxide/config/NPCTaxi.json
The use of an editor and validator is recommended to avoid formatting issues
The use of an editor and validator is recommended to avoid formatting issues
C#:
{
"Scrap cost per 1km travelled (permission -> cost)": [
{
"Permission": "npctaxi.use",
"Cost": 50
},
{
"Permission": "npctaxi.vip1",
"Cost": 25
},
{
"Permission": "npctaxi.vip2",
"Cost": 10
}
],
"Cost type (Scrap, ServerRewards, Economics)": "Scrap",
"Are taxi vehicles invincible?": true,
"Maximum allowed taxi's at any given time": 2,
"Maximum time the taxi will wait for the player to enter before leaving": 45,
"Amount of time from when the player leaves a taxi until they can call another one (seconds)": 60,
"Taxi Vehicle Settings": {
"Chassis Type (0 = TwoModule, 1 = ThreeModule, 2 = FourModule)": 1,
"Modules (item shortname)": [
"vehicle.1mod.cockpit.with.engine",
"vehicle.1mod.taxi",
"vehicle.1mod.taxi"
],
"Engine component tier (1 - 3)": 3,
"Driver clothing items": [
{
"Shortname": "pants",
"SkinID": 0
},
{
"Shortname": "boots",
"SkinID": 0
},
{
"Shortname": "shirt.collared",
"SkinID": 0
},
{
"Shortname": "movembermoustache",
"SkinID": 0
}
]
},
"Pathfinder Debug": false,
"Version": {
"Major": 0,
"Minor": 1,
"Patch": 4
}
}