const weapons = [ "SG Terompet", "SG Meteor Merah", "SG Reaper", "SG OPM", "SG Kayu😂", "SG Bunny", "SG Mamba", "SG Aqua", "SG Golden", "SG Peluru Suci", "SG 2 Juta", "SG Mata Elang", "SG Lumut", "Granat😎" ]; let cooldowns = new Map(); // Menyimpan cooldown pemain let handler = async (m, { hanz, setReply }) => { let sender = m.sender; // Cek apakah pemain sedang dalam permainan atau cooldown if (cooldowns.has(sender)) { let waktuSisa = Math.ceil((cooldowns.get(sender) - Date.now()) / 1000); if (waktuSisa > 0) { let waktuMenit = Math.floor(waktuSisa / 60); let waktuDetik = waktuSisa % 60; return setReply(`⚠️ Kamu masih dalam permainan atau cooldown! ⏳\n🕒 Permainan selesai dalam *${waktuMenit} menit ${waktuDetik} detik*!`); } else { cooldowns.delete(sender); // Hapus cooldown jika waktunya sudah habis } } // Cari siapa yang menantang bewan let foundGame = Object.entries(global.db.data.bewanff).find(([challenger, game]) => game.enemy === sender); if (!foundGame) return setReply("⚠️ Tidak ada tantangan bewan yang harus diterima!"); let [opponent, gameData] = foundGame; // Tandai bahwa tantangan sudah diterima gameData.accepted = true; let userA = opponent; let userB = sender; // Pilih senjata acak let weaponA = Math.random() < 0.1 ? "Granat😎" : weapons[Math.floor(Math.random() * weapons.length)]; let weaponB = Math.random() < 0.1 ? "Granat😎" : weapons[Math.floor(Math.random() * weapons.length)]; await hanz.sendMessage(m.chat, { text: `🔥 *PERTARUNGAN DIMULAI!* 🔥\n\n👮🏻‍♂️ @${userA.split("@")[0]} menggunakan *${weaponA}*!\n👮🏼‍♂️ @${userB.split("@")[0]} menggunakan *${weaponB}*!\n\n⚔️ *Duel sengit dimulai!*\n⏳ *Tunggu 1 menit untuk hasilnya...*`, mentions: [userA, userB] }); // Simpan cooldown sementara let gameEndTime = Date.now() + 60000; cooldowns.set(userA, gameEndTime); cooldowns.set(userB, gameEndTime); setTimeout(() => { let winner, loser; let loserScore = Math.floor(Math.random() * 7); // Skor kalah antara 0 - 6 let score = 7; // Pemenang selalu dapat 7 poin // Jika ada yang pakai Granat, auto menang if (weaponA === "Granat😎") { winner = userA; loser = userB; } else if (weaponB === "Granat😎") { winner = userB; loser = userA; } else { winner = Math.random() < 0.5 ? userA : userB; loser = winner === userA ? userB : userA; } let winnerWeapon = winner === userA ? weaponA : weaponB; let loserWeapon = loser === userA ? weaponA : weaponB; let notif = `🏆 *PERTANDINGAN SELESAI!* 🏆\n\n💥 *BOOYAH!* 🎯\n🏅 *Pemenang:* @${winner.split("@")[0]} menggunakan *${winnerWeapon}*!\n❌ *Loser:* @${loser.split("@")[0]} yang bertarung menggunakan *${loserWeapon}*.\n\n📊 *Skor Akhir:* ${score} - ${loserScore}`; if (winnerWeapon === "Granat😎") { notif += `\n\nUDAH PASTI KALAH LAH, LAWAN LU AJA PAKE GRANAT😂😂`; } notif += `\n\n> #FFBOOYAH #ANJAYMABAR #SALAMJAMSUT #SALAMBOOYAHBRADER #EPEPSELALUDIHATI #PRIPAYERMAKINHD`; hanz.sendMessage(m.chat, { text: notif, mentions: [winner, loser] }); delete global.db.data.bewanff[userA]; delete global.db.data.bewanff[userB]; // Set cooldown 5 menit setelah pertandingan selesai let cooldownEndTime = Date.now() + 5 * 60000; cooldowns.set(userA, cooldownEndTime); cooldowns.set(userB, cooldownEndTime); }, 60000); }; handler.command = ["bewanffacc"]; handler.tags = ["game"]; handler.help = ["bewanffacc"]; handler.group = true; module.exports = handler;