CitizenShip Panel on Mercury Emulator
Primeiro adicione na Outgoing.cs este Xit:
PHP Code:
- Código:
internal static int SerializeCitizenshipPanel = 476;//trylix
Em GameClientMessageHandler após:
PHP Code:
- Código:
Session.GetHabbo().InitMessenger();
Acrescentar:
PHP Code:
- Código:
this.GetResponse().Init(Outgoing.SerializeCitizenshipPanel);
this.GetResponse().AppendString("citizenship");
this.GetResponse().AppendInt32(1);
this.GetResponse().AppendInt32(4);
this.SendResponse();
Terceiro: de debug No visual studio
[i]Bug Nº 1 With Fix
Critical Exception After Login[/i]
[i]Primeiro: Open UserDataFactory e remover:
[/i]
[i][i]PHP Code:
[/i][/i]
- Código:
queryreactor.addParameter("ipaddress", ip);
[i][i]Segundo: debug no visual studio[/i][/i]
[i][i][i]Bug Nº 2 With Fix
Navigator_publics
[/i][/i][/i]
[i][i][i]Para adicionar um quarto em públicos fazer isso:
[/i][/i][/i]
[i][i][i][i]PHP Code:[/i][/i][/i][/i]
- Código:
INSERT INTO `navigator_publics` (`id`, `ordernum`, `bannertype`, `caption`, `description`, `image`, `image_type`, `room_id`, `category_id`, `category_parent_id`, `enabled`, `recommended`, `typeofdata`, `tag`) VALUES ('1', '1', '0', 'THE CAPTION', 'THE DESCRIPTION', '/officialrooms_au/fireservices_02.png', 'internal', 'YOUR ROOM ID FROM ROOMS', '0', '0', '1', '1', '2', '');
Terceiro:: refresh_navigator,: update_navigator
Feito
Fix Nº 3
Enable HeightMapEditor for Users
Procure por:
PHP Code:
- Código:
if (Session.GetHabbo().VIP || Session.GetHabbo().Rank >= 5)
Fix Nº 7
Room Cycle Fix
Procure:
PHP Code:
- Código:
if (this.IdleTime >= 10/* && usersQueueToEnter.Count == 0*/)
para:
PHP Code:
- Código:
if (this.IdleTime >= 60/* && usersQueueToEnter.Count == 0*/)
Fix Nº 8
New Wireds
Alterar o ItemsCoincide.cs para:
PHP Code:
- Código:
using Mercury.HabboHotel.Items;
using Mercury.HabboHotel.Pathfinding;
using System;
using System.Collections.Generic;
namespace Mercury.HabboHotel.Rooms.Wired.Handlers.Conditions
{
internal class ItemsCoincide : WiredItem
{
private WiredItemType mType = WiredItemType.ConditionFurniCoincides;
private RoomItem mItem;
private Room mRoom;
private string mString;
private string mExtra;
private string mExtra2;
private List<RoomItem> mItems;
public WiredItemType Type
{
get
{
return this.mType;
}
}
public RoomItem Item
{
get
{
return this.mItem;
}
set
{
this.mItem = value;
}
}
public Room Room
{
get
{
return this.mRoom;
}
}
public List<RoomItem> Items
{
get
{
return this.mItems;
}
set
{
this.mItems = value;
}
}
public string OtherString
{
get
{
return mString;
}
set
{
mString = value;
}
}
public string OtherExtraString
{
get
{
return mExtra;
}
set
{
mExtra = value;
}
}
public string OtherExtraString2
{
get
{
return mExtra2;
}
set
{
mExtra2 = value;
}
}
public bool OtherBool
{
get
{
return true;
}
set
{
}
}
public int Delay
{
get
{
return 0;
}
set
{
}
}
public ItemsCoincide(RoomItem Item, Room Room)
{
this.mItem = Item;
this.mRoom = Room;
this.mItems = new List<RoomItem>();
this.mString = "";
this.mExtra = "";
this.mExtra2 = "";
}
public bool Execute(params object[] Stuff)
{
bool UseExtradata = false;
bool UseRot = false;
bool UsePos = false;
try
{
if (String.IsNullOrWhiteSpace(mString))
{
return false;
}
else
{
string[] Booleans = mString.ToLower().Split(',');
UseExtradata = Booleans[0] == "true";
UseRot = Booleans[1] == "true";
UsePos = Booleans[2] == "true";
}
}
catch { }
bool EDApproved = true;
bool RotApproved = true;
bool PosApproved = true;
foreach (RoomItem current in this.mItems)
{
string[] splitter = mExtra.Split('/');
string WItem = "";
int tryes = 0;
foreach (string str in splitter)
{
string itemid = current.Id.ToString();
if (splitter[tryes].Split('|')[0] == itemid)
WItem = splitter[tryes];
else
{
tryes++;
continue;
}
}
string[] WSplitted = WItem.Split('|');
RoomItem orItem = mRoom.GetRoomItemHandler().GetItem(current.Id);
if(current.RoomId == 0 || orItem == null || orItem.RoomId == 0)
{
continue;
}
if (UseRot)
{
if (current.Rot.ToString() != WSplitted[2])
{
RotApproved = false;
}
}
if (UseExtradata)
{
if (current.ExtraData == "")
{
current.ExtraData = "0";
}
if (current.ExtraData != WSplitted[1])
{
EDApproved = false;
}
}
if (UsePos)
{
string[] coords = WSplitted[3].Split(',');
string X = coords[0];
string Y = coords[1];
//string Z = coords[3];
if ((current.GetX.ToString() != X) || (current.GetY.ToString() != Y))
{
PosApproved = false;
}
}
}
if (EDApproved && PosApproved && RotApproved)
{
return true;
}
else
{
return false;
}
}
}
}
Fix Nº 10
New Wireds
Em InteractorWired.cs:
coloque este código:
PHP Code:
- Código:
case InteractionType.actionmoverotate:
{
ServerMessage serverMessage13 = new ServerMessage(Outgoing.WiredEffectMessageComposer);
serverMessage13.AppendBoolean(false);
serverMessage13.AppendInt32(5);
serverMessage13.AppendInt32(list.Count);
foreach (RoomItem current13 in list)
{
serverMessage13.AppendUInt(current13.Id);
}
serverMessage13.AppendInt32(Item.GetBaseItem().SpriteId);
serverMessage13.AppendUInt(Item.Id);
serverMessage13.AppendString(ExtraInfo);
serverMessage13.AppendInt32(2);
serverMessage13.AppendInt32(int.Parse(ExtraInfo.Split(new char[]
{
';'
})[0]));
serverMessage13.AppendInt32(int.Parse(ExtraInfo.Split(new char[]
{
';'
})[1]));
serverMessage13.AppendInt32(0);
serverMessage13.AppendInt32(4);
serverMessage13.AppendInt32(i);
serverMessage13.AppendInt32(0);
serverMessage13.AppendInt32(0);
Session.SendMessage(serverMessage13);
return;
Fix Nº 11
In RoomItemHandling.cs :
Procure por:
- Código:
ServerMessage serverMessage = new ServerMessage(Outgoing.PickUpFloorItemMessageComposer);
serverMessage.AppendString(roomItem.Id + string.Empty);
serverMessage.AppendBoolean(false);
serverMessage.AppendInt32(0);
serverMessage.AppendUInt(roomItem.UserID);
substitua por:
- Código:
ServerMessage serverMessage = new ServerMessage(Outgoing.PickUpFloorItemMessageComposer);
serverMessage.AppendString(roomItem.Id + string.Empty);
serverMessage.AppendBoolean(false);
serverMessage.AppendUInt(Session.GetHabbo().Id);
serverMessage.AppendInt32(0);
Procure por:
- Código:
ServerMessage serverMessage2 = new ServerMessage(Outgoing.PickUpFloorItemMessageComposer);
serverMessage2.AppendString(Item.Id + string.Empty);
serverMessage2.AppendBoolean(false);
serverMessage2.AppendInt32((!WasPicked && Item.GetBaseItem().InteractionType == InteractionType.moplaseed) ? -1 : 0);
if (WasPicked)
{
serverMessage2.AppendUInt(Item.UserID);
}
else
{
serverMessage2.AppendInt32(0);
}
substitua por:
- Código:
ServerMessage serverMessage2 = new ServerMessage(Outgoing.PickUpFloorItemMessageComposer);
serverMessage2.AppendString(Item.Id + string.Empty);
serverMessage2.AppendBoolean(false);
if (WasPicked)
{
serverMessage2.AppendUInt(Item.UserID);
}
else
{
serverMessage2.AppendInt32(-1);
}
serverMessage2.AppendInt32(0);
Bugs não fixados:
Error en thread Room cycle task for room 16:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.HashSet`1.Enumerator.MoveNext()
at Mercury.HabboHotel.Rooms.RoomManager.UnloadRoom(Room Room) in c:\Users\Administrator\Desktop\Mercury v2\HabboHotel\Rooms\RoomManager.cs:line 629
at Mercury.HabboHotel.Rooms.Room.ProcessRoom() in c:\Users\Administrator\Desktop\Mercury v2\HabboHotel\Rooms\Room.cs:line 771
atç se quiserem ajuda bugs suporte podem postar aqui tópico aberto para ajuda suporte e fix fix que vcs souberem se quiserem postar aqui podem postar logo novos fix neste tópico
créditos:
Claudio santoro = bios
etc