Jump to content

Killme (Suicide) without AdKats


ImportBot

Recommended Posts

Originally Posted by LCARSx64*:

 

NOTE: This limit requires the Insane Limits Timed Messaging System v2.0 (ILTMS) Core, ...* for details.

 

This limit allows a player to kill themselves (suicide) using Admin kill and thereby not registering a death on their stats.

 

How it works:

 

  • Each player with a ProCon account is considered an Admin for the purposes of this limit and have unlimited instant suicides per round.
  • Each player on your Insane Limits whitelist (player_white_list) is considered a VIP for the purposes of this limit and have a maximum of 5 instant suicides per round.
  • Each regular player has a maximum of 3 suicides per round, each of which is delayed by 3 seconds before death.

The available command is:

!killme - Kill self using Admin kill.

 

Command can be proceeded by: / ! @ /! /@

Example: /!killme

NOTE: If you are using PRoCon's default In-Game Admin plugin, you will either need to rename the Kill command or disable that plugin otherwise this command will conflict.

 


Killme (Suicide)

 

Create a new limit to evaluate OnAnyChat. Set action to None.

 

Set first_check to this Expression:

Code:

(plugin.IsInGameCommand(player.LastChat) && player.Role == 0)
Set second_check to this Code:

Code:

// Killme (Suicide)
// v2.0 - OnAnyChat - Limit 1 of 1
//

// ######### REQUIRES ILTMS V2.0 ######### //

// ********* VARIABLES ******** //

// ----------- Queue ---------- //
Queue<Dictionary<String, Object>> _Queue = null;

// ---------- Strings --------- //
String   cmd        = "";
String[] kmMsgs     = { "You have used all suicides this round!",
                        "\nSuicide in 3 seconds!" };

// ---------- Doubles --------- //
double   kmCount    = 0;

// --------- Booleans --------- //
bool     isAdmin    = false;
bool     isVIP      = false;
bool     bKill      = false;
bool     bKick      = false;
bool     bBan       = false;
bool     bMove      = false;
bool     bLevel     = false;

// ***** END OF VARIABLES ***** //

// ********* DELEGATES ******** //

Action<Object> KillMe = delegate(Object plyName)
                        {
                            if (plyName != null)
                            {
                                String pName = Convert.ToString(plyName);
                                if (pName != "")
                                {
                                    plugin.ServerCommand("admin.killPlayer", pName);
                                }
                            }
                        };

// ***** END OF DELEGATES ***** //



// *********** CODE ********** //

if (plugin.Data.issetObject("_ILTMS_THREAD_") && plugin.Data.issetObject("_ILTMS_QUEUE_") && plugin.Data.issetBool("_ILTMS_FLAG_"))
{
    if (plugin.Data.getBool("_ILTMS_FLAG_"))
    {
        _Queue = (Queue<Dictionary<String, Object>>) plugin.Data.getObject("_ILTMS_QUEUE_");
    }
}

// Set Admin & VIP flags appropriately
if (plugin.CheckAccount(player.Name, out bKill, out bKick, out bBan, out bMove, out bLevel)) isAdmin = true;
if (plugin.isInPlayerWhitelist(player.Name)) isVIP = true;

// Extract the command
cmd = plugin.ExtractInGameCommand(player.LastChat);
// Remove excessive command prefixes
if ((cmd.Length != 0) && (plugin.ExtractCommandPrefix(cmd).Length != 0)) cmd = plugin.ExtractInGameCommand(cmd);
// Make sure the command really exists
if (null == cmd || cmd.Length == 0) return false;
// Match on !killme
if (!Regex.Match(cmd, @"^\bKILLME\b", RegexOptions.IgnoreCase).Success) return false;
// Get activation count for the round
kmCount = limit.Activations(player.Name);

// Admins have unlimited instant suicides and don't require a message
if (isVIP || isAdmin)
{
    if (isVIP)
    {
        // VIPs have a maximum of 5 instant suicides per-round
        if (kmCount > 5)
        {
            // VIP has used up all their suicides this round
            plugin.SendPlayerMessage(player.Name, kmMsgs[0]);
            return false;
        }
    }
    KillMe(player.Name);
}
else
{
    if (_Queue != null)
    {
        // Standard players have a maximum of 3 delayed suicides per-round
        if (kmCount > 3)
        {
            // Player has used up all their suicides this round
            plugin.SendPlayerMessage(player.Name, kmMsgs[0]);
        }
        else
        {
            // Display the message
            plugin.SendPlayerYell(player.Name, kmMsgs[1], 3);
            // Do the delayed kill
            Dictionary<String, Object> myMsgBlock = null;
            List<Object> myActionDelegate = null;

            myActionDelegate = new List<Object>();
            myActionDelegate.Add(KillMe);
            myActionDelegate.Add(player.Name);

            myMsgBlock = new Dictionary<String, Object>();
            myMsgBlock.Add("time", 3);
            myMsgBlock.Add("adel", myActionDelegate);

            if (plugin.Data.getBool("_ILTMS_FLAG_"))
            {
                String _sVers = "";
                double _Vers = 0.0;
                if (plugin.Data.issetString("_ILTMS_VERSION_")) _sVers = plugin.Data.getString("_ILTMS_VERSION_");
                if (_sVers != "") _Vers = Convert.ToDouble(_sVers);
                if (_Vers >= 2.0)
                {
                    lock (_Queue)
                    {
                        _Queue.Enqueue(myMsgBlock);
                        Monitor.Pulse(_Queue);
                    }
                }
            }
        }
    }
    else
    {
        // ILTMS is not available
        plugin.SendPlayerMessage(player.Name, "Killme is currently unavailable!");
    }
}

return false;

End of post!

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

Why would the default IGA kill command conflict with this?

It only conflicts when an Admin uses this, the default IGA seems to think you're trying to kill some other player on the server. It's fine if you rename the default IGA's kill command to something else though.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

It only conflicts when an Admin uses this, the default IGA seems to think you're trying to kill some other player on the server. It's fine if you rename the default IGA's kill command to something else though.

@killme != @kill

 

Why is it confusing the two?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

Not to mention the annoying, "Did you mean PapaCharlieNiner_" and having to type @yes, unless you spelt the name perfectly.

I thought phil fixed that...it was supposed to automatically confirm if only one player matches the input.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

Not to mention the annoying, "Did you mean PapaCharlieNiner_" and having to type @yes, unless you spelt the name perfectly.

This is exactly the issue.

 

@killme != @kill

 

Why is it confusing the two?

I'd assume that the kill command is not doing a whole word match.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

I thought phil fixed that...it was supposed to automatically confirm if only one player matches the input.

Maybe, I dunno, but hopefully it's one match AND a close Levenshtein distance. Any string will always have at least one match, the way Procon uses Levenshtein. And Insane Limits, for that matter.
* Restored post. It could be that the author is no longer active.
Link to comment
  • 2 weeks later...

Originally Posted by hustl4*:

 

Very neat! I've actually been doing this in procon rulz using this Code:

On Say;Text 459; Kill 100
Can anyone tell me if there is an advantage to using the insane limits one instead of procon rulz?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LjMjollnir*:

 

Very neat! I've actually been doing this in procon rulz using this Code:

On Say;Text 459; Kill 100
Can anyone tell me if there is an advantage to using the insane limits one instead of procon rulz?
No advantage that i am aware of :ohmy: that being said i never used InsaneLimits.. Proconrulz handled all my rules fairly well and the same sort of rule the OP has made here with Insane could be made with Proconrulz fairly easily too :ohmy:..
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

The main difference is that Insane Limits has access to clan tags and Battlelog stats. It also uses the full C# programming language, so if you want to do complicated loops over the player list, it's a lot easier.

 

If you are not a C# coder or you just want to do simple stuff or even complex stuff that can be done with long lists of simple statements, and you don't care about clan tags or Battlelog stats, Rulz is easier to use.

* Restored post. It could be that the author is no longer active.
Link to comment
  • 4 weeks later...

Originally Posted by bigworld12*:

 

in my server "GOdmode" people can't suicide normally so i made a suicide mechanism using watchdog language filter if you want the plugin configure file i can upload it here

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

in my server "GOdmode" people can't suicide normally so i made a suicide mechanism using watchdog language filter if you want the plugin configure file i can upload it here

This basically just admin kills the player (this also means that no death is recorded in the player's stats), as far as I know it should still work for the godmode players because it is the admin killing them. Of coarse, I could be wrong.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by bigworld12*:

 

This basically just admin kills the player (this also means that no death is recorded in the player's stats), as far as I know it should still work for the godmode players because it is the admin killing them. Of coarse, I could be wrong.

the original post was

This limit allows a player to kill themselves (suicide) using Admin kill and thereby not registering a death on their stats.

 

How it works:

 

  • Each player with a ProCon account is considered an Admin for the purposes of this limit and have unlimited instant suicides per round.
  • Each player on your Insane Limits whitelist (player_white_list) is considered a VIP for the purposes of this limit and have a maximum of 5 instant suicides per round.
  • Each regular player has a maximum of 3 suicides per round, each of which is delayed by 3 seconds before death.
this does the same job but in an easier way *because any way they will get "killed by admin" message *

and you can even control to inform other players about it or not .. etc

you can also configure max suicides and many other things

 

https://www.mediafire.com/_7ug7yjfacc4blob

 

put it in configs/"YourServerIp"

 

it works efficiently i guarantee you

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

the original post was

 

 

this does the same job but in an easier way *because any way they will get "killed by admin" message *

and you can even control to inform other players about it or not .. etc

you can also configure max suicides and many other things

 

https://www.mediafire.com/_7ug7yjfacc4blob

 

put it in configs/"YourServerIp"

 

it works efficiently i guarantee you

The player does get a customized message which can be changed. I've coded a max number of suicides into the limit, which can be changed to any number you want.
* Restored post. It could be that the author is no longer active.
Link to comment
  • 2 months later...
  • 2 years later...

Originally Posted by AlcaGamerZ*:

 

Hi all , it looks like mine doesn't work ? why is it ? a vip tried this and he cant use !killme . i just wanted !killme can be used for all players no exception even admins/normal players and vips too without delay and other features

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

Hi all , it looks like mine doesn't work ? why is it ? a vip tried this and he cant use !killme . i just wanted !killme can be used for all players no exception even admins/normal players and vips too without delay and other features

So are you saying you want every player to have unlimited instant "!killme"?

 

If so, then it would be a much simpler limit and wouldn't require ILTMS.

Here's such a limit:

 


Simple Killme

 

Create a new limit to evaluate OnAnyChat. Set action to None.

 

Set first_check to this Code:

Code:

// Simple Killme
// v1.0 - OnAnyChat - Limit 1 of 1
//

String cmd = "";
String kmMsg = "You have suicided!";

if (plugin.IsInGameCommand(player.LastChat) && player.Role == 0)
{
    cmd = plugin.ExtractInGameCommand(player.LastChat);
    if ((cmd.Length != 0) && (plugin.ExtractCommandPrefix(cmd).Length != 0)) cmd = plugin.ExtractInGameCommand(cmd);
    if (null == cmd || cmd.Length == 0) return false;
    if (!Regex.Match(cmd, @"^\bKILLME\b", RegexOptions.IgnoreCase).Success) return false;
    plugin.ServerCommand("admin.killPlayer", player.Name);
    plugin.SendPlayerYell(player.Name, kmMsg, 5);
}

return false;

End of post.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

Hi all , it looks like mine doesn't work ? why is it ? a vip tried this and he cant use !killme . i just wanted !killme can be used for all players no exception even admins/normal players and vips too without delay and other features

This is rife for admin and player abuse, you need to have a cooldown on the command. You don't want the command with no restrictions, unless abusing it is what you plan to do.

 

You're gonna start having people running macros to quickly type !killme when they are about to die so admin kills them and they don't take a real death. It's stat padding. We had one guy, among many others, who had 500+ usages of the command in a week before we put a cooldown on it. Obviously not what the command is meant for, just press escape and click suicide like a regular player.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by AlcaGamerZ*:

 

This is rife for admin and player abuse, you need to have a cooldown on the command. You don't want the command with no restrictions, unless abusing it is what you plan to do.

 

You're gonna start having people running macros to quickly type !killme when they are about to die so admin kills them and they don't take a real death. It's stat padding. We had one guy, among many others, who had 500+ usages of the command in a week before we put a cooldown on it. Obviously not what the command is meant for, just press escape and click suicide like a regular player.

if so we need a cooldown . i dont want it to be restricted for VIP player and NORMAL players , the cooldown should be apply for both of them except admins . my server is not that alot of admin tho . Is it possible to do ? just cooldown for both rank normal player and vip . i mean , both will have same permission and same cooldown time . if so please do share it to me . i tried the above setting which have different values for vip and players but it seems like only Admin can use !killme , but the vip can't .
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

if so we need a cooldown . i dont want it to be restricted for VIP player and NORMAL players , the cooldown should be apply for both of them except admins . my server is not that alot of admin tho . Is it possible to do ? just cooldown for both rank normal player and vip . i mean , both will have same permission and same cooldown time . if so please do share it to me . i tried the above setting which have different values for vip and players but it seems like only Admin can use !killme , but the vip can't .

The following will allow only the Admins to have unlimited untimed !killme, all other players (including VIP) will have a limit of 3 !killme per round, each with a 3 second delay.

 

Change the second_check Code to (this will require the ILTMS core):

Code:

// Killme (Suicide)
// v2.0 - OnAnyChat - Limit 1 of 1
//

// ######### REQUIRES ILTMS V2.0 ######### //

// ********* VARIABLES ******** //

// ----------- Queue ---------- //
Queue<Dictionary<String, Object>> _Queue = null;

// ---------- Strings --------- //
String   cmd        = "";
String[] kmMsgs     = { "You have used all suicides this round!",
                        "\nSuicide in 3 seconds!" };

// ---------- Doubles --------- //
double   kmCount    = 0;

// --------- Booleans --------- //
bool     isAdmin    = false;
bool     bKill      = false;
bool     bKick      = false;
bool     bBan       = false;
bool     bMove      = false;
bool     bLevel     = false;

// ***** END OF VARIABLES ***** //

// ********* DELEGATES ******** //

Action<Object> KillMe = delegate(Object plyName)
                        {
                            if (plyName != null)
                            {
                                String pName = Convert.ToString(plyName);
                                if (pName != "")
                                {
                                    plugin.ServerCommand("admin.killPlayer", pName);
                                }
                            }
                        };

// ***** END OF DELEGATES ***** //



// *********** CODE ********** //

if (plugin.Data.issetObject("_ILTMS_THREAD_") && plugin.Data.issetObject("_ILTMS_QUEUE_") && plugin.Data.issetBool("_ILTMS_FLAG_"))
{
    if (plugin.Data.getBool("_ILTMS_FLAG_"))
    {
        _Queue = (Queue<Dictionary<String, Object>>) plugin.Data.getObject("_ILTMS_QUEUE_");
    }
}

// Set Admin & VIP flags appropriately
if (plugin.CheckAccount(player.Name, out bKill, out bKick, out bBan, out bMove, out bLevel)) isAdmin = true;

// Extract the command
cmd = plugin.ExtractInGameCommand(player.LastChat);
// Remove excessive command prefixes
if ((cmd.Length != 0) && (plugin.ExtractCommandPrefix(cmd).Length != 0)) cmd = plugin.ExtractInGameCommand(cmd);
// Make sure the command really exists
if (null == cmd || cmd.Length == 0) return false;
// Match on !killme
if (!Regex.Match(cmd, @"^\bKILLME\b", RegexOptions.IgnoreCase).Success) return false;
// Get activation count for the round
kmCount = limit.Activations(player.Name);

// Admins have unlimited instant suicides and don't require a message
if (isAdmin)
{
    KillMe(player.Name);
}
else
{
    if (_Queue != null)
    {
        // Standard & VIP players have a maximum of 3 delayed suicides per-round
        if (kmCount > 3)
        {
            // Player has used up all their suicides this round
            plugin.SendPlayerMessage(player.Name, kmMsgs[0]);
        }
        else
        {
            // Display the message
            plugin.SendPlayerYell(player.Name, kmMsgs[1], 3);
            // Do the delayed kill
            Dictionary<String, Object> myMsgBlock = null;
            List<Object> myActionDelegate = null;

            myActionDelegate = new List<Object>();
            myActionDelegate.Add(KillMe);
            myActionDelegate.Add(player.Name);

            myMsgBlock = new Dictionary<String, Object>();
            myMsgBlock.Add("time", 3);
            myMsgBlock.Add("adel", myActionDelegate);

            if (plugin.Data.getBool("_ILTMS_FLAG_"))
            {
                String _sVers = "";
                double _Vers = 0.0;
                if (plugin.Data.issetString("_ILTMS_VERSION_")) _sVers = plugin.Data.getString("_ILTMS_VERSION_");
                if (_sVers != "") _Vers = Convert.ToDouble(_sVers);
                if (_Vers >= 2.0)
                {
                    lock (_Queue)
                    {
                        _Queue.Enqueue(myMsgBlock);
                        Monitor.Pulse(_Queue);
                    }
                }
            }
        }
    }
    else
    {
        // ILTMS is not available
        plugin.SendPlayerMessage(player.Name, "Killme is currently unavailable!");
    }
}

return false;
* Restored post. It could be that the author is no longer active.
Link to comment
  • 10 months later...

Originally Posted by ColColonCleaner*:

 

If I want to suicide command, Change the following text how to modify:

 

!k

No, making it that short leaves it open to abuse since admin kills don't count as deaths.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by HATANO_KENJI*:

 

This is my code, from: ProconRulz - 44j.1

Code:

On Say;Text !k;Exec admin.killPlayer %p%
I mean, standard players can only use 3 times, I think there should be no abuse of the problem.

 

Anyway, I want to shorten the keyword.

 

Can you tell me how to modify?

 

!km Can also be!

 

Thank you!

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

This is my code, from: ProconRulz - 44j.1

Code:

On Say;Text !k;Exec admin.killPlayer %p%
I mean, standard players can only use 3 times, I think there should be no abuse of the problem.

 

Anyway, I want to shorten the keyword.

 

Can you tell me how to modify?

 

!km Can also be!

 

Thank you!

Find this line in the code:

Code:

if (!Regex.Match(cmd, @"^\bKILLME\b", RegexOptions.IgnoreCase).Success) return false;
Change it to the following for !km:

Code:

if (!Regex.Match(cmd, @"^\bKM\b", RegexOptions.IgnoreCase).Success) return false;
Or to this for !k:

Code:

if (!Regex.Match(cmd, @"^\bK\b", RegexOptions.IgnoreCase).Success) return false;
But as ColColonCleaner said, making the command that short leaves it open to abuse.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

But as ColColonCleaner said, making the command that short leaves it open to abuse.

The gravity of exposing this command is not small. Especially for admins who will abuse it without others' knowledge. The entire reason I put a mandatory 10 minute timeout on the command in AdKats was we found a player who issued it 1700 times in the span of a couple weeks. This can become even more of an issue with admins who don't take power well.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by HATANO_KENJI*:

 

Thank you for your help!

 

I have changed, The admin is working properly, But the standard players can not use.

 

Show message:

Killme is currently unavailable!

 

I need to be able to use standard players 3 times, VIP players can use 50 times, If so how to change this?

 

PS.The code in this post need to change?

 

myrcon.net/...insane-limits-timed-messaging-system-v20#entry49809 (Insane Limits Timed Messaging System - Core v2.0 - OnJoin)

 

Because I am currently only for the following code to change:

Insane Limits Timed Messaging System - Example #1

Insane Limits Timed Messaging System - Example #2

 

Thank you for your patience!

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

Thank you for your help!

 

I have changed, The admin is working properly, But the standard players can not use.

 

Show message:

Killme is currently unavailable!

 

I need to be able to use standard players 3 times, VIP players can use 50 times, If so how to change this?

 

PS.The code in this post need to change?

 

myrcon.net/...insane-limits-timed-messaging-system-v20#entry49809 (Insane Limits Timed Messaging System - Core v2.0 - OnJoin)

 

Because I am currently only for the following code to change:

Insane Limits Timed Messaging System - Example #1

Insane Limits Timed Messaging System - Example #2

 

Thank you for your patience!

To make the changes you want, find:

Code:

if (kmCount > 5)
Change to:

Code:

if (kmCount > 50)
Everything else should be fine, standard players shouldn't have an issue.

For the other post (ILTMS), you do not need to change the code, just make sure you only use the ILTMS Core core in the first post of that thread.

* Restored post. It could be that the author is no longer active.
Link to comment
  • 2 weeks later...

Originally Posted by HATANO_KENJI*:

 

My VIP still can only use 3 times suicide.

 

This is my code, Can you help me confirm?

 

Thank you very much for your help!

 

// Killme (Suicide)

// v2.0 - OnAnyChat - Limit 1 of 1

//

 

// ######### REQUIRES ILTMS V2.0 ######### //

 

// ********* VARIABLES ******** //

 

// ----------- Queue ---------- //

Queue> _Queue = null;

 

// ---------- Strings --------- //

String cmd = "";

String[] kmMsgs = { "You have used all suicides this round!(您已經用完此回合的所有自殺!)",

"\nSuicide in 3 seconds!(將在3秒鐘後自殺!)" };

 

// ---------- Doubles --------- //

double kmCount = 0;

 

// --------- Booleans --------- //

bool isAdmin = false;

bool isVIP = true;

bool bKill = false;

bool bKick = false;

bool bBan = false;

bool bMove = false;

bool bLevel = false;

 

// ***** END OF VARIABLES ***** //

 

// ********* DELEGATES ******** //

 

Action KM = delegate(Object plyName)

{

if (plyName != null)

{

String pName = Convert.ToString(plyName);

if (pName != "")

{

plugin.ServerCommand("admin.killPlayer", pName);

}

}

};

 

// ***** END OF DELEGATES ***** //

 

 

 

// *********** CODE ********** //

 

if (plugin.Data.issetObject("_ILTMS_THREAD_") && plugin.Data.issetObject("_ILTMS_QUEUE_") && plugin.Data.issetBool("_ILTMS_FLAG_"))

{

if (plugin.Data.getBool("_ILTMS_FLAG_"))

{

_Queue = (Queue>) plugin.Data.getObject("_ILTMS_QUEUE_");

}

}

 

// Set Admin & VIP flags appropriately

if (plugin.CheckAccount(player.Name, out bKill, out bKick, out bBan, out bMove, out bLevel)) isAdmin = true;

if (plugin.isInPlayerWhitelist(player.Name)) isVIP = true;

 

// Extract the command

cmd = plugin.ExtractInGameCommand(player.LastChat);

// Remove excessive command prefixes

if ((cmd.Length != 0) && (plugin.ExtractCommandPrefix(cmd).Length != 0)) cmd = plugin.ExtractInGameCommand(cmd);

// Make sure the command really exists

if (null == cmd || cmd.Length == 0) return false;

// Match on !killme

if (!Regex.Match(cmd, @"^\bK\b", RegexOptions.IgnoreCase).Success) return false;

// Get activation count for the round

kmCount = limit.Activations(player.Name);

 

// Admins have unlimited instant suicides and don't require a message

if (isVIP || isAdmin)

{

if (isVIP)

{

// VIPs have a maximum of 5 instant suicides per-round

if (kmCount > 50)

{

// VIP has used up all their suicides this round

plugin.SendPlayerMessage(player.Name, kmMsgs[0]);

return false;

}

}

KM(player.Name);

}

else

{

if (_Queue != null)

{

// Standard players have a maximum of 3 delayed suicides per-round

if (kmCount > 3)

{

// Player has used up all their suicides this round

plugin.SendPlayerMessage(player.Name, kmMsgs[0]);

}

else

{

// Display the message

plugin.SendPlayerYell(player.Name, kmMsgs[1], 3);

// Do the delayed kill

Dictionary myMsgBlock = null;

List myActionDelegate = null;

 

myActionDelegate = new List();

myActionDelegate.Add(KM);

myActionDelegate.Add(player.Name);

 

myMsgBlock = new Dictionary();

myMsgBlock.Add("time", 3);

myMsgBlock.Add("adel", myActionDelegate);

 

if (plugin.Data.getBool("_ILTMS_FLAG_"))

{

String _sVers = "";

double _Vers = 0.0;

if (plugin.Data.issetString("_ILTMS_VERSION_")) _sVers = plugin.Data.getString("_ILTMS_VERSION_");

if (_sVers != "") _Vers = Convert.ToDouble(_sVers);

if (_Vers >= 2.0)

{

lock (_Queue)

{

_Queue.Enqueue(myMsgBlock);

Monitor.Pulse(_Queue);

}

}

}

}

}

else

{

// ILTMS is not available

plugin.SendPlayerMessage(player.Name, "Killme is currently unavailable!(目前無法使用自殺指令!)");

}

}

 

return false;

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

My VIP still can only use 3 times suicide.

 

This is my code, Can you help me confirm?

 

Thank you very much for your help!

VIP player names must be in the Insane Limits player_white_list.

If you want to use the server reserved slots list instead then let me know because the code needs to be changed for that.

 

Also, you do not need to change:

Code:

bool     isVIP      = false;
This is a flag that is detected by the limit's code and automatically set appropriately.
* Restored post. It could be that the author is no longer active.
Link to comment

Archived

This topic is now archived and is closed to further replies.



  • Our picks

    • Game Server Hosting:

      We're happy to announce that EZRCON will branch out into the game server provider scene. This is a big step for us so please having patience if something doesn't go right in this area. Now, what makes us different compared to other providers? Well, we're going with the idea of having a scaleable server hosting and providing more control in how you set up your server. For example, in Minecraft, you have the ability to control how many CPU cores you wish your server to have access to, how much RAM you want to use, how much disk space you want to use. This type of control can't be offered in a single service package so you're able to configure a custom package the way you want it.

      You can see all the available games here. Currently, we have the following games available.

      Valheim (From $1.50 USD)


      Rust (From $3.20 USD)


      Minecraft (Basic) (From $4.00 USD)


      Call of Duty 4X (From $7.00 USD)


      OpenTTD (From $4.00 USD)


      Squad (From $9.00 USD)


      Insurgency: Sandstorm (From $6.40 USD)


      Changes to US-East:

      Starting in January 2022, we will be moving to a different provider that has better support, better infrastructure, and better connectivity. We've noticed that the connection/routes to this location are not ideal and it's been hard getting support to correct this. Our contract for our two servers ends in March/April respectively. If you currently have servers in this location you will be migrated over to the new provider. We'll have more details when the time comes closer to January. The new location for this change will be based out of Atlanta, GA. If you have any questions/concerns please open a ticket and we'll do our best to answer them.
      • 5 replies
    • Hello All,

      I wanted to give an update to how EZRCON is doing. As of today we have 56 active customers using the services offered. I'm glad its doing so well and it hasn't been 1 year yet. To those that have services with EZRCON, I hope the service is doing well and if not please let us know so that we can improve it where possible. We've done quite a few changes behind the scenes to improve the performance hopefully. 

      We'll be launching a new location for hosting procon layers in either Los Angeles, USA or Chicago, IL. Still being decided on where the placement should be but these two locations are not set in stone yet. We would like to get feedback on where we should have a new location for hosting the Procon Layers, which you can do by replying to this topic. A poll will be created where people can vote on which location they would like to see.

      We're also looking for some suggestions on what else you would like to see for hosting provider options. So please let us know your thoughts on this matter.
      • 4 replies
    • Added ability to disable the new API check for player country info


      Updated GeoIP database file


      Removed usage sending stats


      Added EZRCON ad banner



      If you are upgrading then you may need to add these two lines to your existing installation in the file procon.cfg. To enable these options just change False to True.

      procon.private.options.UseGeoIpFileOnly False
      procon.private.options.BlockRssFeedNews False



       
      • 2 replies
    • I wanted I let you know that I am starting to build out the foundation for the hosting services that I talked about here. The pricing model I was originally going for wasn't going to be suitable for how I want to build it. So instead I decided to offer each service as it's own product instead of a package deal. In the future, hopefully, I will be able to do this and offer discounts to those that choose it.

      Here is how the pricing is laid out for each service as well as information about each. This is as of 7/12/2020.

      Single MySQL database (up to 30 GB) is $10 USD per month.



      If you go over the 30 GB usage for the database then each additional gigabyte is charged at $0.10 USD each billing cycle. If you're under 30GB you don't need to worry about this.


      Databases are replicated across 3 zones (regions) for redundancy. One (1) on the east coast of the USA, One (1) in Frankfurt, and One (1) in Singapore. Depending on the demand, this would grow to more regions.


      Databases will also be backed up daily and retained for 7 days.




      Procon Layer will be $2 USD per month.


      Each layer will only allow one (1) game server connection. The reason behind this is for performance.


      Each layer will also come with all available plugins installed by default. This is to help facilitate faster deployments and get you up and running quickly.


      Each layer will automatically restart if Procon crashes. 


      Each layer will also automatically restart daily at midnight to make sure it stays in tip-top shape.


      Custom plugins can be installed by submitting a support ticket.




      Battlefield Admin Control Panel (BFACP) will be $5 USD per month


      As I am still working on building version 3 of the software, I will be installing the last version I did. Once I complete version 3 it will automatically be upgraded for you.





      All these services will be managed by me so you don't have to worry about the technical side of things to get up and going.

      If you would like to see how much it would cost for the services, I made a calculator that you can use. It can be found here https://ezrcon.com/calculator.html

       
      • 11 replies
    • I have pushed out a new minor release which updates the geodata pull (flags in the playerlisting). This should be way more accurate now. As always, please let me know if any problems show up.

       
      • 9 replies
×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.