public void TurnInQuest(Client client, byte slot) { QuestRedeemPacket tqp = (QuestRedeemPacket)Packet.Create(PacketType.QUESTREDEEM); tqp.Slot = new SlotObject(); tqp.Slot.SlotId = slot; tqp.Slot.ObjectId = client.PlayerData.OwnerObjectId; if (slot > 11) { tqp.Slot.ObjectType = client.PlayerData.BackPack[(slot - 12)]; } else { tqp.Slot.ObjectType = client.PlayerData.Slot[slot]; } client.SendToServer(tqp); }
public void OnCommand(Client client, string command, string[] args) { if (!_dQuest.ContainsKey(client)) { return; } if (args.Length == 0) { // The quest can only be turned in when you are in the Daily Quest Room if (_dQuest[client].map == "Daily Quest Room") { byte slot = 0; if (_dQuest[client].goal != 0) { for (byte i = 0; i < 8; i++) { if (client.PlayerData.Slot[i + 4] == _dQuest[client].goal) { slot = (byte)(i + 4); break; } if (client.PlayerData.BackPack[i] == _dQuest[client].goal) { slot = (byte)(i + 12); break; } } } // If slot does not equal 0 that means we have the item if (slot != 0) { Console.WriteLine("[DailyQuest] Attempting turn in"); TurnInQuest(client, slot); } else { Console.WriteLine("[DailyQuest] Requesting Quest Data"); client.SendToServer(Packet.Create(PacketType.QUESTFETCHASK)); } } else { Console.WriteLine("[DailyQuest] Requesting Quest Data"); client.SendToServer(Packet.Create(PacketType.QUESTFETCHASK)); } } else if (args[0] == "get") { Console.WriteLine("[DailyQuest] Requesting Quest Data"); client.SendToServer(Packet.Create(PacketType.QUESTFETCHASK)); } else if (args[0] == "turnin") { byte slot; if (byte.TryParse(args[1], out slot)) { QuestRedeemPacket tqp = (QuestRedeemPacket)Packet.Create(PacketType.QUESTREDEEM); tqp.Slot = new SlotObject(); tqp.Slot.SlotId = slot; tqp.Slot.ObjectId = client.PlayerData.OwnerObjectId; if (slot > 11) { tqp.Slot.ObjectType = client.PlayerData.BackPack[(slot - 12)]; } else { tqp.Slot.ObjectType = client.PlayerData.Slot[slot]; } tqp.Send = true; Console.WriteLine("[DailyQuest] Attempting turn in"); client.SendToServer(tqp); } } else if (args[0] == "settings") { PluginUtils.ShowGenericSettingsGUI(DailyQuestConfig.Default, "Daily Quest Settings"); } }