Jump to content
mgm

Taxi & Bus | Transport for Arma

Recommended Posts

PROJECT ON HOLD - TO BE RESUMED ONE DAY...

 

 

TRANSPORT FOR ARMA

 

INTRODUCTION
This script bring the following functionality:

  1. [READY] Players can call an AI piloted land vehicle TaxiAnywhere and request it to take you to a point on map which YOU CHOOSE BY CLICKING ON MAP.
    Upon reaching destination AI-controlled-taxi-vehicle will stop and you can disembark. The taxi will then ride away and despawn away from player (for immersion).
     
  2. [READY] Players can call an AI piloted land vehicle FixedDestinationTaxi and request it to take you to ONE OF THE FEW PRE-CHOSEN (by ServerAdmin) points on map.
    Upon reaching destination AI-controlled-taxi-vehicle will stop and you can disembark. The taxi will then ride away and despawn away from player (for immersion).
     
  3. [WIP] Players can embark an AI piloted land vehicle PublicBus and it will automatically drive on its PRE-CHOSEN BUS ROUTE (by ServerAdmin).
    When a player wish to disembark, they can request a STOP-VEHICLE via the TfA-GUI & allow them to disembark. The bus will then ride away and carry on looping its route.


PAYMENT SYSTEM NOTES

  • Taxi Anywhere Taxis    :    Initial Booking Fee + 1st Mile Fee + Pay-as-you-Go Fee    -- ServerAdmin can customize or disable any of the fees.
  • Fixed Destination Taxis    :    'Single Fee'             -- Fee is calculated on the fly according to a pricing mechanism. ServerAdmin can customize or disable this fee.
  • Public Buses        :    'Single Fee'            -- ServerAdmin can customize/disable the fee on any/all BusRoutes.

 

LICENSE
GNU GPL v3. You can do whatever you want with this mod as long as you give the same freedom to others on your derivative works.

 

DOWNLOAD

29 Jan 2017 - git repo is gone. direct link to the last package (v.0.6.5b2 from 18th May 2016) http://www.filedropper.com/mgmtfav065build2
18th May 2016 - New version v.0.6.5b2 available!
Release package direct link to 7zip archive file: https://gitlab.com/themgm/Transport_for_Arma/blob/master/release_packages/_autogenerated/v.0.6.5.build2/mgmTfA_v.0.6.5.build2.7z
Installation Instructions: https://gitlab.com/themgm/Transport_for_Arma/blob/master/documentation/INSTALLATION_INSTRUCTIONS.txt
Link to release directory where you can download the three additional files to verify integrityhttps://gitlab.com/themgm/Transport_for_Arma/tree/master/release_packages/_autogenerated/v.0.6.5.build2
If you try this script, please let me know what you think :)

 

 

FEEDBACK / SUGGESTIONS / BUG REPORTS / SUPPORT
Please post in this thread.


 

See it in action! Click below to go to post #2 - VIDEOS

 

 

last edit:
29 Jan 17 - added latest version link & clarified project status.

Share this post


Link to post
Share on other sites

reserved.

old stuff

Mods, This is an intentional separate post to enable direct hyperlink'ing to the content. Please do not merge this post with the others. Thank you.

VIDEOS

[video #1] Map Markers: "Taxi going to (self) termination"

Below is the first YouTube video that finished uploading...

This video featuring Map Markers in which basically members of a special group (called totalOmniscience) can see everything related to Transport for Arma services on their map.

  • totalOmniscience group members can see all Service Requests from Players
  • totalOmniscience group members can see all Service Units (i.e.: Fixed Destination Taxis + clickNGo Taxis + PublicBuses + Repair/Support Vehicles)
  • The vehicle direction and all other information is updated in real time showing the actual live data about that particular Service Unit.
  • Requestor of a service + customer of a service + his buddies (in the same vehicle) can see the map tracker for their service unit only they cannot see any other service units.
  • Other players (who are not using a Transport for Arma service) cannot see any TfA markers on their maps at all.

[video #2] Map Markers: "Taxi pick up point/drop off point/vehicle current status"

Below is the second YouTube video that finished uploading...

This video is also featuring Map Markers. In this one we can see the pick up point, drop off point, and the current position of the Taxi vehicle along with its status (awaiting get in) and vehicle age + current task age + current task threshold in seconds [the time when driver will stop waiting for the player to get in and go self-destruct, thus open up a new "available driver" slot for other players].

[video #3] Ordering a Fixed Destination Taxi

Note that the player is at a CATP (Call-a-Taxi-Point) - this is a predefined point in the map. By default, the three spawn traders in Altis map.

CATPs are easily configurable, see the screenshots post above, there is a relevant note in the SPOILER under Screenshot: 01_Arrived_at_a_CATP.

Also "Taxi Fixed Destination" list is easily configurable as well, same logic apply.

F3uYNlq.png

[video #4] Map Tracking In Action (a very short video)

1nEQBMY.png

[video #5] Full Demo of clickNGo Feature best video so far

A 3 minute HD video; full demo of clickNGo feature, this was sized 1.5 GB raw video, so consider viewing in HD. What's covered in this video:

  • Player call a taxi by pressing INS key (configurable).
  • Taxi & driver is created, driver go to pick up the player, unlock the doors and send a message to the player: Your Taxi is here please get in
  • Player get in, doors get auto locked.
  • AI driver start driving towards destination. When vehicle is close to destination, doors auto-unlock.
  • Player get off, driver must self-destruct ASAP to free up a driver slot. He picks a random termination point and start driving towards that spot but first says bye using the horn :)
  • We see map updates during the whole journey.
I was writing to a NAS on a busy and old computer so there are some frame drops, sorry about that!

UzBhZn3.png

.

Share this post


Link to post
Share on other sites

reserved.

old stuff

Transport for Arma

 

 

 

Hey,

 

It is over a month now that I spend ~ 100% of my Epoch gaming time, mostly hours stolen to nights and weekends, working on a new Taxi & Bus system.

 

This script is set out to put an end to transport problem in Arma and it’s so very creatively called Transport for Arma.

Personally I will use this script with Epoch mod only but I can't see why this script can't be used in vanilla Arma and/or other mods hence the Arma bit in the name rather than Epoch...

 

I still I don’t feel like it’s ready to be released. Since I can’t ship, I’ll at least blog… so here's the story of how it started and some details about what it is, how it does what it does and so on.

 

Current code base sits at about 3000 lines (comments excl.) and I've an implementation of:

  • 95% of what I call Fixed Destination Taxis
  • 95% of what I call clickNGo Taxis
  • 0% of Public Bus System (however due to code reusability I believe I actually have about 50% of bus system in place)
  • 0% of potential feature: "admin-tool: send a taxi to Player"
  • 0% of potential feature: repair support vehicle
SCRIPT HISTORY

1. Well, it started long time ago when I saw axeman's original "bus script" here: http://opendayz.net/threads/dayz-arma-ai-controlled-bus-route.12569/

What an amazing concept?! I wanted to get on an AI vehicle and ride around so bad but never got around to even testing it (lazy me).

As I am no scripter I did nothing on it and it was pretty much forgotten...

2....until 5nine revealed long lost love with his taxi script 

 

3. After poking 5nine several times #entry206278, page-2#entry206553 and page-2#entry209174 (well page-2#entry210860 too) I eventually decided I could no more wait for this life critical script and started writing my own.

My Initial Detailed Planning

Having zero scripting experience -I'm not sure why-, at the time, I somehow decided a quick weekend hack would enable me with a working prototype.

Original idea was not to release it ever so I wasn't gonna mind if it only worked from a certain spot with possible errors on screen etc. as long as it took me from A to B I was gonna be happy!

 

With no documentation, no proper error checking etc. I could write a quick hack in about 2.5 days, right?

Well, after about 32.5 days, I can give you an authorative answer: NO. Not even close.

 

Current Status

I have been enjoying the challenge and learning about Arma scripting however. I am hoping to bring this to a usable state and release so that if anybody wants it, they can use it in its initial released form and hopefully a deriative work can make it even better.

Share this post


Link to post
Share on other sites

hey bud if you would like a live test server to try it out let me no I would be more than happy to help you out

Thanks viper, I will release the code in Alpha state when it's 3rd party usable. I will be most grateful if you try it and report any issues as well as suggestions so we can have a better solution hopefully...

 

 

Wow that looks brilliant!! I would also be more than willing to test this out for you if you'd like?

 

Cant wait to see this in action!

Thanks R4ziel, as per above, all interested server owners will have access to the initial open Alpha and I will be very happy if more people test at the same time.

 

 

 

Update: I noticed video link for video #4 was broken - fixed now...

Share this post


Link to post
Share on other sites

Hi Mgm! Good work! its Epah Friendly?

EDIT:

 

Sorry, I read your EPAH as 'Epoch' somehow - let me start over...

 

I'm currently developing it in vanilla Arma (it is much quicker to restart server & test things) this being the case I haven't tested with Epoch AntiHack at all and I don't know how it will behave.

 

My guess is that it will not work with Epoch AntiHack (for non-admin players) because my limited knowledge of Epoch AH is: it's a closed box and doesn't allow non-admin players to do 'magic' things via addons.

Players will only "get in a vehicle" however they need to be able to call a taxi first; calling a taxi requires clientPC to execute some code, I assume Epoch AH will (as usual) decide that they are "hacking" and kick/ban them.

 

tl;dr Unless Epoch AH becomes more permissive I will have to disable Epoch AH on my server, yes it sucks but life without taxis suck more (for my taste).

Share this post


Link to post
Share on other sites

This looks amazing MGM, really good work. Would also like to test and provide assistance where possible for you. PM me if interested. Server is WWCY - We Will Cut You. Epoch 0.3.0.1

that  server name is scary, hope most noobs not running away? :)

thanks for your kind words. I have received good feedback in this thread and via PM so far so I think I will release sooner than my initial plan.

 

I will postpone a major feature [public buses] and a eye candy feature [repair/support vehicles] and just go ahead & release a "working" basic taxi script version.

I can add the buses and the eyecandy later in the background I guess.

Share this post


Link to post
Share on other sites
I have a good update: clickNGo feature is now also complete, meaning you can call a Taxi from anywhere on the map to anywhere on the map without requiring "call a taxi point" or "taxi fixed destination".
I still like the CATP/fixed destination service as it can be used as bambi support service or in a million other 'limited scope' scenarios.
clickNGo is useful for those who want 'traditional' taxi service on their server.
 
 
I've also recorded about a 3 minute HD video, a good full demo of this feature calling taxi + travel + getting off + map updates during the journey. Video size is 1.5 GB though so hopefully in 3-4 hours you should see the video at the YouTube link below... I was writing over a NAS  on a busy and old computer so there are some framedrops, be warned :)
 

Share this post


Link to post
Share on other sites

Interested in testing this out. Been using the other Taxi service and players are giving all positive marks, but they want to be able to go more places and not have it break so much. So think they'd like this script even better.

Share this post


Link to post
Share on other sites

UPDATE: I took the plunge and finally moved my code [which was developed on vanialla Arma3] to Epoch and created an autostart addon. project is much closer to an alpha release now...

 

 

 

Interested in testing this out. Been using the other Taxi service and players are giving all positive marks, but they want to be able to go more places and not have it break so much. So think they'd like this script even better.

Planning to release soon, will be happy if you test it out and provide feedback :)

 

 

If you are locked in the vehicle, what happens if someone attacks the taxi and disables it?

Good point.
Locking doors does remove the GET OUT actionMenu option.

Locking doors does not remove the EJECT actionMenu option.

After consideration I have decided to keep the EJECT actionMenu option there; in cases of emergency players will not have to wait for AI driver to action; they can immediately leave the vehicle.

Locking doors is more about keeping other players (especially those with trolllic behaviour) out rather keeping the requestor in.

I do have some code to support multiplayer rides, an access control list [requestor and buddies] exist in the system but it is not tested yet.

I guess I will focus on these after the initial public alpha release.

 

 

While on the topic:

A minor down side of keeping EJECT actionMenu option as is, is that players can accidentally eject.

This accidental eject has happened to me only once in my testing (of probably 1000 test travels - and possibly at 2 AM!) thus my current opinion is it's not a big deal nevertheless it would be good to have some  mechanism against accidental eject.

Obviously if players eject when vehicle is travelling at 160 km/h then there won't be much to 'recover' however at lower speeds, an accidental EJECT usually lead to minor injury or no impact at all but player loses his paid ride. My plan is making the AI driver aware of the situation so he can stop, unlock the doors and wait for the accidental ejector to get back in [for a threshold].

This is already a lower priority TODO item in  my notes.

 

 

Below is the details on the expiry mechanic if anyone is interested...

 

In TfA a job can be in one of the many phases as defined in relevant workflow files (and copied to the spoiler below)

// Current Action In Progress for: clickNGo Taxis
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs00TextString										= "Awaiting Init Clearance"						;
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs01TextString										= "Driving to Requestor"						;
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs02TextString										= "Awaiting Get In"							;
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs03TextString										= "Awaiting Payment"							;
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs04TextString										= "Driving to Requested Destination"				;
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs05TextString										= "Awaiting Get Off"							;
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs06TextString										= "Driving to Termination"						;
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs07TextString										= "At Termination"							;
mgmTfA_configgv_currentclickNGoTaxiActionInProgressIs08TextString										= "Terminated (Map Marker In Deletion Queue)"		;

As it stands, in version 0.2.4, this script already has expiry thresholds; each phase (or task/action) has a pre-determined threshold, as defined in the masterConfig file (and copied to the spoiler below).

//--------------------------------------------------------------------------------
// EXPIRY TIMEOUT THRESHOLDS
mgmTfA_configgv_expiryTimeOutThresholdfixedDestinationTaxiOnTheWayToPickingUpRequestorInSecondsNumber		= 180									;
mgmTfA_configgv_expiryTimeOutThresholdclickNGoTaxiOnTheWayToPickingUpRequestorInSecondsNumber			= 180									;

mgmTfA_configgv_expiryTimeOutThresholdfixedDestinationTaxiRequestorIsNotHereInSecondsNumber				= 90										;
mgmTfA_configgv_expiryTimeOutThresholdclickNGoTaxiRequestorIsNotHereInSecondsNumber					= 90										;

mgmTfA_configgv_expiryTimeOutThresholdfixedDestinationTaxiRequestorOutsideVehicleInSecondsNumber			= 90										;
mgmTfA_configgv_expiryTimeOutThresholdclickNGoTaxiRequestorOutsideVehicleInSecondsNumber					= 90										;

mgmTfA_configgv_expiryTimeOutThresholdfixedDestinationTaxiRequestorHasNotPaidInSecondsNumber				= 90										;
mgmTfA_configgv_expiryTimeOutThresholdclickNGoTaxiRequestorHasNotPaidInSecondsNumber					= 90										;

mgmTfA_configgv_expiryTimeOutThresholdfixedDestinationTaxiOnTheWayToDropOffInSecondsNumber				= 900									;
mgmTfA_configgv_expiryTimeOutThresholdclickNGoTaxiOnTheWayToDropOffInSecondsNumber					= 900									;

mgmTfA_configgv_expiryTimeOutThresholdfixedDestinationTaxiRequestorInsideVehicleInSecondsNumber				= 90										;
mgmTfA_configgv_expiryTimeOutThresholdclickNGoTaxiRequestorInsideVehicleInSecondsNumber					= 90										;

mgmTfA_configgv_expiryTimeOutThresholdfixedDestinationTaxiOnTheWayToTerminationInSecondsNumber			= 240									;
mgmTfA_configgv_expiryTimeOutThresholdclickNGoTaxiOnTheWayToTerminationInSecondsNumber					= 240									;
//--------------------------------------------------------------------------------

We do not expect, for example, driving to Requestor action to take more than 90 seconds. If it does, something is wrong and Service Unit should deal with it.

Service Units do eject all passengers before doing anything drastic such as self-destruction so no players get harmed.

Share this post


Link to post
Share on other sites

UPDATES

  1. [forum enhancement]: this forum thread updated; 1st post tidied up, details moved to 4th post.
  2. [forum added]: Screenshot #09 added to above.         Showing multiple clickNGo Taxis in action in map tracking mode.
  3. [forum added]: Video #05 added to                                  This is a full demo of the clickNGo feature.
  4. [script enhancements]: A big step! Finally moved to Epoch autostart addon container format [was using Arma 3 SQF up until this point]. Many small enhancements new configuration options.
  5. [script bugfix]: 2nd and any future clickNGo vehicles didn't have working dropOffMarker, this is now fixed.

 

BIG THANKS to nedfox for providing [which is basically Epoch autostart addon container package] for other modder, this saved me several hours!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Similar Content

    • By ViktorReznov
      So here I am going to post what I have been working on for quite a while now, well started some 4 months ago, and have nearly completely working. I am hoping that posting this here will inspire the community to assist in bringing back this absolute badass ai script to life.
      This is the stock 1.5.2 SargeAI Framework that you can still download. Right out of the box it does "function" in Epoch 1.0.6.1 but with an extreme amount of errors. I have already modified this version to eliminate most errors, however, most of the Urban Patrol Script is broken. Here is where we begin to demolish the myth that Sarge is dead!
      https://github.com/Arstan13/SargeAI-Genesys
      for install...
      this is nearly fully working. Ive had very limited number of errors to include
       
    • By totis
      Hi
      This is a restriction to vehicle seat according to humanity.
      It may be handy to PVE servers out there.
      Special thanks to Juandayz with his fantastic skills and salival. Both sometimes working unseen for the benefit of this community.
      Step 1.
      Make a new file, Name it veh_hum.sqf with the below contents and put into dayz_epoch/addons folder. If you dont have addons just create one.
      In this example we have a hero superhero and agenthero traders with 20k/40k/60k humanity respectively. Adjust according to your needs.
       
      private ["_vehicle","_inVehicle","_driver","_humanity","_txt"]; while {true} do { _vehicle = vehicle player; _inVehicle = (_vehicle != player); if (_inVehicle) then { _driver = driver (vehicle player); if (({(isPlayer _driver) && (alive _driver)} count (crew _vehicle) > 0)) then { _humanity = _driver getVariable["humanity",0]; if (typeOf _vehicle in DZE_heroHumanity && _humanity <= 20000 || (typeOf _vehicle in DZE_superHeroHumanity && _humanity <= 40000) || (typeOf _vehicle in DZE_agentHumanity && _humanity <= 60000)) then { player action ["getOut", (vehicle player)]; titleText ["","WHITE IN"]; _txt = "<img image='addons\vehicon.paa' /><br/><t size='0.7' color='#ea2828' align='center'>prohibited vehicle</t>"; [_txt, [safezoneX, safezoneW], [0.20 * safezoneH + safezoneY, 0.3 * safezoneH], 2, 0.5] spawn BIS_fnc_dynamicText; }; }; }; sleep 3; };  Step 2: Download this file http://www.mediafire.com/file/bdpt5d96o5cttk3/vehicon.rar
      Unzip and put paa file into addons folder.
      Step 3: Edit your custom variables file    dayz_code/init/variables.sqf
      Put the vehicles you want to restrict below call dayz_resetselfactions; ike this:
      // Custom below s_givemoney_dialog = -1; s_bank_dialog = -1; s_player_checkWallet = -1; s_bank_dialog1 = -1; s_bank_dialog2 = -1; s_player_copyToKey = -1; s_player_claimVehicle = -1; s_collect_heli = -1; }; call dayz_resetSelfActions; DZE_heroHumanity = ["Mi17_rockets_RU","Mi24_D","UH1Y_DZE"]; DZE_superHeroHumanity = ["Mi24_V","Mi24_P","Ka52"]; DZE_agentHumanity = ["AV8B2","AV8B","A10","F35B"]; DZE_safeVehicle = DZE_heroHumanity + DZE_superHeroHumanity + DZE_agentHumanity +["ParachuteWest","ParachuteC"]; Step 4: Edit your init file to exec the script. Above the   (false,12)execVm.... like below
          [] execVM "addons\veh_hum.sqf";
          //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
      Thats it. Enjoy!
        Hide contents
    • By leegreaves
      Im putting up my script for a makeover of the NEAF. I did release this before back with 1.0.5.1. Since 1.0.6.1 has come out I decided to retest to see if it would still be fine , which it is. So im reposting it for anyone who might want to make use of it.
      Just put the following in a new file called NEAF.sqf (or whatever you want to call it and create a new folder called "buildings" (if you dont already have a folder called that) in the root directory of your server pbo.
      In your server_functions.sqf file in your init folder add the following to the bottom:
      call compile preProcessFileLineNumbers "\z\addons\dayz_server\buildings\NEAF.sqf";
      I do ask that the credits ARE left in this file and that no other person claims credit for this version of a better North East Airfield.
      NEAF.sqf:
       
      Link to original post which includes images of NEAF:
       
    • By leegreaves
      I've just started a new project (well my 2nd one!) which is gonna take a good while. I've envisioned this to be a BIG undertaking of a project by someone who, I would consider myself , is quite an inexperienced content creator. But and a BIG but (NO! Not my arse its not that big i mean the project!) I wanted to create something that would have people eager to go and explore. Anyway this project is gonna be a a difficult project to create, plus I only started it yesterday. I also wanted to give people an idea of what to look forward to, so made a preview video. You will see literally nothing but the blank canvas (other than the first few stone wall foundations) I am using and my idea was to give people an idea of the potential this custom "base" will bring to Chernarus. Anyway, apparently this base is being built in an undisclosed and restricted area of Chernarus and as such, I am not allowed to disclose its location to the general population, but as you can see from this early footage, you may get clues as to where it is. The base wont be open for at least 3 or 4 or even more weeks as I hear the construction employees in that area are always on strike for some stupid little reason or taking tea breaks or having an afternoon kip (Typical Bloody British attitude I hear you all say!) but I have heard on the grapevine that once its finished there will be a small "Premiere" released along with some high definition satelite imagery to show everyone what the finished area looks like. Once completed it'll be available to explore on a single server for a week or two before I consider releasing the blueprints for others to use (that ALL depends how good you can say "Pretty Please" :-P ).
       
      Anyway take a peek...
       
  • Advertisement
  • Donation Box

    Please donate to support the community.
    We appreciate all donations!
  • Advertisement
  • Supporters
  • Latest Donations

  • Advertisement
  • Discord

×