Добрый вечер. Озадачен одной странной вещью, понимаю что я его-то не понимаю.
Создаю флаг в плаермобайл. Выставляю его персонажу. Цепляю на флаг условия - всё работает.
Но каждый раз как я делаю ребут (не релогин), флаг становится false на любом персонаже.
Я закоментировал всё кроме самой основы... Чего не хватает ? Чего я не понимаю ? Помогите ))
public enum PlayerFlag : ulong // First 16 bits are reserved for default-distro use, start custom flags at 0x00010000
{
... //срезал лишнее
CanBuyCarpets = 0x100000000,
VoidPool = 0x200000000,
CanUseAmbrosia= 0x400000000 // Вот этот
}
[CommandProperty(AccessLevel.GameMaster)]
public bool CanUseAmbrosia
{
get { return GetFlag(PlayerFlag.CanUseAmbrosia); }
set
{
SetFlag(PlayerFlag.CanUseAmbrosia, value);
InvalidateProperties();
}
}
Выглядит как баг ServUO.
public enum PlayerFlag : ulong
...
writer.Write((int)m_Flags);
...
m_Flags = (PlayerFlag)reader.ReadInt();
writer.Write((ulong)m_Flags);
...
m_Flags = (PlayerFlag)reader.ReadULong();
Ух ты. Верно - логично.
Жалко я удалил свой пост с СервУО до того как увидел твой ответ тут.
Значит я всёж не тупость спросил... значит ответ от них должен бы поступить. (пересоздам и пополню информацией.)
Спасибо! Хоть один человек покопался и дал ответ.
Кстати я обошёл это, создал int просто и серелиазовал его.
Идут мои первые дни C#. Пока нравится но порой так голова болит - это первый вопрос на который я сорвался. ))
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)