static void OnPlayerEnterWorld(WORLDMSG msgID, BinReader data) { uint id = data.ReadUInt32(); ACCESSLEVEL accesslevel = (ACCESSLEVEL)data.ReadByte(); DBCharacter c = (DBCharacter)DBManager.GetDBObject(typeof(DBCharacter), id); if (c == null) { Console.WriteLine("Failed to enter world with id " + id + ". WorldServer is missing Character object"); return; } WorldClient client = new WorldClient(c); MapInstance map = (MapInstance)m_maps[c.WorldMapID]; if (map == null) { Console.WriteLine("Worldserver is not handling " + c.WorldMapID + "!"); client.LeaveWorld(); return; } map.SetObjectPositionInBounds(client.Player); //client.CreatePlayerObject(); client.Player.AccessLvl = accesslevel; map.Enter(client.Player); }
public PlayerObject(DBCharacter c) : base() { m_character = c; m_nextLevelExp = c.Level * 1000; m_character.Health = c.Health; m_character.MaxHealth = c.MaxHealth; m_character.Power = c.Power; m_character.MaxPower = c.MaxPower; m_character.Strength = c.Strength; m_character.BaseStrength = c.BaseStrength; m_character.Stamina = c.Stamina; m_character.BaseStamina = c.BaseStamina; m_character.Agility = c.Agility; m_character.BaseAgility = c.BaseAgility; m_character.Intellect = c.Intellect; m_character.BaseIntellect = c.BaseIntellect; m_character.Spirit = c.Spirit; m_character.BaseSpirit = c.BaseSpirit; m_scale = c.Scale; m_displayID = c.DisplayID; m_playerFlags = 0; m_accessLevel = ACCESSLEVEL.NORMAL; Inventory = new PlayerInventory(this); if (c.Items != null) { foreach (DBItem item in c.Items) { Inventory.CreateItem(item); } } ObjectManager.AddWorldObject(this); }
private void SendEnterWorld(DBCharacter c, ACCESSLEVEL accesslevel) { WorldPacket pkg = new WorldPacket(WORLDMSG.PLAYER_ENTER_WORLD); pkg.Write(c.ObjectId); pkg.Write((byte)accesslevel); Send(pkg); }
static void OnAccessUpdate(int msgID, BinReader data) { uint charID = data.ReadUInt32(); ACCESSLEVEL newAccessLevel = (ACCESSLEVEL)data.ReadByte(); WorldClient client = WorldServer.GetClientByCharacterID(charID); client.Player.AccessLvl = newAccessLevel; client.Player.UpdateData(); }
public User(int userid, string logon, string firstname, string lastname, ACCESSLEVEL accessLevel, int rootLocation, string rootLocationName) { _userid = userid; Logon = logon; FirstName = firstname; LastName = lastname; AccessLevel = accessLevel; RootLocation(rootLocation, rootLocationName); }
// Methods public User() { this._userid = 0; this._logon = ""; this._password = ""; this._firstName = ""; this._lastName = ""; this._accessLevel = ACCESSLEVEL.administrator; this._rootLocation = 1; this._rootLocationString = "<All Locations>"; }
// [UpdateValueAttribute(PLAYERFIELDS.SKILL_INFO, ArraySize=384)] // protected uint [] m_skill_info; public PlayerObject(DBCharacter c) : base() { m_character = c; m_character.Health = c.Health; m_character.MaxHealth = c.MaxHealth; m_character.Power = c.Power; m_character.MaxPower = c.MaxPower; m_character.Strength = c.Strength; m_character.BaseStrength = c.BaseStrength; m_character.Stamina = c.Stamina; m_character.BaseStamina = c.BaseStamina; m_character.Agility = c.Agility; m_character.BaseAgility = c.BaseAgility; m_character.Intellect = c.Intellect; m_character.BaseIntellect = c.BaseIntellect; m_character.Spirit = c.Spirit; m_character.BaseSpirit = c.BaseSpirit; m_character.AttackPower = c.AttackPower; m_character.AttackPowerModifier = c.AttackPowerModifier; m_character.GuildID = c.GuildID; m_character.GuildRank = c.GuildRank; m_character.GuildTimeStamp = WorldClock.GetTimeStamp(); m_scale = c.Scale; m_displayID = c.DisplayID; m_nativedisplayID = c.DisplayID; m_playerFlags = 0; m_accessLevel = ACCESSLEVEL.NORMAL; m_baseattacktime = 2000; // m_skill_info = new uint[384]; // m_skill_info[0] = 133; //Just for a test, Mage spell fireball Inventory = new PlayerInventory(this); if (c.Items != null) { foreach (DBItem item in c.Items) { Inventory.CreateItem(item); } } StatManager.CalculateNextLevelExp(this); StatManager.CalculateNewStats(this); ObjectManager.AddWorldObject(this); EventManager.AddEvent(new AggrMonsterEvent(this)); EventManager.AddEvent(new RoamingEvent(this)); }
internal void OnEnterWorld(DBCharacter c, ACCESSLEVEL accesslevel) { Send(c); SendEnterWorld(c, accesslevel); }