Power Pixel - Conteúdos e suporte a sua volta.
Redes Sociais:

Você não está conectado. Conecte-se ou registre-se

[FIX PLUSEMU] Correções para alguns bugs

Mensagem - Página 1 de 1

Membro

avatar
Olá pessoal, algumas pessoas conseguiram ver uma demo do nosso servidor que ficou online por algumas horas para testes e algumas pessoas notaram que corrigimos alguns Wired e adicionamos alguns novos, então vou postar algumas coisas que podem ser útil para vocês, você pode solicitar alguma correção simples aqui embaixo e eu irei responder assim que possível! (Não irei corrigir coisas complexas ou criar comandos, vamos com calma)  lol!

Wired GameEndsBox.cs


Spoiler:
Procure por
foreach (IWiredItem Condition in Conditions)
{

Abaixo adicione
if (!Condition.Execute(Condition.Item))
   return false;

No mesmo arquivo procure por
bool HasRandomEffectAddon = Effects.Count(x => x.Type == WiredBoxType.AddonRandomEffect) > 0;

Substitua por
bool HasRandomEffectAddon = Effects.Where(x => x.Type == WiredBoxType.AddonRandomEffect).ToList().Count() > 0;

Wired GameStartBox.cs
Procure por
foreach (IWiredItem Condition in Conditions)
{

Abaixo adicione
if (!Condition.Execute(Condition.Item))
   return false;

Procure por
bool HasRandomEffectAddon = Effects.Count(x => x.Type == WiredBoxType.AddonRandomEffect) > 0;

Substitua por
bool HasRandomEffectAddon = Effects.Where(x => x.Type == WiredBoxType.AddonRandomEffect).ToList().Count() > 0;



Interactorgate.cs

Spoiler:

Procure por
if (!Item.GetRoom().GetGameMap().itemCanBePlacedHere(Item.GetX, Item.GetY))

Abaixo das duas chaves adicione
if (Item.GetRoom() == null || Item.GetRoom().GetGameMap() == null ||
   Item.GetRoom().GetGameMap().SquareHasUsers(Item.GetX, Item.GetY))
   return;

Abaixo de
Item.UpdateState();

Adicione
Item.RegenerateBlock(NewMode.ToString(), Item.GetRoom().GetGameMap());

Procure por
if (!Item.GetRoom().GetGameMap().itemCanBePlacedHere(Item.GetX, Item.GetY))

Abaixo das duas chaves adicione
if (Item.GetRoom() == null || Item.GetRoom().GetGameMap() == null ||
   Item.GetRoom().GetGameMap().SquareHasUsers(Item.GetX, Item.GetY))
   return;


Wired FurniHasFurniBox.cs

Spoiler:

Procure por int Unknown = Packet.PopInt();
Abaixo adicione
int Option = Packet.PopInt();

Procure por
string Unknown2 = Packet.PopString();

Abaixo adicione
this.BoolData = Option == 1;

Procure por
public bool Execute(params object[] Params)

Abaixo da chave adicione
return this.BoolData ? AllFurniHaveFurniOn() : SomeFurniHaveFurniOn();
       }
       public bool AllFurniHaveFurniOn()
       {

Procure por
bool HasFurni = false;

Substitua por bool Furni = false;

Procure por List<Item> Items = Instance.GetGameMap().GetAllRoomItemForSquare(Item.GetX, Item.GetY);
Abaixo disso adicione
               if (Items.Where(x => x.GetZ >= Item.GetZ).Count() > 1)
                   Furni = true;

               if (!Furni)
                   return false;
           }
           return true;
       }

       public bool SomeFurniHaveFurniOn()
       {
           foreach (Item Item in this.SetItems.Values.ToList())
           {
               if (Item == null || !Instance.GetRoomItemHandler().GetFloor.Contains(Item)) //Si el Furni esta en la sala
                   continue;

               bool Furni = false;
               foreach (String I in this.ItemsData.Split(';'))
               {
                   if (String.IsNullOrEmpty(I))
                       continue;

                   Item II = Instance.GetRoomItemHandler().GetItem(Convert.ToInt32(I));

                   if (II == null)
                       continue;

                   List<Item> Items = Instance.GetGameMap().GetAllRoomItemForSquare(II.GetX, II.GetY);
                   if ((Items.Where(x => x.GetZ >= Item.GetZ).Count() > 1))
                   {
                       Furni = true;
                       break;
                   }

               }
               if (!Furni)

Membro Elite

avatar
Parabéns arfeu, você é o cara!

Membro Bronze

avatar
Muito bacana arfeu, alias belo desenvolvimento do emulador.
Off: você sabe como posso fazer a estrutura do wiredRewardAlertMessageComposer no plus?

Membro

avatar
[Você precisa estar registrado e conectado para ver este link.] escreveu:Muito bacana arfeu, alias belo desenvolvimento do emulador.
Off: você sabe como posso fazer a estrutura do wiredRewardAlertMessageComposer no plus?

Então.. eu fiz em duas estruturas para que ficasse mais fácil para mim
WiredAlertComposer [Você precisa estar registrado e conectado para ver este link.]

Utilidade para você manter o controle do uso do Wired sobre usuários

Player.GetClient().SendMessage(new RoomCustomizedAlertComposer("Opa, tente novamente!"));
                              PlusEnvironment.GetGame().GetClientManager().StaffAlert(RoomNotificationComposer.SendBubble("advice", "" + Player.GetClient().GetHabbo().Username + " usou um Wired que é restrigo a equipe, vá até ele pare conferir o seu inventário!.\n Clique aqui.", "event:navigator/goto/" + Player.GetClient().GetHabbo().CurrentRoomId));
}

Como já tinham me pedido quando o Wired não gerava um prêmio aleatório
if (percentage1 >= random)
                   SplitNumber = 0;
               else if (percentage1 <= random && random <= percentage2)
                   SplitNumber = 1;
               else if (percentage2 <= random && random <= percentage3)
                   SplitNumber = 2;
               else if (percentage3 <= random && random <= percentage4)
                   SplitNumber = 3;
               else if (percentage4 <= random && random <= percentage5 || random >= percentage5)
                   SplitNumber = 4;

Pacote PRODUCTION-201709192204-203982672
public const int WiredRewardAlertComposer = 2572;

Game Zone

avatar
Ótimo! Parabéns, vai ajudar muitos usuários.

Membro Bronze

avatar
[Você precisa estar registrado e conectado para ver este link.] escreveu:
[Você precisa estar registrado e conectado para ver este link.] escreveu:Muito bacana arfeu, alias belo desenvolvimento do emulador.
Off: você sabe como posso fazer a estrutura do wiredRewardAlertMessageComposer no plus?

Então.. eu fiz em duas estruturas para que ficasse mais fácil para mim
WiredAlertComposer [Você precisa estar registrado e conectado para ver este link.]

Utilidade para você manter o controle do uso do Wired sobre usuários

Player.GetClient().SendMessage(new RoomCustomizedAlertComposer("Opa, tente novamente!"));
                              PlusEnvironment.GetGame().GetClientManager().StaffAlert(RoomNotificationComposer.SendBubble("advice", "" + Player.GetClient().GetHabbo().Username + " usou um Wired que é restrigo a equipe, vá até ele pare conferir o seu inventário!.\n Clique aqui.", "event:navigator/goto/" + Player.GetClient().GetHabbo().CurrentRoomId));
}

Como já tinham me pedido quando o Wired não gerava um prêmio aleatório
if (percentage1 >= random)
                   SplitNumber = 0;
               else if (percentage1 <= random && random <= percentage2)
                   SplitNumber = 1;
               else if (percentage2 <= random && random <= percentage3)
                   SplitNumber = 2;
               else if (percentage3 <= random && random <= percentage4)
                   SplitNumber = 3;
               else if (percentage4 <= random && random <= percentage5 || random >= percentage5)
                   SplitNumber = 4;

Pacote PRODUCTION-201709192204-203982672
public const int WiredRewardAlertComposer = 2572;

Ah sim, você sabe qual id do WiredRewardAlertComposer da production PRODUCTION-201607262204-86871104 ?

Membro

avatar
[Você precisa estar registrado e conectado para ver este link.] escreveu:
[Você precisa estar registrado e conectado para ver este link.] escreveu:
[Você precisa estar registrado e conectado para ver este link.] escreveu:Muito bacana arfeu, alias belo desenvolvimento do emulador.
Off: você sabe como posso fazer a estrutura do wiredRewardAlertMessageComposer no plus?

Então.. eu fiz em duas estruturas para que ficasse mais fácil para mim
WiredAlertComposer [Você precisa estar registrado e conectado para ver este link.]

Utilidade para você manter o controle do uso do Wired sobre usuários

Player.GetClient().SendMessage(new RoomCustomizedAlertComposer("Opa, tente novamente!"));
                              PlusEnvironment.GetGame().GetClientManager().StaffAlert(RoomNotificationComposer.SendBubble("advice", "" + Player.GetClient().GetHabbo().Username + " usou um Wired que é restrigo a equipe, vá até ele pare conferir o seu inventário!.\n Clique aqui.", "event:navigator/goto/" + Player.GetClient().GetHabbo().CurrentRoomId));
}

Como já tinham me pedido quando o Wired não gerava um prêmio aleatório
if (percentage1 >= random)
                   SplitNumber = 0;
               else if (percentage1 <= random && random <= percentage2)
                   SplitNumber = 1;
               else if (percentage2 <= random && random <= percentage3)
                   SplitNumber = 2;
               else if (percentage3 <= random && random <= percentage4)
                   SplitNumber = 3;
               else if (percentage4 <= random && random <= percentage5 || random >= percentage5)
                   SplitNumber = 4;

Pacote PRODUCTION-201709192204-203982672
public const int WiredRewardAlertComposer = 2572;

Ah sim, você sabe qual id do WiredRewardAlertComposer da production PRODUCTION-201607262204-86871104 ?

Eu não tenho certeza mas você pode extrair os pacotes da produção que você quer com Habkit
[Você precisa estar registrado e conectado para ver este link.]

Game Zone

avatar
Muito bom mesmo, parabéns!
Creio que irá ajudar muitos usuários e a mim também :D

Iniciante

avatar
O por favor agrégalo? ^ è ^, sé después de encontrar el paquete gracias Smile

Mensagem - Página 1 de 1

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum