Author Topic: AFKer kick script - request for implementation  (Read 309 times)

0 Members and 1 Guest are viewing this topic.

Offline machina

  • Soldat Beta Team
  • Veteran
  • ******
  • Posts: 1004
  • The world isn't nice. Why should I be...?
AFKer kick script - request for implementation
« on: April 17, 2017, 03:10:01 am »
Regarding to this:

I think the max idle time to be kicked for afking should be lowered as it is way too frequent that afker has to be kicked by voting. This is very inconvenient as may result in few deaths or even an enemy cap. Also, it sometimes happens that enemy team doesn't give a fuck that you have an afker in team and they just don't vote one in order to receive free spawn kills and advantage in the battlefield.

I agree and this has been requested many times, but we currently don't have a script which can take care of that annoyance. If someone is willing to provide me with such a script(afk kick after x mins) ill be happy to upload it to the server.


Offline NiCeShOoT|GuY

  • Major(1)
  • Posts: 21
Re: AFKer kick script - request for implementation
« Reply #1 on: June 27, 2017, 12:10:03 am »
I think script core 3 provided ways to get player's properties,
guess it won't be hard to track player's activities.


TActivePlayer:

(Track movement based on Velocity) (requires more calculations)
property VelX: Single
property VelY: Single
property X: Single
property Y: Single

(Track if player press any of below keys) (more reasonable)
property KeyUp: Boolean   
property KeyLeft: Boolean
property KeyRight: Boolean
property KeyShoot: Boolean
property KeyJetpack: Boolean
property KeyGrenade: Boolean
property KeyChangeWeap: Boolean
property KeyThrow: Boolean
property KeyFlagThrow: Boolean   
property KeyReload: Boolean
property KeyCrouch: Boolean
property KeyProne: Boolean


But the script might involve threading, which might create lags if the server's cpu sucks.
You will have to use threading if there're no event suited for the task.
Oh, i just figure it is not necessary to use threading. (don't even know if threading is supported)
Just go ahead and use the below events provided by SC3.


The Events that might suite the task are:

TGame.OnClockTick
https://wiki.soldat.pl/index.php/TGame.OnClockTick
https://wiki.soldat.pl/index.php/TGame.TickThreshold

TActivePlayer.OnAfterRespawn
https://wiki.soldat.pl/index.php/TActivePlayer.OnAfterRespawn


It would be best to implement both of these events for different but similar purposes if CPU allows.
« Last Edit: June 27, 2017, 12:19:54 am by NiCeShOoT|GuY »