Code:
using OpenNos.Core;
using OpenNos.Domain;
namespace OpenNos.GameObject.CommandPackets
{
[PacketHeader("$AddAccount", PassNonParseablePacket = true, Authorities = new AuthorityType[] { AuthorityType.Owner })]
public class AddAccountPacket : PacketDefinition
{
#region Properties
[PacketIndex(0)]
public string Name { get; set; }
[PacketIndex(1)]
public string Password { get; set; }
[PacketIndex(2)]
public int Authority { get; set; }
public static string ReturnHelp() => "$AddAccount <Name> <Password> <Authority>";
#endregion
}
}
Code:
/// <summary>
/// $AddAccount Command
/// </summary>
/// <param name="addAccountPacket"></param>
public void AddAccount(AddAccountPacket addAccountPacket)
{
if (addAccountPacket != null)
{
AuthorityType Autoridad = AuthorityType.Banned;
switch (addAccountPacket.Authority)
{
case 0:
Autoridad = AuthorityType.User;
break;
case 20:
Autoridad = AuthorityType.GS;
break;
case 30:
Autoridad = AuthorityType.TMOD;
break;
case 31:
Autoridad = AuthorityType.MOD;
break;
case 32:
Autoridad = AuthorityType.SMOD;
break;
case 50:
Autoridad = AuthorityType.TGM;
break;
case 51:
Autoridad = AuthorityType.GM;
break;
case 60:
Autoridad = AuthorityType.TM;
break;
case 80:
Autoridad = AuthorityType.DEV;
break;
case 100:
Autoridad = AuthorityType.Administrator;
break;
case 150:
Autoridad = AuthorityType.CoOwn;
break;
case 666:
Autoridad = AuthorityType.Owner;
break;
}
AccountDTO account = new AccountDTO
{
Authority = Autoridad,
Name = addAccountPacket.Name,
Password = CryptographyBase.Sha512(addAccountPacket.Password)
};
DAOFactory.AccountDAO.InsertOrUpdate(ref account);
}
else
{
Session.SendPacket(Session.Character.GenerateSay(AddAccountPacket.ReturnHelp(), 10));
}
}
Good game everyone !








