Jump to content

Vehicle Locking System


iRAGE

Recommended Posts

Hello again all, I know there were other threads discussing the vehicle locking system on A3Epoch and most seemed to agree that a change needs to be made to the current 30 minute lock. I'm not sure I would like to go back to the old system where you get a key when you buy it but I do think proper permanent locking stystem with a rare looted / constructable lockpick kit (with chance of success/failure) needs to be implemented at some point soon.

 

Cars would still have a chance to be stolen and could be destroyed but it would take away the annoyance of finding your vehicle stolen. I only keep one vehicle atm and everyday it gets stolen. Today I just saw a guy knick my new one. No effort at all.

 

I guess I should ask, is there already something in the works for the Vehicle locking system or will it just be that admins can increase the time before unlock-to-all ? (due in 0.3 release??)

Link to comment
Share on other sites

I've said it before....vehicle locks can be made permanent without the use of keys.  All you have to do is add a value to the database to tell it the player ID of the last player to lock the vehicle.  Then only that player can unlock it.  You could expand it to groups as well so that other players in the locking players' group can access it too.  Locks will expire after 7 (or more or fewer) days of the player/group failing to interact with the vehicle after which point the vehicles will again become unlocked and anyone can get in them.  You can also have a lockpick kit which has an 'X' percent chance of success so players can have the opportunity to steal locked vehicles before the end of the 7 day lock expiration period.  IMO that's a perfect solution that's a good compromise for all sides of the lock/unlock argument.  

Link to comment
Share on other sites

I've said it before....vehicle locks can be made permanent without the use of keys. All you have to do is add a value to the database to tell it the player ID of the last player to lock the vehicle. Then only that player can unlock it. You could expand it to groups as well so that other players in the locking players' group can access it too. Locks will expire after 7 (or more or fewer) days of the player/group failing to interact with the vehicle after which point the vehicles will again become unlocked and anyone can get in them. You can also have a lockpick kit which has an 'X' percent chance of success so players can have the opportunity to steal locked vehicles before the end of the 7 day lock expiration period. IMO that's a perfect solution that's a good compromise for all sides of the lock/unlock argument.

1: how?

2: lock pick kit?.. Never seen this before. Where does one find those?

Link to comment
Share on other sites

He is speaking theoretically. This is a suggestion.

Darth_Rouge:

I've said it before....vehicle locks can be made permanent without the use of keys. All you have to do is add a value to the database to tell it the player ID of the last player to lock the vehicle.

Didn't sound theoretically.. apologies thought he meant was possible now.

Link to comment
Share on other sites

Sorry for the confusion. I was meaning that a good locking vehicles solution could be implemented by the devs that would result in a win-win for everyone. Vehicle owners could still lock their vehicles and attacking players can still have the ability to steal them while also insuring that the map doesn't get cluttered with abandoned locked vehicles over time.

Link to comment
Share on other sites

another feature that is lacking from A2 epoch! killing a player to find a key to unlock his car and steal it make it urs ! was rewarding instead we have locked vehicles by time that magically opens up for certain players and anyone in there group! killing all of them or not doesnt necessary give you access to that vehicle , so you might as well go make urself a cup of coffee and wait for your reward to be unlocked it could be 30 mins or 7 days lol!!!!

 

we used to be able build a complete base and have to remember combinations to unlock doors again another really cool feature that allowed you not only build a base for ur clan but create private areas where each player would have their room should they wish and certainly their own lockbox/safe ... 

 

It seems that this mod lacks the vision/idea I have no idea which direction its going, it seem to be going in a direction of lets add this and that and see how it works , lets create doors and vehicles and make them lock somehow no real explanation behind how it works how can other players access it, etc etc

 

if it was locking by keys or even more futuristic if you wish to say finger print/eye scan, where the door/vehicles is assigned playerUID first being the master player that can control who gets added or not ! you could do it with ID cards similar to how cell phone drops when you kill a player and you have to really look for it, have another item drop ID card/swipe whatever! something ! we are trying to play this thing!!! please!!! lol

 

In my opinion epoch is/was a mod that added to the environment introduced traders, new items , crafting and building. this should be priority number one, how to make it so much more advanced building experience than it was in Arma 2, antagonists and other things can wait, I personally and sorry to say this think that I can get better antagonists addons from BI that do a better job and look more dated!

 

The base building loot and crafting has to be the main thing to be worked on, locking unlocking needs to improve new idea needs to be introduced, storing energy in your under pants when you are fresh spawn , energy that you need to build??? rechargeable energy! I am like wtf!!!! what does all this mean lol new ideas with some logic behind how its working is much needed!!

 

End of moan! 

Link to comment
Share on other sites

Thah is why u had backup keys in base. Key/Card/Eye Scan all ideas better then time lock for me. I also agree with the privite areas, maybe add something into jammer so group leader can decide and give permissions to players to acess lockers/doors/cars.

Link to comment
Share on other sites

Thah is why u had backup keys in base. Key/Card/Eye Scan all ideas better then time lock for me. I also agree with the privite areas, maybe add something into jammer so group leader can decide and give permissions to players to acess lockers/doors/cars.

card or eye scan without an object to be able to take off a player after you kill them wont make no diffrence to having timed locks!!

Link to comment
Share on other sites

Cutting eye out, or picking up card like krypto? I kill owner i dont have to wait 45 min for him and hies crew to come back and secure their car...

cutting out eye would be good if you could only use it till next restart(the eye), if you was going to use cards then you would have to remove how it works with a group, witch means you might aswell just use keys

Link to comment
Share on other sites

I like the idea of a door that the jammer owner could assign who could/couldn't open the door. By default, the jammer owner should be able to open all doors, but then assign rooms' doors to specific members or groups of members would be nice.

Link to comment
Share on other sites

  • 2 years later...

is there a way for server to set  car locking up so that lets say i get a humming bird and park it at base (within the jammer's range )  only me and my group can open it for say 4 days but if i park it some where else (outside of jammer's rang) again only me or group member can open it but it only be locked for say 12 to 24 hours? before anyone could open it?

reason i ask is there a server i use that has 4 days lock and everyone opens up every vehicles and leaves them in place so they locked in middle of roads and where things spawn for 4 days  it getting quite frustrating

if there and scripts or mods that can do that or is it possible to do from the game it self in config file?

Link to comment
Share on other sites

  • 2 weeks later...

I also second liking the key system. There were punishments for making mistakes but also incentive for a player to loot a corpse.

You left home without storing your keys and died? Hope you had a spare.

You broke into a base and got access to some keys? Score.

You killed someone and got their key? Also score.

With the current system you can't keep a vehicle. They get stolen all the time.

An ideal system is still with the keys. It could be done similar to the Altis Life system to prevent inventory clutter as keys weigh practically nothing.

If traders getting crowded is really that much of a hassle have there be a trader who deals in used cars. If a player is parked too close to the traders and doesn't interact in enough time to reset the vehicle then the Used Car trader tows it into inventory and sells it as-is cargo and all.

I'm pretty sure in a post-apocalyptic world if you left a vehicle next to a trader for a day or two they would sell it off too.

Link to comment
Share on other sites

I am not against adding it back as I know that was a key feature of ours. If keys are added we need to consider how it might be done better as having to write external events to purge vehicles that are abandoned without any keys, etc. is a mess. Virtual keys maybe the way to go as adding 12500+ classes just to have keys in your inventory was also not ideal either but it did work.

If you want to propose the changes needed to make "virtual keys" happen I would welcome the challenge of merging it and making it work.

Link to comment
Share on other sites

I am really glad to see this request being considered for implementation. Below are my two cents as to how one might go about incorporating key objects in Epoch for Arma 3.

I see two attributes that could be used to ones advantage: Arma's almost infinite ability to add variables to objects, and Redis' kind of free-form data tables. Imagine that there is a Key Object that is Blue and looks like an A2 Dayz Epoch key. There is one such object available in the game, and thus only 1 class that must be defined  in the mod. The variables associated with this object might include an identifier (could be alphanumeric or numeric)  that tells Epoch which vehicle it unlocks using a system of unique vehicle ID numbers, and a descriptor for that vehicle (MRAP blah blah) that the player could have displayed. In an ideal world that descriptor would be editable to 'Ghosts Ultraviolet My Kitty Car'. If you wanted to get super-fancy you could link the Arma image of the vehicle to the key as well.

How would the unique identifiers be generated and stored? As either random numeric or alphanumeric values (think base 64?) generated at the time the vehicle is spawned during server restart, or as an index that is sequentially incremented each time a vehicle is spawned. Either way, the ID number would be stored in Redis using the same algorithm used for textures, inventory and other attributes of the vehicle. When the key is generated by whatever means, that same unique ID is tied to the key object along with any other descriptors (My Kitty Car, a2\...\texture.paa). Thus all information needed to use that key travels with the key object and is avalable for scripts to lock/unlock target vehicles/doors/safes.

How does one link keys, players, containers and vehicles?  The simplest solution I can see is to consider the case of a weapon with attachments, or a magazine that is not full. Here, the mod already stores unique information specific to that object in Redis and retrieves it when a Player spawns in, or a vehicle or container is spawned at server startup. I would think this basic approach could serve as a starting point for how to store information about Keys in Redis.  Again, three atributes would need to be stored using the model proposed above: vehicle ID, name and texture. So, we can link a vehicle to a key using a unique ID, track that ID as the key goes from player to player, player to container, and so forth, and store and retrieve information about the vehicle and key to/from Redis. That key will open only the vehicle with a matching vehicle ID number. If we imagine the vehicle ID number is stored on both the vehicle and key in a variable through _x setVariable["EPOCH_keyID",_z]  then we are all set for later lock/unlock requests in which we compare the EPOCH_keyID of the key and vehicle quite easily. 

That said, this leaves opportunities for lockpick/hacking, and creating master keys as follows.

A successful lock picking attempt would set the vehicle state (another variable) appropriately, or perhaps more optimally, set the vehicle ID to 0, making it unlockable but enterable by anyone. Purchase of a keypad or lock used for any other lockable object would add a unique id to the vehicle and key to the players inventory. To avoid any chance of duplication of vehicle IDs one might add a prefix like format["%2%2", " hacked", random(one gazillion)] or format["%1%2","traderKey",random(on gazillion)]  as a hypothetical example.

A master key kit would set the ID for all vehicles on which it was used to that of one the player specifies.

Being able to handle the case of a vehicle ID == 0  as meaning anyone can enter and no one can set a lock opens up additional possibilities for vehicles spawned in the wild and dealing with abandoned vehicles.

Vehicles are already stored with a time-stamp indicating when the Epoch lock expires. This could be re-purposed to tell the server when the vehicle is abandoned. Rather than tracking when the vehicle was locked the server would track when it was last access, moved or entered. Abandoned vehicles are deleted or have their Vehicle ID set to 0, returning them to the wild. 

If one spawns vehicles in the wild, one would simply spawn them with Vehicle ID == 0, which opens up all the possibilities noted above.

I hope these suggestions are helpful.

Cheers - Ghost

 

 

Link to comment
Share on other sites

The issue is that for multiple items there needs to be a valid config. This can't be generated at startup (as far as I know). This also leads to inventory clutter which is why Epoch moved from a physical currency in the form of bars to a virtual one in the form of Crypto. Items aren't necessarily the way to go.

How I see keys being managed is a GUI menu accessed via the dynamic menu. You should be able to clone keys (with the correct resources), give out keys to nearby players, drop keys, view keys, possibly store keys in objects. The issue Altis ran into is having two inventories (the virtual and the physical). It would be a nice idea that if an object has any keys stored on it that a notification item is stored in the physical inventory of the object that can't be taken by a player (something like a key ring). Dead bodies should also have a loot keys option if the player had keys.

As for how it would work and prevent hacking, that is complex. I think this should be done like many websites do user accounts. With a salted MD5. The answer to unlock the vehicle is a password (in generated key form). When you use the key it is sending a password to be checked. That is sent through the script and "hashed" and compared to the hash from the database. If they match then the vehicle is unlocked. However to take the hash from the database and then crack it would be very time consuming. Something similar could be done.

But what if a hacker simply unlocks a vehicle using the unlock command? The antihack would need to check for players in unlocked vehicles without the correct hashed keys on them.

KK has a decent post on a hashing DLL he did a while ago.

http://killzonekid.com/arma-extension-hash_id-dll/

Link to comment
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
  • Discord

×
×
  • Create New...