public void EndGuildleve(bool wasCompleted) { if (isEnded) { return; } isEnded = true; completionTime = Utils.UnixTimeStampUTC() - guildleveWork.startTime; if (wasCompleted) { foreach (Actor a in GetPlayerMembers()) { Player player = (Player)a; player.MarkGuildleve(guildleveId, true, true); player.PlayAnimation(0x02000002, true); player.ChangeMusic(81); player.SendGameMessage(Server.GetWorldManager().GetActor(), 50023, 0x20, (object)(int)guildleveId); player.SendDataPacket("attention", Server.GetWorldManager().GetActor(), "", 50023, (object)(int)guildleveId); } } foreach (Actor a in GetNpcMembers()) { Npc npc = (Npc)a; npc.Despawn(); RemoveMember(a); } guildleveWork.startTime = 0; guildleveWork.signal = -1; ActorPropertyPacketUtil propertyBuilder = new ActorPropertyPacketUtil("guildleveWork/signal", this); propertyBuilder.AddProperty("guildleveWork.signal"); propertyBuilder.NewTarget("guildleveWork/start"); propertyBuilder.AddProperty("guildleveWork.startTime"); SendPacketsToPlayers(propertyBuilder.Done()); if (wasCompleted) { Npc aetheryteNode = zone.SpawnActor(1200040, String.Format("{0}:warpExit", guildleveOwner.actorName), guildleveOwner.positionX, guildleveOwner.positionY, guildleveOwner.positionZ); AddMember(aetheryteNode); foreach (Actor a in GetPlayerMembers()) { Player player = (Player)a; player.SendGameMessage(Server.GetWorldManager().GetActor(), 50029, 0x20); player.SendGameMessage(Server.GetWorldManager().GetActor(), 50032, 0x20); } } }