bewanff_terima.js
by Yatzz
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;