Page 5 of 5 FirstFirst ... 345
Results 41 to 50 of 50
  1. #41
    Quote Originally Posted by _gp_ View Post
    I am inclined to believe your explanation, a player is remembering events as they want to believe them.

    I do double check chat logs and procon events and do find that logs differ to their memory of events. What I brought up, I am assuming player was "IT at START" (added to code) and 'thought' he had got a knife kill to be safe.

    thx for quick response sir

    _gp_

    I am going to try to code IT at START as separate Set of LIMITS, has been asked for and is liked, but want IT at Start of round only. Will take awhile to get it right tho, as I am getting busy in reality.
    thanks again for your help. _gp_
    I have been working on getting TAG at start working(need to get it posted), so I have had all TAG disabled...

    the other day I was sniped from across the map by a player,
    was an excellent shot at that,

    I heard him shoot and watched the tracer come to me... and I died,

    said player was awarded a Knife Kill for the shot.

    ...go figure...

    thx
    _gp_
    Last edited by _gp_; 14-02-2015 at 16:58. Reason: always a thoguht

  2. #42
    Quote Originally Posted by _gp_ View Post
    I have been working on getting TAG at start working(need to get it posted), so I have had all TAG disabled...

    the other day I was sniped from across the map by a player,
    was an excellent shot at that,

    I heard him shoot and watched the tracer come to me... and I died,

    said player was awarded a Knife Kill for the shot.

    ...go figure...

    thx
    _gp_
    Hah! Report a bug to DICE.
    Don't send me private messages (PMs) unless you really need privacy, like your game server password. If you just have a question or need help, post in one of the threads. It's extra work for me to answer questions and give help in private messages and no one else gets the benefit of the answer.

  3. #43
    Quote Originally Posted by PapaCharlie9 View Post
    Hah! Report a bug to DICE.
    _gp_ falls on floor laughing, refusing to roll.... Like DICE would listen


    BTW, I did figure out how to LAG out my Server using Procon chat and a For next LOOP ...

    not sure if it was using the Say command or the Yell command or combination of the two...

    thx

    _gp_
    Last edited by _gp_; 14-02-2015 at 20:47. Reason: always a thought

  4. #44
    Here goes,

    this is the set of 5 LIMITS and 1 LIST needed to make Knife Kill at Start of a Round...
    all errors you might find are mine and mine alone...
    all thx go to PapaCharlie9 for his original code that I was able to butcher to get this to work...

    This can be used for any BF3 server and maps, but I prefer smaller GunMaster Maps, and a minimum of 12 players to get it started. I am trying to get away from all mention of TAG and IT while ingame as they mean different things in other languages.

    ************************************************** *******************************************
    LIMIT 1
    ************************************************** *******************************************

    name: Game_of_Tag_ Start_Command
    eval: OnAnyChat
    1st: code
    Code:
    //gp_first_tag_Start
    //Commands !sgameon  !sgameoff  !sgame /!sgameon  /!sgameoff  /!sgame
    
    String key = "GameAtStart";
    String msg = null;
    if (Regex.Match(player.LastChat, @"^(!sgameon|/!sgameon)", RegexOptions.IgnoreCase).Success)
     {
        if (!plugin.isInList(player.Name, "gm_admins"))
    	{
            plugin.SendPlayerMessage(player.Name, "You do not have permission to use that command!");
            return false;
        }
        plugin.RoundData.setBool(key, true);
    	msg = "Game at Start enabled!";
        plugin.SendPlayerMessage(player.Name, msg);
        plugin.ConsoleWrite(msg + " by " + player.Name);
    	
    	plugin.ServerCommand("admin.say", msg, "0");
    
    	List<String> Rules = new List<String>();
    		Rules.Add("----- GAME at START RULES -----");
    		Rules.Add(" You need a Knife Kill.");
    		Rules.Add("You will be Auto Killed until You get a Knife Kill");
    		Rules.Add("After Knife Kill You are FREE to Gun Kill.");
    
    	foreach(string Rule in Rules)
    	plugin.SendGlobalMessage(Rule);	
    
    	foreach(string Rule in Rules)
    		plugin.SendGlobalMessage(Rule);	
    		
    	List<PlayerInfoInterface> all = new List<PlayerInfoInterface>();
    		all.AddRange(team1.players);
    		all.AddRange(team2.players);
    		all.AddRange(team3.players);
    		all.AddRange(team4.players);
    
    
    		foreach (PlayerInfoInterface p in all)
    			{
    			msg = "Everyone Knife Kill at Start!!!";
    
    			plugin.SendPlayerMessage(p.Name, msg);
    			plugin.SendPlayerYell(p.Name, msg, 30);
    			//plugin.ConsoleWrite(p.Name + ": " + msg);
    			p.RoundData.setInt(key, 0);
    			}
    }
     else if (Regex.Match(player.LastChat, @"^(!sgameoff|/!sgameoff)", RegexOptions.IgnoreCase).Success)
     {
        if (!plugin.isInList(player.Name, "gm_admins"))
    	{
            plugin.SendPlayerMessage(player.Name, "You do not have permission to use that command!");
            return false;
        }
        plugin.RoundData.setBool(key, false);
        msg = "Game at Start disabled!";
        plugin.SendPlayerMessage(player.Name, msg);
        plugin.ConsoleWrite(msg + " by " + player.Name);
    }
     else if (Regex.Match(player.LastChat, @"^(!sgame|/!sgame)", RegexOptions.IgnoreCase).Success)
     {
        if (!plugin.isInList(player.Name, "gm_admins"))
    	{
            plugin.SendPlayerMessage(player.Name, "You do not have permission to use that command!");
            return false;
        }
        bool enabled = false;
        if (plugin.RoundData.issetBool(key))
            enabled = plugin.RoundData.getBool(key);
        plugin.SendPlayerMessage(player.Name, "Game at Start is " + ((enabled) ? "enabled!" : "disabled!"));
    plugin.ServerCommand("admin.yell",  "Game at Start is " + ((enabled) ? "enabled!" : "disabled!"), "20");
    }
    return false;
    2nd: Disabled

    action: none

    ************************************************** *******************************************
    LIMIT 2
    ************************************************** *******************************************

    name: Game_of_Tag_Start
    eval: OnKill

    1st: Expression
    Code:
    (true)
    2nd: code

    Code:
    //gp_second_tag_Start
    
    String key = "GameAtStart";
    String msg = null;
    
    int w = 0;
    
    //set number of gunkills allowed when IT before kick
    w = 10;
    
    // Check if mode is enabled
    bool enabled = false;
    if (plugin.RoundData.issetBool(key))
        enabled = plugin.RoundData.getBool(key);
    if (!enabled)
        return false;
    
    // Check if a knife kill 
    bool knifeKill = Regex.Match(kill.Weapon, "(Melee|Knife)").Success;
    
    // If killer is IT and knife kill, make not IT
    // If killer is IT and NOT knife kill, warn/kick
    
    if (killer.RoundData.issetInt(key) && knifeKill)
    	{
        // Killer is now NOT IT!
        msg = "NICE KNIFE KILL! You are FREE to Kill with ALL Weapons!";
       
        plugin.SendPlayerMessage(player.Name, msg);
    	plugin.SendPlayerYell(player.Name, msg, 30);
    		
       //plugin.ConsoleWrite(killer.Name + ": " + msg);
        killer.RoundData.unsetInt(key);
    	}
    
    if (killer.RoundData.issetInt(key) && !knifeKill)
    	{
        // Killer is IT and did not make a knife kill
        int warnings = killer.RoundData.getInt(key);
        warnings = warnings + 1;
        killer.RoundData.setInt(key, warnings);
        if (warnings == 1)
    		{
             msg = "Your Next Kill MUST be a Knife Kill!";
    		plugin.SendPlayerMessage(player.Name, msg);
    		plugin.SendPlayerYell(player.Name, msg, 30);
    		plugin.KillPlayer(killer.Name, 0);
    		}
    	else if (warnings >= 2 && warnings <= w)
    		{
    		msg = "Your Next Kill MUST be a Knife Kill! OR BE KILLED!";
       		plugin.SendPlayerMessage(player.Name, msg);
    		plugin.SendPlayerYell(player.Name, msg, 30);
    		plugin.KillPlayer(killer.Name, 0);
    		}
    	
    	else if (warnings > w)
    		{
            msg = " for ignoring warnings: KNIFE KILL WAS NEEDED!";
            //plugin.ConsoleWrite("Kicked " + killer.Name + " " + msg);
            //plugin.EABanPlayerWithMessage(EABanType.Name, EABanDuration.Round, killer.Name, 0, msg);
    		plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, killer.Name, 0,killer.Name +msg);
    		}
        return false;
    	}
    return false;
    action: none

    ************************************************** *******************************************
    LIMIT 3
    ************************************************** *******************************************

    Tag_Start_Rules_Multi_Reg

    OnAnyChat

    1st: Expression
    Code:
    (Regex.Match(player.LastChat, @"^!(sTag|sPTag|sSpTag|sGTag)", RegexOptions.IgnoreCase).Success)
    2nd: code

    Code:
    //gp_Tag_Start_Rules_Multi_Reg
    
    if (Regex.Match(player.LastChat, @"^!sTag", RegexOptions.IgnoreCase).Success)
    	{
    	//English
    	// Edit rules here
    	List<String> Rules = new List<String>();
    	Rules.Add("----- GAME RULES -----");
    	//Rules.Add(" If you are Knife Killed, ");
    	Rules.Add(" You need a Knife Kill.");
    	Rules.Add("You will be Auto Killed until You get a Knife Kill.");
    	Rules.Add("After Knife Kill You are FREE to Gun Kill.");
    	// Try not to add more Rules.Add because it won't fit in the chat box.
    
    
    	if(limit.Activations(player.Name) <= 5)
    		foreach(string Rule in Rules)
    			plugin.SendGlobalMessage(Rule);
    	
    	return false;
    	}
    
    
    else if (Regex.Match(player.LastChat, @"^!sSpTag", RegexOptions.IgnoreCase).Success)
    	{
    	//Spanish
    	// Edit rules here
    	List<String> Rules = new List<String>();
    	Rules.Add("----- REGLAS DEL JUEGO -----");
    	//Rules.Add("Si esta cuchillo mato,");
    	Rules.Add("Usted necesita un cuchillo de muertes.");
    	Rules.Add("Usted será Killed Auto hasta que obtenga un cuchillo Matar.");
    	Rules.Add("Despues de lamina matanza que son libres de arma de muertes.");
    	// Try not to add more Rules.Add because it won't fit in the chat box.
    
    
    	if(limit.Activations(player.Name) <= 5)
    		foreach(string Rule in Rules)
    			plugin.SendGlobalMessage(Rule);
    	
    	return false;
    	}
    	
    else if (Regex.Match(player.LastChat, @"^!sPTag", RegexOptions.IgnoreCase).Success)
    	{
    	//Portugese
    	// Edit rules here
    	List<String> Rules = new List<String>();
    	Rules.Add("----- REGRAS DO JOGO -----");
    	//Rules.Add("Se voce estiver faca matou,");
    	Rules.Add("Voce precisa de uma faca Matar.");
    	Rules.Add("Voce sera Auto matou ate obter uma faca Matar.");
    	Rules.Add("Apos Faca Matar Voce e livre para Gun Matar.");
    	// Try not to add more Rules.Add because it won't fit in the chat box.
    
    
    	if(limit.Activations(player.Name) <= 5)
    		foreach(string Rule in Rules)
    			plugin.SendGlobalMessage(Rule);
    	
    	return false;
    	}
    
    else if (Regex.Match(player.LastChat, @"^!sGTag", RegexOptions.IgnoreCase).Success)
    	{
    	//German
    	// Edit rules here
    	List<String> Rules = new List<String>();
    	Rules.Add("----- SPIELREGELN -----");
    	//Rules.Add("Wenn Sie Messer getaetet,");
    	Rules.Add("Sie benaetigen ein Messer zu taeten.");
    	Rules.Add("Sie werden Auto getaetet, bis Sie erhalten ein Messer zu taeten.");
    	Rules.Add("Nach dem Messer taeten Sie sind frei, Gun taeten.");
    	// Try not to add more Rules.Add because it won't fit in the chat box.
    
    	
    	if(limit.Activations(player.Name) <= 5)
    		foreach(string Rule in Rules)
    			plugin.SendGlobalMessage(Rule);
    	
    	return false;
    	}
    
    return false;
    action: none

    ************************************************** *******************************************
    LIMIT 4
    ************************************************** *******************************************

    name: You_are_IT_Start_Reminder
    eval: OnSpawn

    1st: Code

    Code:
    //gp_You_are_IT_Start_Reminder
    
    String key = "GameAtStart";
    String msg = null;
    
    // Check if mode is enabled
    bool enabled = false;
    if (plugin.RoundData.issetBool(key))
        enabled = plugin.RoundData.getBool(key);
    if (!enabled)
        return false;
    
    if (player.RoundData.issetInt(key))
    	{
        msg = "Your Next Kill MUST be a Knife Kill!";
        
    	plugin.SendPlayerMessage(player.Name, msg);
        plugin.SendPlayerYell(player.Name, msg, 30);
    	
    	}
    return false;
    2nd: Disabled

    Action: none

    ************************************************** *******************************************
    LIMIT 5
    ************************************************** *******************************************

    name: TAG_Start_Rnd_On_Off
    eval: OnRoundStart

    1st: Expression

    Code:
    (
    (server.PlayerCount >= 12) && (server.Gamemode == "GunMaster0") &&
      (
      server.MapFileName== "XP2_Skybar" 
      || server.MapFileName== "XP2_Office" 
      || server.MapFileName== "XP2_Palace" 
      || server.MapFileName== "XP2_Factory" 
      || server.MapFileName== "XP4_Quake"
      )
    )
    2nd: Code

    Code:
    //gp_TAG_Start_Rnd_On_Off
    
    String key = "GameAtStart";
    String msg = null;
    
    Random rnd = new Random();
    int TagOnOff = rnd.Next(9);
    
    if((TagOnOff <= 4)&&(server.PlayerCount<=24))	{
    	plugin.RoundData.setBool(key, true);
    	msg = "Game at Start is enabled";
    	plugin.ServerCommand("admin.say",  msg, "20");
    	plugin.ServerCommand("admin.yell", msg, "20");
    	
    	List<String> Rules = new List<String>();
    	Rules.Add("----- GAME at START RULES -----");
    		Rules.Add(" You need a Knife Kill.");
    		Rules.Add("You will be Auto Killed until You get a Knife Kill");
    		Rules.Add("After Knife Kill You are FREE to Gun Kill.");
    
    	foreach(string Rule in Rules)
    		plugin.SendGlobalMessage(Rule);	
    	List<PlayerInfoInterface> all = new List<PlayerInfoInterface>();
    		all.AddRange(team1.players);
    		all.AddRange(team2.players);
    		all.AddRange(team3.players);
    		all.AddRange(team4.players);
    
    
    		foreach (PlayerInfoInterface p in all)
    			{
    			msg = "Everyone Knife Kill at Start!!!";
    
    			plugin.SendPlayerMessage(p.Name, msg);
    			plugin.SendPlayerYell(p.Name, msg, 30);
    			//plugin.ConsoleWrite(p.Name + ": " + msg);
    			p.RoundData.setInt(key, 0);
    			}
    	
    	}
    else if(TagOnOff >= 5)
    	{
    	plugin.RoundData.setBool(key, false);
    	msg = "Game at Start is disabled";
    	plugin.ServerCommand("admin.say",  msg, "20");
    	plugin.ServerCommand("admin.yell", msg, "20");
    	}
    return false;
    action: none

    ************************************************** *******************************************
    LIST 1
    ************************************************** *******************************************
    NOTE:
    this is the same LIST that is used for Original TAG from Post 1, you only need one LIST for both TAG and KNIFE at Start..

    Create a custom list

    call it gm_admins

    Enabled, CaseInsensitive.

    Add all the admins that can control the mode as player names separated by commas.

    ************************************************** ********************************************


    There is more Integration/Checks to be done with these LIMITS for TAG and Knife at Start.
    Over time I will get to it, but wanted to share the working versions.
    I find that I want to run Knife_at_Start, all the time, but, still start it at random to not get bored with it to soon.

    PapaCharlie9,
    thanks again for your help

    _gp_
    Last edited by _gp_; 15-02-2015 at 18:54. Reason: Always a Thought

  5. #45
    There is an error in LIMIT 3. The first_check matches a bunch of commands that start with s. Then second_check tries to match ^!Tag, etc., but that command is is not matched in first_check, so the code in second_check will never happen.

    Maybe remove the s in front of each command name in first_check?
    Don't send me private messages (PMs) unless you really need privacy, like your game server password. If you just have a question or need help, post in one of the threads. It's extra work for me to answer questions and give help in private messages and no one else gets the benefit of the answer.

  6. #46
    Quote Originally Posted by PapaCharlie9 View Post
    There is an error in LIMIT 3. The first_check matches a bunch of commands that start with s. Then second_check tries to match ^!Tag, etc., but that command is is not matched in first_check, so the code in second_check will never happen.

    Maybe remove the s in front of each command name in first_check?
    PapaCharlie9

    thx for the catch, corrected my error by adding 's' as needed.

    Knife Game (TAG) and Knife at Start have same rules except for 1 rule. the 's' is to call the rules for Knife at start.

    Need to get off my lazy @ss and post the 5 LIMITS I am using for Knife Game (TAG).

    thx
    _gp_

  7. #47
    I still feel 'Lazy' but wanted to get this posted.

    This is my version of Original Code for TAG by PapaCharlie9.

    There are 5 LIMITS and 1 LIST

    ************************************************** *******************************************
    LIMIT 1
    ************************************************** *******************************************

    name: Game_of_Tag_Command
    eval: OnAnyChat
    1st: code
    Code:
    //gp_first_tag
    //Commands !gameon  !gameoff  !game /!gameon  /!gameoff  /!game
    String key = "GameOfTag";
    String msg = null;
    if (Regex.Match(player.LastChat, @"^(!gameon|/!gameon)", RegexOptions.IgnoreCase).Success)
     {
        if (!plugin.isInList(player.Name, "gm_admins"))
    	{
            plugin.SendPlayerMessage(player.Name, "You do not have permission to use that command!");
            return false;
        }
        plugin.RoundData.setBool(key, true);
        msg = "Knife Game is enabled!";
        plugin.SendPlayerMessage(player.Name, msg);
        plugin.ConsoleWrite(msg + " by " + player.Name);
    	
    	plugin.ServerCommand("admin.say", msg, "0");
    
    	List<String> Rules = new List<String>();
    		Rules.Add("----- GAME RULES -----");
    		Rules.Add(" If you are Knife Killed, ");
    		Rules.Add(" You need a Knife Kill.");
    		Rules.Add("You will be Auto Killed until You get a Knife Kill");
    		Rules.Add("After Knife Kill You are FREE to Gun Kill.");
    
    	foreach(string Rule in Rules)
    	plugin.SendGlobalMessage(Rule);	
    }
     else if (Regex.Match(player.LastChat, @"^(!gameoff|/!gameoff)", RegexOptions.IgnoreCase).Success)
     {
        if (!plugin.isInList(player.Name, "gm_admins"))
    	{
            plugin.SendPlayerMessage(player.Name, "You do not have permission to use that command!");
            return false;
        }
        plugin.RoundData.setBool(key, false);
        msg = "Knife Game is disabled!";
        plugin.SendPlayerMessage(player.Name, msg);
        plugin.ConsoleWrite(msg + " by " + player.Name);
    }
     else if (Regex.Match(player.LastChat, @"^(!game|/!game)", RegexOptions.IgnoreCase).Success)
     {
        if (!plugin.isInList(player.Name, "gm_admins"))
    	{
            plugin.SendPlayerMessage(player.Name, "You do not have permission to use that command!");
            return false;
        }
        bool enabled = false;
        if (plugin.RoundData.issetBool(key))
            enabled = plugin.RoundData.getBool(key);
        plugin.SendPlayerMessage(player.Name, "Knife Game is " + ((enabled) ? "enabled!" : "disabled!"));
    plugin.ServerCommand("admin.yell",  "Knife Game is " + ((enabled) ? "enabled!" : "disabled!"), "20");
    }
    return false;
    2nd: Disabled

    action: none

    ************************************************** *******************************************
    LIMIT 2
    ************************************************** *******************************************

    name: Game_of_Tag
    eval: OnKill

    1st: Expression
    Code:
    (true)
    2nd: code

    Code:
    //rev gp_second_tag
    
    String key = "GameOfTag";
    String msg = null;
    
    int w = 0;
    
    //set number of gunkills allowed when IT before kick
    w = 10;
    
    // Check if mode is enabled
    bool enabled = false;
    if (plugin.RoundData.issetBool(key))
        enabled = plugin.RoundData.getBool(key);
    if (!enabled)
        return false;
    
    // Check if a knife kill 
    bool knifeKill = Regex.Match(kill.Weapon, "(Melee|Knife)").Success;
    
    // If victim not IT and knife kill, make IT
    // If killer is IT and knife kill, make not IT
    // If killer is IT and NOT knife kill, warn/kick
    
    if (!victim.RoundData.issetInt(key) && knifeKill)
    	{
        // Victim is now IT!
        msg = "Your Next Kill MUST be a Knife Kill!";
       	plugin.SendPlayerMessage(player.Name, msg);
    	plugin.SendPlayerYell(player.Name, msg, 30);
    	//plugin.ConsoleWrite(victim.Name + ": " + msg);
        victim.RoundData.setInt(key, 0);
    	}
    
    if (killer.RoundData.issetInt(key) && knifeKill)
    	{
        // Killer is now NOT IT!
        msg = "NICE KNIFE KILL! You are FREE to Kill with ALL Weapons!";
       	plugin.SendPlayerMessage(player.Name, msg);
    	plugin.SendPlayerYell(player.Name, msg, 30);
    	//plugin.ConsoleWrite(killer.Name + ": " + msg);
        killer.RoundData.unsetInt(key);
    	}
    
    if (killer.RoundData.issetInt(key) && !knifeKill)
    	{
        // Killer is IT and did not make a knife kill
        int warnings = killer.RoundData.getInt(key);
        warnings = warnings + 1;
        killer.RoundData.setInt(key, warnings);
        if (warnings == 1)
    		{
             msg = "Your Next Kill MUST be a Knife Kill!";
       		plugin.SendPlayerMessage(player.Name, msg);
    		plugin.SendPlayerYell(player.Name, msg, 30);
    	
    		 //plugin.KillPlayer(killer.Name, 0);
    		 }
    	else if (warnings >= 2 && warnings <= w)
    		{
    		msg = "Your Next Kill MUST be a Knife Kill! OR BE KILLED!";
       
    		plugin.SendPlayerMessage(player.Name, msg);
    		plugin.SendPlayerYell(player.Name, msg, 30);
    		plugin.KillPlayer(killer.Name, 0);
    		}
    	
    	else if (warnings > w)
    		{
            msg = " for ignoring warnings: KNIFE KILL WAS NEEDED!";
            //plugin.ConsoleWrite("Kicked " + killer.Name + " " + msg);
            //plugin.EABanPlayerWithMessage(EABanType.Name, EABanDuration.Round, killer.Name, 0, msg);
    		plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, killer.Name, 0,killer.Name +msg);
    		}
        return false;
    	}
    return false;
    action: none

    ************************************************** *******************************************
    LIMIT 3
    ************************************************** *******************************************
    Tag_Rules_Multi_Reg

    OnAnyChat

    1st:Expression

    Code:
    (Regex.Match(player.LastChat, @"^!(Tag|PTag|SpTag|GTag)", RegexOptions.IgnoreCase).Success)
    2nd: code

    Code:
    //rev gp_ Tag_Rules_Multi_Reg
    
    if (Regex.Match(player.LastChat, @"^!Tag", RegexOptions.IgnoreCase).Success)
    	{
    	//English
    	// Edit rules here
    	List<String> Rules = new List<String>();
    	Rules.Add("----- GAME RULES -----");
    	Rules.Add(" If you are Knife Killed, ");
    	Rules.Add(" You need a Knife Kill.");
    	Rules.Add("You will be Auto Killed until You get a Knife Kill.");
    	Rules.Add("After Knife Kill You are FREE to Gun Kill.");
    	// Try not to add more Rules.Add because it won't fit in the chat box.
    
    
    	if(limit.Activations(player.Name) <= 5)
    		foreach(string Rule in Rules)
    			plugin.SendGlobalMessage(Rule);
    	
    	return false;
    	}
    
    
    else if (Regex.Match(player.LastChat, @"^!SpTag", RegexOptions.IgnoreCase).Success)
    	{
    	//Spanish
    	// Edit rules here
    	List<String> Rules = new List<String>();
    	Rules.Add("----- REGLAS DEL JUEGO -----");
    	Rules.Add("Si esta cuchillo mato,");
    	Rules.Add("Usted necesita un cuchillo de muertes.");
    	Rules.Add("Usted será Killed Auto hasta que obtenga un cuchillo Kill.");
    	Rules.Add("Despues de lamina matanza que son libres de arma de muertes.");
    	// Try not to add more Rules.Add because it won't fit in the chat box.
    
    
    	if(limit.Activations(player.Name) <= 5)
    		foreach(string Rule in Rules)
    			plugin.SendGlobalMessage(Rule);
    	
    	return false;
    	}
    	
    else if (Regex.Match(player.LastChat, @"^!PTag", RegexOptions.IgnoreCase).Success)
    	{
    	//Portugese
    	// Edit rules here
    	List<String> Rules = new List<String>();
    	Rules.Add("----- REGRAS DO JOGO -----");
    	Rules.Add("Se voce estiver faca matou,");
    	Rules.Add("Voce precisa de uma faca Kill.");
    	Rules.Add("Voce sera Auto matou ate obter uma faca Kill.");
    	Rules.Add("Apos Faca Matar Voce e livre para Gun Kill.");
    	// Try not to add more Rules.Add because it won't fit in the chat box.
    
    
    	if(limit.Activations(player.Name) <= 5)
    		foreach(string Rule in Rules)
    			plugin.SendGlobalMessage(Rule);
    	
    	return false;
    	}
    
    else if (Regex.Match(player.LastChat, @"^!GTag", RegexOptions.IgnoreCase).Success)
    	{
    	//German
    	// Edit rules here
    	List<String> Rules = new List<String>();
    	Rules.Add("----- SPIELREGELN -----");
    	Rules.Add("Wenn Sie Messer getaetet,");
    	Rules.Add("Sie benaetigen ein Messer zu taeten.");
    	Rules.Add("Sie werden Auto getaetet, bis Sie erhalten ein Messer zu taeten.");
    	Rules.Add("Nach dem Messer taeten Sie sind frei, Gun taeten.");
    	// Try not to add more Rules.Add because it won't fit in the chat box.
    
    	
    	if(limit.Activations(player.Name) <= 5)
    		foreach(string Rule in Rules)
    			plugin.SendGlobalMessage(Rule);
    	
    	return false;
    	}
    
    return false;
    action: none

    ************************************************** *******************************************
    LIMIT 4
    ************************************************** *******************************************
    name: You_are_IT_Reminder
    eval: OnSpawn

    1st: Code

    Code:
    //gp_You_are_IT_Reminder
    
    String key = "GameOfTag";
    String msg = null;
    
    // Check if mode is enabled
    bool enabled = false;
    if (plugin.RoundData.issetBool(key))
        enabled = plugin.RoundData.getBool(key);
    if (!enabled)
        return false;
    
    if (player.RoundData.issetInt(key))
    	{
        msg = "Your Next Kill MUST be a Knife Kill!";
        plugin.SendPlayerMessage(player.Name, msg);
    	plugin.SendPlayerYell(player.Name, msg, 30);
    	}
    return false;
    2nd: Disabled

    Action: none

    ************************************************** *******************************************
    LIMIT 5
    ************************************************** *******************************************

    name: TAG_Rnd_On_Off
    eval: OnRoundStart

    1st: Expression

    Code:
    (
    (server.PlayerCount >= 12) && (server.Gamemode == "GunMaster0") &&
      (
      server.MapFileName== "XP2_Skybar" 
      || server.MapFileName== "XP2_Office" 
      || server.MapFileName== "XP2_Palace" 
      || server.MapFileName== "XP2_Factory" 
      || server.MapFileName== "XP4_Quake"
      )
    )
    2nd: Code

    Code:
    //gp_TAG_Rnd_On_Off 12152014
    
    String key = "GameOfTag";
    String msg = null;
    
    Random rnd = new Random();
    int TagOnOff = rnd.Next(9);
    
    if(TagOnOff <= 4)
    	{
    	plugin.RoundData.setBool(key, true);
    	msg = "Knife Game is enabled";
    	plugin.ServerCommand("admin.say",  msg, "20");
    	plugin.ServerCommand("admin.yell", msg, "20");
    	
    	List<String> Rules = new List<String>();
    	Rules.Add("----- GAME RULES -----");
    	Rules.Add(" If you are Knife Killed, ");
    	Rules.Add(" You need a Knife Kill.");
    	Rules.Add("You will be Auto Killed until You get a Knife Kill");
    	Rules.Add("After Knife Kill You are FREE to Gun Kill.");
    
    	foreach(string Rule in Rules)
    		plugin.SendGlobalMessage(Rule);	
    	}
    else if(TagOnOff >= 5)
    	{
    	plugin.RoundData.setBool(key, false);
    	msg = "Knife Game is disabled";
    	plugin.ServerCommand("admin.say",  msg, "20");
    	plugin.ServerCommand("admin.yell", msg, "20");
    	}
    return false;
    action: none

    ************************************************** *******************************************
    LIST 1
    ************************************************** *******************************************

    NOTE:
    this is the LIST that is used for KnifeGame (TAG), you only need this LIST for KnifeGame(TAG) and KNIFE at Start..

    Create a custom list

    call it gm_admins

    Enabled, CaseInsensitive.

    Add all the admins that can control the mode as player names separated by commas.

    ************************************************** ********************************************



    There is more to be done to Integrate these LIMITS for KnifeGame(TAG) and Knife at Start, if you choose to run both.
    Over time I will get to it, but wanted to share the working versions.

    I find that I want to run Knife_at_Start, all the time, but, still start it at random to not get bored with it to soon.

    Both of these versions of TAG (KnifeGame and Knife at Start) can be run at the same time. It can be fun, but makes GunMaster a much harder game to Play.

    PapaCharlie9,
    thanks again for your help

    _gp_


    NOTE: If you are trying to run both 'KnifeGame' and 'KnifeAtStart' there is a Total of 10 LIMITS and 1 LIST needed.

    Stand Alone Plug-In ???
    you can't make me, you can't make me Skipper. besides Insane Limits Rocks
    Last edited by _gp_; 15-02-2015 at 22:06. Reason: Always a thought

  8. #48
    How would one get this game of tag to "auto" start when the server is under X number of players and to "auto" end (displaying stats) when server reaches a X number of players?

    this would be for any game mode/map

    TY in advance

  9. #49
    Quote Originally Posted by knownchild View Post
    How would one get this game of tag to "auto" start when the server is under X number of players and to "auto" end (displaying stats) when server reaches a X number of players?

    this would be for any game mode/map

    TY in advance

    Sorry so long to get back to you.

    I can do part of what you are asking, if I understand correctly.

    These LIMITS for Knife Game (TAG) and Knife at Start, are excecuted at the start of a round.

    From what I read, you are asking for Knife Game (TAG) to be started :

    1) every round

    2) on all game modes

    3) only if there is less than a certain number of players in server. (I am guessing 48 players will be upper limit)

    4) I will keep it for minimum number of 12 players also as I have found, it is best.

    From post 47 change LIMIT 5 to:

    ************************************************** *******************************************
    LIMIT 5 Revised to start any mode any time 03212015
    ************************************************** *******************************************

    name: TAG_Rnd_On_Off
    eval: OnRoundStart

    1st: Expression

    Code:
    (
    (server.PlayerCount >= 12) && (server.PlayerCount <= 48)
    )
    2nd: Code

    Code:
    //gp_TAG_Rnd_On_Off 12152014
    //added line 8 to start TAG every round 03212015
    
    String key = "GameOfTag";
    String msg = null;
    
    Random rnd = new Random();
    int TagOnOff = rnd.Next(9);
    
    //comment out next line for random to work again
    TagOnOff = 4;
    
    if(TagOnOff <= 4)
    	{
    	plugin.RoundData.setBool(key, true);
    	msg = "Knife Game is enabled";
    	plugin.ServerCommand("admin.say",  msg, "20");
    	plugin.ServerCommand("admin.yell", msg, "20");
    	
    	List<String> Rules = new List<String>();
    	Rules.Add("----- GAME RULES -----");
    	Rules.Add(" If you are Knife Killed, ");
    	Rules.Add(" You need a Knife Kill.");
    	Rules.Add("You will be Auto Killed until You get a Knife Kill");
    	Rules.Add("After Knife Kill You are FREE to Gun Kill.");
    
    	foreach(string Rule in Rules)
    		plugin.SendGlobalMessage(Rule);	
    	}
    else if(TagOnOff >= 5)
    	{
    	plugin.RoundData.setBool(key, false);
    	msg = "Knife Game is disabled";
    	plugin.ServerCommand("admin.say",  msg, "20");
    	plugin.ServerCommand("admin.yell", msg, "20");
    	}
    return false;
    action: none

    At anytime you want to stop Knife Game (TAG) can be stopped by typing !gameoff in chat.
    (do not forget to add your name to the gm_admins List )

    the above code compiled but I did not test it in game as at the moment I am running gunmaster only on my server...

    Thx,

    _gp_

    - If you want the current game ended when a player total is reached I will need to speak to PapaCharlie9 for guidance as to the command to use...if there is a command that works...
    Last edited by _gp_; 22-03-2015 at 02:42. Reason: Always a Thought

  10. #50
    Thank you will give it a try

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •