[TUTORIAL] Desabilitar o Comando Sexo {PlusEmu} 19.02.17 14:01
Olá a todos, a pouco tempo lançaram o comando sexo, mas lançaram de qualquer jeito sem forma de desativá-lo ou alguma coisa do tipo, então resolvi criar uma forma de desativá-lo, após o usuário ter desativado o comando e ele reiniciar sua client não será necessário reescrever o comando novamente pois o mesmo já estará desativado, para reverter e voltar a usar o comando sexo normalmente como antes é só usar o mesmo comando que usou para desativá-lo.
OBS: Nos spoilers têm printscreens.
Vamos a um breve tutorial.
1 - Para começar abra o arquivo "Plus Emulator.sln".
2 - Abra o arquivo CommandManager, localizado em:
HabboHotel/Rooms/Chat/Commands/CommandManager.cs
Procure por isto:
E adicione isto:
3 - Vá até HabboHotel/Rooms/Chat/Commands/User e crie uma nova classe chamada "DisableSexCommand.cs".
E adicione isso dentro do arquivo .cs:
4 - Vá para o arquivo do seu comando sexo .cs que está em:
HabboHotel/Rooms/Chat/Commands/User/Fun
Por exemplo o meu é "SexCommand.cs".
Procure por:
E abaixo adicione isto:
5 - Vá até HabboHotel/Users/Habbo.cs e adicione este código na linha 80.
6 - No mesmo arquivo ainda procuraremos este código:
E substituímos por isso:
7 - No mesmo arquivo ainda procuramos por:
E adicionamos este código abaixo:
8 - No mesmo arquivo ainda procuramos:
E adicionamos este código abaixo:
9 - Agora vamos para HabboHotel/Users/Authenticator/HabboFactory/Authenticator.cs, procuramos por "rank_vip" neste mesmo arquivo e adicionamos isso atrás.
10 - Vamos para o HabboHotel/Users/UserDataManagement/UserDataFactory.cs e procure por isto:
E atrás de " `rank_vip` ", adicionamos isso:
11 - E para finalizar procuramos isso:
E fazer a mesma coisa que tínhamos feito antes, que é adicionar allow_sex atrás de rank_vip.
11 - Para concluir com chave de ouro, execute este código SQL:
Agora aperte o botão "Start" faça debug, e teste para ver se funcionou.
Abraços!
OBS: Nos spoilers têm printscreens.
Vamos a um breve tutorial.
1 - Para começar abra o arquivo "Plus Emulator.sln".
2 - Abra o arquivo CommandManager, localizado em:
HabboHotel/Rooms/Chat/Commands/CommandManager.cs
Procure por isto:
- Código:
private void RegisterUser()
{
E adicione isto:
- Código:
this.Register("disablesex", new DisableSexCommand());
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
3 - Vá até HabboHotel/Rooms/Chat/Commands/User e crie uma nova classe chamada "DisableSexCommand.cs".
E adicione isso dentro do arquivo .cs:
- Código:
using Plus.Database.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Plus.HabboHotel.Rooms.Chat.Commands.User
{
class DisableSexCommand : IChatCommand
{
public string PermissionRequired
{
get { return "command_disable_sex"; }
}
public string Parameters
{
get { return ""; }
} public string Description
{
get { return "Enables or disables the sex command."; }
}
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
Session.GetHabbo().AllowSex = !Session.GetHabbo().AllowSex;
Session.SendWhisper("You " + (Session.GetHabbo().AllowSex == true ? "allows" : "does
not allow") + " the sex command.");
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.SetQuery("UPDATE `users` SET `allow_sex` = @AllowSex WHERE `id` = '" +
Session.GetHabbo().Id + "'");
dbClient.AddParameter("AllowSex", PlusEnvironment.BoolToEnum(Session.GetHabbo().AllowSex));
dbClient.RunQuery();
}
}
}
}
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
4 - Vá para o arquivo do seu comando sexo .cs que está em:
HabboHotel/Rooms/Chat/Commands/User/Fun
Por exemplo o meu é "SexCommand.cs".
Procure por:
- Código:
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
{
if (Params.Length == 1)
{
Session.SendWhisper("Enter the username of the person with whom you want to have sex.");
return;
}
E abaixo adicione isto:
- Código:
if (!TargetUser.GetClient().GetHabbo().AllowSex &&
!Session.GetHabbo().GetPermissions().HasRight("sex"))
{
Session.SendWhisper("Oops, este usuário desabilitou o comando sexo!");
return;
}
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
5 - Vá até HabboHotel/Users/Habbo.cs e adicione este código na linha 80.
- Código:
private bool _allowSex;
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
6 - No mesmo arquivo ainda procuraremos este código:
- Código:
int GOTWPoints, bool IgnoreInvites, double TimeMuted, double TradingLock, bool AllowGifts, int FriendBarState, bool DisableForcedEffects, bool AllowMimic, int VIPRank)
E substituímos por isso:
- Código:
int GOTWPoints, bool IgnoreInvites, double TimeMuted, double TradingLock, bool AllowGifts, int FriendBarState, bool DisableForcedEffects, bool AllowMimic, bool AllowSex, int VIPRank)
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
7 - No mesmo arquivo ainda procuramos por:
- Código:
this._allowMimic = AllowMimic;
E adicionamos este código abaixo:
- Código:
this._allowSex = AllowSex;
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
8 - No mesmo arquivo ainda procuramos:
- Código:
public bool AllowMimic
{
get { return this._allowMimic; }
set { this._allowMimic = value; }
}
E adicionamos este código abaixo:
- Código:
public bool AllowSex
{
get { return this._allowSex; }
set { this._allowSex = value; }
}
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
9 - Agora vamos para HabboHotel/Users/Authenticator/HabboFactory/Authenticator.cs, procuramos por "rank_vip" neste mesmo arquivo e adicionamos isso atrás.
- Código:
PlusEnvironment.EnumToBool(Row["allow_sex"].ToString()),
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
10 - Vamos para o HabboHotel/Users/UserDataManagement/UserDataFactory.cs e procure por isto:
- Código:
"SELECT `id`,`username`,`rank`,`motto`,`look`,`gender`,`last_online`,`credits`,`activity_points`,`home_room`,`block_newfriends`,`hide_online`,`hide_inroom`,`vip`,`account_created`,`vip_points`,`machine_id`,`volume`,`chat_preference`,`focus_preference`, `pets_muted`,`bots_muted`,`advertising_report_blocked`,`last_change`,`gotw_points`,`ignore_invites`,`time_muted`,`allow_gifts`,`friend_bar_state`,`disable_forced_effects`,`allow_mimic`,`allow_sex`,`rank_vip` FROM `users` WHERE `auth_ticket` = @sso LIMIT 1"
E atrás de " `rank_vip` ", adicionamos isso:
- Código:
`allow_sex`,
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
11 - E para finalizar procuramos isso:
- Código:
SELECT `id`,`username`,`rank`,`motto`,`look`,`gender`,`last_online`,`credits`,`activity_points`,`home_room`,`block_newfriends`,`hide_online`,`hide_inroom`,`vip`,`account_created`,`vip_points`,`machine_id`,`volume`,`chat_preference`, `focus_preference`, `pets_muted`,`bots_muted`,`advertising_report_blocked`,`last_change`,`gotw_points`,`ignore_invites`,`time_muted`,`allow_gifts`,`friend_bar_state`,`disable_forced_effects`,`allow_mimic`,`rank_vip` FROM `users` WHERE `id` = @id LIMIT 1"
E fazer a mesma coisa que tínhamos feito antes, que é adicionar allow_sex atrás de rank_vip.
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
11 - Para concluir com chave de ouro, execute este código SQL:
- Código:
ALTER TABLE `users`ADD COLUMN `allow_sex` ENUM('0','1') NOT NULL DEFAULT '1' AFTER `allow_mimic`;
Agora aperte o botão "Start" faça debug, e teste para ver se funcionou.
Abraços!