public override void run() { L2Player player = Client.CurrentPlayer; if (player._p_block_act == 1) { player.sendActionFailed(); return; } if (player.isInCombat()) { player.sendSystemMessage(102);//You cannot restart while in combat. player.sendActionFailed(); return; } player.Termination(); player.sendPacket(new RestartResponse()); CharacterSelectionInfo csl = new CharacterSelectionInfo(Client.AccountName, Client._accountChars, Client.SessionId); csl.charId = player.ObjID; player.sendPacket(csl); }
public override void RunImpl() { L2Player player = _client.CurrentPlayer; if (player == null) { return; } if (player.PBlockAct == 1) { player.SendActionFailed(); return; } if (player.isInCombat()) { player.SendSystemMessage(SystemMessage.SystemMessageId.CantRestartWhileFighting); player.SendActionFailed(); return; } player.Online = 0; player.DeleteMe(); player.SendPacket(new RestartResponse()); CharacterSelectionInfo csl = new CharacterSelectionInfo(_client.AccountName, _client.AccountChars, _client.SessionKey.PlayOkId1) { CharId = player.ObjId }; player.SendPacket(csl); }
public override void run() { if (_name.Length < 2 || _name.Length > 16) { getClient().sendPacket(new CharCreateFail(getClient(), CharCreateFail.CharCreateFailReason.TOO_LONG_16_CHARS)); return; } if (getClient()._accountChars.Count > 7) { getClient().sendPacket(new CharCreateFail(getClient(), CharCreateFail.CharCreateFailReason.TOO_MANY_CHARS_ON_ACCOUNT)); return; } bool exists = playerService.CheckIfPlayerNameExists(_name); if (exists) { getClient().sendPacket(new CharCreateFail(getClient(), CharCreateFail.CharCreateFailReason.NAME_EXISTS)); return; } PcTemplate template = CharTemplateTable.Instance.GetTemplate((byte)_classId); if (template == null) { getClient().sendPacket(new CharCreateFail(getClient(), CharCreateFail.CharCreateFailReason.CREATION_RESTRICTION)); return; } L2Player player = L2Player.create(); player.Name = _name; player.AccountName = getClient().AccountName; player.Title = ""; player.Sex = _sex; player.HairStyle = _hairStyle; player.HairColor = _hairColor; player.Face = _face; player.Level = 1; player.Gameclient = getClient(); player.Exp = 0; //player.MaximumHp = template._hp[player.Level]; player.CStatsInit(); player.CharacterStat.setTemplate(template); player.BaseClass = template; player.ActiveClass = template; player.CurHP = template.HpTable[player.Level]; player.CurMP = template.MpTable[player.Level]; player.CurCP = template.CpTable[player.Level]; player.MaxMp = (int)player.CharacterStat.getStat(TEffectType.b_max_mp); player.MaxCp = (int)player.CharacterStat.getStat(TEffectType.b_max_cp); player.X = -71338; player.Y = 258271; player.Z = -3104; if (template.Items != null) { player.Inventory = new InvPC(); player.Inventory._owner = player; //foreach (PC_item i in template._items) //{ // if (!i.item.isStackable()) // { // for (long s = 0; s < i.count; s++) // { // L2Item item = new L2Item(i.item); // item.Enchant = i.enchant; // if (i.lifetime != -1) // item.AddLimitedHour(i.lifetime); // item.Location = L2Item.L2ItemLocation.inventory; // player.Inventory.addItem(item, false, false); // if (i.equip) // { // int pdollId = player.Inventory.getPaperdollId(item.Template); // player.setPaperdoll(pdollId, item, false); // } // } // } // else // player.addItem(i.item.ItemID, i.count); //} } player.CharSlot = player.Gameclient._accountChars.Count + 1; PlayerModel playerModel = new PlayerModel() { AccountName = player.AccountName, ObjectId = player.ObjID, Name = player.Name, Level = player.Level, MaxHp = (int)player.MaximumHp, CurHp = (int)player.MaximumHp, MaxCp = player.MaxCp, CurCp = player.MaxCp, MaxMp = player.MaxMp, CurMp = (int)player.CurMp, Face = player.Face, HairStyle = player.HairStyle, HairColor = player.HairColor, Sex = player.Sex, Heading = player.Heading, X = player.X, Y = player.Y, Z = player.Z, Exp = player.Exp, ExpBeforeDeath = player.ExpOnDeath, Sp = player.SP, Karma = player.Karma, PvpKills = player.PvpKills, PkKills = player.PkKills, ClanId = player.ClanId, Race = (int)player.BaseClass.ClassId.ClassRace, ClassId = (int)player.ActiveClass.ClassId.Id, BaseClass = (int)player.BaseClass.ClassId.Id, DeleteTime = player.DeleteTime, CanCraft = player.CanCraft, Title = player.Title, RecHave = player.RecHave, RecLeft = player.RecLeft, AccessLevel = player.AccessLevel, Online = player.Online, OnlineTime = player.OnlineTime, CharSlot = player.CharSlot, LastAccess = player.LastAccess, ClanPrivs = player.ClanPrivs, WantsPeace = player.WantsPeace, IsIn7sDungeon = player.IsIn7sDungeon, PunishLevel = player.PunishLevel, PunishTimer = player.PunishTimer, PowerGrade = player.PowerGrade, Nobless = player.Nobless, Hero = player.Hero, Subpledge = player.Subpledge, LastRecomDate = player.LastRecomDate, LevelJoinedAcademy = player.LevelJoinedAcademy, Apprentice = player.Apprentice, Sponsor = player.Sponsor, VarkaKetraAlly = player.VarkaKetraAlly, ClanJoinExpiryTime = player.ClanJoinExpiryTime, ClanCreateExpiryTime = player.ClanCreateExpiryTime, DeathPenaltyLevel = player.DeathPenaltyLevel }; playerService.CreatePlayer(playerModel); player.Gameclient._accountChars.Add(player); getClient().sendPacket(new CharCreateOk()); CharacterSelectionInfo csl = new CharacterSelectionInfo(getClient().AccountName, getClient()._accountChars, getClient()._sessionId); csl.charId = player.ObjID; getClient().sendPacket(csl); }