本文整理汇总了C#中Firewind.HabboHotel.GameClients.GameClient类的典型用法代码示例。如果您正苦于以下问题:C# GameClient类的具体用法?C# GameClient怎么用?C# GameClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GameClient类属于Firewind.HabboHotel.GameClients命名空间,在下文中一共展示了GameClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UserGotAuthorization
internal bool UserGotAuthorization(GameClient session)
{
foreach(string subs in clubsAllowed){
if (session.GetHabbo().GetSubscriptionManager().HasSubscription(subs))
return true;
}
if (minrank == 0)
return true;
else if (minrank > 0)
{
if (minrank <= session.GetHabbo().Rank)
return true;
}
else if (minrank < 0)
{
if (minrank == -1)
{
if (session.GetHabbo().CurrentRoom.CheckRights(session, false))
return true;
}
else if (minrank == -2)
{
if (session.GetHabbo().CurrentRoom.CheckRights(session, true))
return true;
}
}
return false;
}
示例2: AddToPlaylist
private static void AddToPlaylist(GameClient Session, ClientMessage Message)
{
Room Instance = Session.GetHabbo().CurrentRoom;
if (Instance == null || !Instance.CheckRights(Session, true) || !Instance.GotMusicController() ||
Instance.GetRoomMusicController().PlaylistSize >= Instance.GetRoomMusicController().PlaylistCapacity)
{
return;
}
UserItem DiskUserItem = Session.GetHabbo().GetInventoryComponent().GetItem(Message.ReadUInt32());
if (DiskUserItem == null || DiskUserItem.GetBaseItem().InteractionType != InteractionType.musicdisc)
{
return;
}
SongItem item = new SongItem(DiskUserItem);
int NewOrder = Instance.GetRoomMusicController().AddDisk(item);
if (NewOrder < 0)
{
return;
}
Session.GetHabbo().GetInventoryComponent().RemoveItem(item.itemID, true);
Session.SendMessage(JukeboxComposer.Compose(Instance.GetRoomMusicController().PlaylistCapacity,
Instance.GetRoomMusicController().Playlist.Values.ToList()));
}
示例3: SellItem
internal static void SellItem(GameClient Session, uint ItemId, int SellingPrice)
{
UserItem Item = Session.GetHabbo().GetInventoryComponent().GetItem(ItemId);
if (Item == null || SellingPrice > 10000 || !CanSellItem(Item))
{
Session.GetMessageHandler().GetResponse().Init(610);
Session.GetMessageHandler().GetResponse().AppendBoolean(false);
Session.GetMessageHandler().GetResponse();
Session.GetMessageHandler().SendResponse();
return;
}
int Comission = CalculateComissionPrice(SellingPrice);
int TotalPrice = SellingPrice + Comission;
int ItemType = 1;
if (Item.GetBaseItem().Type == 'i')
ItemType++;
using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
{
dbClient.setQuery("INSERT INTO catalog_marketplace_offers (item_id,user_id,asking_price,total_price,public_name,sprite_id,item_type,timestamp,extra_data) VALUES (" + Item.BaseItem + "," + Session.GetHabbo().Id + "," + SellingPrice + "," + TotalPrice + ",@public_name," + Item.GetBaseItem().SpriteId + "," + ItemType + "," + FirewindEnvironment.GetUnixTimestamp() + ",@extra_data)");
dbClient.addParameter("public_name", "NEEDS REPLACMENT HERE");
dbClient.addParameter("extra_data", Item.Data);
dbClient.runQuery();
}
Session.GetHabbo().GetInventoryComponent().RemoveItem(ItemId, false);
Session.GetHabbo().GetInventoryComponent().RunDBUpdate();
Session.GetMessageHandler().GetResponse().Init(610);
Session.GetMessageHandler().GetResponse().AppendBoolean(true);
Session.GetMessageHandler().SendResponse();
}
示例4: AvatarEffectsInventoryComponent
internal AvatarEffectsInventoryComponent(int UserId, GameClient pClient, UserData data)
{
_removeQueue = new Queue();
this.mClient = pClient;
this.Effects = new ArrayList();
this.UserId = UserId;
this.CurrentEffect = -1;
this.Effects.Clear();
StringBuilder QueryBuilder = new StringBuilder();
foreach (AvatarEffect effect in data.effects)
{
if (!effect.HasExpired)
{
Effects.Add(effect);
EffectCount++;
}
else
QueryBuilder.Append("DELETE FROM user_effects WHERE user_id = " + UserId + " AND effect_id = " + effect.EffectId + "; ");
}
if (QueryBuilder.Length > 0)
{
using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
dbClient.runFastQuery(QueryBuilder.ToString());
}
}
示例5: CreateGroup
public Group CreateGroup(GameClient creator, string name, string description, int roomID, int color1, int color2, List<Tuple<int, int, int>> badgeData)
{
// We call this method after doing all checks.
int groupID;
string badgeCode = Group.GenerateBadgeImage(badgeData);
string createTime = DateTime.Now.ToString("d-M-yyyy");
using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
{
// Insert the group
dbClient.setQuery("INSERT INTO guild(name,description,badge,users_id,rooms_id,color1,color2,date_created) VALUES(@name,@desc,@badge,@ownerid,@roomid,@color1,@color2,@date)");
dbClient.addParameter("name", name);
dbClient.addParameter("desc", description);
dbClient.addParameter("ownerid", creator.GetHabbo().Id);
dbClient.addParameter("roomid", roomID);
dbClient.addParameter("color1", color1);
dbClient.addParameter("color2", color2);
dbClient.addParameter("badge", badgeCode);
dbClient.addParameter("date", createTime);
groupID = (int)dbClient.insertQuery();
}
Group group = new Group()
{
ID = groupID,
Name = name,
Description = description,
RoomID = roomID,
ColorID1 = color1,
ColorID2 = color2,
BadgeCode = badgeCode,
DateCreated = createTime,
};
return group;
}
示例6: AlertUser
internal static void AlertUser(GameClient ModSession, uint UserId, String Message, Boolean Caution)
{
GameClient Client = FirewindEnvironment.GetGame().GetClientManager().GetClientByUserID(UserId);
if (Client == null || Client.GetHabbo().Id == ModSession.GetHabbo().Id)
{
return;
}
if (Caution && Client.GetHabbo().Rank >= ModSession.GetHabbo().Rank)
{
ModSession.SendNotif(LanguageLocale.GetValue("moderation.caution.missingrank"));
Caution = false;
}
Client.SendNotif(Message, Caution);
if (Caution)
{
using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
{
dbClient.runFastQuery("UPDATE user_info SET cautions = cautions + 1 WHERE user_id = " + UserId + "");
}
}
}
示例7: GivePixels
internal static void GivePixels(GameClient Client, int amount)
{
Double Timestamp = FirewindEnvironment.GetUnixTimestamp();
Client.GetHabbo().LastActivityPointsUpdate = Timestamp;
Client.GetHabbo().ActivityPoints += amount;
Client.GetHabbo().UpdateActivityPointsBalance(0);
}
示例8: RoomUser
public RoomUser(int virtualID, GameClient client, Room room)
: base(virtualID, room)
{
// Base constructor already called
this.Client = client;
Habbo habbo = client.GetHabbo();
this.ID = habbo.Id;
this.Name = habbo.Username;
this.Figure = habbo.Look;
this.Motto = habbo.Motto;
}
示例9: GetInventory
internal static InventoryComponent GetInventory(int UserId, GameClient Client, UserData data)
{
return new InventoryComponent(UserId, Client, data);
//InventoryComponent component;
//if (storage.TryGetValue(UserId, out component))
// return component;
//else
//{
// InventoryComponent toReturn =
// storage.Add(UserId, toReturn);
// return toReturn;
//}
}
示例10: GenerateCommandList
internal static string GenerateCommandList(GameClient client)
{
StringBuilder notif = new StringBuilder();
foreach (ChatCommand command in commandRegisterInvokeable.Values)
{
if (command.commandID == 43)
continue;
if (command.UserGotAuthorization(client))
notif.Append(':' + command.input.TrimStart() + ' ' + command.prefix + " - " + command.description + "\r\r");
}
return notif.ToString();
}
示例11: OnTrigger
internal override bool OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
{
if (!UserHasRights)
{
return false;
}
if (Item.data.GetData() == "0")
{
((StringData)Item.data).Data = "1";
Item.UpdateState(false, true);
Item.ReqUpdate(4, true);
return true;
}
return false;
}
示例12: CreateGroup
public Group CreateGroup(GameClient creator, string name, string description, int roomID, int color1, int color2, List<Tuple<int, int, int>> badgeData)
{
// We call this method after doing all checks.
int groupID;
//string badgeCode = Group.GenerateBadgeImage(badgeData);
string createTime = DateTime.Now.ToString("d-M-yyyy");
using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
{
// Insert the group
dbClient.setQuery("INSERT INTO groups(name,description,badge_data,users_id,rooms_id,color1,color2,date_created) VALUES(@name,@desc,@badge,@ownerid,@roomid,@color1,@color2,@date)");
dbClient.addParameter("name", name);
dbClient.addParameter("desc", description);
dbClient.addParameter("ownerid", creator.GetHabbo().Id);
dbClient.addParameter("roomid", roomID);
dbClient.addParameter("color1", color1);
dbClient.addParameter("color2", color2);
dbClient.addParameter("badge", Group.ConvertBadgeForDatabase(badgeData));
dbClient.addParameter("date", createTime);
groupID = (int)dbClient.insertQuery();
// Create membership for owner
dbClient.setQuery("INSERT INTO group_memberships VALUES(@id,@groupid,3,1)");
dbClient.addParameter("id", creator.GetHabbo().Id);
dbClient.addParameter("groupid", groupID);
dbClient.runQuery();
// Update room
dbClient.runFastQuery("UPDATE rooms SET groups_id = " + groupID + " WHERE id = " + roomID);
}
Group group = new Group()
{
ID = groupID,
Name = name,
Description = description,
RoomID = roomID,
ColorID1 = color1,
ColorID2 = color2,
BadgeData = badgeData,
DateCreated = createTime
};
group.Members.Add(creator.GetHabbo().Id);
string s = group.BadgeCode;
return group;
}
示例13: NeedsUpdate
internal static Boolean NeedsUpdate(GameClient Client)
{
try
{
if (Client.GetHabbo() == null)
return false;
Double PassedMins = (FirewindEnvironment.GetUnixTimestamp() - Client.GetHabbo().LastActivityPointsUpdate) / 60;
if (PassedMins >= RCV_EVERY_MINS)
return true;
}
catch (Exception e)
{
Logging.HandleException(e, "PixelManager.NeedsUpdate");
}
return false;
}
示例14: Serialize
internal ServerMessage Serialize(GameClient Session)
{
ServerMessage Message = new ServerMessage(Outgoing.RoomEvent);
Message.AppendString(Session.GetHabbo().Id + "");
Message.AppendString(Session.GetHabbo().Username);
Message.AppendString(RoomId + "");
Message.AppendInt32(Category);
Message.AppendString(Name);
Message.AppendString(Description);
Message.AppendString(StartTime);
Message.AppendInt32(Tags.Count);
foreach (string Tag in Tags.ToArray())
{
Message.AppendString(Tag);
}
return Message;
}
示例15: CreateMessage
internal static ChatMessage CreateMessage(string message, GameClient user, Room room)
{
int userID = user.GetHabbo().Id;
string username = user.GetHabbo().Username;
uint roomID = room.RoomId;
string roomName = room.Name;
DateTime timeSpoken = DateTime.Now;
ChatMessage chatMessage = new ChatMessage(userID, username, roomID, roomName, message, timeSpoken);
using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
{
dbClient.setQuery("INSERT into `chatlogs`(`user_id`, `room_id`, `hour`, `minute`, `full_date`, `timestamp`, `message`, `user_name`) VALUES(" + userID + ", " + roomID + ", " + timeSpoken.Hour + ", " + timeSpoken.Minute + ", '" + timeSpoken.ToString() + "', " + FirewindEnvironment.GetUnixTimestamp() + ", @msg, '" + user.GetHabbo().Username + "');");
dbClient.addParameter("msg", message);
dbClient.runQuery();
}
return chatMessage;
}