本文整理汇总了C#中GameClients.GetHabbo方法的典型用法代码示例。如果您正苦于以下问题:C# GameClients.GetHabbo方法的具体用法?C# GameClients.GetHabbo怎么用?C# GameClients.GetHabbo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameClients
的用法示例。
在下文中一共展示了GameClients.GetHabbo方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
if (Params.Length == 1)
{
Session.SendWhisper("Please enter the username of the user you wish to alert.");
return;
}
GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
if (TargetClient == null)
{
Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online.");
return;
}
if (TargetClient.GetHabbo() == null)
{
Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online.");
return;
}
if (TargetClient.GetHabbo().Username == Session.GetHabbo().Username)
{
Session.SendWhisper("Get a life.");
return;
}
string Message = CommandManager.MergeParams(Params, 2);
TargetClient.SendNotification(Session.GetHabbo().Username + " alerted you with the following message:\n\n" + Message);
Session.SendWhisper("Alert successfully sent to " + TargetClient.GetHabbo().Username);
}
示例2: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
int TotalValue = 0;
try
{
DataTable Table = null;
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.SetQuery("SELECT `id` FROM `items` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND (`room_id`= '0' OR `room_id` = '')");
Table = dbClient.getTable();
}
if (Table == null)
{
Session.SendWhisper("You currently have no items in your inventory!");
return;
}
foreach (DataRow Row in Table.Rows)
{
Item Item = Session.GetHabbo().GetInventoryComponent().GetItem(Convert.ToInt32(Row[0]));
if (Item == null)
continue;
if (!Item.GetBaseItem().ItemName.StartsWith("CF_") && !Item.GetBaseItem().ItemName.StartsWith("CFC_"))
continue;
if (Item.RoomId > 0)
continue;
string[] Split = Item.GetBaseItem().ItemName.Split('_');
int Value = int.Parse(Split[1]);
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.RunQuery("DELETE FROM `items` WHERE `id` = '" + Item.Id + "' LIMIT 1");
}
Session.GetHabbo().GetInventoryComponent().RemoveItem(Item.Id);
TotalValue += Value;
if (Value > 0)
{
Session.GetHabbo().Credits += Value;
Session.SendMessage(new CreditBalanceComposer(Session.GetHabbo().Credits));
}
}
if (TotalValue > 0)
Session.SendNotification("All credits have successfully been converted!\r\r(Total value: " + TotalValue + " credits!");
else
Session.SendNotification("It appears you don't have any exchangeable items!");
}
catch
{
Session.SendNotification("Oops, an error occoured whilst converting your credits!");
}
}
示例3: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
RoomUser ThisUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (ThisUser == null)
return;
if (Params.Length == 1)
{
Session.SendWhisper("Please enter an ID of a dance.");
return;
}
int DanceId;
if (int.TryParse(Params[1], out DanceId))
{
if (DanceId > 4 || DanceId < 0)
{
Session.SendWhisper("The dance ID must be between 0 and 4!");
return;
}
Session.GetHabbo().CurrentRoom.SendMessage(new DanceComposer(ThisUser, DanceId));
}
else
Session.SendWhisper("Please enter a valid dance ID.");
}
示例4: OnTrigger
public void OnTrigger(GameClients.GameClient Session, RoomItem Item, int Request, bool HasRights)
{
if (Item == null || Item.GetRoom() == null || Session == null || Session.GetHabbo() == null)
return;
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (User == null)
{
return;
}
// Alright. But is this user in the right position?
if (User.Coordinate == Item.Coordinate || User.Coordinate == Item.SquareInFront)
{
// Fine. But is this tele even free?
if (Item.InteractingUser != 0)
{
return;
}
User.TeleDelay = 2;
Item.InteractingUser = User.GetClient().GetHabbo().Id;
}
else if (User.CanWalk)
{
User.MoveTo(Item.SquareInFront);
}
}
示例5: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
if (!Room.CheckRights(Session, true))
{
Session.SendWhisper("Oops, only the room owner can run this command!");
return;
}
foreach (RoomUser User in Room.GetRoomUserManager().GetUserList().ToList())
{
if (User == null || User.IsPet || !User.IsBot)
continue;
RoomUser BotUser = null;
if (!Room.GetRoomUserManager().TryGetBot(User.BotData.Id, out BotUser))
return;
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.SetQuery("UPDATE `bots` SET `room_id` = '0' WHERE `id` = @id LIMIT 1");
dbClient.AddParameter("id", User.BotData.Id);
dbClient.RunQuery();
}
Session.GetHabbo().GetInventoryComponent().TryAddBot(new Bot(Convert.ToInt32(BotUser.BotData.Id), Convert.ToInt32(BotUser.BotData.ownerID), BotUser.BotData.Name, BotUser.BotData.Motto, BotUser.BotData.Look, BotUser.BotData.Gender));
Session.SendMessage(new BotInventoryComposer(Session.GetHabbo().GetInventoryComponent().GetBots()));
Room.GetRoomUserManager().RemoveBot(BotUser.VirtualId, false);
}
Session.SendWhisper("Success, removed all bots.");
}
示例6: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
if (Params.Length == 1)
{
Session.SendWhisper("Please enter the username of the user you wish to summon.");
return;
}
GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
if (TargetClient == null)
{
Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online.");
return;
}
if (TargetClient.GetHabbo() == null)
{
Session.SendWhisper("An error occoured whilst finding that user, maybe they're not online.");
return;
}
if (TargetClient.GetHabbo().Username == Session.GetHabbo().Username)
{
Session.SendWhisper("Get a life.");
return;
}
TargetClient.SendNotification("You have been summoned to " + Session.GetHabbo().Username + "!");
if (!TargetClient.GetHabbo().InRoom)
TargetClient.SendMessage(new RoomForwardComposer(Session.GetHabbo().CurrentRoomId));
else
TargetClient.GetHabbo().PrepareRoom(Session.GetHabbo().CurrentRoomId, "");
}
示例7: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (User == null)
return;
if (Params.Length == 1)
{
Session.SendWhisper("Oops, you forgot to enter a bubble ID!");
return;
}
int Bubble = 0;
if (!int.TryParse(Params[1].ToString(), out Bubble))
{
Session.SendWhisper("Please enter a valid number.");
return;
}
ChatStyle Style = null;
if (!PlusEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Bubble, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight)))
{
Session.SendWhisper("Oops, you cannot use this bubble due to a rank requirement, sorry!");
return;
}
User.LastBubble = Bubble;
Session.GetHabbo().CustomBubbleId = Bubble;
Session.SendWhisper("Bubble set to: " + Bubble);
}
示例8: OnTrigger
public void OnTrigger(GameClients.GameClient Session, RoomItem Item, int Request, bool HasRights)
{
if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0 && Session != null)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (User == null)
{
return;
}
if (!Gamemap.TilesTouching(User.X, User.Y, Item.GetX, Item.GetY))
{
User.MoveTo(Item.SquareInFront);
return;
}
Item.InteractingUser = Session.GetHabbo().Id;
User.CanWalk = false;
User.ClearMovement(true);
User.SetRot(Rotation.Calculate(User.X, User.Y, Item.GetX, Item.GetY), false);
Item.ReqUpdate(2, true);
Item.ExtraData = "1";
Item.UpdateState(false, true);
}
}
示例9: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
RoomUser ThisUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (ThisUser == null)
return;
Session.SendNotification("X: " + ThisUser.X + "\n - Y: " + ThisUser.Y + "\n - Z: " + ThisUser.Z + "\n - Rot: " + ThisUser.RotBody + ", sqState: " + Room.GetGameMap().GameMap[ThisUser.X, ThisUser.Y].ToString() + "\n\n - RoomID: " + Session.GetHabbo().CurrentRoomId);
}
示例10: OnUserLeaveRoom
internal override void OnUserLeaveRoom(GameClients.GameClient Client)
{
if (GetRoom() != null && Client != null && Client.GetHabbo() != null)
{
if (GetRoom().Owner.ToLower() == Client.GetHabbo().Username.ToLower())
{
GetRoom().GetRoomUserManager().RemoveBot(GetRoomUser().VirtualId, false);
}
}
}
示例11: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
if (Session.GetHabbo().Id == Room.OwnerId)
{
//Let us check anyway.
if (!Room.CheckRights(Session, true))
return;
foreach (Item Item in Room.GetRoomItemHandler().GetWallAndFloor.ToList())
{
if (Item == null || Item.UserID == Session.GetHabbo().Id)
continue;
GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Item.UserID);
if (TargetClient != null && TargetClient.GetHabbo() != null)
{
Room.GetRoomItemHandler().RemoveFurniture(TargetClient, Item.Id);
TargetClient.GetHabbo().GetInventoryComponent().AddNewItem(Item.Id, Item.BaseItem, Item.ExtraData, Item.GroupId, true, true, Item.LimitedNo, Item.LimitedTot);
TargetClient.GetHabbo().GetInventoryComponent().UpdateItems(false);
}
else
{
Room.GetRoomItemHandler().RemoveFurniture(null, Item.Id);
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.RunQuery("UPDATE `items` SET `room_id` = '0' WHERE `id` = '" + Item.Id + "' LIMIT 1");
}
}
}
}
else
{
foreach (Item Item in Room.GetRoomItemHandler().GetWallAndFloor.ToList())
{
if (Item == null || Item.UserID != Session.GetHabbo().Id)
continue;
GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Item.UserID);
if (TargetClient != null && TargetClient.GetHabbo() != null)
{
Room.GetRoomItemHandler().RemoveFurniture(TargetClient, Item.Id);
TargetClient.GetHabbo().GetInventoryComponent().AddNewItem(Item.Id, Item.BaseItem, Item.ExtraData, Item.GroupId, true, true, Item.LimitedNo, Item.LimitedTot);
TargetClient.GetHabbo().GetInventoryComponent().UpdateItems(false);
}
else
{
Room.GetRoomItemHandler().RemoveFurniture(null, Item.Id);
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.RunQuery("UPDATE `items` SET `room_id` = '0' WHERE `id` = '" + Item.Id + "' LIMIT 1");
}
}
}
}
}
示例12: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (User == null || User.GetClient() == null)
return;
string[] headParts;
string[] figureParts = Session.GetHabbo().Look.Split('.');
foreach (string Part in figureParts)
{
if (Part.StartsWith("hd"))
{
headParts = Part.Split('-');
if (!headParts[1].Equals("99999"))
headParts[1] = "99999";
else
return;
Session.GetHabbo().Look = Session.GetHabbo().Look.Replace(Part, "hd-" + headParts[1] + "-" + headParts[2]);
break;
}
}
Session.GetHabbo().Look = PlusEnvironment.GetGame().GetAntiMutant().RunLook(Session.GetHabbo().Look);
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.RunQuery("UPDATE `users` SET `look` = '" + Session.GetHabbo().Look + "' WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
}
Session.SendMessage(new UserChangeComposer(User, true));
Session.GetHabbo().CurrentRoom.SendMessage(new UserChangeComposer(User, false));
return;
}
示例13: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
if (!this.CanChangeName(Session.GetHabbo()))
{
Session.SendWhisper("Sorry, it seems you currently do not have the option to change your username!");
return;
}
Session.GetHabbo().ChangingName = true;
Session.SendNotification("Please be aware that if your username is deemed as inappropriate, you will be banned without question.\r\rAlso note that Staff will NOT change your username again should you have an issue with what you have chosen.\r\rClose this window and click yourself to begin choosing a new username!");
Session.SendMessage(new UserObjectComposer(Session.GetHabbo()));
}
示例14: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
Session.GetHabbo().AllowGifts = !Session.GetHabbo().AllowGifts;
Session.SendWhisper("You're " + (Session.GetHabbo().AllowGifts == true ? "now" : "no longer") + " accepting gifts.");
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.SetQuery("UPDATE `users` SET `allow_gifts` = @AllowGifts WHERE `id` = '" + Session.GetHabbo().Id + "'");
dbClient.AddParameter("AllowGifts", PlusEnvironment.BoolToEnum(Session.GetHabbo().AllowGifts));
dbClient.RunQuery();
}
}
示例15: Execute
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (User == null)
return;
if (!Room.GetGameMap().ValidTile(User.X + 2, User.Y + 2) && !Room.GetGameMap().ValidTile(User.X + 1, User.Y + 1))
{
Session.SendWhisper("Oops, cannot lay down here - try elsewhere!");
return;
}
if (User.Statusses.ContainsKey("sit") || User.isSitting || User.RidingHorse || User.IsWalking)
return;
if (Session.GetHabbo().Effects().CurrentEffect > 0)
Session.GetHabbo().Effects().ApplyEffect(0);
if (!User.Statusses.ContainsKey("lay"))
{
if ((User.RotBody % 2) == 0)
{
if (User == null)
return;
try
{
User.Statusses.Add("lay", "1.0 null");
User.Z -= 0.35;
User.isLying = true;
User.UpdateNeeded = true;
}
catch { }
}
else
{
User.RotBody--;//
User.Statusses.Add("lay", "1.0 null");
User.Z -= 0.35;
User.isLying = true;
User.UpdateNeeded = true;
}
}
else
{
User.Z += 0.35;
User.Statusses.Remove("lay");
User.Statusses.Remove("1.0");
User.isLying = false;
User.UpdateNeeded = true;
}
}