public static void CutsceneStart(WorldClient client, MabiCutscene cutscene) { var p = new MabiPacket(Op.CutsceneStart, Id.World); p.PutLongs(client.Character.Id, cutscene.Leader.Id); p.PutString(cutscene.Name); p.PutSInt(cutscene.Actors.Count); foreach (var a in cutscene.Actors) { p.PutString(a.Item1); p.PutShort((ushort)a.Item2.Length); p.PutBin(a.Item2); } p.PutInt(1); p.PutLong(client.Character.Id); client.Send(p); }
/// <summary> /// Skill ready packet with 2 ulong parameters for ids (e.g. dyeing). /// </summary> /// <param name="client"></param> /// <param name="creature"></param> /// <param name="skillId"></param> /// <param name="id1"></param> /// <param name="id2"></param> public static void SkillReady(Client client, MabiCreature creature, SkillConst skillId, ulong id1, ulong id2) { var packet = new MabiPacket(Op.SkillReady, creature.Id); packet.PutShort((ushort)skillId); packet.PutLongs(id1, id2); client.Send(packet); }