[RP] Command Glitch Fixes! [SLEDMORE]

Results 1 to 9 of 9
  1. #1
    Account Upgraded | Title Enabled! Sledmore is offline
    MemberRank
    Jun 2009 Join Date
    1,133Posts

    [RP] Command Glitch Fixes! [SLEDMORE]

    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 Code:
    #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.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== 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(truefalse);

                                                                    
    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 Code:
    #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.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== 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(13);
                                                                    
    int hit_dif_1 randNum.Next(113);

                                                                    
    //what a user hits
                                                                    
    int hit str_mod hit_dif_0 hit_dif_1;

                                                                    
    int getHit myHealth hit;
                                                                    if (
    getHit && _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(truetruetrue);
                                                                                
    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(truetruetrue);

                                                                                
    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.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X))
                                                                    {
                                                                        
    Room.sendShout(roomUser"*Swings at " args[1] + ", but misses*");
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                break;
                            }
                        
    #endregion 
    PHP Code:
    #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.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== 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.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== User.roomUser.X) || (roomUser.== User.roomUser.&& roomUser.== 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 Code:
    #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.== User.roomUser.|| roomUser.== User.roomUser.|| roomUser.== User.roomUser.|| roomUser.== User.roomUser.Y))
                                        {
                                            switch (
    roomUser.Z2)
                                            {
                                                case 
    0:
                                                    {
                                                        
    User.roomUser.goalX User.roomUser.X;
                                                        
    User.roomUser.goalY User.roomUser.1;
                                                        break;
                                                    }
                                                case 
    2:
                                                    {
                                                        
    User.roomUser.goalX User.roomUser.1;
                                                        
    User.roomUser.goalY User.roomUser.Y;
                                                        break;
                                                    }
                                                case 
    4:
                                                    {
                                                        
    User.roomUser.goalX User.roomUser.X;
                                                        
    User.roomUser.goalY User.roomUser.1;
                                                        break;
                                                    }
                                                case 
    6:
                                                    {
                                                        
    User.roomUser.goalX User.roomUser.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 Code:
    #region :pull <user>
                        
    case "pull":
                            {
                                if (
    _Rank 1)
                                {
                                    if (
    User._roomID == _roomID)
                                    {
                                        
    virtualUser User userManager.getUser(args[1]);
                                        if (
    User.roomUser != roomUser && (roomUser.== User.roomUser.|| roomUser.== User.roomUser.|| roomUser.== User.roomUser.|| roomUser.== User.roomUser.Y))
                                        {
                                            switch (
    roomUser.Z2)
                                            {
                                                case 
    0:
                                                    {
                                                        
    User.roomUser.goalX User.roomUser.X;
                                                        
    User.roomUser.goalY User.roomUser.1;
                                                        break;
                                                    }
                                                case 
    2:
                                                    {
                                                        
    User.roomUser.goalX User.roomUser.1;
                                                        
    User.roomUser.goalY User.roomUser.Y;
                                                        break;
                                                    }
                                                case 
    4:
                                                    {
                                                        
    User.roomUser.goalX User.roomUser.X;
                                                        
    User.roomUser.goalY User.roomUser.1;
                                                        break;
                                                    }
                                                case 
    6:
                                                    {
                                                        
    User.roomUser.goalX User.roomUser.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 :').
    Last edited by Sledmore; 25-08-10 at 06:44 PM.


  2. #2
    Alpha Member Glee is offline
    MemberRank
    Jun 2009 Join Date
    Niagara Falls,Location
    2,225Posts

    Re: [RP] Command Glitch Fixes! [SLEDMORE]

    Thanks This is AWSOME

  3. #3
    Account Upgraded | Title Enabled! Sledmore is offline
    MemberRank
    Jun 2009 Join Date
    1,133Posts

    Re: [RP] Command Glitch Fixes! [SLEDMORE]

    Quote Originally Posted by cooldude159 View Post
    Thanks This is AWSOME
    Your welcome, glad ya like it (;

  4. #4
    Banned RockStar7 is offline
    BannedRank
    Aug 2008 Join Date
    IndianaLocation
    379Posts

    Re: [RP] Command Glitch Fixes! [SLEDMORE]

    What exactly do they fix? And whats the glitch of them?

    Thanks,

    Caleb!

  5. #5
    Account Upgraded | Title Enabled! Sledmore is offline
    MemberRank
    Jun 2009 Join Date
    1,133Posts

    Re: [RP] Command Glitch Fixes! [SLEDMORE]

    Quote Originally Posted by RockStar7 View Post
    What exactly do they fix? And whats the glitch of them?

    Thanks,

    Caleb!
    Well if you go in another room in the same cords, you can slap them or pull or push or hit, or arrest.

  6. #6
    Member Win is offline
    MemberRank
    Aug 2010 Join Date
    70Posts

    Re: [RP] Command Glitch Fixes! [SLEDMORE]

    thank you,
    =)

  7. #7
    Proficient Member CJRP is offline
    MemberRank
    Jan 2010 Join Date
    160Posts

    Re: [RP] Command Glitch Fixes! [SLEDMORE]

    Ta Sledeh (Y)

  8. #8
    Account Upgraded | Title Enabled! Sledmore is offline
    MemberRank
    Jun 2009 Join Date
    1,133Posts

    Re: [RP] Command Glitch Fixes! [SLEDMORE]

    Quote Originally Posted by CJRP View Post
    Ta Sledeh (Y)
    Bump much? But, Thanks.

  9. #9
    Apprentice HirogenYao is offline
    MemberRank
    Oct 2009 Join Date
    17Posts

    Re: [RP] Command Glitch Fixes! [SLEDMORE]

    Well, this is pretty much the same as another issue i come across recently:

    Code:
     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))
    This (for some reason on rastalulz'-like servers) causes users to be able to hit others in another room at any position from any room's door entrance.

    The fix is the usual
    Code:
     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)))
    This applies to Rastalulz' server and possibly alot of servers derived from it.

    Also, i was wondering, what does your code fix?
    Last edited by HirogenYao; 13-01-11 at 08:09 AM.



Advertisement