co10_Escape icon indicating copy to clipboard operation
co10_Escape copied to clipboard

Add Teamkill logs for use in public servers

Open FlorianSW opened this issue 3 years ago • 3 comments

I'm not quite sure if this should live in this mission or better in the Revive module :) Please bare with me, if it's the wrong location :P

The problem

I operate three public Arma 3 servers with this Escape mission on different islands. Public means, that players can join as they like to escape the island together, mostly these are players who did not play with each other before. Most of the times this works pretty well and the players are interested to work together and escape.

However, from time to time, there are trolls or players who do not play towards a scenario where each online players have a good time on the server. This can result in frustrating and often teamkills, which could've been easily prevented. Sadly, right now there are no tools to find these events and trollers easily (when a report comes in, which is not often tbh, then these players are mostly already disconnected or stopped their actions).

Possible solution

I've thought about some kind of temkiller logs. In this log, the teamkills could be recorded (who killed whom with what at what distance and with what weapon). This could only be a tool to investigate after a report, not to directly act upon (teamkills can, after all, happen when playing normally easily as well :D)

Additional notes

I looked through possible addons and scripts already, however, most of them claim to not work properly in cases where players are not really killed, but getting unconscious by a revive script. I didn't test that with Escape, but looking at the code with my very limited sqf knowledge let me think that these addons/scripts most likely will not work?

FlorianSW avatar Jan 09 '22 16:01 FlorianSW

In the ..\revive\functions\revive\fn_unconscious.sqf on line 5+6 is the current chat message that's shown when a player is "killed" by a teammate. You could easily log this message as is to the .rpt, maybe with additional text to make searching easier, add: diag_log format["Teamkill: %1 was shot by %2.",name _unit, name _killer];

Distance could be added as is, for more info you'd have to change the eventhandler in fn_handledamage and pass it to the unconscious function. Probably better done by someone does that can script, not by me, who managed to break the game with a comment...

ScruffyAT avatar Jan 10 '22 16:01 ScruffyAT

Good pointer! I'll try to get my head into SQF again and see if I can make the changes myself and submit a PR 👍

FlorianSW avatar Jan 10 '22 17:01 FlorianSW

@NeoArmageddon Thanks for merging the PR in the Revive script. I'm not sure if it is safe to simply update the submodule to get this change into the next release/latest dev release? There is a suspicious commit "Revive Overhaul" in the diff, hence I let it up to you to actually forward the submodule 🤣

FlorianSW avatar Jan 11 '22 22:01 FlorianSW