Hey guys,
On my hotel, and a few others, i've noticed annoying bugs... Such as glitch kill and arrest..
Here are some fixes:
NOTE: YOU WILL HAVE TO CHANGE THE DEATH ROOMS, AND JAIL ROOMS!! ALSO IF THIS HELPED CLICK THE THANKS BUTTON :').
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 :').