Exemplo n.º 1
0
    public void testItem(int id, int x, int y, Vector3 position, NetworkMessageInfo info)
    {
        if (info.sender != Network.player)
        {
            //Logger.LogSecurity(info.sender, "Item spawn hack detected!");
            //NetworkTools.kick(info.sender, "VAC: item spawn hack detected. Incident reported!");
            //return;
        }

        if ((info.sender.ToString() == "0" || info.sender.ToString() == "-1") && ItemsRegion.acceptable(x, NetworkRegions.region.x) && ItemsRegion.acceptable(y, NetworkRegions.region.y))
        {
            this.createItemNotRPC(id, position);
        }
    }
Exemplo n.º 2
0
 public void onRegionUpdate()
 {
     if (Network.peerType != NetworkPeerType.Disconnected)
     {
         if (NetworkRegions.lastRegion.x != -1)
         {
             for (int i = 0; i < NetworkRegions.REGION_X; i++)
             {
                 for (int j = 0; j < NetworkRegions.REGION_Y; j++)
                 {
                     if (SpawnItems.regions[i, j].models.Count > 0 && (!ItemsRegion.acceptable(i, NetworkRegions.region.x) || !ItemsRegion.acceptable(j, NetworkRegions.region.y)))
                     {
                         GameObject[] array = SpawnItems.regions[i, j].models.ToArray();
                         for (int k = 0; k < (int)array.Length; k++)
                         {
                             UnityEngine.Object.Destroy(array[k]);
                         }
                         SpawnItems.regions[i, j].models.Clear();
                     }
                 }
             }
         }
         for (int l = NetworkRegions.region.x - 1; l < NetworkRegions.region.x + 2; l++)
         {
             for (int m = NetworkRegions.region.y - 1; m < NetworkRegions.region.y + 2; m++)
             {
                 if (l >= 0 && m >= 0 && l < NetworkRegions.REGION_X && m < NetworkRegions.REGION_Y && SpawnItems.regions[l, m].models.Count == 0 && Time.realtimeSinceStartup - SpawnItems.regions[l, m].cooldown > 1f)
                 {
                     SpawnItems.regions[l, m].cooldown = Time.realtimeSinceStartup;
                     if (!Network.isServer)
                     {
                         SpawnItems.tool.networkView.RPC("askAllItems", RPCMode.Server, new object[] { Network.player, l, m });
                     }
                     else
                     {
                         this.askAllItems(Network.player, l, m);
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 3
0
 public static bool acceptable(Point2 a, Point2 b)
 {
     return(!ItemsRegion.acceptable(a.x, b.y) ? false : ItemsRegion.acceptable(a.y, b.y));
 }