Перейти к содержимому
View in the app

A better way to browse. Learn more.

Zloplay community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[REQUEST]Force Player into 1 side & Kick Bots

Опубликовано:

Hi guys,

 

I have set up a bot server and close to open to the public.

But can anyone help me to write scripts/command (whatever) to:

 

1. Force joined players to either side so i can spawn bots on the other side

2. I know there's a glitch in the kenshin bot mod that put bots in spectator in the next round. Is there any command to kick the bots ONLY and leave those joined players in the server (kick all would just kick every1, including me :( )

 

Thanks!

Featured Replies

Опубликовано:
You need to scan through all the players and see if their name contains "bot", then you look up their id and kick that id.

 

Should be better to check their guids for 'bot' than there names. This would work in IW4M:

foreach( player in level.players ) {
if ( isSubStr( player.guid, "bot" ) ) 
	kick( player getEntityNumber(), "EXE_PLAYERKICKED" );
}

Assumed that the bots guids are the same in IW5M....

  • 4 weeks later...
Опубликовано:

Hi. here is a code which can designate players but, i don't know how to kick bots.

this way is not smart because you have to designate location manually.

Maybe someone can release improved way.

п»їusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using InfinityScript;

namespace Pos_dome
{
   public class Pos_dome : BaseScript
   {

       public Pos_dome()
           : base()
       {



           PlayerConnected += new Action(entity =>
           {
               RandomPos(entity);

           });

       }




       private Random _rng = new Random();

       public void RandomPos(Entity player)
       {

           switch (_rng.Next(10))
           {

               case 0:
                   player.Call("setorigin", new Parameter(new Vector3(93.36785f, -47.53401f, 3400.4635f)));
                   break;

               case 1:
                   player.Call("setorigin", new Parameter(new Vector3(-162.5995f, 5.622656f, 3980.694f)));
                   break;

               case 2:
                   player.Call("setorigin", new Parameter(new Vector3(188.9445f, -77.5774f, 3063.872f)));
                   break;

               case 3:
                   player.Call("setorigin", new Parameter(new Vector3(113.9481f, 74.19286f, 3366.845f)));
                   break;

               case 4:
                   player.Call("setorigin", new Parameter(new Vector3(55.25232f, -184.2635f, 3271.212f)));
                   break;

               case 5:
                   player.Call("setorigin", new Parameter(new Vector3(78.57862f, -224.7307f, 3836.516f)));
                   break;

               case 6:
                   player.Call("setorigin", new Parameter(new Vector3(363.2043f, -234.6761f, 3535.094f)));
                   break;

               case 7:
                   player.Call("setorigin", new Parameter(new Vector3(482.5183f, 15.33127f, 3513.106f)));
                   break;

               case 8:
                   player.Call("setorigin", new Parameter(new Vector3(327.1673f, 223.1929f, 3379.409f)));
                   break;

               case 9:
                   player.Call("setorigin", new Parameter(new Vector3(147.0995f, 247.7543f, 3379.409f)));
                   break;

           }
       }
       public override void OnPlayerDamage(Entity player, Entity inflictor, Entity attacker, int damage, int dFlags, string mod, string weapon, Vector3 point, Vector3 dir, string hitLoc)
       {
           if (mod == "MOD_FALLING" && player.Origin.Z > 22)
               player.Health += damage;
       }
       }
   }


Опубликовано:
Hi. here is a code which can designate players but, i don't know how to kick bots.

this way is not smart because you have to designate location manually.

Maybe someone can release improved way.

п»їusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using InfinityScript;

namespace Pos_dome
{
   public class Pos_dome : BaseScript
   {

       public Pos_dome()
           : base()
       {



           PlayerConnected += new Action(entity =>
           {
               RandomPos(entity);

           });

       }




       private Random _rng = new Random();

       public void RandomPos(Entity player)
       {

           switch (_rng.Next(10))
           {

               case 0:
                   player.Call("setorigin", new Parameter(new Vector3(93.36785f, -47.53401f, 3400.4635f)));
                   break;

               case 1:
                   player.Call("setorigin", new Parameter(new Vector3(-162.5995f, 5.622656f, 3980.694f)));
                   break;

               case 2:
                   player.Call("setorigin", new Parameter(new Vector3(188.9445f, -77.5774f, 3063.872f)));
                   break;

               case 3:
                   player.Call("setorigin", new Parameter(new Vector3(113.9481f, 74.19286f, 3366.845f)));
                   break;

               case 4:
                   player.Call("setorigin", new Parameter(new Vector3(55.25232f, -184.2635f, 3271.212f)));
                   break;

               case 5:
                   player.Call("setorigin", new Parameter(new Vector3(78.57862f, -224.7307f, 3836.516f)));
                   break;

               case 6:
                   player.Call("setorigin", new Parameter(new Vector3(363.2043f, -234.6761f, 3535.094f)));
                   break;

               case 7:
                   player.Call("setorigin", new Parameter(new Vector3(482.5183f, 15.33127f, 3513.106f)));
                   break;

               case 8:
                   player.Call("setorigin", new Parameter(new Vector3(327.1673f, 223.1929f, 3379.409f)));
                   break;

               case 9:
                   player.Call("setorigin", new Parameter(new Vector3(147.0995f, 247.7543f, 3379.409f)));
                   break;

           }
       }
       public override void OnPlayerDamage(Entity player, Entity inflictor, Entity attacker, int damage, int dFlags, string mod, string weapon, Vector3 point, Vector3 dir, string hitLoc)
       {
           if (mod == "MOD_FALLING" && player.Origin.Z > 22)
               player.Health += damage;
       }
       }
   }


 

Just use:

Call("kick", botid);

Опубликовано:

To kick bots, type kb in chat.

п»їusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using InfinityScript;
namespace Bots
{
   public class Bots : BaseScript
   {

       public Bots()
       {


       }
       void kickAllCommand(Entity sc)
       {

           List list = new List();
           list = GetClients();
           String reason = "Kick bots Executed";
           foreach (Entity client in list)
           {
               if (client.Name.Contains("bot"))
               {
                   Utilities.ExecuteCommand("dropclient " + client.EntRef + " \"" + reason + "\"");
               }
           }
       }
       public List GetClients()
       {
           List players = new List();
           for (int i = 0; i < 17; i++)
           {
               Entity entity = Call("getentbynum", i);
               if (entity != null)
               {
                   if (entity.IsPlayer)
                   {
                       players.Add(entity);
                   }
               }
           }
           return players;
       }
       public override void OnSay(Entity player, string name, string Message)
       {

               switch (Message)
               {
                   case "/kb":
                       kickAllCommand(player);
                       break;

               }

       }
   }

}

 

players positioning.

maybe, you should edit position manually if you want other position.


 п»їusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using InfinityScript;

namespace Position
{
   public class Position : BaseScript
   {
       private string _mapname;
       public Position()
           : base()
       {
           _mapname = Call("getdvar", "mapname");

           PlayerConnected += new Action(player =>
           {
               InitialPosition(player, _mapname);
           });

       }


       public void InitialPosition(Entity player, string mapname)
       {
           switch (mapname)
           {
               case "mp_alpha":
                   player.Call("setorigin", new Parameter(new Vector3(-1472.533f, 3557.656f, 138.125f)));
                   break;
               //case "mp_aground_ss":
               //    player.Call("setorigin", new Parameter(new Vector3(251.2554f, 161.9011f, 290.9486f)));
               //    break;
               case "mp_boardwalk":
                   player.Call("setorigin", new Parameter(new Vector3(-1007.327f, 3720.143f, 127.125f)));
                   break;
               case "mp_bootleg":
                   player.Call("setorigin", new Parameter(new Vector3(-301.0647f, -79.91943f, -67.875f)));
                   break;
               case "mp_bravo":
                   player.Call("setorigin", new Parameter(new Vector3(-1853.57f, 668.0859f, 1060.652f)));
                   break;
               //case "mp_burn_ss":
               //    player.Call("setorigin", new Parameter(new Vector3(672.071f, 176.4982f, 64.125f)));
               //    break;
               case "mp_carbon":
                   player.Call("setorigin", new Parameter(new Vector3(-1581.039f, -4353.35f, 3861.876f)));
                   break;
               case "mp_cement":
                   player.Call("setorigin", new Parameter(new Vector3(-4057.628f, -61.3646f, 296.125f)));
                   break;
               //case "mp_courtyard_ss":
               //    player.Call("setorigin", new Parameter(new Vector3(53.11837f, 681.3397f, 648.125f)));
               //    break;
               //case "mp_crosswalk_ss":
               //    player.Call("setorigin", new Parameter(new Vector3(53.11837f, 681.3397f, 648.125f)));
               //    break;
               case "mp_dome":
                   player.Call("setorigin", new Parameter(new Vector3(170.4399f, -59.56112f, 6543.455f)));
                   break;
               case "mp_exchange":
                   player.Call("setorigin", new Parameter(new Vector3(843.0276f, 96.01902f, -146.1297f)));
                   break;
               case "mp_hardhat":
                   player.Call("setorigin", new Parameter(new Vector3(-985.4795f, -986.3607f, 290.9416f)));
                   break;
               //case "mp_hillside_ss":
               //    player.Call("setorigin", new Parameter(new Vector3(53.11837f, 681.3397f, 648.125f)));
               //    break;
               case "mp_interchange":
                   player.Call("setorigin", new Parameter(new Vector3(5025.027f, -3411.375f, 381.2672f)));
                   break;
               case "mp_italy":
                   player.Call("setorigin", new Parameter(new Vector3(1105.824f, 1926.78f, 1215.081f)));
                   break;
               case "mp_lambeth":
                   player.Call("setorigin", new Parameter(new Vector3(-840.1872f, -57.74454f, -73.875f)));
                   break;
               case "mp_meteora":
                   player.Call("setorigin", new Parameter(new Vector3(-2231.761f, 2036.846f, 1552.125f)));
                   break;
               case "mp_moab":
                   player.Call("setorigin", new Parameter(new Vector3(1113.51f, 1908.329f, 170.0522f)));
                   break;
               case "mp_mogadishu":
                   player.Call("setorigin", new Parameter(new Vector3(1417.62f, -1315.583f, -45.09239f)));
                   break;
               case "mp_morningwood":
                   player.Call("setorigin", new Parameter(new Vector3(-257.4955f, 428.5023f, 1091.143f)));
                   break;
               case "mp_nola":
                   player.Call("setorigin", new Parameter(new Vector3(-1900.517f, -188.4618f, 8.124999f)));
                   break;
               case "mp_overwatch":
                   player.Call("setorigin", new Parameter(new Vector3(59.47082f, 4.85917f, 12819.13f)));
                   break;
               case "mp_paris":
                   player.Call("setorigin", new Parameter(new Vector3(1949.322f, 1784.76f, -20.57607f)));
                   break;
               case "mp_park":
                   player.Call("setorigin", new Parameter(new Vector3(1557.315f, -514.9321f, -45.94517f)));
                   break;
               case "mp_plaza2":
                   player.Call("setorigin", new Parameter(new Vector3(475.7262f, -1955.127f, 706.625f)));
                   break;
               case "mp_qadeem":
                   player.Call("setorigin", new Parameter(new Vector3(-2371.043f, 1092.436f, 284.125f)));
                   break;
               case "mp_radar":
                   player.Call("setorigin", new Parameter(new Vector3(-3831.612f, 1656.025f, 1262.874f)));
                   break;
               //case "mp_restrepo_ss":
               //    player.Call("setorigin", new Parameter(new Vector3(224.0418f, 1266.07f, 1800.125f)));
               //    break;
               case "mp_roughneck":
                   player.Call("setorigin", new Parameter(new Vector3(-842.5134f, -2019.124f, 198.5567f)));
                   break;
               case "mp_seatown":
                   player.Call("setorigin", new Parameter(new Vector3(-2247.698f, -1533.783f, 288.125f)));
                   break;
               case "mp_shipbreaker":
                   player.Call("setorigin", new Parameter(new Vector3(652.8235f, -1473.104f, 723.4532f)));
                   break;
               //case "mp_six_ss":
               //    player.Call("setorigin", new Parameter(new Vector3(53.11837f, 681.3397f, 648.125f)));
               //    break;
               case "mp_terminal_cls":
                   player.Call("setorigin", new Parameter(new Vector3(1078.539f, 7320.937f, 192.125f)));
                   break;
               case "mp_underground":
                   player.Call("setorigin", new Parameter(new Vector3(348.6256f, 1499.014f, -147.875f)));
                   break;
               case "mp_village":
                   player.Call("setorigin", new Parameter(new Vector3(684.814f, 2251.693f, 290.5077f)));
                   break;

           }
       }
   }
}

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу

Важная информация

Используя этот сайт, вы соглашаетесь Условия использования.

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.