internal static void send_Dialog(Player player, Npc.DialogType dialogType, Script.DialogData dialData)
        {
            PacketStream data = new PacketStream(0x0BB8);

            data.WriteInt32((int)dialogType);
            data.WriteUInt32(player.ContactHandle);
            data.WriteInt16((short)dialData.Title.Length);
            data.WriteInt16((short)dialData.Messsage.Length);

            StringBuilder menu = new StringBuilder();

            for (int i = 0; i < dialData.Options.Count; i++)
            {
                menu.Append((char)0x09);
                menu.Append(dialData.Options[i]);
                menu.Append((char)0x09);
                menu.Append(dialData.Functions[i]);
                menu.Append((char)0x09);
            }

            data.WriteInt16((short)menu.Length);
            data.WriteString(dialData.Title);
            data.WriteString(dialData.Messsage);
            data.WriteString(menu.ToString());

            ClientManager.Instance.Send(player, data);
        }
Exemple #2
0
        public static void DoFunction(Player player, string function)
        {
            lock (FuncLock)
            {
                DialData = new DialogData();

                PlayerHandle = player.Handle;

                Global.DoChunk(function, "main");
            }
        }