Jump to content
mgm

Taxi & Bus | Transport for Arma

Recommended Posts

Have you ever continue mgm with a script?

Thanks for your interest. Sorry, I've posted a Transport for Arma development update but I forgot to update this thread!

Here copying the latest news below:

 

<snip>

thanks, my Transport for Arma script coming along really well, hopefully I will have a initial Public Alpha release will be out soon - I just need to write one last module (pay as you go payment system).

I will be glad if you choose to use it as a base for some of your future work!

 

 

As per above, this script is in full steam development. I've just fixed issue #86 - pretty good for a zero user solution, innit? :P

Current internal development version is 0.2.6; the script, as it stands today can do the following:

  • customizable Fixed Destination Taxis feature is working

    from Taxi Callpoint A,B,C player call and get in a taxi, taxi will take him to destination 1,2,3].

    All these A,B,C, and 1,2,3 are configured in masterConfig file.

    Epoch krypto cash based payment system is working.

     

  • customizable clickNGo Taxis feature is working but not fully charging for the entirety of the journey see below.

    from anywhere on map, player call a taxi using a hotkey, taxi will take him to the destination which player will set by clickin on the map].

    Epoch krypto cash based initial fee system is working.

    What is NOT implemented yet:

    THERE IS JUST ONE THING HOLDING THE INITIAL PUBLIC ALPHA RELEASE BACK

    As the Taxi keeps driving, based on TIME (not distance), it will keep charging the player..

    I think this method is good because player picks a destination when ordering the clickNGo Taxi.

    Should the player 'change mind',

    they can shorten a trip that was 'ordered' as a looong trip initially

    or vice versa; can extend a short initial trip to travel from one end of the map to the other.

    Payment will be correct in any case.

    This should take me about a few hours to implement and test.

Possibly this week is the release date I have on mind....

Being tested only by one guy on one server so far, the initial version might tank miserably, so just play with it on your test server.

Install it on your production server at your own risk - no refunds! :)

Share this post


Link to post
Share on other sites

As posted in the Taxi thread, I've decided to publish the script in its current state

i.e. I won't hold alpha release back till I have all major milestones ready such as buses, airtaxis, seataxis, fixers, retaliation units, db hookup if possible and so on (I have a long list).

Looking forward to receiving test run feedback from the early adopters this coming weekend.

Expect bugs & don't hurt my feelings when reporting them lol

It is GNU GPLv3 free software, code will be single-lined for now. I will clean up, document and un-single-line version 1.0.

Share this post


Link to post
Share on other sites

post it on github already! =) i have a airtaxi script in development, maybe we can merge/use your framework?

I had to stay late at work last night which sort of screwed schedule - I am still planning an initial public alpha release this weekend though.

I read axeman's AI bus thread on open dayz from 2013 (all 283 posts). A lot of lessons learned from there technical + the early fork that just happened in his thread. Even though a strong supporter of free software I think I will initially release in obfuscated mode (I already have obfuscation scripts from work, will take 10 mins to adapt). The point is not being a dbag but I don't feel my code is ready to be naked yet lol and really don't need a fork in version zero point something. Of course a dedicated person can unobfuscate it as I won't inject any extra code to thwart attempts but with that effort they can just rewrite from scratch anyway better utilization of their time.

I will open up the unobfuscated and commented code at version 1.0 (if not before) at which point forks and/or code contributions will be most welcome. my point with this is those who want to test/play with it on test servers can start playing while I develop. Scripters can either wait or write their own as it's only 5k lines. Took me about 45 days (to learn coding and code) an experienced scripted can do in a week or two.

Cooperation is quite welcome but due to the above it will have to wait a bit I guess.

Share this post


Link to post
Share on other sites

INITIAL PUBLIC ALPHA RELEASE

 

Release Notes

When I started this project, I wanted to have taxis (on my server) so that every time AI kills me I wouldn't have to RUN like DayZ Stand alone (coin on W key, anyone?)

I didn't want to put this much time into it honestly, just started as a quick weekend 'hack', this was -obviously- a gross exaggeration of my skills.

It is almost funny as I didn't know how to SQF code I was hoping to quickly 'cover the basics' and finish the project over the weekend.

 

In due time, I realized I was way over my head. gitStats tell me in the last 48 days, I was active on this project for 47 days. I did not play Epoch (except testing TfA) for a single minute for the last 48 days.
Fast forward, eventually I made something that -seemingly- works.

 

This is version 0.3.0, in its short (or long?) history of 47 days it features 571 commits containing 11081 lines of code of which 5999 lines is actual (non-comment) code.

A complete rewrite has been enjoyed a great many nights now.

I will continue working on this but I will release it as is - it is becoming more and more clear to me, if I wait for 'completion' you guys will be playing Arma 10 by then...

I think I am trying to do too much for a script as of today I have the following in my notes:

  • TODO TODAY list at the top = 95 items (lol)
  • ADD TO NEXT ALPHA VERSION list = 58 items
  • COMPLETE BEFORE SHIPPING FIRST PUBLIC ALPHA list = 108 items

As I said, I will release now as it is, super-alpha please let me know if you actually try this...

I might suck at initial packing so please let me know if you experience any issues...

 

Initial public alpha release is now available here.

If you test this, please do let me know what you think... I'm very interested in all positive feedback :P

 

some development stats in spoiler.


gitStats for: mgmTfA__DEVELOPMENT_DIR

Generated 2015-04-12 17:25:37 (in 35 seconds)
GeneratorGitStats (version 0f5d9e9)
Report Period 2015-02-24 00:29:47 to 2015-04-12 15:17:54
Age 48 days, 47 active days (97.92%)
Total Files 143
Total Lines of Code 20416 (159732 added, 139316 removed)
Total Commits 571 (average 12.1 commits per active day, 11.9 per all days)
Authors 2 -- 2nd dude is my mobile phone userID :D

Note that gitStats is not good enough in counting # of lines, my own script (which is better for this job) say:
LINES_ALL_TOTAL         : 11081
LINES_ALL_EXCEPT_COMMENTS               : 7327
LINES_COMMENTS          : 3755
LINES_FINAL_ACTUAL_CODE         : 5999


 

Share this post


Link to post
Share on other sites

Looks awesome, mgm nice work!!

Thanks :)

 

update: just cleaned up documented some more the only configuration file. I will (really) upload the files soon, are there any alpha test users available to give it a quick spin and report initial feedback?

at this point worked or didn't work would be a good start as I have doubts about my release engineering process. my make world script is about 90 lines long command chained and looks cryptic.

Share this post


Link to post
Share on other sites

I have noticed the initial public alpha release package had an issue breaking Fixed Destination Taxis feature.

 

This is a regression introduced in The Mad Dash to Initial Public Alpha Release, minutes before the upload - I have since updated the release package.

The faulty release stayed online about 30 minutes if you downloaded this mod immediately after release, your package may be broken.

 

If your Fixed Destination Taxis is not working, please re-download using the sorry for any inconvenience.

 

 

 

 

P.S.: Faulty release package file signature: aad31c0632808b5a6114494ca1b9af74bf1882e8

Share this post


Link to post
Share on other sites

Ok, I will get back to this when I have a little more time but just a quick question I take it the virtual man has to be added to your existing mission.sqm somewhere.

Not really - all you need is few steps there is nothing about mission.sqm in the instructions and it is accurate -- you do not need to add/remove anything to any other file.

As per instructions linked above, just extract the client-side PBO, take out the directory MPMissions\custom\mgmTfA\ and do as the instructions say. If it doesn't work let's meet here :)

 

The directory underlined above contains script1.sqf, script2.sqf, picture1.jpg and so on. You will use your own existing mission.sqm as we don't need to touch (your existing) mission.sqm at all.

 

 

EDIT: Installation instructions updated (improved).

Share this post


Link to post
Share on other sites

Which button is the taxi called with the key "ins" it does not work

Definitely INS working for me.

Do you have the Epoch AntiHack (or any other AntiHack) enabled? Assuming this is a test server, I suggest you turn it off for test purposes, see if it works without AH.

 

Unrelated -just curious- (since you are the first tester) if you go to a spawn trader, can you see the 'Taxi Dispatcher' guy standing out there and can you call a Fixed Destination Taxi by talking to him?

 

Okay, I tested this on my end. During development I had AH enabled but I was an admin so it didn't get in my way. Now, just for test, removed myself from admins and clickNgo call-a-taxi hotkey (INS) stopped working.

Lesson learned #1: If Epoch AH is enabled and player is not an admin, clickNGo call-a-taxi hotkey IS NOT WORKING.

Lesson learned #2: If Epoch AH is enabled and player is not an admin, Fixed Destination Taxis IS WORKING.

I have added the above information to the Issue Tracker.

Also has been updated

 

Fixed Destination Taxis can be called by speaking with a Taxi Dispatcher at a Call-a-Taxi-Point - as per picture below.

ceKSE1E.jpg

Share this post


Link to post
Share on other sites

I use InfiStar, because it can not be, since the other taxi script indeed läuft.rgepoch

At the Central Spawn are 4 trader but no 'Taxi Dispatcher'

Dispatchers & map markers are all added via server-side script so even your custom AH should not have the power to stop it, that is, if server-side scripts are executed properly...

When you look at your map, do you see the 3 Taxi stops marked?

 

 

 

QAvQW1z.jpg

 

There should be a guy standing there - the Taxi Dispatcher, one in each spawn trader. See the screenshot in

Share this post


Link to post
Share on other sites

Not really - all you need is few steps there is nothing about mission.sqm in the instructions and it is accurate -- you do not need to add/remove anything to any other file.

As per instructions linked above, just extract the client-side PBO, take out the directory MPMissions\custom\mgmTfA\ and do as the instructions say. If it doesn't work let's meet here :)

 

The directory underlined above contains script1.sqf, script2.sqf, picture1.jpg and so on. You will use your own existing mission.sqm as we don't need to touch (your existing) mission.sqm at all.

 

 

EDIT: Installation instructions updated (improved).

 

My Bad looking at it in a hurry, I have installed but I need to go over it because I am not seeing any Taxi Dispatcher so must of got something wrong.

 

In the clientside init the line  if (!isServer) then { [] call compile preprocessFileLineNumbers "custom\mgmTfA\psczvuznuilitltt.sqf"; };

 

Does that have to be the whole line as I already have if (!isServer) then in there already.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By tyrant50187
      Im looking for the ability to add Script allowing Eyescan (retina scan) For Safe's and lockboxes, ether or, its something i havent found any script for but have found mentions and seen, any suggestions, links, or scripts are welcome, please Let me know!
    • By Bloodthirsty
      Hey I just need some files for this server, any and all you guys can come up with and think it deserve post that shit in chat rn. I want to see some crazy ideas and additions if you got em :) Lets see what you guys can come up with

    • By randall421
      The loot spawning on my server will respawn or cycle right infrnt of you if you move more than 5m away or if someone else near you moves 5ft away. I check player_spawncheck.sqf and it looks fine. 
      player_spawncheck.sqf 
      //player_spawncheck.sqf private ["_isWreck","_maxControlledZombies","_looted","_zombied","_doNothing","_spawnZedRadius","_serverTime","_age","_nearbyBuildings","_position","_speed","_radius","_maxlocalspawned","_maxWeaponHolders","_currentWeaponHolders","_maxtoCreate","_inVehicle","_isAir","_isLand","_isSea","_Controlledzeddivided","_totalcrew","_nearby","_type","_config","_canSpawn","_dis","_checkLoot","_islocal","_bPos","_zombiesNum"]; _age = -1; //_nearbyBuildings = []; _position = [player] call fnc_getPos; _speed = speed (vehicle player); _radius = 200; //150*0.707; Pointless Processing (106.5) _spawnZedRadius = 20; /* //Tick Time PVDZ_getTickTime = player; publicVariableServer "PVDZ_getTickTime"; */ //Total Counts _maxlocalspawned = round(dayz_spawnZombies); _maxControlledZombies = round(dayz_maxLocalZombies); _maxWeaponHolders = round(dayz_maxMaxWeaponHolders); _currentWeaponHolders = round(dayz_currentWeaponHolders); //Limits (Land,Sea,Air) _inVehicle = (vehicle player != player); /* _isAir = vehicle player iskindof "Air"; _isLand = vehicle player iskindof "Land"; _isSea = vehicle player iskindof "Sea"; if (_isLand) then { } else { }; if (_isAir) then { } else { }; if (_isSea) then { } else { }; */ _doNothing = false; if (_inVehicle) then { _Controlledzeddivided = 0; //exit if too fast if (_speed > 25) exitwith {_doNothing = true;}; //Crew can spawn zeds. _totalcrew = count (crew (vehicle player)); if (_totalcrew > 1) then { _Controlledzeddivided = 2; //Dont allow driver to spawn if we have other crew members. if (player == driver (vehicle player)) exitwith {_doNothing = true;}; } else { _Controlledzeddivided = 4; }; if (_Controlledzeddivided > 0) then { _maxControlledZombies = round(_maxControlledZombies / _Controlledzeddivided); r_player_divideinvehicle = _Controlledzeddivided; }; }; if (_doNothing) exitwith {}; /*if ("ItemMap_Debug" in items player) then { deleteMarkerLocal "MaxZeds"; deleteMarkerLocal "Counter"; deleteMarkerLocal "Loot30"; deleteMarkerLocal "Loot120"; deleteMarkerLocal "Agro80"; _markerstr = createMarkerLocal ["MaxZeds", _position]; _markerstr setMarkerColorLocal "ColorYellow"; _markerstr setMarkerShapeLocal "ELLIPSE"; _markerstr setMarkerBrushLocal "Border"; _markerstr setMarkerSizeLocal [_radius, _radius]; _markerstr1 = createMarkerLocal ["Counter", _position]; _markerstr1 setMarkerColorLocal "ColorRed"; _markerstr1 setMarkerShapeLocal "ELLIPSE"; _markerstr1 setMarkerBrushLocal "Border"; _markerstr1 setMarkerSizeLocal [_radius+100, _radius+100]; _markerstr2 = createMarkerLocal ["Agro80", _position]; _markerstr2 setMarkerColorLocal "ColorRed"; _markerstr2 setMarkerShapeLocal "ELLIPSE"; _markerstr2 setMarkerBrushLocal "Border"; _markerstr2 setMarkerSizeLocal [80, 80]; _markerstr2 = createMarkerLocal ["Loot30", _position]; _markerstr2 setMarkerColorLocal "ColorRed"; _markerstr2 setMarkerShapeLocal "ELLIPSE"; _markerstr2 setMarkerBrushLocal "Border"; _markerstr2 setMarkerSizeLocal [30, 30]; _markerstr3 = createMarkerLocal ["Loot120", _position]; _markerstr3 setMarkerColorLocal "ColorBlue"; _markerstr3 setMarkerShapeLocal "ELLIPSE"; _markerstr3 setMarkerBrushLocal "Border"; _markerstr3 setMarkerSizeLocal [120, 120]; diag_log ("LocalZombies: " +str(dayz_spawnZombies) + "/" +str(dayz_maxLocalZombies)); //Logging diag_log (format["%1 Local.Agents: %2/%3, NearBy.Agents: %8/%9, Global.Agents: %6/%7, W.holders: %10/%11, (radius:%4m %5fps).","SpawnCheck", _maxlocalspawned, _maxControlledZombies, _radius, round diag_fpsmin,dayz_currentGlobalZombies, dayz_maxGlobalZeds, dayz_CurrentNearByZombies, dayz_maxNearByZombies, _currentWeaponHolders,_maxWeaponHolders]); };*/ // nearObjects is faster than nearestObjects when sorting by distance isn't needed // "Building" includes House and all of its child classes (Crashsite, IC_Fireplace1, IC_Tent, etc.) _nearby = _position nearObjects ["Building",_radius]; _maxlocalspawned = _maxlocalspawned max floor(_maxControlledZombies*.8); if (_maxlocalspawned > 0) then { _spawnZedRadius = _spawnZedRadius * 3; }; //Spawn Zeds & loot in buildings { _type = typeOf _x; _config = missionConfigFile >> "CfgLoot" >> "Buildings" >> _type; _canSpawn = isClass (_config); if (_canSpawn) then { _dis = _x distance player; _checkLoot = (count (getArray (_config >> "lootPos"))) > 0; _islocal = _x getVariable ["", false]; // object created locally via TownGenerator. //Make sure wrecks always spawn Zeds _isWreck = _x isKindOf "CrashSite"; //Loot if (getNumber(_config >> "lootChance") > 0) then { if (_currentWeaponHolders < _maxWeaponHolders) then { //Basic loot check if ((_dis < 125) and (_dis > 30) and !_inVehicle and _checkLoot) then { _serverTime = serverTime; _looted = (_x getVariable ["looted",_serverTime]); _age = _serverTime - _looted; //Building refresh rate if (_age == 0 or (_age > getNumber(_config >> "lootRefreshTimer"))) then { _x setVariable ["looted",_serverTime,!_islocal]; _x call building_spawnLoot; if (!(_x in dayz_buildingBubbleMonitor)) then { dayz_buildingBubbleMonitor set [count dayz_buildingBubbleMonitor, _x]; }; //diag_log [ diag_tickTime, "new loot at",_x,"age:", _age, "serverTime:", _serverTime]; }/* else { diag_log [ diag_tickTime, "won't spawn loot at",_x,"age:", _age, "serverTime:", _serverTime]; }*/; }; }; }; //Zeds if (getNumber(_config >> "zombieChance") > 0) then { if (_dis > _spawnZedRadius) then { _serverTime = serverTime; _zombied = (_x getVariable ["zombieSpawn",_serverTime]); _age = _serverTime - _zombied; if ((_age == 0) or (_age > 300)) then { if (!_isWreck) then { if ((dayz_spawnZombies < _maxControlledZombies) and (dayz_CurrentNearByZombies < dayz_maxNearByZombies) and (dayz_currentGlobalZombies < dayz_maxGlobalZeds)) then { _bPos = getPosATL _x; _zombiesNum = count (_bPos nearEntities ["zZombie_Base",(((sizeOf _type) * 2) + 10)]); if (_zombiesNum == 0) then { _x setVariable ["zombieSpawn",_serverTime,!_islocal]; if (!(_x in dayz_buildingBubbleMonitor)) then { //add active zed to var dayz_buildingBubbleMonitor set [count dayz_buildingBubbleMonitor, _x]; }; //start spawn [_x] call building_spawnZombies; }; //diag_log (format["%1 building. %2", __FILE__, _x]); }; } else { _bPos = getPosATL _x; _zombiesNum = count (_bPos nearEntities ["zZombie_Base",(((sizeOf _type) * 2) + 30)]); //Should be a wreck if (_zombiesNum == 0) then { [_x,_isWreck] call building_spawnZombies; }; }; }; }; }; }; } forEach _nearby; At first I thought it was a respawn timer issue or something like that but if you don't move the loot will stay, you have to back away from it or someone else has to get within range and its not like you have to run away for this to happen, you can just back up a few steps and watch the loot change right infront of you. I have been playing around with it just trying to see if i can figure it out but if anyone knows what i should do or can at least point me in the right direction it would be a huge help.
       
      Thanks
    • By calinova22
      I was wondering if it is possible to make it so that a players humanity would not change for a certain amount of time? I have a PVP arena with a teleport in and I was wanting to make it so people could TP in and fight without worrying about gaining or losing humanity.
    • By totis
      Can somebody filters guru help me a bit here?
      im using aeg to except code.
      using default epoch filters i eliminated all except execvm exceptions.
      Im stuck in these (2 for example):
      1.. kick:       #27 "script = {((ctrlParent (_this select 0)) closeDisplay 7782); execvm 'custom\menu\basics2_init.sqf';};
      1.. exception=       !="script = {((ctrlParent (_this select 0)) closeDisplay 7782); execvm 'custom\\menu\\basics2_init.sqf';}; \npreviousscript = {((ctrlP"
      2.. kick:       #27 "65 execVM 'scripts\deployanything\addons\bike\deploy.sqf';"
      2.. exception=      !="65 execVM 'scripts\\deployanything\\addons\\bike\\deploy.sqf';"
      These exception dont work, keep generating same kicks over and over.
      Any ideas how to except?
       
       
       
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...