Junior Spellweaver
- Joined
- Oct 6, 2011
- Messages
- 185
- Reaction score
- 15
Facebook? Which client/cms do you use?
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!Facebook? Which client/cms do you use?
Yesser, hush up, you hardly know what you're Ducking talking about,
anyway after craig just explained, i was checking through the source with your errors, when someone new registers on uberEmulator, they automatically get an achievement (badge) of beta testing I think? And that wasn't in the achievements table.
Thats in Gameclient.cs I think, Every user is awarded that badge.
Does anyone know what swf version works for this emu?
I would recommend KidRamboDubstep's.Does anyone know what swf version works for this emu?
I tried his swfs and the other swfs but for strange reason I am unable to enter rooms.
Error in packet Er:
System.NullReferenceException: Object reference not set to an instance of an object.
at Hang.HabboHotel.Achievements.AchievementManager.SerializeAchievementList(GameClient Session) in C:\Users\Danny\Desktop\Hang Glider v.2.0.1\HabboHotel\Achievements\AchievementManager.cs:line 76
at Hang.Messages.GameClientMessageHandler.GetAchievements() in C:\Users\Danny\Desktop\Hang Glider v.2.0.1\Messages\Requests\Users.cs:line 191
at Hang.Messages.GameClientMessageHandler.HandleRequest(ClientMessage pRequest) in C:\Users\Danny\Desktop\Hang Glider v.2.0.1\Messages\GameClientMessageHander.cs:line 62
at Hang.HabboHotel.GameClients.GameClient.HandleConnectionData(Byte[]& data) in C:\Users\Danny\Desktop\Hang Glider v.2.0.1\HabboHotel\GameClients\GameClient.cs:line 292
Okay that issue if fixed, now when ever I click on the achievement tab I get an error in the emu. I tried using the codes from other emu that don't have the issue but nothing. Any help?
Here is the error:
That still don't work, unless I am doing it to the incorrect void.
Does anyone has the fix for the achievement tab?
Willing to pay.
I just commented out the achivements for now and built the solution again and it was fine. Seems to incomplete probably just a small problem. Anyways do that for now or just see whats going wrong with it and try to fix it.
May you please post the code? Thanks!
using System;
using System.Collections.Generic;
using System.Data;
using Hang.HabboHotel.GameClients;
using Hang.HabboHotel.Users.Badges;
using Hang.Messages;
using Hang.Storage;
// namespace Hang.HabboHotel.Achievements
// {
// class AchievementManager
// {
// private Dictionary<uint, Achievement> Achievements;
// internal AchievementManager()
// {
// this.Achievements = new Dictionary<uint, Achievement>();
// }
// internal void LoadAchievements(DatabaseClient MySQL)
// {
// Achievements.Clear();
// DataTable Data = new DataTable();
// Data = MySQL.query_read("SELECT * FROM achievements");
// if (Data == null)
// {
// return;
// }
// foreach (DataRow Row in Data.Rows)
// {
// Achievements.Add((uint)Row["id"], new Achievement((uint)Row["id"], (int)Row["levels"], (string)Row["badge"], (int)Row["pixels_base"], (double)Row["pixels_multiplier"], Convert.ToString(Row["category"]), HangEnvironment.EnumToBool(Row["dynamic_badgelevel"].ToString())));
// }
// }
// internal static Boolean UserHasAchievement(GameClient Session, uint Id, int MinLevel)
// {
// if (!Session.GetHabbo().Achievements.ContainsKey(Id))
// {
// return false;
// }
// if (Session.GetHabbo().Achievements[Id] >= MinLevel)
// {
// return true;
// }
// return false;
// }
// internal ServerMessage SerializeAchievementList(GameClient Session)
// {
// List<Achievement> AchievementsToList = new List<Achievement>();
// Dictionary<uint, int> NextAchievementLevels = new Dictionary<uint, int>();
// using (TimedLock.Lock(Achievements))
// {
// foreach (Achievement Achievement in Achievements.Values)
// {
// if (!Session.GetHabbo().Achievements.ContainsKey(Achievement.Id))
// {
// AchievementsToList.Add(Achievement);
// NextAchievementLevels.Add(Achievement.Id, 1);
// }
// else
// {
// if (Session.GetHabbo().Achievements[Achievement.Id] >= Achievement.Levels)
// {
// continue;
// }
// AchievementsToList.Add(Achievement);
// NextAchievementLevels.Add(Achievement.Id, Session.GetHabbo().Achievements[Achievement.Id] + 1);
// }
// }
// }
// ServerMessage Message = new ServerMessage(436);
// Message.AppendInt32(AchievementsToList.Count);
// foreach (Achievement Achievement in AchievementsToList)
// {
// int Level = NextAchievementLevels[Achievement.Id];
// int Pixels = CalculateAchievementValue(Achievement.PixelBase, Level);
//Fix achivements 90%
// Achievement.Serialize(Message, Pixels, Level, FormatBadgeCode(Achievement.BadgeCode, Level, Achievement.DynamicBadgeLevel), Achievement.category, Achievement.Levels);
// }
// return Message;
// }
// internal void UnlockAchievement(GameClient Session, uint AchievementId, int Level)
// {
// // Get the achievement
// Achievement Achievement = Achievements[AchievementId];
// Make sure the achievement is valid and has not already been unlocked
// if (Achievement == null || UserHasAchievement(Session, Achievement.Id, Level) || Level < 1 || Level > Achievement.Levels)
// {
// return;
// }
// Calculate the pixel value for this achievement
// int Value = CalculateAchievementValue(Achievement.PixelBase, Level);
// Remove any previous badges for this achievement (old levels)
// using (TimedLock.Lock(Session.GetHabbo().GetBadgeComponent().BadgeList))
// {
// List<string> BadgesToRemove = new List<string>();
// foreach (Badge Badge in Session.GetHabbo().GetBadgeComponent().BadgeList)
// {
// if (Badge.Code.StartsWith(Achievement.BadgeCode))
// {
// BadgesToRemove.Add(Badge.Code);
// }
// }
// foreach (string Badge in BadgesToRemove)
// {
// Session.GetHabbo().GetBadgeComponent().RemoveBadge(Badge);
// }
// }
// Give the user the new badge
// Session.GetHabbo().GetBadgeComponent().GiveBadge(FormatBadgeCode(Achievement.BadgeCode, Level, Achievement.DynamicBadgeLevel), true);
// Update or set the achievement level for the user
// if (Session.GetHabbo().Achievements.ContainsKey(Achievement.Id))
// {
// Session.GetHabbo().Achievements[Achievement.Id] = Level;
// using (DatabaseClient MySQL = HangEnvironment.GetDatabase().GetClient())
// {
// MySQL.query("UPDATE user_achievements SET achievement_level = '" + Level + "' WHERE user_id = '" + Session.GetHabbo().Id + "' AND achievement_id = '" + Achievement.Id + "' LIMIT 1");
// }
// }
// else
// {
// Session.GetHabbo().Achievements.Add(Achievement.Id, Level);
// using (DatabaseClient MySQL = HangEnvironment.GetDatabase().GetClient())
// {
// MySQL.query("INSERT INTO user_achievements (user_id,achievement_id,achievement_level) VALUES ('" + Session.GetHabbo().Id + "','" + Achievement.Id + "','" + Level + "')");
// }
// }
// Notify the user of the achievement gain
// ServerMessage Message = new ServerMessage(437);
// Message.AppendUInt(Achievement.Id); //id del achivements
// Message.AppendInt32(Level); //nivel
// string L = "";
// if (Achievement.Levels > 1)
// L = Achievement.Levels.ToString(); //niveles
// Message.AppendInt32(182); // ?
// Message.AppendStringWithBreak(FormatBadgeCode(Achievement.BadgeCode, Level, Achievement.DynamicBadgeLevel) + L); // datos de la placa
// Message.AppendInt32(0); // Puntos de recompensas
// Message.AppendInt32(Value); //valor
// Message.AppendBoolean(false); //progreso
// Message.AppendInt32(0); // puntos extras de facebook
// Message.AppendInt32(-1);
// Message.AppendByte(2);
// Message.AppendStringWithBreak(Achievement.category); // categoria de la placa
// Session.GetConnection().SendMessage(Message);
// Give the user the pixels he deserves
// Session.GetHabbo().ActivityPoints += Value; //valor de los pixeles
// Session.GetHabbo().UpdateActivityPointsBalance(true); // Pixeles
// Give the user the pixels he deserves
// Session.GetHabbo().ActivityPoints += Value;
// Session.GetHabbo().UpdateActivityPointsBalance(Value);
// [13-12-2009 17:03:34 from 62.50.35.181:30000]
// FvXXDRB
// [13-12-2009 17:03:34 from 62.50.35.181:30000]
// FuQBIACH_Motto1
// FuPBJACH_RoomEntry2ACH_RoomEntry1
// }
// internal static int CalculateAchievementValue(int BaseValue, int Level)
// {
// return (BaseValue + (50 * Level));
// }
// internal static string FormatBadgeCode(string BadgeTemplate, int Level, bool Dyn)
// {
// if (!Dyn)
// {
// return BadgeTemplate;
// }
// return BadgeTemplate + Level;
// }
// }
//}