So firstly apologies for not working on the cop exp for so long. Right now I am working on some code upgrades which will allow me to make the RP code easier to maintain and fix while also making repeated code more consistent (by not repeating code and using the closest thing to objects I can fake out of Sourcemod). Once that is done in a week or two I will be able to add automatic promotions to the cop system, but I want to go a step further: I want to make cop a public job!
Here's how it works:
1) Cops ALREADY earn money straight to their bank. When afk for 5 minutes or more their wage begins going into their cash on hand. This already exists.
2) Cops that rejail a player will not reset their jail time. This is already a thing.
3) A cop releasing a prisoner notifies the cop that arrested that player that someone else released their prisoner. This, once again, is already implemented. This way if a player is abusing their cop it would be easy for a ban report to show this with a screenshot. Additionally I can block this altogether.
4) If I do the above and block the ability to release players you didn't jail (unless you're an admin), then if the arresting officer switches to a rebel job or leaves the server, the player will be able to be freed by any other cop.
5) What if the arresting officer goes AFK? Well by the time they go AFK any of their arrested players will most likely be out of jail. Or close to it. Not enough of a deal to worry about.
6) Here's the big one! What about cops RDMing players? Easy fix. I could implement a combat system. It's a simple player v player combat tracker idea. IF you shoot a player, then you are added to a list of attackers of that player. This would work with cops in the sense that, if you attack a cop, the cop can do damage to you. If the cop attacks you, but you are not flagged on their attackers list, then the cop will do no damage to you. Even though this system could be implemented to track things like revenge kills, this system would only apply to players v cops, and a similar implementation could be used to protect under 5 hour players.
7) #6 has a problem. Cops are currently allowed to fight players who shot AT them. How do I determine this? Simple. If a player hits a cop, the first 'hit' with a bullet will cause no damage to the cop. That means ANYTHING you hit the cop with, even an SMG round, will do no damage. However, everything after that will be like normal. Of course by hitting the cop that first time you are now flagged on their list which means the cop can now cause damage to you. Explosives are very powerful, therefore unlike bullets, if an explosive is the first thing a player hits a cop with, then the explosive will only do 10% damage and will count as that first "bullet". As with bullets, all combat will be the same as usual.
Lets say you attack a cop. You are now added on their list. Let's say you also manage to kill that cop. Your name will remain on that cop's attackers list. That means the cop will be able to do damage to you in the form of a revenge kill. This feature is optional however.
9) If a player dies, their name is removed from all cop's attackers list. When they respawn, no cop will be able to damage them until they attempt to attack.
10) PD apartments will be treated like any other apartments. If any player can play cop then any player can buy a PD apartment which will count as their only apartment. Attempting to access a apartment in the pd however may be difficult as a rebel if enough cops are online since they can still kill you. Or maybe just get rid of cop apartments entirely????? Again??? Personally I don't want to rid of them.
So in the sense of removing the application process and just making the cop jobs thing another job like the others, the above ten points cover what is necessary. Cops AFKing, jailing/unjailing fairly, cop v player combat, and cop housing.
Did I miss anything? Does anything else need to be considered for such a system?
Here's how it works:
1) Cops ALREADY earn money straight to their bank. When afk for 5 minutes or more their wage begins going into their cash on hand. This already exists.
2) Cops that rejail a player will not reset their jail time. This is already a thing.
3) A cop releasing a prisoner notifies the cop that arrested that player that someone else released their prisoner. This, once again, is already implemented. This way if a player is abusing their cop it would be easy for a ban report to show this with a screenshot. Additionally I can block this altogether.
4) If I do the above and block the ability to release players you didn't jail (unless you're an admin), then if the arresting officer switches to a rebel job or leaves the server, the player will be able to be freed by any other cop.
5) What if the arresting officer goes AFK? Well by the time they go AFK any of their arrested players will most likely be out of jail. Or close to it. Not enough of a deal to worry about.
6) Here's the big one! What about cops RDMing players? Easy fix. I could implement a combat system. It's a simple player v player combat tracker idea. IF you shoot a player, then you are added to a list of attackers of that player. This would work with cops in the sense that, if you attack a cop, the cop can do damage to you. If the cop attacks you, but you are not flagged on their attackers list, then the cop will do no damage to you. Even though this system could be implemented to track things like revenge kills, this system would only apply to players v cops, and a similar implementation could be used to protect under 5 hour players.
7) #6 has a problem. Cops are currently allowed to fight players who shot AT them. How do I determine this? Simple. If a player hits a cop, the first 'hit' with a bullet will cause no damage to the cop. That means ANYTHING you hit the cop with, even an SMG round, will do no damage. However, everything after that will be like normal. Of course by hitting the cop that first time you are now flagged on their list which means the cop can now cause damage to you. Explosives are very powerful, therefore unlike bullets, if an explosive is the first thing a player hits a cop with, then the explosive will only do 10% damage and will count as that first "bullet". As with bullets, all combat will be the same as usual.
Lets say you attack a cop. You are now added on their list. Let's say you also manage to kill that cop. Your name will remain on that cop's attackers list. That means the cop will be able to do damage to you in the form of a revenge kill. This feature is optional however.
9) If a player dies, their name is removed from all cop's attackers list. When they respawn, no cop will be able to damage them until they attempt to attack.
10) PD apartments will be treated like any other apartments. If any player can play cop then any player can buy a PD apartment which will count as their only apartment. Attempting to access a apartment in the pd however may be difficult as a rebel if enough cops are online since they can still kill you. Or maybe just get rid of cop apartments entirely????? Again??? Personally I don't want to rid of them.
So in the sense of removing the application process and just making the cop jobs thing another job like the others, the above ten points cover what is necessary. Cops AFKing, jailing/unjailing fairly, cop v player combat, and cop housing.
Did I miss anything? Does anything else need to be considered for such a system?