- Joined
- Feb 24, 2008
- Messages
- 595
- Reaction score
- 389
Do you want a command to Holograph Emulator?
Just post the following:
- Which Holograph Emulator (Like Dissi, Nillus, Shine-Away etc)
- The name of the command (Like :allhandsup, :credits etc.)
- What it would do (Like "It will make everybody in the room wave)
I will make the command as soon as possible and post it in this post
Commands:
Arrest (":arrest <user>" sends <user> to room 103)
Getfurni (":getfurni" pick up all of the furni in the room)
Globalfurni (":globalfurni <TID> <amount>" Gives all users online <amount> of the furni with the TID <TID>)
Drink: (":drink <id>" Make you hold the drink with the id <id> in your hand)
UPDATE:
THESE VOMMANDS IS NOT TESTED BY ME.
Just post the following:
- Which Holograph Emulator (Like Dissi, Nillus, Shine-Away etc)
- The name of the command (Like :allhandsup, :credits etc.)
- What it would do (Like "It will make everybody in the room wave)
I will make the command as soon as possible and post it in this post
Commands:
Arrest (":arrest <user>" sends <user> to room 103)
PHP:
case "arrest":
{
virtualUser User = userManager.getUser(args[1]);
User.sendData("D^" + "H" + Encoding.encodeVL64(103));
User.sendData("BKArrested!");
break;
}
PHP:
case "getfurni":
{
if (_isOwner)
{
System.Collections.Hashtable Furnis_floor = (System.Collections.Hashtable)Room.floorItemManager._Items.Clone();
System.Collections.Hashtable Furnis_wall = (System.Collections.Hashtable)Room.wallItemManager._Items.Clone();
foreach (Holo.Virtual.Rooms.Items.wallItem Item in Furnis_wall.Values) //wallitems
{
Room.wallItemManager.removeItem(Item.ID, userID);
}
foreach (Holo.Virtual.Rooms.Items.floorItem Item in Furnis_floor.Values) // flooritems
{
Room.floorItemManager.removeItem(Item.ID, userID);
}
refreshHand("update");
}
break;
}
PHP:
case "globalfurni":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
{
return false;
}
string amount = args[2];
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
foreach(virtualUser User in userManager._Users.Values)
{
for (int i = 0; i <= Int32.Parse(amount); i++)
{
dbClient.runQuery("INSERT INTO furniture(tid,ownerid,roomid) VALUES (" + args[1] + "," + User.userID + "," + "0)");
}
refreshHand("update");
}
}
break;
}
Drink: (":drink <id>" Make you hold the drink with the id <id> in your hand)
PHP:
case "drink":
{
string item = args[1];
statusManager.carryItem(item);
break;
}
THESE VOMMANDS IS NOT TESTED BY ME.
PHP:
case "va": // VIP Alert
{
if (rankManager.containsRight(_Rank, "fuse_alert", userID) == false)
return false;
else
{
System.Collections.Hashtable Users = (System.Collections.Hashtable) userManager._Users.Clone();
string Message = Text.Substring(3);
userManager.sendToRank(3, true, "VIP alert:\r " + Message);
}
break;
}
case "foreverwave":
{
string user = args[1]; // @ZH
virtualUser User = userManager.getUser(args[1]);
System.Collections.Hashtable Users = (System.Collections.Hashtable)Room._Users.Clone();
User.statusManager.addStatus("wave", "");
User.statusManager.Refresh();
break;
}
case "dance":
{
string user = args[1]; // @ZH
virtualUser User = userManager.getUser(args[1]);
System.Collections.Hashtable Users = (System.Collections.Hashtable)Room._Users.Clone();
User.statusManager.addStatus("dance", "");
User.statusManager.Refresh();
break;
}
case "masswave":
{
System.Collections.Hashtable Users = (System.Collections.Hashtable)Room._Users.Clone();
foreach (virtualRoomUser User in Users.Values)
{
User.statusManager.removeStatus("dance");
User.statusManager.handleStatus("wave", "", Config.Statuses_Wave_waveDuration);
}
break;
}
case "massdance":
{
System.Collections.Hashtable Users = (System.Collections.Hashtable)Room._Users.Clone();
foreach (virtualRoomUser User in Users.Values)
{
User.statusManager.addStatus("dance", "");
User.statusManager.Refresh();
}
break;
}
case "talk":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
{
return false;
}
string user = args[1];
string Message = Text.Substring(args[0].Length + user.Length + 2);
virtualUser User = userManager.getUser(args[1]);
string data = "@Z" + Encoding.encodeVL64(User.roomUser.roomUID) + Message + Convert.ToChar(2);
Room.sendData(data);
break;
}
case "masstalk":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
{
return false;
}
System.Collections.Hashtable Users = (System.Collections.Hashtable)userManager._Users.Clone();
foreach (virtualUser User in Users.Values)
{
User.Room.sendShout(User.roomUser, Text.Substring(8));
}
break;
}
case "wave":
{
string user = args[1]; // @ZH
virtualUser User = userManager.getUser(args[1]);
User.statusManager.removeStatus("dance");
System.Collections.Hashtable Users = (System.Collections.Hashtable)Room._Users.Clone();
User.statusManager.handleStatus("wave", "", Config.Statuses_Wave_waveDuration);
break;
}
case "moonwalk": // Display information about the emulator
{
if (_Rank >= 3)
{
if (roomUser.User._Moon == 0)
{
roomUser.User._Moon = 1;
sendData("BK" + "Moonwalk Status: Active");
}
else
{
roomUser.User._Moon = 0;
sendData("BK" + "Moonwalk Status: Inactive");
}
}
break;
}
case "addpixels": // :addpixels name amount
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
{
sendData("BK" + "You do not have the required rank to use this command. ");
return false;
}
else
{
virtualUser User = userManager.getUser(args[1]);
virtualUser Target = userManager.getUser(args[1]);
Int64 updatepixels = int.Parse(args[2]);
Int64 oldpixels = new int();
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
oldpixels = dbClient.getInt("SELECT pixels FROM users WHERE name = '" + args[1] + "'");
}
Int64 newpixels = oldpixels + updatepixels;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET pixels = " + newpixels + " WHERE name = '" + args[1] + "'");
}
Room.Refresh(roomUser);
User.refreshAppearance(true, true, true);
User.refreshValueables(true, false);
Target.sendData("BK" + "You have recieved " + updatepixels + " pixels from Hotel Staff");
sendData("BK" + "The user " + (args[1]) + " has received " + updatepixels + " pixels");
}
break;
}
case "rig": // Rig Furni
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
return false;
else
{
if (args.Length != 3)
return false;
int furniID = int.Parse(args[1]);
int randomValue = int.Parse(args[2]);
string furniSprite;
Rooms.Items.wallItem wItem = null;
Rooms.Items.floorItem fItem = null;
if (Room.floorItemManager.containsItem(furniID))
{
Rooms.Items.floorItem Item = Room.floorItemManager.getItem(furniID);
furniSprite = Item.Sprite;
fItem = Item;
}
else if (Room.wallItemManager.containsItem(furniID))
{
Rooms.Items.wallItem Item = Room.wallItemManager.getItem(furniID);
furniSprite = Item.Sprite;
wItem = Item;
}
else
{
return false;
}
switch (furniSprite)
{
case "edice": // Holodice
case "edicehc": // Dicemaster
{
if (randomValue < 1 || randomValue > 6)
return bool.Parse("L");
Room.sendData("AZ" + furniID);
Room.sendData("AZ" + furniID + " " + ((furniID * 38) + randomValue), 2000);
fItem.Var = randomValue.ToString();
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE furniture SET var = '" + randomValue + "' WHERE id = '" + furniID + "' LIMIT 1");
}
break;
}
case "habbowheel": // Habbo Wheel
case "ads_lin_wh_c": // Blue Habbo Wheel
{
if (randomValue < 0 || randomValue > 9)
return bool.Parse("L");
Room.sendData("AU" + furniID + "\t" + furniSprite + "\t " + wItem.wallPosition + "\t-1");
Room.sendData("AU" + furniID + "\t" + furniSprite + "\t " + wItem.wallPosition + "\t" + randomValue, 4250);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE furniture SET var = '" + randomValue + "' WHERE id = '" + furniID + "' LIMIT 1");
}
break;
}
case "val_randomizer": // Love Randomizer
{
if (randomValue < 1 || randomValue > 4)
return bool.Parse("L");
Room.sendData("AX" + furniID + Convert.ToChar(2) + "123456789" + Convert.ToChar(2));
Room.sendData("AX" + furniID + Convert.ToChar(2) + randomValue + Convert.ToChar(2), 5000);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE furniture SET var = '" + randomValue + "' WHERE id = '" + furniID + "' LIMIT 1");
}
break;
}
default: // Not a random furni
{
sendData("BK" + stringManager.getString("scommand_failed"));
return true;
}
}
break;
}
}
#region :buy
// Under development [AresCJ]
// :buy <TID> <username> <amount>
case "buy": // Buys a certain amount for a user.
{
if (rankManager.containsRight(this, "fuse_administrator_access", userID) == false)
{
return false;
}
string id = args[1]; // Get the username
string Amount = args[1]; // Get the amount for the users
int _userID = userManager.getUserID(id); // Must be an int to be read.
virtualUser _iD = userManager.getUser(_userID); // Retrieving the user ID
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
foreach (virtualUser User in userManager._Users.Values)
{
for (int i = 0; i <= Int32.Parse(Amount); i++)
// Getting the amount for the user and how much he/she wants.
{
dbClient.runQuery("INSERT INTO furniture(tid,ownerid,roomid) VALUES (" + args[1] + "," + id + "," + "0)");
}
refreshHand("update");
}
}
break;
}
#endregion
#region :taxi
case "taxi":
{
int roomid = int.Parse(args[1]);
sendData("D^" + "H" + Encoding.encodeVL64(roomid));
sendData("BKYou're taxi should arrive soon! Please don't leave the room.");
break;
}
#endregion
case "poll":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
DataRow dtable;
SortedList Questions = new SortedList();
StringBuilder Packet = new StringBuilder("D}");
Packet.Append(Encoding.encodeVL64(int.Parse(args[1]))); // ID
{
int dTable = DB.runRead("SELECT qid, question, type, min, max FROM poll_questions WHERE pid = '" + args[1] + "'", null);
int[] dRow = DB.runReadRow("SELECT title, thanks FROM poll WHERE pid = '" + args[1] + "'", null);
}
DataTable dTable;
foreach (DataRow DataRow in dTable.Rows)
{
StringBuilder Answers_string = new StringBuilder();
SortedList Answers = new SortedList();
{
int dTable2 = DB.runRead("SELECT aid, answer FROM poll_answers WHERE qid = '" + DataRow[0].ToString() + "'", null);
}
DataTable dTable2;
foreach (DataRow dRow2 in dTable2.Rows)
{
Answers.Add(dRow2["aid"], dRow2["answer"].ToString() + Convert.ToChar(2));
}
foreach (string Answer in Answers.Values)
{
Answers_string.Append(Answer);
}
Questions.Add(DataRow["qid"], Encoding.encodeVL64(int.Parse(DataRow["qid"].ToString()))
+ Encoding.encodeVL64(Answers.Count)
+ Encoding.encodeVL64(int.Parse(DataRow["type"].ToString()))
+ DataRow["question"]
+ Convert.ToChar(2)
+ Encoding.encodeVL64(Answers.Count)
+ Encoding.encodeVL64(int.Parse(DataRow["min"].ToString()))
+ Encoding.encodeVL64(int.Parse(DataRow["max"].ToString()))
+ Answers_string.ToString());
}
DataRow dRow;
Packet.Append(dRow["title"]);
Packet.Append(Convert.ToChar(2));
Packet.Append(dRow["thanks"]);
Packet.Append(Convert.ToChar(2));
Packet.Append(Encoding.encodeVL64(Questions.Count));
foreach (string Question in Questions.Values)
{
Packet.Append(Question);
}
sendData(Packet.ToString());
// sendData("D}" + "ZCB" + "Randomtitle" + Convert.ToChar(2) + "Hello" + Convert.ToChar(2) + "KXNHII" + "Hva liker du?" + Convert.ToChar(2) + "KII" + "Ja" + Convert.ToChar(2) + "Nei" + Convert.ToChar(2) + "Litt" + Convert.ToChar(2) + "YNHJI" + "Har du kartofler i lomma?" + Convert.ToChar(2) + "KII" + "Ja" + Convert.ToChar(2) + "Nei" + Convert.ToChar(2) + "Litt" + Convert.ToChar(2) + "ZNHJI" + "Har kanarifugler orer?" + Convert.ToChar(2) + "KII" + "Ja" + Convert.ToChar(2) + "Nei" + Convert.ToChar(2) + "Veldig smaa" + Convert.ToChar(2));
break;
}
}
#region :talk
case "talk":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
{
return false;
}
string user = args[1];
string Message = Text.Substring(args[0].Length + user.Length + 2);
virtualUser User = userManager.getUser(args[1]);
string data = "@Z" + Encoding.encodeVL64(User.roomUser.roomUID) + Message + Convert.ToChar(2);
Room.sendData(data);
break;
}
#endregion
case "groupbadge":
{
if (rankManager.containsRight(_Rank, "fuse_moderator_access", userID) == false)
{
return false;
}
else
{
int groupID = int.Parse(args[1]);
string Badge = args[2];
DataTable dTable;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dTable = dbClient.getTable("SELECT userid FROM groups_memberships WHERE groupid = '" + groupID + "' AND is_pending = '0'");
foreach (DataRow dRow in dTable.Rows)
{
virtualUser User = userManager.getUser(int.Parse(dRow["userid"].ToString()));
dbClient.runQuery("INSERT INTO users_badges(userid, badgeid) VALUES('" + dRow["userid"].ToString() + "', '" + Badge + "')");
try
{
User.refreshBadges();
}
catch { }
}
}
}
break;
}
case "globalcredits":
{
if (rankManager.containsRight(_Rank, "fuse_moderator_access", userID) == false)
{
return false;
}
else
{
Int64 credittoupdate = int.Parse(args[1]);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET credits = credits + '" + credittoupdate + "'");
}
foreach (virtualUser User in userManager._Users.Values)
User.refreshValueables(true, false);
}
break;
}
case "globalbadge":
{
if (rankManager.containsRight(_Rank, "fuse_moderator_access", userID) == false)
{
return false;
}
else
{
string Badge = args[1];
DataTable dTable;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dTable = dbClient.getTable("SELECT id FROM users");
foreach (DataRow dRow in dTable.Rows)
{
dbClient.runQuery("INSERT INTO users_badges(userid, badgeid) VALUES('" + dRow["id"].ToString() + "', '" + Badge + "')");
}
}
foreach (virtualUser User in userManager._Users.Values)
User.refreshBadges();
}
break;
}
case "roombadge":
{
if (rankManager.containsRight(_Rank, "fuse_moderator_access", userID) == false)
{
return false;
}
else
{
string Badge = args[1];
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
foreach (virtualRoomUser User in Room.Users)
{
dbClient.runQuery("INSERT INTO users_badges(userid, badgeid) VALUES('" + User.User.userID + "', '" + Badge + "')");
User.User.refreshBadges();
}
}
}
break;
}
case "push":
{
string str3 = "down";
virtualUser user = userManager.getUser(Text.Split(new char[] { ' ' })[1]);
if ((user.roomUser != this.roomUser) && ((((this.roomUser.X + 1) == user.roomUser.X) || ((this.roomUser.X - 1) == user.roomUser.X)) || (((this.roomUser.Y + 1) == user.roomUser.Y) || ((this.roomUser.Y - 1) == user.roomUser.Y))))
{
if (this.roomUser.Z2 == 0)
{
str3 = "up";
}
if (this.roomUser.Z2 == 2)
{
str3 = "right";
}
if (this.roomUser.Z2 == 4)
{
str3 = "down";
}
if (this.roomUser.Z2 == 6)
{
str3 = "left";
}
if (str3 == "up")
{
user.roomUser.goalX = user.roomUser.X;
user.roomUser.goalY = user.roomUser.Y - 1;
}
if (str3 == "right")
{
user.roomUser.goalX = user.roomUser.X + 1;
user.roomUser.goalY = user.roomUser.Y;
}
if (str3 == "down")
{
user.roomUser.goalX = user.roomUser.X;
user.roomUser.goalY = user.roomUser.Y + 1;
}
if (str3 == "left")
{
user.roomUser.goalX = user.roomUser.X - 1;
user.roomUser.goalY = user.roomUser.Y;
}
Room.sendShout(roomUser, "*Pushes " + user._Username + "*");
}
break;
}
case "push":
{
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.sendShout(roomUser, "*Pushes " + User._Username + "*");
}
break;
}
Room ID
:roomid
Code:
#region :roomid
case "roomid": //Gets roomid
sendData("BK" + "Room ID:" + _roomID +" :)" + Convert.ToChar(2));
break;
#endregion
Grab *some user cant move away*
Struggle *Breaks free from the Grab*
:grab [user]
:struggle
Code:
#region :grab / :struggle
case "grab": // Freeze the specified user
{
int _userID = userManager.getUserID(args[1]);
virtualUser Target = userManager.getUser(_userID);
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "-Grabs " + Target._Username + "-");
break;
}
case "struggle": // Uncuff the specified user
{
roomUser.walkLock = false; // Unfreeze the user
Room.sendShout(roomUser, "-Breaks free from the grip-");
break;
}
#endregion
Call 911 *Calls a Police rank *Rank 3*, tells the Police the person who called room ID*
:999 message
Code:
case "999":
{
string Message = Text.Substring(3);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.AddParamWithValue("roomid", _roomID.ToString());
}
Room.sendShout(roomUser, "*Calls the Police for help!*");
userManager.sendToRank(3, false, "BK" + stringManager.getString("scommand_rankalert") + "\r 911 CALL! \r " + _Username + " \r Message "+ Message + " \r Room ID: " +_roomID + "" + Convert.ToChar(2));
userManager.sendToRank(4, false, "BK" + stringManager.getString("scommand_rankalert") + "\r 911 CALL! \r " + _Username + " \r Message "+ Message + " \r Room ID: " +_roomID + "" + Convert.ToChar(2));
userManager.sendToRank(5, false, "BK" + stringManager.getString("scommand_rankalert") + "\r 911 CALL! \r " + _Username + " \r Message "+ Message + " \r Room ID: " +_roomID + "" + Convert.ToChar(2));
userManager.sendToRank(6, false, "BK" + stringManager.getString("scommand_rankalert") + "\r 911 CALL! \r " + _Username + " \r Message "+ Message + " \r Room ID: " +_roomID + "" + Convert.ToChar(2));
userManager.sendToRank(7, false, "BK" + stringManager.getString("scommand_rankalert") + "\r 911 CALL! \r " + _Username + " \r Message "+ Message + " \r Room ID: " +_roomID + "" + Convert.ToChar(2));
break;
}
case "taxi":
{
string taxidata;
string taxidata2;
string taxidata3;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
taxidata = dbClient.getString("SELECT taxi FROM rooms WHERE id = '" + _roomID + "'");
taxidata2 = dbClient.getString("SELECT taxi FROM rooms WHERE id = '" + args[1] + "'");
taxidata3 = dbClient.getString("SELECT name FROM rooms WHERE id = '" + _roomID + "'");
}
if(taxidata == "1" || taxidata2 == "1")
sendData("BK" + "There was an issue with your taxi:\r1. You must be outside to use a taxi.\r2. You can only taxi to outide areas.\r3. The room does not exist!");
else
{
int roomid = int.Parse(args[1]);
Room.sendSaying(roomUser, "*calls a taxi for " + taxidata3 + " [" + args[1] + "]*");
sendData("D^" + "H" + Encoding.encodeVL64(roomid));
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET credits = credits + '-10'");
}
refreshValueables(true, false);
sendData("BK" + "You have been charged 10 credits for your taxi fare.");
}
break;
}
#region :poof
case "poof": // Refreshes users look
refreshAppearance(true, true, true);
break;
#endregion
#region :credits
case "credits":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
{
sendData("BK" + "You do not have the required rank to use this command. ");
return false;
}
else
{
virtualUser User = userManager.getUser(args[1]);
virtualUser Target = userManager.getUser(args[1]);
Int64 credittoupdate = int.Parse(args[2]);
Int64 oldcredits = new int();
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
oldcredits = dbClient.getInt("SELECT credits FROM users WHERE name = '" + args[1] + "'");
}
Int64 newcredits = oldcredits + credittoupdate;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET credits = " + newcredits + " WHERE name = '" + args[1] + "'");
}
User.refreshValueables(true, false);
Target.sendData("BK" + "You have recieved " + credittoupdate + " credits from Hotel Staff");
sendData("BK" + "The user " + (args[1]) + " has received " + credittoupdate + " credits");
}
break;
}
#endregion
#region :summon
case "summon":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
return false;
else
{
virtualUser User = userManager.getUser(args[1]);
User.sendData("D^" + "H" + Encoding.encodeVL64(_roomID));
User.sendData("BK" + "An administrator has summoned you!");
}
break;
}
#endregion
#region :taxi
case "taxi":
{
string taxidata;
string taxidata2;
string taxidata3;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
taxidata = dbClient.getString("SELECT taxi FROM rooms WHERE id = '" + _roomID + "'");
taxidata2 = dbClient.getString("SELECT taxi FROM rooms WHERE id = '" + args[1] + "'");
taxidata3 = dbClient.getString("SELECT name FROM rooms WHERE id = '" + _roomID + "'");
}
if (taxidata == "1" || taxidata2 == "1")
sendData("BK" + "There was an issue with your taxi:\r1. You cannot taxi outside your region.\r2. You cannot be in jail.\r3. The room does not exist!" + Convert.ToChar(2));
else
{
int roomid = int.Parse(args[1]);
Room.sendSaying(roomUser, "*calls a taxi to " + taxidata3 + " [" + args[1] + "]*");
sendData("D^" + "H" + Encoding.encodeVL64(roomid));
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET credits = credits + '-10'");
}
refreshValueables(true, false);
sendData("BK" + "Do not leave the room, the taxi is on its way!" + Convert.ToChar(2));;
if(taxiSummon = null)
{
ThreadStart taxiBoot = new ThreadStart(revealTaxi);
taxiSummon = new Thread(taxiBoot);
taxiSummon.Priority = ThreadPriority.Lowest;
taxiSummon.Start();
}
sendData("BK" + "You have arrived at your destination, the fare was 10 credits!" + Convert.ToChar(2));
}
break;
}
#endregion
// Add this void towards the end of the virtualUser.cs so it'll correspond correctly.
private void taxiSummon()
{
Thread.Sleep(6000);
}
case "massbadge": // Mass a badge to all users :) Syntax// :massbadge <badgeid>
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
return false;
else
{
string badgeId = "";
try { badgeId = args[1]; }
catch { sendData("BKYou did not set a badge code!"); return; }
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
DataColumn dColumn = dbClient.getColumn("SELECT id FROM users");
foreach (DataRow dRow in dColumn.Table.Rows)
{
if (dbClient.findsResult("SELECT badgeid FROM users_badges WHERE userid = '" + Convert.ToString(dRow["id"]) + "' AND badgeid = '" + badgeId + "'") == false)
{
dbClient.runQuery("INSERT INTO users_badges (userid,badgeid,iscurrent,slotid) VALUES('" + Convert.ToString(dRow["id"]) + "','" + badgeId + "','0','0')");
dbClient.runQuery("UPDATE users_badges SET iscurrent = '0' WHERE userid= '" + Convert.ToString(dRow["id"]) + "'");
}
}
Hashtable users = (Hashtable)userManager._Users.Clone();
foreach (virtualUser user in users.Values)
{
user.refreshBadges();
}
sendData("BKYou have successfully sent a badge to all users!");
userManager.sendData("BKYou have received a badge, please check your badge list.");
}
}
break;
}
case "masscredits":
{
if (Eucalypt.rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
return false;
else
{
int Credits = 0;
try { Credits = int.Parse(args[1]); }
catch { sendData("BKYou did not set a credit amount!"); return; }
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET credits = credits + " + Credits + "");
}
Hashtable Users = (Hashtable)Eucalypt.userManager._Users.Clone();
foreach (virtualUser user in Users.Values)
{
user.refreshValueables(true, false);
}
sendData("BKSuccessfully sent " + Credits + " to all users!");
Eucalypt.userManager.sendData("BKYou've received '" + Credits + "' from a staff member!");
}
break;
}
case "givebadge":
{
string badge = Text.Split(' ')[2];
if (_Rank > 6)
{
virtualUser Target = userManager.getUser(Text.Split(' ')[1]);
DB.runQuery("INSERT INTO users_badges (userid, badgeid, iscurrent) VALUES ('" + Target.userID + "', '" + badge + "', '0')");
Target.refreshBadges();
}
break;
}
#region
case "startwork":
{
if (_Rank > 3)
this._Figure = "hd-207-3.sh-290-110.lg-285-110.wa-2005-.ch-809-110.ca-1811-.ha-1013-110.ea-1404-110.fa-1201-.hr-115-31";
this._Mission = "Police Officer";
this.refreshAppearance(false, true, true);
}
#endregion
case "naked":
{
if (_Rank < 3)
break;
_Figure = "hd-207-3.sh-0-.lg-0-.ch-0-.hr-115-31";
refreshAppearance(false, true, true);
}
case "unnaked":
{
if (_Rank < 3)
break;
refreshAppearance(true, true, true);
}
case "givebadge":
{
string badge = Text.Split(' ')[2];
if (_Rank > 6)
{
virtualUser Target = userManager.getUser(Text.Split(' ')[1]);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("INSERT INTO users_badges (userid, badgeid, iscurrent) VALUES ('" + Target.userID + "', '" + badge + "', '0')");
}
Target.refreshBadges();
}
break;
}
#region :startwork
case "startwork":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
if (_Rank > 3)
return false;
else
{
virtualUser Target = userManager.getUser(args[1]);
{
dbClient.runQuery("UPDATE users SET figure = 'hd-207-3.sh-290-110.lg-285-110.wa-2005-.ch-809-110.ca-1811-.ha-1013-110.ea-1404-110.fa-1201-.hr-115-31' WHERE name = '" + args[1] + "'");
dbClient.runQuery("UPDATE users SET mission = 'Police Officer' WHERE name = '" + args[1] + "'");
}
Room.Refresh(roomUser);
refreshAppearance(true, true, true);
Target.sendData("BK" + "Move Your butt" + Convert.ToChar(2));
}
break;
}
#endregion
#region :naked & :nakked NAME
case "naked":
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
if (_Rank > 3)
return false;
else
{
dbClient.runQuery("UPDATE users SET figure = 'hd-180-4.hr-831-61' WHERE id = '" + userID + "'");
refreshAppearance(true, true, true);
sendData("BK" + "¡Ahora estas desnudo!" + Convert.ToChar(2));
}
}
break;
case "nakked": // :nakked NAME nake some user >:)
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
if (_Rank > 5)
return false;
else
{
virtualUser Target = userManager.getUser(args[1]);
{
dbClient.runQuery("UPDATE users SET figure = 'hd-180-4.hr-831-61' WHERE name = '" + args[1] + "'");
}
Room.Refresh(roomUser);
Target.refreshAppearance(true, true, true);
Target.sendData("BK" + "Te ha desnudado :S un miembro del staff" + Convert.ToChar(2));
}
}
break;
#endregion
#region :sellproperty / :buyproperty
case "sellproperty":
{
string owner;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
owner = dbClient.getString("SELECT owner FROM rooms WHERE owner = '" + _Username + "'");
}
if (owner != _Username)
sendData("BK" + "Sorry, but you cannot sell someone elses property.");
else
{
int salepice = int.Parse(args[1]);
if (salepice < 0)
sendData("BK" + "Sorry, but you cannot sell your property for less then 0 credits.");
else
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE rooms SET price = '" + salepice + "', sale = '1' WHERE id = '" + _roomID + "'");
}
sendData("BK" + "You have successfully put your property on the market for " + salepice + " credits!");
}
}
break;
}
case "buyproperty":
{
string forsale;
string roomprice;
string owner;
string credits;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
forsale = dbClient.getString("SELECT sale FROM rooms WHERE id = '" + _roomID + "'");
roomprice = dbClient.getString("SELECT price FROM rooms WHERE id = '" + _roomID + "'");
owner = dbClient.getString("SELECT owner FROM rooms WHERE id = '" + _roomID + "'");
credits = dbClient.getString("SELECT credits FROM users WHERE name = '" + _Username + "'");
}
if(forsale != "1")
sendData("BK" + "Sorry, but this room is not for sale.");
else
{
int roomprice_mod = int.Parse(roomprice);
int credits_mod = int.Parse(credits);
if (roomprice_mod > credits_mod && owner != _Username)
sendData("BK" + "Sorry, but you do not have enough credits to purchase this property.");
else
{
virtualUser User = userManager.getUser(owner);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE rooms SET owner = '" + _Username + "', sale = '0' WHERE id = '" + _roomID + "'");
dbClient.runQuery("UPDATE users SET credits = credits + '" + roomprice + "' WHERE name = '" + owner + "'");
dbClient.runQuery("UPDATE users SET credits = credits - '" + roomprice + "' WHERE name = '" + _Username + "'");
}
refreshValueables(true, false);
User.refreshValueables(true, false);
sendData("D^" + "H" + Encoding.encodeVL64(_roomID));
sendData("BK" + "You have successfully bought this property for " + roomprice + " credits.");
User.sendData("BK" + _Username + " has bought your room for " + roomprice + " credits!");
}
}
break;
}
#endregion
case "cancellsell":
{
string owner;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
owner = dbClient.getString("SELECT owner FROM rooms WHERE owner = '" + _Username + "'");
}
if (owner != _Username)
sendData("BK" + "Sorry, but you cannot cancel the sale of someone elses property.");
else
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE rooms SET price = '0', sale = '0' WHERE id = '" + _roomID + "'");
}
sendData("BK" + "You have cancelled sale of this property!");
}
break;
}
#region :stun
case "stun":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
virtualUser _User = userManager.getUser(args[1]);
if (_User.roomUser.walkLock == false)
{
_User.roomUser.walkLock = true; // Freeze the user
Room.sendSaying(roomUser, "*Stunned " + _User._Username + "*");
sendData("BK" + _User._Username + " is now stunned!");
}
else
{
sendData("BK" + _User._Username + " is already stunned!");
}
}
break;
}
#endregion
#region :unstun
case "unstun":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
virtualUser _User = userManager.getUser(args[1]);
if (_User.roomUser.walkLock == true)
{
_User.roomUser.walkLock = false; // unfreeze the user
Room.sendSaying(roomUser, "*Unstunned " + _User._Username + "*");
sendData("BK" + _User._Username + " is now unstunned!");
}
else
{
sendData("BK" + _User._Username + " is not stunned!");
}
}
break;
}
#endregion
#region :hirecop
case "hirecop":
{
virtualUser Target = userManager.getUser(DB.Stripslash(args[1]));
{
DB.runQuery("UPDATE users SET rank = '3' WHERE username = '" + Target._Username + "'");
Target.sendData("BK" + "You have just been hired as a cop.");
sendData("BK" + "You have just made " + Target._Username + " a cop.");
}
break;
}
#endregion
#region :firecop
case "firecop":
{
virtualUser Target = userManager.getUser(DB.Stripslash(args[1]));
{
DB.runQuery("UPDATE users SET rank = '2' WHERE username = '" + Target._Username + "'");
Target.sendData("BK" + "You have just been fired from being a cop.");
sendData("BK" + "You have just fired " + Target._Username + " from being a cop.");
}
break;
}
#endregion
#region :hirecop
case "hirecop":
{
virtualUser Target = userManager.getUser(args[1]);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET rank = '3' WHERE username = '" + Target._Username + "'");
Target.sendData("BK" + "You have just been hired as a cop.");
sendData("BK" + "You have just made " + Target._Username + " a cop.");
}
break;
}
#endregion
#region :firecop
case "firecop":
{
virtualUser Target = userManager.getUser(args[1]);
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET rank = '2' WHERE username = '" + Target._Username + "'");
Target.sendData("BK" + "You have just been fired from being a cop.");
sendData("BK" + "You have just fired " + Target._Username + " from being a cop.");
}
break;
}
#endregion
#region :promote
case "promote":
{
using (DatabseClient dbClient = Eucalypt.dbManager.GetClient())
virtualUser Target = userManager.getUser(args[1]);
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
return false;
else
{
int Rank = dbClient.getInt("SELECT rank FROM users WHERE name = '" + Target._Username + "'", null);
{
if (Rank == 3)
{
dbClient.runQuery("UPDATE users SET rank = '4' WHERE name = '" + Target._Username + "'");
Target.sendData("BK" + "You have just been upgraded to a Officer.");
sendData("BK" + "You have just upgaded " + Target._Username + " to a Officer.");
}
else if (Rank == 4)
{
dbClient.runQuery("UPDATE users SET rank = '5' WHERE name = '" + Target._Username + "'");
Target.sendData("BK" + "You have just been upgraded to a Commisioner.");
sendData("BK" + "You have just upgaded " + Target._Username + " to a Commisioner.");
}
}
}
break;
}
#endregion
#region :demote
case "demote":
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
virtualUser Target = userManager.getUser(args[1]);
if (rankManager.containsRight(_Rank, "fuse_administrator_access", userID) == false)
return false;
else
{
int Rank = dbClient.getInt("SELECT rank FROM users WHERE name = '" + Target._Username + "'", null);
{
if (Rank == 3)
{
dbClient.runQuery("UPDATE users SET rank = '2' WHERE name = '" + Target._Username + "'");
Target.sendData("BK" + "You have just been demoted to a user.");
sendData("BK" + "You have just demoted " + Target._Username + " to a user.");
}
else if (Rank == 4)
{
dbClient.runQuery("UPDATE users SET rank = '3' WHERE name = '" + Target._Username + "'");
Target.sendData("BK" + "You have just been demoted to a Officer.");
sendData("BK" + "You have just demoted " + Target._Username + " to a Officer.");
}
}
}
break;
}
#endregion
#region :pickup
case "pickup": // picks up all furniture in room
{
int isOwner;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
isOwner = dbClient.getInt("SELECT id FROM users WHERE id = '" + _isOwner + "'");
}
if (_isOwner == true)
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
dbClient.runQuery("UPDATE furniture SET roomid = 0 WHERE roomid = '" + Room.roomID + "'");
Room.sendData("DBO" + "\r");
}
if (_isOwner == false) // this will quit 50 credits to some user that it isn't the owner of the room
{
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
dbClient.runQuery("UPDATE users SET credits = credits -50 WHERE id = '" + this.userID + "'");
sendData("BK¿what are you trying? -50 credits for trying to steal furnis" + Convert.ToChar(2));
}
}
break;
#endregion
#region Arrest
case "arrest":
{
virtualUser _User = userManager.getUser(args[1]);
virtualUser Target = userManager.getUser(args[1]);
string corpdata;
string corpdata2;
corpdata = DB.runRead("SELECT corpid FROM jobsstaff WHERE uid = '" + userID + "'");
corpdata2 = DB.runRead("SELECT rankid FROM jobsstaff WHERE uid = '" + userID + "'");
string targetdata;
string targetdata2;
targetdata = DB.runRead("SELECT corpid FROM jobsstaff WHERE uid = '" + Target.userID + "'");
targetdata2 = DB.runRead("SELECT rankid FROM jobsstaff WHERE uid = '" + Target.userID + "'");
string arrestdata;
arrestdata = DB.runRead("SELECT arrest FROM jobsranks WHERE corpid = '" + corpdata + "' AND rankid = '" + corpdata2 + "'");
if (arrestdata == "1")
{
if (Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
{
if (Target.roomUser.walkLock == false)
{
Room.sendShout(roomUser, "*Tried to arrest " + Target._Username + " but failed as they aren't cuffed*");
}
else
{
Target.sendData("BK" + "You have been arrested and placed in a cell." + Convert.ToChar(2));
Room.sendShout(roomUser, "*Arrests " + Target._Username + " For 15 minutes*");
DB.runQuery("UPDATE users SET arrests = arrests + '+1' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET arrested = '1' WHERE name = '" + Target._Username + "'");
Target._Figure = "hr-831-61.hd-180-1.ch-220-94.lg-280-94.sh-290-94";
Target._Mission = "Convict";
Target.refreshAppearance(false, true, true);
Target.sendData("D^" + "H" + Encoding.encodeVL64(2));
Arrest = new Thread(new ThreadStart(this.JailTime));
Arrest.Priority = ThreadPriority.BelowNormal;
Arrest.Start();
DB.runQuery("UPDATE users SET working = '0' WHERE name = '" + Target._Username + "'");
}
}
}
break;
}
#endregion
#region :stats
case "stats": // specbar command
{
// Send the spectator packet within the encoded statistics
string health;
health = DB.runRead("SELECT health FROM users WHERE name = '" + _Username + "'");
string inte;
inte = DB.runRead("SELECT inte FROM users WHERE name = '" + _Username + "'");
string stre;
stre = DB.runRead("SELECT str FROM users WHERE name = '" + _Username + "'");
string hunger;
hunger = DB.runRead("SELECT hunger FROM users WHERE name = '" + _Username + "'");
string drugs;
drugs = DB.runRead("SELECT drugs FROM users WHERE name = '" + _Username + "'");
sendData("BK" + "Health: " + health + "/100 \r Inteligence: " + inte + " \r Strength: " + stre + " \r Hunger: " + hunger +"");
break;
}
#endregion
case "leavegame": //poofs
refreshAppearance(true, true, true); // Use the poof animation
this.Room.sendShout(this.roomUser, "*Leaves Colour Wars*");
sendData("D^" + "H" + Encoding.encodeVL64(42259));
break;
case "kickfromgame": //poofs
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
virtualUser Target = userManager.getUser(args[1]);
Target.refreshAppearance(true, true, true); // Use the poof animation
this.Room.sendShout(this.roomUser, "*Kicks " + Target._Username + " From Colour Wars*");
Target.sendData("D^" + "H" + Encoding.encodeVL64(42259));
}
}
break;
#region Colour Wars Commands
case "blue":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
virtualUser Target = userManager.getUser(args[1]);
Target._Figure = "hr-828-60.hd-180-1.ch-210-105.lg-280-105.sh-290-105";
Target._Mission = "Blue Team - Colour Wars!";
Target.refreshAppearance(false, true, true);
Room.sendShout(roomUser, "*Cures " + Target._Username + "*");
Room.sendShout(roomUser, "*" + Target._Username + " Joins Blue Team*");
break;
}
}
case "red":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
virtualUser Target = userManager.getUser(args[1]);
Target._Figure = "hr-828-59.hd-180-1.ch-210-96.lg-280-96.sh-290-95";
Target._Mission = "Red Team - Colour Wars!";
Target.refreshAppearance(false, true, true);
Room.sendShout(roomUser, "*Cures " + Target._Username + "*");
Room.sendShout(roomUser, "*" + Target._Username + " Joins Red Team*");
break;
}
}
case "pink":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
virtualUser Target = userManager.getUser(args[1]);
Target._Figure = "hr-828-54.hd-180-1.ch-210-97.lg-280-97.sh-290-97";
Target._Mission = "Pink Team - Colour Wars!";
Target.refreshAppearance(false, true, true);
Room.sendShout(roomUser, "*Cures " + Target._Username + "*");
Room.sendShout(roomUser, "*" + Target._Username + " Joins Pink Team*");
break;
}
}
case "green":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
virtualUser Target = userManager.getUser(args[1]);
Target._Figure = "hr-828-51.hd-180-1.ch-210-101.lg-280-101.sh-290-101";
Target._Mission = "Green Team - Colour Wars!";
Target.refreshAppearance(false, true, true);
Room.sendShout(roomUser, "*Cures " + Target._Username + "*");
Room.sendShout(roomUser, "*" + Target._Username + " Joins Green Team*");
break;
}
}
#endregion
#region 911
case "911":
{
string Message = Text.Substring(3);
Room.sendShout(roomUser, "*Calls the Police for help!*");
userManager.sendToRank(6, false, "BK" + stringManager.getString("scommand_911") + "\r 911 call from " + _Username + " \r Message: " + Message + " \r Room ID: " + _roomID + "" + Convert.ToChar(2));
userManager.sendToRank(7, false, "BK" + stringManager.getString("scommand_911") + "\r 911 call from " + _Username + " \r Message: " + Message + " \r Room ID: " + _roomID + "" + Convert.ToChar(2));
break;
}
#endregion
#region Taxi Commands
case "taxi":
{
int roomid = int.Parse(args[1]);
string taxidata;
string taxidata2;
string taxidata3;
taxidata = DB.runRead("SELECT taxi FROM rooms WHERE id = '" + _roomID + "'");
taxidata2 = DB.runRead("SELECT taxi FROM rooms WHERE id = '" + args[1] + "'");
taxidata3 = DB.runRead("SELECT name FROM rooms WHERE id = '" + args[1] + "'");
if (roomUser.walkLock == true)
sendData("BK" + "The Taxi Driver isn't going to grab you! Try again when you are not stunned!" + Convert.ToChar(2));
else if (taxidata == "1" || taxidata2 == "1" || taxidata == "" || taxidata2 == "")
sendData("BK" + "There was an issue with your taxi:\r1. You cannot taxi outside your region.\r2. You cannot be in jail.\r3. The room does not exist!" + Convert.ToChar(2));
else
{
string credits;
credits = DB.runRead("SELECT credits FROM users WHERE id = '" + userID + "'");
if (credits == "-100")
{
}
else
{
Room.sendSaying(roomUser, "*calls a taxi to " + taxidata3 + " [" + args[1] + "]*");
sendData("BK" + "Do not leave the room, the taxi is on its way!" + Convert.ToChar(2));
DB.runQuery("UPDATE users SET taxiid = '" + roomid + "' WHERE name = '" + _Username + "'");
}
}
break;
}
#endregion
#region bot commands
case "bringbot":
{
int botid = int.Parse(args[1]);
string name;
name = DB.runRead("SELECT name FROM roombots WHERE id = '" + botid + "'");
DB.runQuery("UPDATE roombots SET roomid = '" + roomUser.roomID + "' WHERE id = '" + botid + "'");
Room.loadBots();
this.Room.sendShout(this.roomUser, "*Brings " + name + " to the room*");
break;
}
case "refreshbots":
{
Room.loadBots();
break;
}
case "setbotcords":
{
int botid = int.Parse(args[1]);
int x = int.Parse(args[2]);
int y = int.Parse(args[3]);
DB.runQuery("UPDATE roombots SET x = '" + x + "' WHERE id = '" + botid + "'");
DB.runQuery("UPDATE roombots SET y = '" + y + "' WHERE id = '" + botid + "'");
DB.runQuery("UPDATE roombots_coords SET x = '" + x + "' WHERE id = '" + botid + "'");
DB.runQuery("UPDATE roombots_coords SET y = '" + y + "' WHERE id = '" + botid + "'");
this.Room.sendShout(this.roomUser, "*Edits a bots cords*");
Room.loadBots();
break;
}
case "sendbothome":
{
int botid = int.Parse(args[1]);
string bothome;
bothome = DB.runRead("SELECT home FROM roombots WHERE id = '" + botid + "'");
string name;
name = DB.runRead("SELECT name FROM roombots WHERE id = '" + botid + "'");
DB.runQuery("UPDATE roombots SET roomid = '" + bothome + "' WHERE id = '" + botid + "'");
Room.loadBots();
this.Room.sendShout(this.roomUser, "Sends " + name + " home");
foreach (virtualRoomUser User in Room.Users)
{
User.User.sendData("D^" + "H" + Encoding.encodeVL64(User.roomID));
}
break;
}
#region Flat/Property Commands
case "sellproperty":
{
string owner;
owner = DB.runRead("SELECT owner FROM rooms WHERE owner = '" + _Username + "'");
if (owner != _Username)
sendData("BK" + "Sorry, but you cannot sell someone elses property.");
else
{
int salepice = int.Parse(args[1]);
if (salepice < 0)
sendData("BK" + "Sorry, but you cannot sell your property for less then 0 credits.");
else
{
DB.runQuery("UPDATE rooms SET price = '" + salepice + "', sale = '1' WHERE id = '" + _roomID + "'");
sendData("BK" + "You have successfully put your property on the market for " + salepice + " credits!");
Room.sendSaying(roomUser, "*Put property on the market for " + args[1] + "*");
}
}
break;
}
case "buyproperty":
{
string forsale;
string roomprice;
string owner;
string credits;
forsale = DB.runRead("SELECT sale FROM rooms WHERE id = '" + _roomID + "'");
roomprice = DB.runRead("SELECT price FROM rooms WHERE id = '" + _roomID + "'");
owner = DB.runRead("SELECT owner FROM rooms WHERE id = '" + _roomID + "'");
credits = DB.runRead("SELECT credits FROM users WHERE name = '" + _Username + "'");
if (forsale != "1")
sendData("BK" + "Sorry, but this room is not for sale.");
else
{
int roomprice_mod = int.Parse(roomprice);
int credits_mod = int.Parse(credits);
if (roomprice_mod > credits_mod && owner != _Username)
sendData("BK" + "Sorry, but you do not have enough credits to purchase this property.");
else
{
virtualUser User = userManager.getUser(owner);
DB.runQuery("UPDATE rooms SET owner = '" + _Username + "', sale = '0' WHERE id = '" + _roomID + "'");
DB.runQuery("UPDATE users SET credits = credits + '" + roomprice + "' WHERE name = '" + owner + "'");
DB.runQuery("UPDATE users SET credits = credits - '" + roomprice + "' WHERE name = '" + _Username + "'");
refreshValueables(true, false);
User.refreshValueables(true, false);
Room.sendShout(roomUser, "*Buys this property*");
sendData("D^" + "H" + Encoding.encodeVL64(_roomID));
sendData("BK" + "You have successfully bought this property for " + roomprice + " credits.");
User.sendData("BK" + _Username + " has bought your room for " + roomprice + " credits!");
}
}
break;
}
case "roomstats":
{
string buy;
string buy1;
string buy2;
string buy3;
buy = DB.runRead("SELECT sale FROM rooms WHERE id = '" + _roomID + "'");
buy1 = DB.runRead("SELECT price FROM rooms WHERE id = '" + _roomID + "'");
buy2 = DB.runRead("SELECT owner FROM rooms WHERE id = '" + _roomID + "'");
buy3 = DB.runRead("SELECT name FROM rooms WHERE id = '" + _roomID + "'");
sendData("BK" + "Room Stats \r Is it for sale? (1 yes, 0 no): " + buy + "\r Price: " + buy1 + "\r Owner: " + buy2 + "\r Room name: " + buy3 + "\r Have fun!" + Convert.ToChar(2));
}
break;
#endregion
#region Bank Commands
case "deposit":
{
int amount = int.Parse(args[1]);
string bank;
bank = DB.runRead("SELECT deposit FROM rooms WHERE id = '" + _roomID + "'");
if (bank == "1")
sendData("BK" + "You need to be in a bank to deposit." + Convert.ToChar(2));
else
{
string credits;
credits = DB.runRead("SELECT credits FROM users WHERE id = '" + userID + "'");
int amountforcheck = int.Parse(args[1]);
int creditsforcheck = int.Parse(credits);
if (amountforcheck > creditsforcheck)
sendData("BK" + "Sorry, but you or the target does not have enough credits to do this action.");
else
{
Room.sendSaying(roomUser, "*Deposits " + amount + "*");
DB.runQuery("UPDATE users SET credits = credits + '-" + amount + "' WHERE name = '" + _Username + "'");
DB.runQuery("UPDATE users SET bank = bank + '" + amount + "' WHERE name = '" + _Username + "'");
refreshValueables(true, false);
sendData("BK" + "Deposited!" + Convert.ToChar(2));
}
}
break;
}
case "balance":
{
string balance;
balance = DB.runRead("SELECT bank FROM users WHERE id = '" + userID + "'");
Room.sendSaying(roomUser, "*Checks Bank Balance!*");
refreshValueables(true, false);
sendData("BK" + "Balance " + balance + "!" + Convert.ToChar(2));
}
break;
case "withdraw":
{
virtualUser Target = userManager.getUser(args[1]);
int amount = int.Parse(args[2]);
string corpdata;
string corpdata2;
corpdata = DB.runRead("SELECT corpid FROM jobsstaff WHERE uid = '" + userID + "'");
corpdata2 = DB.runRead("SELECT rankid FROM jobsstaff WHERE uid = '" + userID + "'");
string targetdata;
string targetdata2;
targetdata = DB.runRead("SELECT corpid FROM jobsstaff WHERE uid = '" + Target.userID + "'");
targetdata2 = DB.runRead("SELECT rankid FROM jobsstaff WHERE uid = '" + Target.userID + "'");
string withdrawdata;
withdrawdata = DB.runRead("SELECT withdraw FROM jobsranks WHERE corpid = '" + corpdata + "' AND rankid = '" + corpdata2 + "'");
string credits;
credits = DB.runRead("SELECT bank FROM users WHERE id = '" + Target.userID + "'");
string bank;
bank = DB.runRead("SELECT deposit FROM rooms WHERE id = '" + _roomID + "'");
if (bank == "1")
sendData("BK" + "You need to be in a bank to withdraw for someone." + Convert.ToChar(2));
int amountforcheck = int.Parse(args[2]);
int creditsforcheck = int.Parse(credits);
if (amountforcheck > creditsforcheck)
sendData("BK" + "Sorry, but you or the target does not have enough credits to do this action.");
else
{
if (withdrawdata == "1")
{
Room.sendSaying(roomUser, "*Withdraws " + amount + " for " + Target._Username + "*");
DB.runQuery("UPDATE users SET credits = credits + '" + amount + "' WHERE name = '" + _Username + "'");
DB.runQuery("UPDATE users SET bank = bank + '-" + amount + "' WHERE name = '" + _Username + "'");
Target.refreshValueables(true, false);
}
}
break;
}
#endregion
#region Arrest
case "arrest":
{
string workdata;
workdata = DB.runRead("SELECT job FROM users WHERE id = '" + userID + "'");
virtualUser _User = userManager.getUser(args[1]);
virtualUser Target = userManager.getUser(args[1]);
if (workdata == "Police Cadet")
{
if (_User.roomUser.walkLock == false)
{
Room.sendSaying(roomUser, "*Tries to arrest " + Target._Username + " but failed as they aren't cuffed*");
}
else
{
string time = stringManager.wrapParameters(args, 2);
virtualUser User = userManager.getUser(args[1]);
if (Target.roomUser != roomUser && (roomUser.X + 3 == Target.roomUser.X || roomUser.X - 3 == Target.roomUser.X || roomUser.Y + 3 == Target.roomUser.Y || roomUser.Y - 3 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 2 == Target.roomUser.X || roomUser.X - 2 == Target.roomUser.X || roomUser.Y + 2 == Target.roomUser.Y || roomUser.Y - 2 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
Target.sendData("BK" + "You have been arrested for " + time + " minutes and placed in a cell." + Convert.ToChar(2));
Room.sendShout(roomUser, "*Arrests " + Target._Username + " For " + time + " minutes*");
DB.runQuery("UPDATE users SET arrests = arrests + '+1' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET arrested = arrested + '1' WHERE name = '" + Target._Username + "'");
DB.runRead("SELECT arrested FROM users WHERE id = '" + userID + "'");
Target.sendData("D^" + "H" + Encoding.encodeVL64(284));
Target._Figure = "hr-831-61.hd-180-1.ch-220-94.lg-280-94.sh-290-94";
Target._Mission = "Convict";
Target.refreshAppearance(false, true, true);
}
break;
}
else if (workdata == "Police Officer")
{
if (_User.roomUser.walkLock == false)
{
Room.sendSaying(roomUser, "*Tries to arrest " + Target._Username + " but failed as they aren't cuffed*");
}
else
{
string time = stringManager.wrapParameters(args, 2);
Target.sendData("BK" + "You have been arrested for " + time + " minutes and placed in a cell." + Convert.ToChar(2));
Room.sendShout(roomUser, "*Arrests " + Target._Username + " For " + time + " minutes*");
virtualUser User = userManager.getUser(args[1]);
if (Target.roomUser != roomUser && (roomUser.X + 3 == Target.roomUser.X || roomUser.X - 3 == Target.roomUser.X || roomUser.Y + 3 == Target.roomUser.Y || roomUser.Y - 3 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 2 == Target.roomUser.X || roomUser.X - 2 == Target.roomUser.X || roomUser.Y + 2 == Target.roomUser.Y || roomUser.Y - 2 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
DB.runQuery("UPDATE users SET arrests = arrests + '+1' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET arrested = arrested + '1' WHERE name = '" + Target._Username + "'");
DB.runRead("SELECT arrested FROM users WHERE id = '" + userID + "'");
Target.sendData("D^" + "H" + Encoding.encodeVL64(284));
Target._Figure = "hr-831-61.hd-180-1.ch-220-94.lg-280-94.sh-290-94";
Target._Mission = "Convict";
Target.refreshAppearance(false, true, true);
}
break;
}
else if (workdata == "Police Chief")
{
if (_User.roomUser.walkLock == false)
{
Room.sendSaying(roomUser, "*Tries to arrest " + Target._Username + " but failed as they aren't cuffed*");
}
else
{
string time = stringManager.wrapParameters(args, 2);
Target.sendData("BK" + "You have been arrested for " + time + " minutes and placed in a cell." + Convert.ToChar(2));
Room.sendShout(roomUser, "*Arrests " + Target._Username + " For " + time + " minutes*");
virtualUser User = userManager.getUser(args[1]);
if (Target.roomUser != roomUser && (roomUser.X + 3 == Target.roomUser.X || roomUser.X - 3 == Target.roomUser.X || roomUser.Y + 3 == Target.roomUser.Y || roomUser.Y - 3 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 2 == Target.roomUser.X || roomUser.X - 2 == Target.roomUser.X || roomUser.Y + 2 == Target.roomUser.Y || roomUser.Y - 2 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
DB.runQuery("UPDATE users SET arrests = arrests + '+1' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET arrested = arrested + '1' WHERE name = '" + Target._Username + "'");
DB.runRead("SELECT arrested FROM users WHERE id = '" + userID + "'");
Target.sendData("D^" + "H" + Encoding.encodeVL64(284));
Target._Figure = "hr-831-61.hd-180-1.ch-220-94.lg-280-94.sh-290-94";
Target._Mission = "Convict";
Target.refreshAppearance(false, true, true);
}
break;
}
else if (workdata == "Police Commissioner")
{
if (_User.roomUser.walkLock == false)
{
Room.sendSaying(roomUser, "*Tries to arrest " + Target._Username + " but failed as they aren't cuffed*");
}
else
{
string time = stringManager.wrapParameters(args, 2);
Target.sendData("BK" + "You have been arrested for " + time + " minutes and placed in a cell." + Convert.ToChar(2));
Room.sendShout(roomUser, "*Arrests " + Target._Username + " For " + time + " minutes*");
virtualUser User = userManager.getUser(args[1]);
if (Target.roomUser != roomUser && (roomUser.X + 3 == Target.roomUser.X || roomUser.X - 3 == Target.roomUser.X || roomUser.Y + 3 == Target.roomUser.Y || roomUser.Y - 3 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 2 == Target.roomUser.X || roomUser.X - 2 == Target.roomUser.X || roomUser.Y + 2 == Target.roomUser.Y || roomUser.Y - 2 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
DB.runQuery("UPDATE users SET arrests = arrests + '+1' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET arrested = arrested + '1' WHERE name = '" + Target._Username + "'");
DB.runRead("SELECT arrested FROM users WHERE id = '" + userID + "'");
Target.sendData("D^" + "H" + Encoding.encodeVL64(284));
Target._Figure = "hr-831-61.hd-180-1.ch-220-94.lg-280-94.sh-290-94";
Target._Mission = "Convict";
Target.refreshAppearance(false, true, true);
}
break;
}
else
return false;
}
#endregion
#region Hire/Fire/Quitjob/Demote
case "hire": // Hire
{
virtualUser Target = userManager.getUser(args[1]);
string workdata;
string workdata1;
workdata = DB.runRead("SELECT job FROM users WHERE id = '" + userID + "'");
workdata1 = DB.runRead("SELECT job FROM users WHERE id = '" + Target.userID + "'");
if (workdata1 == "Unemployed")
{
if (workdata == "Police Chief")
{
DB.runQuery("UPDATE users SET job = 'Police Cadet' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Hires " + Target._Username + " as NYPD Police Cadet*");
}
if (workdata == "Police Commissioner")
{
DB.runQuery("UPDATE users SET job = 'Police Cadet' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Hires " + Target._Username + " as NYPD Police Cadet*");
}
else if (workdata == "Obbo Hospital Manager")
{
DB.runQuery("UPDATE users SET job = 'Obbo Hospital Receptionist' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Hires " + Target._Username + " as Hospital Receptionist*");
}
else if (workdata == "Obbo Bank Manager")
{
DB.runQuery("UPDATE users SET job = 'Obbo Banker' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Hires " + Target._Username + " as a Obbo Banker*");
}
else if (workdata == "Obbo Security Manager")
{
DB.runQuery("UPDATE users SET job = 'Obbo Security' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Hires " + Target._Username + " as Security*");
}
else if (workdata == "Casino Manager")
{
DB.runQuery("UPDATE users SET job = 'Casino Security' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Hires " + Target._Username + " as Casino Security*");
}
}
}
break;
case "promote": // Fire
{
virtualUser Target = userManager.getUser(args[1]);
string workdata;
string workdata1;
workdata = DB.runRead("SELECT job FROM users WHERE id = '" + userID + "'");
workdata1 = DB.runRead("SELECT job FROM users WHERE id = '" + Target.userID + "'");
if (workdata == "Police Chief")
{
if (workdata1 == "Police Cadet")
{
DB.runQuery("UPDATE users SET job = 'Police Officer' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Promotes " + Target._Username + " to NYPD Police Officer*");
}
}
if (workdata == "Police Commissioner")
{
if (workdata1 == "Police Cadet")
{
DB.runQuery("UPDATE users SET job = 'Police Officer' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Promotes " + Target._Username + " to NYPD Police Officer*");
}
}
if (workdata == "Police Commissioner")
{
if (workdata1 == "Police Officer")
{
DB.runQuery("UPDATE users SET job = 'Police Chief' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Promotes " + Target._Username + " to NYPD Chief*");
}
}
if (workdata == "Casino Manager")
{
if (workdata1 == "Casino Security")
{
DB.runQuery("UPDATE users SET job = 'Casino Dealer' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Promotes " + Target._Username + " to Casino Dealer*");
}
}
if (workdata == "Casino Manager")
{
if (workdata1 == "Casino Dealer")
{
DB.runQuery("UPDATE users SET job = 'Casino Supervisor' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Promotes " + Target._Username + " to Casino Supervisor*");
}
}
if (workdata == "Obbo Bank Manager")
{
if (workdata1 == "Obbo Banker")
{
DB.runQuery("UPDATE users SET job = 'Obbo Bank Supervisor' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Promotes " + Target._Username + " to Obbo Bank Supervisor*");
}
}
if (workdata == "Obbo Hospital Manager")
{
if (workdata1 == "Obbo Hospital Receptionist")
{
DB.runQuery("UPDATE users SET job = 'Obbo Hospital Doctor' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Promotes " + Target._Username + " to Hospital Doctor*");
}
}
if (workdata == "Obbo Hospital Manager")
{
if (workdata1 == "Obbo Hospital Doctor")
{
DB.runQuery("UPDATE users SET job = 'Obbo Hospital Supervisor' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Promotes " + Target._Username + " to Hospital Supervisor*");
}
}
break;
}
case "demote": // demote
{
virtualUser Target = userManager.getUser(args[1]);
string workdata;
string workdata1;
workdata = DB.runRead("SELECT job FROM users WHERE id = '" + userID + "'");
workdata1 = DB.runRead("SELECT job FROM users WHERE id = '" + Target.userID + "'");
if (workdata == "Police Commissioner")
{
if (workdata1 == "Police Chief")
{
DB.runQuery("UPDATE users SET job = 'Police Officer' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Demotes " + Target._Username + " to NYPD Police Officer*");
}
}
if (workdata == "Police Commissioner")
{
if (workdata1 == "Police Officer")
{
DB.runQuery("UPDATE users SET job = 'Police Cadet' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Demotes " + Target._Username + " to NYPD Police Cadet*");
}
}
if (workdata == "Police Chief")
{
if (workdata1 == "Police Officer")
{
DB.runQuery("UPDATE users SET job = 'Police Cadet' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Demotes " + Target._Username + " to NYPD Police Cadet*");
}
}
if (workdata == "Casino Manager")
{
if (workdata1 == "Casino Dealer")
{
DB.runQuery("UPDATE users SET job = 'Casino Security' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Demotes " + Target._Username + " to Casino Security*");
}
}
if (workdata == "Casino Manager")
{
if (workdata1 == "Casino Supervisor")
{
DB.runQuery("UPDATE users SET job = 'Casino Dealer' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Demotes " + Target._Username + " to Casino Dealer*");
}
}
if (workdata == "Obbo Bank Manager")
{
if (workdata1 == "Obbo Bank Supervisor")
{
DB.runQuery("UPDATE users SET job = 'Obbo Banker' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Demotes " + Target._Username + " to Banker*");
}
}
if (workdata == "Obbo Hospital Manager")
{
if (workdata1 == "Obbo Hospital Supervisor")
{
DB.runQuery("UPDATE users SET job = 'Obbo Hospital Doctor' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Demotes " + Target._Username + " to Hospital Doctor*");
}
}
if (workdata == "Obbo Hospital Manager")
{
if (workdata1 == "Obbo Hospital Doctor")
{
DB.runQuery("UPDATE users SET job = 'Obbo Hospital Receptionist' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Demotes " + Target._Username + " to Hospital Receptionist*");
}
}
break;
}
case "quitjob": // Fire
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + _Username + "'");
Room.sendSaying(roomUser, "*Resigns from their job!*");
refreshAppearance(true, true, true);
break;
}
case "dismiss": // Fire
{
virtualUser Target = userManager.getUser(args[1]);
string workdata;
string workdata1;
workdata = DB.runRead("SELECT job FROM users WHERE id = '" + userID + "'");
workdata1 = DB.runRead("SELECT job FROM users WHERE id = '" + Target.userID + "'");
if (workdata == "Police Chief")
{
if (workdata1 == "Police Cadet")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Police Chief")
{
if (workdata1 == "Police Officer")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Police Commissioner")
{
if (workdata1 == "Police Cadet")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Police Commissioner")
{
if (workdata1 == "Police Officer")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Police Commissioner")
{
if (workdata1 == "Police Chief")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Obbo Security Manager")
{
if (workdata1 == "Obbo Security")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Obbo Security Manager")
{
if (workdata1 == "Obbo Security Supervisor")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Hospital Manager")
{
if (workdata1 == "Receptionist")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Obbo Hospital Manager")
{
if (workdata1 == "Obbo Hospital Doctor")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Obbo Hospital Manager")
{
if (workdata1 == "Obbo Hospital Supervisor")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Casino Manager")
{
if (workdata1 == "Casino Dealer")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Casino Manager")
{
if (workdata1 == "Casino Security")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Casino Manager")
{
if (workdata1 == "Casino Supervisor")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Obbo Bank Manager")
{
if (workdata1 == "Obbo Banker")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
if (workdata == "Obbo Bank Manager")
{
if (workdata1 == "Obbo Bank Supervisor")
{
DB.runQuery("UPDATE users SET job = 'Unemployed' WHERE name = '" + Target._Username + "'");
Room.sendSaying(roomUser, "*Fires " + Target._Username + "*");
}
}
break;
}
#endregion
#region Stun/Cuff/Uncuff
case "stun": // Freeze the specified user
{
int _userID = userManager.getUserID(args[1]);
virtualUser Target = userManager.getUser(_userID);
string workdata;
workdata = DB.runRead("SELECT job FROM users WHERE id = '" + userID + "'");
if (Target.roomUser != roomUser && (roomUser.X + 3 == Target.roomUser.X || roomUser.X - 3 == Target.roomUser.X || roomUser.Y + 3 == Target.roomUser.Y || roomUser.Y - 3 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 2 == Target.roomUser.X || roomUser.X - 2 == Target.roomUser.X || roomUser.Y + 2 == Target.roomUser.Y || roomUser.Y - 2 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
{
if (workdata == "Police Cadet")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Shoots stungun at " + Target._Username + "*");
}
else if (workdata == "Police Officer")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Shoots stungun at " + Target._Username + "*");
}
else if (workdata == "Police Chief")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Shoots stungun at " + Target._Username + "*");
}
else if (workdata == "Police Commissioner")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Shoots stungun at " + Target._Username + "*");
}
else if (workdata == "Obbo Security")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Shoots stungun at " + Target._Username + "*");
}
else if (workdata == "Obbo Security Manager")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Shoots stungun at " + Target._Username + "*");
}
else if (workdata == "Obbo Security Supervisor")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Shoots stungun at " + Target._Username + "*");
}
else if (workdata == "Casino Security")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Shoots stungun at " + Target._Username + "*");
}
}
break;
}
case "cuff": // Cuff's the specified user
{
virtualUser User = userManager.getUser(args[1]);
virtualUser Target = userManager.getUser(args[1]);
string workdata;
workdata = DB.runRead("SELECT job FROM users WHERE id = '" + userID + "'");
if (Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
{
if (Target.roomUser.walkLock == false)
{
Room.sendShout(roomUser, "*Tried to cuff " + Target._Username + " but failed as they aren't stunned*");
}
else if (Target.roomUser.walkLock == true)
{
if (workdata == "Police Cadet")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Removes cuffs from belt and places them on " + Target._Username + "*");
}
if (workdata == "Police Officer")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Removes cuffs from belt and places them on " + Target._Username + "*");
}
if (workdata == "Police Chief")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Removes cuffs from belt and places them on " + Target._Username + "*");
}
if (workdata == "Police Commissioner")
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Removes cuffs from belt and places them on " + Target._Username + "*");
}
}
}
break;
}
case "uncuff": // Cuff's the specified user
{
virtualUser User = userManager.getUser(args[1]);
virtualUser Target = userManager.getUser(args[1]);
string workdata;
workdata = DB.runRead("SELECT job FROM users WHERE id = '" + userID + "'");
if (Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
{
if (workdata == "Police Cadet")
{
Target.roomUser.walkLock = false; // Freeze the user
Room.sendShout(roomUser, "*Removes cuffs from " + Target._Username + " and places them on belt*");
}
if (workdata == "Police Officer")
{
Target.roomUser.walkLock = false; // Freeze the user
Room.sendShout(roomUser, "*Removes cuffs from " + Target._Username + " and places them on belt*");
}
if (workdata == "Police Chief")
{
Target.roomUser.walkLock = false; // Freeze the user
Room.sendShout(roomUser, "*Removes cuffs from " + Target._Username + " and places them on belt*");
}
if (workdata == "Police Commissioner")
{
Target.roomUser.walkLock = false; // Freeze the user
Room.sendShout(roomUser, "*Removes cuffs from " + Target._Username + " and places them on belt*");
}
}
break;
}
#endregion
#region :stopwork
case "stopwork": //poofs
{
string poof;
DB.runQuery("UPDATE users SET working = '0' WHERE name = '" + _Username + "'");
refreshAppearance(true, true, true); // Use the poof animation
}
break;
#endregion
#region summon
case "summon": // Teleports user to the room the sender is in
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
{
sendData("BK" + "You Cannot summon." +
"" + Convert.ToChar(2));
}
else
{
virtualUser _User = userManager.getUser(args[1]);
virtualUser Target = userManager.getUser(args[1]);
Target.sendData("BK" + "You have been summoned by an administrator.\r\r" + Convert.ToChar(2));
Room.sendShout(roomUser, "*Summons " + Target._Username + "*");
if (_User._inPublicroom)
//if (Target._inPublicroom)
{
Target.sendData("D^" + "I" + Encoding.encodeVL64(_roomID));
}
else
{
Target.sendData("D^" + "H" + Encoding.encodeVL64(_roomID));
}
}
break;
}
#endregion
#region :workout
case "workout":
string workout;
workout = DB.runRead("SELECT workout FROM rooms WHERE id = '" + _roomID + "'");
if (workout == "1")
if (((this.roomUser.X == 4) && (this.roomUser.Y == 7)) && (this.roomUser.roomID == 287))
{
}
if (((this.roomUser.X == 6) && (this.roomUser.Y == 7)) && (this.roomUser.roomID == 287))
{
}
if (((this.roomUser.X == 8) && (this.roomUser.Y == 7)) && (this.roomUser.roomID == 287))
{
}
if (((this.roomUser.X == 10) && (this.roomUser.Y == 7)) && (this.roomUser.roomID == 287))
{
Room.sendSaying(roomUser, "*Starts thier workout*");
CaptureCheck = new Thread(new ThreadStart(this.WorkoutTime));
CaptureCheck.Priority = ThreadPriority.BelowNormal;
CaptureCheck.Start();
}
break;
#endregion
#region :learn
case "learn":
string learn;
learn = DB.runRead("SELECT learn FROM rooms WHERE id = '" + _roomID + "'");
if (learn == "1")
{
Room.sendSaying(roomUser, "*Picks up a book and beginss to read it*");
CaptureCheck = new Thread(new ThreadStart(this.LearnTime));
CaptureCheck.Priority = ThreadPriority.BelowNormal;
CaptureCheck.Start();
}
break;
#endregion
#region Slap
case "slap": // Rape command
{
virtualUser Target = userManager.getUser(args[1]);
string health;
health = DB.runRead("SELECT health FROM users WHERE name = '" + Target._Username + "'");
{
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))
Room.sendShout(roomUser, "*Slaps " + Target._Username + " Causing 1 damage*");
DB.runQuery("UPDATE users SET health = health + '-1' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET slaps = slaps + '+1' WHERE name = '" + _Username + "'");
if (health == "0")
{
Room.sendShout(roomUser, "*Swings at " + Target._Username + " Knocking them out.*");
Target.sendData("BK" + "You have been knocked out, and will arrive at hospital shortly!" + Convert.ToChar(2));
DB.runQuery("UPDATE users SET health = health + '101' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET deaths = deaths + '1' WHERE name = '" + Target._Username + "'");
Target.sendData("D^" + "H" + Encoding.encodeVL64(71));
}
}
break;
}
#endregion
#region punch
case "punch":
{
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;
string health_db_ko;
//db queries
health_db = DB.runRead("SELECT health FROM users WHERE name = '" + User._Username + "'");
str_db = DB.runRead("SELECT str FROM users WHERE name = '" + _Username + "'");
//turns str into an int
int str_mod = int.Parse(str_db);
//generates a random number
Random randNum = new Random();
int hit_dif_0 = randNum.Next(1, 4);
int hit_dif_1 = randNum.Next(1, 4);
//what a user hits
int hit = str_mod * hit_dif_0 + hit_dif_1;
DB.runQuery("UPDATE users SET punches = punches + '+1' WHERE name = '" + _Username + "'");
DB.runQuery("UPDATE users SET health = health - '" + hit + "' WHERE name = '" + User._Username + "'");
health_db_ko = DB.runRead("SELECT health FROM users WHERE name = '" + User._Username + "'");
Room.sendShout(roomUser, "*Punches " + args[1] + ", causing " + hit + " damage*");
int health_int = int.Parse(health_db_ko);
//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 will arrive at hospital shortly.");
Room.sendShout(roomUser, "*Swings at " + args[1] + ", Knocking them out*");
DB.runQuery("UPDATE users SET health = '100' WHERE name = '" + User._Username + "'");
DB.runQuery("UPDATE users SET deaths = deaths + '1' WHERE name = '" + User._Username + "'");
}
}
else
{
Room.sendShout(roomUser, "*Swings at " + args[1] + ", but misses*");
}
break;
}
#endregion
#region :hit
case "hit":
{
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;
string health_db_ko;
//db queries
health_db = DB.runRead("SELECT health FROM users WHERE name = '" + User._Username + "'");
str_db = DB.runRead("SELECT str FROM users WHERE name = '" + _Username + "'");
//turns str into an int
int str_mod = int.Parse(str_db);
//generates a random number
Random randNum = new Random();
int hit_dif_0 = randNum.Next(1, 4);
int hit_dif_1 = randNum.Next(1, 4);
//what a user hits
int hit = str_mod * hit_dif_0 + hit_dif_1;
DB.runQuery("UPDATE users SET punches = punches + '+1' WHERE name = '" + _Username + "'");
DB.runQuery("UPDATE users SET health = health - '" + hit + "' WHERE name = '" + User._Username + "'");
health_db_ko = DB.runRead("SELECT health FROM users WHERE name = '" + User._Username + "'");
Room.sendShout(roomUser, "*Punches " + args[1] + ", causing " + hit + " damage*");
int health_int = int.Parse(health_db_ko);
//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 will arrive at hospital shortly.");
Room.sendShout(roomUser, "*Swings at " + args[1] + ", Knocking them out*");
DB.runQuery("UPDATE users SET health = '100' WHERE name = '" + User._Username + "'");
DB.runQuery("UPDATE users SET deaths = deaths + '1' WHERE name = '" + User._Username + "'");
}
}
else
{
Room.sendShout(roomUser, "*Swings at " + args[1] + ", but misses*");
}
break;
}
#endregion
#region :commands
case "commands": // shows the publie commands
{
sendData("BK" + ":refresh catalogue\r" +
"Obbo Hotel Public Commands\r" +
"\r" +
":911\r" +
":poof\r" +
":sleep\r" +
":stats\r" +
":surrender\r" +
":startwork\r" +
":taxi <roomid>\r" +
":hit <username>\r" +
":push <username>\r" +
":punch <username\r" + Convert.ToChar(2));
}
break;
#endregion
#region Taxi
case "taxi":
{
string taxidata;
string taxidata2;
string taxidata3;
taxidata = DB.runRead("SELECT taxi FROM rooms WHERE id = '" + _roomID + "'");
taxidata2 = DB.runRead("SELECT taxi FROM rooms WHERE id = '" + args[1] + "'");
taxidata3 = DB.runRead("SELECT name FROM rooms WHERE id = '" + args[1] + "'");
if (roomUser.walkLock == true)
sendData("BK" + "The Taxi Driver isn't going to grab you! Try again when you are not stunned!" + Convert.ToChar(2));
else if (taxidata == "1" || taxidata2 == "1" || taxidata == "" || taxidata2 == "")
sendData("BK" + "There was an issue with your taxi:\r1. You cannot taxi outside your region.\r2. You cannot be in jail.\r3. The room does not exist!" + Convert.ToChar(2));
else
{
int roomid = int.Parse(args[1]);
Room.sendSaying(roomUser, "*calls a taxi to " + taxidata3 + " [" + args[1] + "]*");
sendData("D^" + "H" + Encoding.encodeVL64(roomid));
DB.runQuery("UPDATE users SET credits = credits + '-5' WHERE name = '" + _Username + "'");
refreshValueables(true, false);
sendData("BK" + "Do not leave the room, the taxi is on its way!" + Convert.ToChar(2));
}
break;
}
#endregion
#region :about
case "about": // Display information about the emulator
{
sendData("BK" + "about :\r" +
"Server Time: " + DateTime.Now.ToString() + " (GMT)\r\r" +
"\r" +
"Emulator: Obbo Hotel Emulator\r" +
"Build: 1.0.0 (017/01/2010)\r" +
"DCR Support: v26" + Convert.ToChar(2));
break;
}
#endregion
#region Push
case "push":
{
string str3 = "down";
virtualUser user = userManager.getUser(Text.Split(new char[] { ' ' })[1]);
virtualUser Target = userManager.getUser(args[1]);
if (Target.roomUser != roomUser && (roomUser.X + 3 == Target.roomUser.X || roomUser.X - 3 == Target.roomUser.X || roomUser.Y + 3 == Target.roomUser.Y || roomUser.Y - 3 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 2 == Target.roomUser.X || roomUser.X - 2 == Target.roomUser.X || roomUser.Y + 2 == Target.roomUser.Y || roomUser.Y - 2 == Target.roomUser.Y) || Target.roomUser != roomUser && (roomUser.X + 1 == Target.roomUser.X || roomUser.X - 1 == Target.roomUser.X || roomUser.Y + 1 == Target.roomUser.Y || roomUser.Y - 1 == Target.roomUser.Y))
{
if (this.roomUser.Z2 == 0)
{
str3 = "up";
}
if (this.roomUser.Z2 == 2)
{
str3 = "right";
}
if (this.roomUser.Z2 == 4)
{
str3 = "down";
}
if (this.roomUser.Z2 == 6)
{
str3 = "left";
}
if (str3 == "up")
{
user.roomUser.goalX = user.roomUser.X;
user.roomUser.goalY = user.roomUser.Y - 1;
}
if (str3 == "right")
{
user.roomUser.goalX = user.roomUser.X + 1;
user.roomUser.goalY = user.roomUser.Y;
}
if (str3 == "down")
{
user.roomUser.goalX = user.roomUser.X;
user.roomUser.goalY = user.roomUser.Y + 1;
}
if (str3 == "left")
{
user.roomUser.goalX = user.roomUser.X - 1;
user.roomUser.goalY = user.roomUser.Y;
}
Room.sendShout(roomUser, "*Pushes " + user._Username + "*");
}
break;
}
#endregion
#region :poof
case "poof": //poofs
refreshAppearance(true, true, true); // Use the poof animation
refreshBadges();
break;
#endregion
#region :roomid
case "roomid":
sendData("BK" + "Room ID: " + _roomID + "" + Convert.ToChar(2));
break;
#endregion
#region :cleanhand
case "cleanhand": // Deletes everything from the senders hand
{
DB.runQuery("DELETE FROM furniture WHERE ownerid = '" + userID + "' AND roomid = '0'");
refreshHand("update");
break;
}
#endregion#region :sleep
#region :sleep
case "sleep":
if (this.statusManager.containsStatus("lay"))
{
this.Room.sendShout(this.roomUser, "Zzzzz Zzzzz Zzzzz");
}
break;
#endregion
#region Slap
case "slap": // Rape command
{
virtualUser Target = userManager.getUser(args[1]);
string health;
health = DB.runRead("SELECT health FROM users WHERE name = '" + Target._Username + "'");
{
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))
Room.sendShout(roomUser, "*Slaps " + Target._Username + " Causing 1 damage*");
DB.runQuery("UPDATE users SET health = health + '-1' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET slaps = slaps + '+1' WHERE name = '" + _Username + "'");
if (health == "0")
{
Room.sendShout(roomUser, "*Swings at " + Target._Username + " Knocking them out.*");
Target.sendData("BK" + "You have been knocked out, and will arrive at hospital shortly!" + Convert.ToChar(2));
DB.runQuery("UPDATE users SET health = health + '101' WHERE name = '" + Target._Username + "'");
DB.runQuery("UPDATE users SET deaths = deaths + '1' WHERE name = '" + Target._Username + "'");
Target.sendData("D^" + "H" + Encoding.encodeVL64(71));
}
}
break;
}
#endregion
#region punch
case "punch":
{
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;
string health_db_ko;
//db queries
health_db = DB.runRead("SELECT health FROM users WHERE name = '" + User._Username + "'");
str_db = DB.runRead("SELECT str FROM users WHERE name = '" + _Username + "'");
//turns str into an int
int str_mod = int.Parse(str_db);
//generates a random number
Random randNum = new Random();
int hit_dif_0 = randNum.Next(1, 4);
int hit_dif_1 = randNum.Next(1, 4);
//what a user hits
int hit = str_mod * hit_dif_0 + hit_dif_1;
DB.runQuery("UPDATE users SET punches = punches + '+1' WHERE name = '" + _Username + "'");
DB.runQuery("UPDATE users SET health = health - '" + hit + "' WHERE name = '" + User._Username + "'");
health_db_ko = DB.runRead("SELECT health FROM users WHERE name = '" + User._Username + "'");
Room.sendShout(roomUser, "*Punches " + args[1] + ", causing " + hit + " damage*");
int health_int = int.Parse(health_db_ko);
//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 will arrive at hospital shortly.");
Room.sendShout(roomUser, "*Swings at " + args[1] + ", Knocking them out*");
DB.runQuery("UPDATE users SET health = '100' WHERE name = '" + User._Username + "'");
DB.runQuery("UPDATE users SET deaths = deaths + '1' WHERE name = '" + User._Username + "'");
}
}
else
{
Room.sendShout(roomUser, "*Swings at " + args[1] + ", but misses*");
}
break;
}
#endregion
#region :hit
case "hit":
{
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;
string health_db_ko;
//db queries
health_db = DB.runRead("SELECT health FROM users WHERE name = '" + User._Username + "'");
str_db = DB.runRead("SELECT str FROM users WHERE name = '" + _Username + "'");
//turns str into an int
int str_mod = int.Parse(str_db);
//generates a random number
Random randNum = new Random();
int hit_dif_0 = randNum.Next(1, 4);
int hit_dif_1 = randNum.Next(1, 4);
//what a user hits
int hit = str_mod * hit_dif_0 + hit_dif_1;
DB.runQuery("UPDATE users SET punches = punches + '+1' WHERE name = '" + _Username + "'");
DB.runQuery("UPDATE users SET health = health - '" + hit + "' WHERE name = '" + User._Username + "'");
health_db_ko = DB.runRead("SELECT health FROM users WHERE name = '" + User._Username + "'");
Room.sendShout(roomUser, "*Punches " + args[1] + ", causing " + hit + " damage*");
int health_int = int.Parse(health_db_ko);
//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 will arrive at hospital shortly.");
Room.sendShout(roomUser, "*Swings at " + args[1] + ", Knocking them out*");
DB.runQuery("UPDATE users SET health = '100' WHERE name = '" + User._Username + "'");
DB.runQuery("UPDATE users SET deaths = deaths + '1' WHERE name = '" + User._Username + "'");
}
}
else
{
Room.sendShout(roomUser, "*Swings at " + args[1] + ", but misses*");
}
break;
}
#endregion
#region :stats
case "stats": // specbar command
{
// Send the spectator packet within the encoded statistics
string health;
health = DB.runRead("SELECT health FROM users WHERE name = '" + _Username + "'");
string inte;
inte = DB.runRead("SELECT inte FROM users WHERE name = '" + _Username + "'");
string str;
str = DB.runRead("SELECT str FROM users WHERE name = '" + _Username + "'");
string hunger;
hunger = DB.runRead("SELECT hunger FROM users WHERE name = '" + _Username + "'");
sendData("BK" + "\r Your Status:\r \r Health: " + health + "/100 \r Inteligence: " + inte + " \r Strength: " + str + " \r Hunger: " + hunger + "");
break;
}
#endregion
#region :surrender
case "surrender": // Freeze the specified user
{
{
roomUser.walkLock = true; // Freeze the user
Room.sendSaying(roomUser, "*Falls to knees placing there arms above there head surrendering!*");
}
break;
}
#endregion
#region invisible
case "spy":
{
if (rankManager.containsRight(_Rank, "fuse_administrator_access") == false)
return false;
else
{
_Figure = "hd-0-0.sh-0-.lg-0-.ch-0-.hr-0-0";
refreshAppearance(false, true, true);
}
break;
}
#endregion
#region :poof
case "poof": //poofs
{
string poof;
poof = DB.runRead("SELECT poof FROM rooms WHERE id = '" + _roomID + "'");
if (poof == "0")
sendData("BK" + "You cannot poof here." + Convert.ToChar(2));
else
{
DB.runQuery("UPDATE users SET working = '0' WHERE name = '" + _Username + "'");
refreshAppearance(true, true, true); // Use the poof animation
refreshBadges();
Wages.Abort();
}
break;
}
#endregion
case "freeze": // Freeze the specified user
{
int _userID = userManager.getUserID(args[1]);
virtualUser Target = userManager.getUser(_userID);
if (_Rank >= 5)
{
if (Target.roomUser.walkLock == false)
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*Freezes the user " + args[1] + "*");
}
else if (Target.roomUser.walkLock == true)
{
Target.roomUser.walkLock = true; // Freeze the user
Room.sendShout(roomUser, "*User " + args[1] + " is already frozen*");
}
}
break;
}
#region Bank Commands
case "deposit":
{
int amount = int.Parse(args[1]);
string bank;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
bank = dbClient.getString("SELECT deposit FROM rooms WHERE id = '" + _roomID + "'");
}
if (bank == "1")
sendData("BK" + "You need to be in a bank to deposit." + Convert.ToChar(2));
else
{
string credits;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
credits = dbClient.getString("SELECT credits FROM users WHERE id = '" + userID + "'");
}
int amountforcheck = int.Parse(args[1]);
int creditsforcheck = int.Parse(credits);
if (amountforcheck > creditsforcheck)
sendData("BK" + "Sorry, but you or the target does not have enough credits to do this action.");
else
{
Room.sendSaying(roomUser, "*Deposits " + amount + "*");
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET credits = credits + '-" + amount + "' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET bank = bank + '" + amount + "' WHERE name = '" + _Username + "'");
}
refreshValueables(true, false);
sendData("BK" + "Deposited!" + Convert.ToChar(2));
}
}
break;
}
case "balance":
{
string balance;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
balance = dbClient.getString("SELECT bank FROM users WHERE id = '" + userID + "'");
}
Room.sendSaying(roomUser, "*Checks Bank Balance!*");
refreshValueables(true, false);
sendData("BK" + "Balance " + balance + "!" + Convert.ToChar(2));
}
break;
case "withdraw":
{
virtualUser Target = userManager.getUser(args[1]);
int amount = int.Parse(args[2]);
string corpdata;
string corpdata2;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
corpdata = dbClient.getString("SELECT corpid FROM jobsstaff WHERE uid = '" + userID + "'");
corpdata2 = dbClient.getString("SELECT rankid FROM jobsstaff WHERE uid = '" + userID + "'");
}
string targetdata;
string targetdata2;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
targetdata = dbClient.getString("SELECT corpid FROM jobsstaff WHERE uid = '" + Target.userID + "'");
targetdata2 = dbClient.getString("SELECT rankid FROM jobsstaff WHERE uid = '" + Target.userID + "'");
}
string withdrawdata;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
withdrawdata = dbClient.getString("SELECT withdraw FROM jobsranks WHERE corpid = '" + corpdata + "' AND rankid = '" + corpdata2 + "'");
}
string credits;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
credits = dbClient.getString("SELECT bank FROM users WHERE id = '" + Target.userID + "'");
}
string bank;
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
bank = dbClient.getString("SELECT deposit FROM rooms WHERE id = '" + _roomID + "'");
}
if (bank == "1")
sendData("BK" + "You need to be in a bank to withdraw for someone." + Convert.ToChar(2));
int amountforcheck = int.Parse(args[2]);
int creditsforcheck = int.Parse(credits);
if (amountforcheck > creditsforcheck)
sendData("BK" + "Sorry, but you or the target does not have enough credits to do this action.");
else
{
if (withdrawdata == "1")
{
Room.sendSaying(roomUser, "*Withdraws " + amount + " for " + Target._Username + "*");
using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
{
dbClient.runQuery("UPDATE users SET credits = credits + '" + amount + "' WHERE name = '" + _Username + "'");
dbClient.runQuery("UPDATE users SET bank = bank + '-" + amount + "' WHERE name = '" + _Username + "'");
}
Target.refreshValueables(true, false);
}
}
break;
}
#endregion
Last edited: