Example #1
0
 /////////////////////////////////////////
 // CheckPlayerExpireTime(BasePlayer player)
 // One function to take care of the timer, calls himself.
 /////////////////////////////////////////
 void CheckPlayerExpireTime(BasePlayer player)
 {
     if (TimersList[player] != null)
     {
         TimersList[player].Destroy(); TimersList[player] = null;
     }
     if (!player.IsConnected())
     {
         return;
     }
     if (player.IsDead())
     {
         return;
     }
     if (jailinmates[player.userID.ToString()] == null)
     {
         return;
     }
     cachedJail = jailinmates[player.userID.ToString()];
     if (cachedJail.GetExpireTime() < 0)
     {
         return;
     }
     cachedInterval = cachedJail.GetExpireTime() - CurrentTime();
     if (cachedInterval < 1)
     {
         SendPlayerOutOfJail(player);
         RemovePlayerFromJail(player);
     }
     else
     {
         TimersList[player] = timer.Once((float)(cachedInterval + 1), () => CheckPlayerExpireTime(player));
     }
 }
Example #2
0
        /////////////////////////////////////////
        // Jail functions
        /////////////////////////////////////////

        /////////////////////////////////////////
        // AddPlayerToJail(BasePlayer player, int expiretime)
        // Adds a player to the jail, and saves him in the database
        /////////////////////////////////////////
        void AddPlayerToJail(BasePlayer player, int expiretime)
        {
            var tempPoint = FindCell(player.userID.ToString());

            if (tempPoint == null)
            {
                return;
            }
            JailInmate newjailmate;

            if (jailinmates[player.userID.ToString()] != null)
            {
                newjailmate = jailinmates[player.userID.ToString()]; newjailmate.UpdateJail((Vector3)tempPoint, expiretime);
            }
            else
            {
                newjailmate = new JailInmate(player, (Vector3)tempPoint, expiretime);
            }
            if (jailinmates[player.userID.ToString()] != null)
            {
                storedData.JailInmates.Remove(jailinmates[player.userID.ToString()]);
            }
            jailinmates[player.userID.ToString()] = newjailmate;
            storedData.JailInmates.Add(jailinmates[player.userID.ToString()]);
            SaveData();
        }
Example #3
0
 /////////////////////////////////////////
 // CheckPlayerExpireTime(BasePlayer player)
 // One function to take care of the timer, calls himself.
 /////////////////////////////////////////
 void CheckPlayerExpireTime(NetUser player)
 {
     if (TimersList[player] != null)
     {
         TimersList[player].Destroy(); TimersList[player] = null;
     }
     if (player.playerClient == null)
     {
         return;
     }
     if (player.playerClient.controllable == null)
     {
         return;
     }
     if (jailinmates[player.playerClient.userID.ToString()] == null)
     {
         return;
     }
     cachedJail = jailinmates[player.playerClient.userID.ToString()];
     if (cachedJail.GetExpireTime() == -1)
     {
         return;
     }
     cachedInterval = cachedJail.GetExpireTime() - CurrentTime();
     if (cachedInterval < 1)
     {
         SendPlayerOutOfJail(player);
         RemovePlayerFromJail(player);
     }
     else
     {
         TimersList[player] = timer.Once((float)(cachedInterval + 1), () => CheckPlayerExpireTime(player));
     }
 }
Example #4
0
        /////////////////////////////////////////
        // Jail functions
        /////////////////////////////////////////

        /////////////////////////////////////////
        // AddPlayerToJail(BasePlayer player, int expiretime)
        // Adds a player to the jail, and saves him in the database
        /////////////////////////////////////////
        void AddPlayerToJail(NetUser player, int expiretime)
        {
            string userid    = player.playerClient.userID.ToString();
            var    tempPoint = FindCell(userid);

            if (tempPoint == null)
            {
                return;
            }
            JailInmate newjailmate;

            if (jailinmates[userid] != null)
            {
                newjailmate = jailinmates[userid]; newjailmate.UpdateJail((Vector3)tempPoint, expiretime);
            }
            else
            {
                newjailmate = new JailInmate(player, (Vector3)tempPoint, expiretime);
            }
            if (jailinmates[userid] != null)
            {
                storedData.JailInmates.Remove(jailinmates[userid]);
            }
            jailinmates[userid] = newjailmate;
            storedData.JailInmates.Add(jailinmates[userid]);
            SaveData();
        }
Example #5
0
 /////////////////////////////////////////
 // SendPlayerOutOfJail(BasePlayer player)
 // Send player out of the jail
 /////////////////////////////////////////
 void SendPlayerOutOfJail(BasePlayer player)
 {
     if (jailinmates[player.userID.ToString()] == null)
     {
         return;
     }
     cachedJail = jailinmates[player.userID.ToString()];
     ZoneManager.Call("RemovePlayerFromZoneKeepinlist", "Jail", player);
     ForcePlayerPosition(player, cachedJail.GetFreePosition());
     SendReply(player, YouAreFree);
 }
Example #6
0
 /////////////////////////////////////////
 // SendPlayerOutOfJail(Player player)
 // Send player out of the jail
 /////////////////////////////////////////
 void SendPlayerOutOfJail(Player player)
 {
     if (jailinmates[player.Id.ToString()] == null)
     {
         return;
     }
     cachedJail = jailinmates[player.Id.ToString()];
     EventManager.CallEvent((BaseEvent) new TeleportEvent(player.Entity, new Vector3(ReleaseX, ReleaseY, ReleaseZ)));
     PrintToChat(player, "[" + MessagePrefixColor + "]" + MessagePrefix + " [" + MessageTextColor + "]: " + ReleasedFromJail);
     if (DisplayInmateNickname)
     {
         player.DisplayNameFormat = "%name%";
     }
 }