[RP] Command Glitch Fixes! [SLEDMORE]

Status
Not open for further replies.

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,195
3,906
Hey guys,

On my hotel, and a few others, i've noticed annoying bugs... Such as glitch kill and arrest..

Here are some fixes:


PHP:
#region :arrest <user> <time>
                    case "arrest":
                        {
                            if (User._roomID == _roomID)
                            {
                                virtualUser User = userManager.getUser(args[1]);
                                using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                                {
                                    int isworking = dbClient.getInt("SELECT working FROM users WHERE name = '" + _Username + "'");
                                    if (isworking == 1)
                                    {
                                        {
                                            int me_secure_id = dbClient.getInt("SELECT secure_id FROM users WHERE name = '" + _Username + "'");
                                            int canarrest = dbClient.getInt("SELECT arrest FROM jobs_ranks WHERE id = '" + me_secure_id + "'");

                                            if (User._roomID == _roomID && (roomUser.Y == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y + 1 == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y - 1 == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y == User.roomUser.Y && roomUser.X + 1 == User.roomUser.X) || (roomUser.Y == User.roomUser.Y && roomUser.X - 1 == User.roomUser.X))
                                            {
                                                if (canarrest == 1)
                                                {
                                                    if (User.roomUser.walkLock == false)
                                                    {
                                                        Room.sendSaying(roomUser, "*attempts to arrest " + User._Username + ", but notices that he is not cuffed*");
                                                    }
                                                    else
                                                    {
                                                        int time = int.Parse(args[2]);
                                                        if (time > 60 || time < 1)
                                                        {
                                                            sendData("BK" + "What exactly are you trying to do?");
                                                        }
                                                        else
                                                        {
                                                            string arrested;
                                                            arrested = dbClient.getString("SELECT arrested FROM users WHERE name = '" + User._Username + "'");

                                                            if (arrested == "1")
                                                            {
                                                                dbClient.runQuery("UPDATE users SET arrested = '1', arrests = arrests + '1', time_jail = '" + args[2] + "' WHERE name = '" + User._Username + "'");
                                                                dbClient.runQuery("UPDATE users SET avoid = '1' WHERE name = '" + User._Username + "'");

                                                                Room.sendSaying(roomUser, "*re-arrests " + User._Username + " for " + time + " minutes*");

                                                                User.sendData("D^" + "H" + Encoding.encodeVL64(112));
                                                                User.sendData("BK" + "You have been re-arrested by " + _Username + "");

                                                                ThreadStart jailStarter = new ThreadStart(User.jailTime);
                                                                User.jailLooper = new Thread(jailStarter);
                                                                User.jailLooper.Priority = ThreadPriority.Lowest;
                                                                User.jailLooper.Start();
                                                            }
                                                            else if (arrested == "0")
                                                            {
                                                                dbClient.runQuery("UPDATE users SET arrested = '1', arrests = arrests + '1', time_jail = '" + args[2] + "' WHERE name = '" + User._Username + "'");

                                                                int fine = time * 5;
                                                                dbClient.runQuery("UPDATE users SET credits = credits - '" + fine + "' WHERE name = '" + User._Username + "'");
                                                                dbClient.runQuery("UPDATE users SET avoid = '1' WHERE name = '" + User._Username + "'");
                                                                User.refreshValueables(true, false);

                                                                Room.sendSaying(roomUser, "*arrests " + User._Username + " for " + time + " minutes, and fines them " + fine + " credits*");

                                                                User.sendData("D^" + "H" + Encoding.encodeVL64(112));
                                                                User.sendData("BK" + "You have been arrested by " + _Username + ", and fined " + fine + " credits!");

                                                                ThreadStart jailStarter = new ThreadStart(User.jailTime);
                                                                User.jailLooper = new Thread(jailStarter);
                                                                User.jailLooper.Priority = ThreadPriority.Lowest;
                                                                User.jailLooper.Start();
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            break;
                        }
                    #endregion

PHP:
#region :punch <user>
                    case "punch":
                    case "hit":
                        {
                            using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                            {
                                virtualUser User = userManager.getUser(args[1]);
                                {
                                    if (User._roomID == _roomID)
                                    {
                                        if (roomUser.walkLock == true)
                                        {
                                            sendData("BK" + "Nice try, but you are either stunned or cuffed.");
                                        }
                                        else
                                        {
                                            if (punchCdLooper != null)
                                            {
                                                Room.sendWhisper(roomUser, _Username, "*attempts to swing at " + User._Username + ", but is too exhausted*");
                                            }
                                            else
                                            {
                                                int isArrested = dbClient.getInt("SELECT arrested FROM users WHERE name = '" + _Username + "'");
                                                int canHit = dbClient.getInt("SELECT violence FROM rooms WHERE id = '" + _roomID + "'");
                                                int isAfk = dbClient.getInt("SELECT afk FROM users WHERE name = '" + User._Username + "'");
                                                if (isAfk == 1)
                                                {
                                                    sendData("BK" + "Sorry, but this user is AFK.");
                                                }
                                                else
                                                {
                                                    if (isArrested < 1)
                                                    {
                                                        if (canHit == 1)
                                                        {
                                                            sendData("BK" + "Sorry, but this room has been declared a no fighting zone.");
                                                        }
                                                        else
                                                        {
                                                            if (User._roomID == _roomID && (roomUser.Y == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y + 1 == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y - 1 == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y == User.roomUser.Y && roomUser.X + 1 == User.roomUser.X) || (roomUser.Y == User.roomUser.Y && roomUser.X - 1 == User.roomUser.X))
                                                            {
                                                                //db queries
                                                                int myHealth = dbClient.getInt("SELECT health FROM users WHERE name = '" + User._Username + "'");
                                                                int str_mod = dbClient.getInt("SELECT str FROM users WHERE name = '" + _Username + "'");

                                                                //generates a random number
                                                                Random randNum = new Random();
                                                                int hit_dif_0 = randNum.Next(1, 3);
                                                                int hit_dif_1 = randNum.Next(1, 13);

                                                                //what a user hits
                                                                int hit = str_mod * hit_dif_0 + hit_dif_1;

                                                                int getHit = myHealth - hit;
                                                                if (getHit < 1 && _Username == User._Username)
                                                                {
                                                                    sendData("BK" + "Sorry, but you can not knock yourself out.");
                                                                }
                                                                else
                                                                {
                                                                    dbClient.runQuery("UPDATE users SET health = health - '" + hit + "' WHERE name = '" + User._Username + "'");
                                                                    dbClient.runQuery("UPDATE users SET hits = hits + 1 WHERE name = '" + _Username + "'");
                                                                    dbClient.runQuery("UPDATE users SET punch = '1' WHERE name = '" + _Username + "'");
                                                                    int health_db_ko = dbClient.getInt("SELECT health FROM users WHERE name = '" + User._Username + "'");
                                                                    Room.sendShout(roomUser, "*Swings at " + args[1] + ", causing " + hit + " damage*");

                                                                    ThreadStart punchCdStarter = new ThreadStart(punchCoolDown);
                                                                    punchCdLooper = new Thread(punchCdStarter);
                                                                    punchCdLooper.Priority = ThreadPriority.Lowest;
                                                                    punchCdLooper.Start();

                                                                    //if the user has 0 or less helth left
                                                                    if (health_db_ko < 1)
                                                                    {
                                                                        if (User._Mission == "[Game] Deathmatch" || User._Mission == "[Game] Brawl")
                                                                        {
                                                                            Room.sendShout(roomUser, "*Knocks out " + args[1] + ", sending them to the lobby*");
                                                                            if (User._Mission == "[Game] Deathmatch")
                                                                            {
                                                                                if (_Mission == "[Game] Deathmatch")
                                                                                {
                                                                                    dbClient.runQuery("UPDATE users SET game_dm = game_dm + '10' WHERE name = '" + _Username + "'");
                                                                                }
                                                                                User.sendData("D^" + "H" + Encoding.encodeVL64(362));
                                                                                User.sendData("BK" + "Thank you for playing deathmatch.");
                                                                            }
                                                                            if (User._Mission == "[Game] Brawl")
                                                                            {
                                                                                if (_Mission == "[Game] Brawl")
                                                                                {
                                                                                    dbClient.runQuery("UPDATE users SET game_brawl = game_brawl + '10' WHERE name = '" + _Username + "'");
                                                                                }
                                                                                User.sendData("D^" + "H" + Encoding.encodeVL64(362));
                                                                                User.sendData("BK" + "Thank you for playing brawl.");
                                                                            }
                                                                            User.refreshAppearance(true, true, true);
                                                                            dbClient.runQuery("UPDATE users SET health = '100' WHERE name = '" + User._Username + "'");
                                                                        }
                                                                        else
                                                                        {
                                                                            User.sendData("D^" + "H" + Encoding.encodeVL64(71));
                                                                            dbClient.runQuery("UPDATE users SET avoid = '1' WHERE name = '" + User._Username + "'");
                                                                            User.sendData("BK" + "You have been knocked out by another user and sent to the hospital.");
                                                                            Room.sendShout(roomUser, "*Knocks out " + args[1] + ", sending them to the hospital*");
                                                                            dbClient.runQuery("UPDATE users SET kills = kills + 1 WHERE name = '" + _Username + "'");
                                                                            dbClient.runQuery("UPDATE users SET deaths = deaths + 1, dead = '1', time_dead = '7' WHERE name = '" + User._Username + "'");
                                                                            User._Mission = "Dead";

                                                                            refreshAppearance(true, true, true);

                                                                            ThreadStart koStarter = new ThreadStart(User.knockOut);
                                                                            User.deadLooper = new Thread(koStarter);
                                                                            User.deadLooper.Priority = ThreadPriority.Lowest;
                                                                            User.deadLooper.Start();

                                                                            User.roomUser.walkLock = true;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                            else
                                                            {
                                                                if (User._roomID == _roomID && (roomUser.Y + 1 == User.roomUser.Y && roomUser.X + 1 == User.roomUser.X) || (roomUser.Y - 1 == User.roomUser.Y && roomUser.X - 1 == User.roomUser.X) || (roomUser.Y - 1 == User.roomUser.Y && roomUser.X + 1 == User.roomUser.X) || (roomUser.Y + 1 == User.roomUser.Y && roomUser.X - 1 == User.roomUser.X))
                                                                {
                                                                    Room.sendShout(roomUser, "*Swings at " + args[1] + ", but misses*");
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            break;
                        }
                    #endregion

PHP:
#region :slap <user>
                    case "slap":
                        {
                            if (User._roomID == _roomID)
                            {
                                if (roomUser.walkLock == true)
                                {
                                    sendData("BK" + "Nice try, but you are either stunned or cuffed.");
                                }
                                else
                                {
                                    if (punchCdLooper != null)
                                    {
                                        Room.sendSaying(roomUser, "(cooldown)");
                                    }
                                    else
                                    {
                                        int isArrested;
                                        using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                                        {
                                            isArrested = dbClient.getInt("SELECT arrested FROM users WHERE name = '" + _Username + "'");
                                        }
                                        if (isArrested < 1)
                                        {
                                            virtualUser User = userManager.getUser(args[1]);
                                            if (User._roomID == _roomID && (roomUser.Y == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y + 1 == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y - 1 == User.roomUser.Y && roomUser.X == User.roomUser.X) || (roomUser.Y == User.roomUser.Y && roomUser.X + 1 == User.roomUser.X) || (roomUser.Y == User.roomUser.Y && roomUser.X - 1 == User.roomUser.X))
                                            {
                                                string health_db;
                                                string str_db;
                                                int health_db_ko;
                                                int canHit;

                                                //db queries
                                                using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                                                {
                                                    canHit = dbClient.getInt("SELECT violence FROM rooms WHERE id = '" + _roomID + "'");
                                                    health_db = dbClient.getString("SELECT health FROM users WHERE name = '" + User._Username + "'");
                                                    str_db = dbClient.getString("SELECT str FROM users WHERE name = '" + _Username + "'");
                                                }

                                                if (canHit == 1)
                                                {
                                                    return false;
                                                }

                                                //db queries
                                                using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                                                {
                                                    health_db_ko = dbClient.getInt("SELECT health FROM users WHERE name = '" + User._Username + "'");
                                                    int getHit = health_db_ko - 1;
                                                    if (getHit > health_db_ko)
                                                    {
                                                        sendData("BK" + "Sorry, but you can not knock yourself out.");
                                                        return false;
                                                    }
                                                    else
                                                    {
                                                        dbClient.runQuery("UPDATE users SET health = health - '1' WHERE name = '" + User._Username + "'");
                                                        dbClient.runQuery("UPDATE users SET slap = '1' WHERE name = '" + this._Username + "'");
                                                    }
                                                }
                                                Room.sendShout(roomUser, "*Slaps " + args[1] + ", causing 1 damage*");
                                                int health_int = health_db_ko;

                                                ThreadStart punchCdStarter = new ThreadStart(punchCoolDown);
                                                punchCdLooper = new Thread(punchCdStarter);
                                                punchCdLooper.Priority = ThreadPriority.Lowest;
                                                punchCdLooper.Start();

                                                //if the user has 0 or less helth left
                                                if (health_int < 1)
                                                {
                                                    User.sendData("D^" + "H" + Encoding.encodeVL64(71));
                                                    User.sendData("BK" + "You have been knocked out by another user and sent to the hospital.");
                                                    Room.sendShout(roomUser, "*Knocks out " + args[1] + ", sending them to the hospital*");
                                                    using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                                                    {
                                                        dbClient.runQuery("UPDATE users SET health = '100' WHERE name = '" + User._Username + "'");
                                                        dbClient.runQuery("UPDATE users SET kills = kills + 1 WHERE name = '" + _Username + "'");
                                                        dbClient.runQuery("UPDATE users SET deaths = deaths + 1 WHERE name = '" + User._Username + "'");
                                                    }
                                                    ThreadStart koStarter = new ThreadStart(knockOut);
                                                    deadLooper = new Thread(koStarter);
                                                    deadLooper.Priority = ThreadPriority.Lowest;
                                                    User.deadLooper.Start();
                                                    User.roomUser.walkLock = true;
                                                }
                                            }
                                            else
                                            {
                                                if (User._roomID == _roomID && (roomUser.Y + 1 == User.roomUser.Y && roomUser.X + 1 == User.roomUser.X) || (roomUser.Y - 1 == User.roomUser.Y && roomUser.X - 1 == User.roomUser.X) || (roomUser.Y - 1 == User.roomUser.Y && roomUser.X + 1 == User.roomUser.X) || (roomUser.Y + 1 == User.roomUser.Y && roomUser.X - 1 == User.roomUser.X))
                                                {
                                                    Room.sendShout(roomUser, "*Swings at " + args[1] + ", but misses*");
                                                }
                                                //else
                                                //{
                                                //    Room.sendSaying(roomUser, "*Swings at " + args[1] + ", but misses*");
                                                //}
                                            }
                                        }
                                    }
                                }
                            }
                            break;
                        }
                    #endregion

PHP:
#region :push <user>
                    case "push":
                        {
                            if (User._roomID == _roomID)
                            {
                                if (pushCdLooper != null)
                                {
                                    Room.sendWhisper(roomUser, _Username, "(cooldown)");
                                }
                                else
                                {
                                    virtualUser User = userManager.getUser(args[1]);
                                    if (User.roomUser != roomUser && (roomUser.X + 1 == User.roomUser.X || roomUser.X - 1 == User.roomUser.X || roomUser.Y + 1 == User.roomUser.Y || roomUser.Y - 1 == User.roomUser.Y))
                                    {
                                        switch (roomUser.Z2)
                                        {
                                            case 0:
                                                {
                                                    User.roomUser.goalX = User.roomUser.X;
                                                    User.roomUser.goalY = User.roomUser.Y - 1;
                                                    break;
                                                }
                                            case 2:
                                                {
                                                    User.roomUser.goalX = User.roomUser.X + 1;
                                                    User.roomUser.goalY = User.roomUser.Y;
                                                    break;
                                                }
                                            case 4:
                                                {
                                                    User.roomUser.goalX = User.roomUser.X;
                                                    User.roomUser.goalY = User.roomUser.Y + 1;
                                                    break;
                                                }
                                            case 6:
                                                {
                                                    User.roomUser.goalX = User.roomUser.X - 1;
                                                    User.roomUser.goalY = User.roomUser.Y;
                                                    break;
                                                }
                                        }
                                        Room.sendSaying(roomUser, "*Pushes " + User._Username + "*");

                                        ThreadStart pushCdStarter = new ThreadStart(pushCoolDown);
                                        pushCdLooper = new Thread(pushCdStarter);
                                        pushCdLooper.Priority = ThreadPriority.Lowest;
                                        pushCdLooper.Start();
                                    }
                                }
                            }
                            break;
                        }
                    #endregion

PHP:
#region :pull <user>
                    case "pull":
                        {
                            if (_Rank > 1)
                            {
                                if (User._roomID == _roomID)
                                {
                                    virtualUser User = userManager.getUser(args[1]);
                                    if (User.roomUser != roomUser && (roomUser.X + 2 == User.roomUser.X || roomUser.X - 2 == User.roomUser.X || roomUser.Y + 2 == User.roomUser.Y || roomUser.Y - 2 == User.roomUser.Y))
                                    {
                                        switch (roomUser.Z2)
                                        {
                                            case 0:
                                                {
                                                    User.roomUser.goalX = User.roomUser.X;
                                                    User.roomUser.goalY = User.roomUser.Y + 1;
                                                    break;
                                                }
                                            case 2:
                                                {
                                                    User.roomUser.goalX = User.roomUser.X - 1;
                                                    User.roomUser.goalY = User.roomUser.Y;
                                                    break;
                                                }
                                            case 4:
                                                {
                                                    User.roomUser.goalX = User.roomUser.X;
                                                    User.roomUser.goalY = User.roomUser.Y - 1;
                                                    break;
                                                }
                                            case 6:
                                                {
                                                    User.roomUser.goalX = User.roomUser.X + 1;
                                                    User.roomUser.goalY = User.roomUser.Y;
                                                    break;
                                                }
                                        }
                                        Room.sendSaying(roomUser, "*Pulls " + User._Username + "*");
                                    }
                                }
                            }
                            break;
                        }
                    #endregion

NOTE: YOU WILL HAVE TO CHANGE THE DEATH ROOMS, AND JAIL ROOMS!! ALSO IF THIS HELPED CLICK THE THANKS BUTTON :').
 
Status
Not open for further replies.

Users who are viewing this thread

Top