@Dokotrs
Effects goes in users rentables inventory, which isn't coded as far as I know. This quests thing can be changed by replacing your
public void ActiveEndQuest(GameClient Session) with this one:
Code:public void ActiveEndQuest(GameClient Session) { int id = Session.GetHabbo().LastQuestId + 1; QuestManager questById = ButterflyEnvironment.GetGame().GetQuestManager().GetQuestById(Session.GetHabbo().LastQuestId); QuestManager manager2 = ButterflyEnvironment.GetGame().GetQuestManager().GetQuestById(id); if ((manager2 != null) && (questById.Category == manager2.Category)) { IQueryAdapter adapter; Session.GetHabbo().ActiveQuestNow = true; Session.GetHabbo().QuestActivate = manager2.Id; if (!Session.GetHabbo().QuestsStates.ContainsKey(manager2.Id)) { Session.GetHabbo().QuestsStates.Add(manager2.Id, 0); Habbo habbo = Session.GetHabbo(); object questsS = habbo.QuestsS; habbo.QuestsS = string.Concat(new object[] { questsS, manager2.Id, "-", 0, ";" }); using (adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { adapter.runFastQuery(string.Concat(new object[] { "UPDATE users SET queststates = '", Session.GetHabbo().QuestsS, "' WHERE id = '", Session.GetHabbo().Id, "'" })); } } manager2.UsersId.Add(Session.GetHabbo().Id); manager2.UsersActivate = manager2.UsersActivate + Session.GetHabbo().Id + ";"; using (adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { adapter.runFastQuery(string.Concat(new object[] { "UPDATE quests SET usersactivate = '", manager2.UsersActivate, "' WHERE id = '", manager2.Id, "'" })); } this.LoadQuests(Session); ServerMessage message = new ServerMessage(Outgoing.ActivateQuest); message.AppendString(manager2.Category); message.AppendInt32(ButterflyEnvironment.GetGame().GetQuestManager().MyQuestsCompleted(manager2.Category, Session.GetHabbo()).Count); message.AppendInt32(ButterflyEnvironment.GetGame().GetQuestManager().QuestsInCategory(manager2.Category).Count); message.AppendInt32(manager2.Id); message.AppendBoolean(ButterflyEnvironment.GetGame().GetQuestManager().IsActivated(manager2.Id, Session.GetHabbo())); message.AppendString(manager2.Type); message.AppendString(manager2.ExtraValue); message.AppendString(manager2.SecondType); if (Session.GetHabbo().QuestsStates.ContainsKey(manager2.Id)) { message.AppendInt32(Session.GetHabbo().QuestsStates[manager2.Id]); } else { message.AppendInt32(0); } message.AppendInt32(manager2.CountFurnis); message.AppendInt32(ButterflyEnvironment.GetGame().GetQuestManager().GetIntValue(manager2.Category)); message.AppendString("set_kuurna"); message.AppendString("MAIN_CHAIN"); message.AppendBoolean(true); Session.SendMessage(message); } }
Achievements button is now handled by some other way in Sulake's latest hotels so I can't packetlog it to fix. I get only the event handler logger when I click the button :
3450: [0][0][0]%z[0][6]MeMenu[0][5]click[0][12]achievements[0][0][0][0][0][0]
I would have to reverse the .swf to code it, which doesn't worth the effort .
If this code need to be replaced in Butterfly->Habbo Hotel-> Quests-> Quests.cs , then it's not working.
You must be registered to see links
:/