コード例 #1
0
        // send emote animation to all visible players and format messages
        private void SendEmote(GamePlayer sourcePlayer, GameObject targetObject, eEmote emoteID, string[] emoteMessages)
        {
            string messageToSource = null;
            string messageToTarget = null;
            string messageToOthers = null;

            if (targetObject == null)
            {
                messageToSource = emoteMessages[EMOTE_NOTARGET_TO_SOURCE];
                messageToOthers = string.Format(emoteMessages[EMOTE_NOTARGET_TO_OTHERS], sourcePlayer.Name);
            }
            else
            {
                messageToSource = string.Format(emoteMessages[EMOTE_TO_SOURCE], targetObject.GetName(0, false));
                messageToOthers = string.Format(emoteMessages[EMOTE_TO_OTHERS], sourcePlayer.Name, targetObject.GetName(0, false));

                if (targetObject is GamePlayer)
                {
                    messageToTarget = string.Format(emoteMessages[EMOTE_TO_OTHERS], sourcePlayer.Name, YOU);
                }
            }

            foreach (GamePlayer player in sourcePlayer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
            {
                if (!player.IsIgnoring(sourcePlayer))
                {
                    player.Out.SendEmoteAnimation(sourcePlayer, emoteID);
                }
            }

            SendEmoteMessages(sourcePlayer, targetObject as GamePlayer, messageToSource, messageToTarget, messageToOthers);

            return;
        }
コード例 #2
0
ファイル: horse.cs プロジェクト: uvbs/Dawn-of-Light-core
        private void SendEmote(GameClient client, GameObject targetObject, eEmote emoteID, string emoteType)
        {
            string messageToSource = null;
            string messageToTarget = null;
            string messageToOthers = null;

            GamePlayer sourcePlayer = client.Player;

            bool targetMatters = false;
            if (targetObject != null)
            {
                messageToSource = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.ToSource", emoteType), targetObject.GetName(0, false));
                messageToOthers = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.ToOthers", emoteType), sourcePlayer.Name, targetObject.GetName(0, false), sourcePlayer.GetPronoun(1, false));

                if (targetObject is GamePlayer)
                    messageToTarget = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.ToOthers", emoteType), sourcePlayer.Name, LanguageMgr.GetTranslation(client, "HorseEmote.You"), sourcePlayer.GetPronoun(1, false));

                if (messageToSource != "-" && messageToOthers != "-")
                    targetMatters = true;
            }

            if (!targetMatters)
            {
                targetObject = null;
                messageToSource = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.NoTargetToSource", emoteType));
                messageToOthers = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.NoTargetToOthers", emoteType), sourcePlayer.Name, sourcePlayer.GetPronoun(1, false));
            }

            foreach (GamePlayer player in sourcePlayer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
                player.Out.SendEmoteAnimation(sourcePlayer, emoteID);

            SendEmoteMessages(sourcePlayer, targetObject as GamePlayer, messageToSource, messageToTarget, messageToOthers);

            return;
        }
コード例 #3
0
        private void SendEmote(GameClient client, GameObject targetObject, eEmote emoteID, string emoteType)
        {
            string messageToSource = null;
            string messageToTarget = null;
            string messageToOthers = null;

            GamePlayer sourcePlayer = client.Player;

            bool targetMatters = false;

            if (targetObject != null)
            {
                messageToSource = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.ToSource", emoteType), targetObject.GetName(0, false));
                messageToOthers = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.ToOthers", emoteType), sourcePlayer.Name, targetObject.GetName(0, false), sourcePlayer.GetPronoun(1, false));

                if (targetObject is GamePlayer)
                {
                    messageToTarget = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.ToOthers", emoteType), sourcePlayer.Name, LanguageMgr.GetTranslation(client.Account.Language, "HorseEmote.You"), sourcePlayer.GetPronoun(1, false));
                }


                if (messageToSource != "-" && messageToOthers != "-")
                {
                    targetMatters = true;
                }
            }

            if (!targetMatters)
            {
                targetObject    = null;
                messageToSource = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.NoTargetToSource", emoteType));
                messageToOthers = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.NoTargetToOthers", emoteType), sourcePlayer.Name, sourcePlayer.GetPronoun(1, false));
            }

            foreach (GamePlayer player in sourcePlayer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
            {
                player.Out.SendEmoteAnimation(sourcePlayer, emoteID);
            }

            SendEmoteMessages(sourcePlayer, targetObject as GamePlayer, messageToSource, messageToTarget, messageToOthers);

            return;
        }
コード例 #4
0
ファイル: emotes.cs プロジェクト: mynew4/DOLSharp
		// send emote animation to all visible players and format messages
		private void SendEmote(GamePlayer sourcePlayer, GameObject targetObject, eEmote emoteID, string[] emoteMessages)
		{
			string messageToSource = null;
			string messageToTarget = null;
			string messageToOthers = null;

			if (targetObject == null)
			{
				messageToSource = emoteMessages[EMOTE_NOTARGET_TO_SOURCE];
				messageToOthers = string.Format(emoteMessages[EMOTE_NOTARGET_TO_OTHERS], sourcePlayer.Name);
			}
			else
			{
				messageToSource = string.Format(emoteMessages[EMOTE_TO_SOURCE], targetObject.GetName(0, false));
				messageToOthers = string.Format(emoteMessages[EMOTE_TO_OTHERS], sourcePlayer.Name, targetObject.GetName(0, false));

				if (targetObject is GamePlayer)
					messageToTarget = string.Format(emoteMessages[EMOTE_TO_OTHERS], sourcePlayer.Name, YOU);
			}

			foreach (GamePlayer player in sourcePlayer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
				if (!player.IsIgnoring(sourcePlayer))
					player.Out.SendEmoteAnimation(sourcePlayer, emoteID);

			SendEmoteMessages(sourcePlayer, targetObject as GamePlayer, messageToSource, messageToTarget, messageToOthers);

			return;
		}
コード例 #5
0
 public void SendEmoteAnimation(GameObject obj, eEmote emote)
 {
 }
コード例 #6
0
		public virtual void SendEmoteAnimation(GameObject obj, eEmote emote)
		{
			using (var pak = new GSTCPPacketOut(GetPacketCode(eServerPackets.EmoteAnimation)))
			{
				pak.WriteShort((ushort) obj.ObjectID);
				pak.WriteByte((byte) emote);
				pak.WriteByte(0x00);
				SendTCP(pak);
			}
		}
コード例 #7
0
		public void SendEmoteAnimation(GameObject obj, eEmote emote) { }
コード例 #8
0
		public void SendEmoteAnimation(GameObject obj, eEmote emote)
		{
			if (SendEmoteAnimationMethod != null) SendEmoteAnimationMethod(this, obj, emote);
		}