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); }
public static void DoFunction(Player player, string function) { lock (FuncLock) { DialData = new DialogData(); PlayerHandle = player.Handle; Global.DoChunk(function, "main"); } }