Advertisement
samiroexpikachu

ttt

Apr 25th, 2024
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module.exports = {
  2.     config: {
  3.         name: "ttt",
  4.     aliases: ['tictactoe'],
  5.         version: "1.1",
  6.         author: "Samir",
  7.         countDown: 5,
  8.         role: 0,
  9.         shortDescription: {
  10.             vi: "",
  11.             en: ""
  12.         },
  13.         longDescription: {
  14.             vi: "",
  15.             en: ""
  16.         },
  17.         category: "game",
  18.         guide: "",
  19.        
  20.     },
  21.  
  22. onStart: async function ({ event, message, api, usersData, args}) {
  23.   const mention = Object.keys(event.mentions);
  24.  
  25.   if(args[0] == "close") {
  26. if(!global.game.hasOwnProperty(event.threadID) || global.game[event.threadID].on == false ){ message.reply("There is no game running in this group")
  27.   } else {
  28. if(event.senderID == global.game[event.threadID].player1.id || event.senderID == global.game[event.threadID].player2.id ){
  29.   if(event.senderID == global.game[event.threadID].player1.id){
  30.     message.reply({body:`What a cry baby. ${global.game[event.threadID].player1.name} left the game.\nWinner is ${global.game[event.threadID].player2.name}.`, mentions: [{
  31.                         tag: global.game[event.threadID].player1.name,
  32.                         id: global.game[event.threadID].player1.id,
  33.        
  34.                       }, {
  35.                         tag: global.game[event.threadID].player2.name,
  36.                         id: global.game[event.threadID].player2.id,
  37.        
  38.                       }]
  39.        
  40.        
  41.                     })
  42.   } else {
  43.     message.reply({body:`What a cry baby. ${global.game[event.threadID].player2.name} left the game.\nWinner is ${global.game[event.threadID].player1.name}.`, mentions: [{
  44.                         tag: global.game[event.threadID].player1.name,
  45.                         id: global.game[event.threadID].player1.id,
  46.        
  47.                       }, {
  48.                         tag: global.game[event.threadID].player2.name,
  49.                         id: global.game[event.threadID].player2.id,
  50.        
  51.                       }]
  52.        
  53.        
  54.                     })
  55.   }
  56.   global.game[event.threadID].on = false
  57. } else{
  58.  message.reply("You don’t have any game running in this group")
  59. }
  60.  
  61.  
  62.  
  63.  
  64.   }
  65.  
  66.    
  67.   } else{
  68.    
  69.  
  70.       if(mention.length == 0) return message.reply("Please mention someone or say game close to close any existing game");
  71.   if (!global.game || !global.game.hasOwnProperty(event.threadID) || !global.game[event.threadID] || global.game[event.threadID].on === false) {
  72.     if (!global.game) {
  73.   global.game = {};
  74. }
  75.  
  76. global.game[event.threadID] = {
  77.   on: true,
  78.   board: "πŸ”²πŸ”²πŸ”²\nπŸ”²πŸ”²πŸ”²\nπŸ”²πŸ”²πŸ”²",
  79.   bid: "",
  80.   board2: "123456789",
  81.   avcell: ["1", "2", "3", "4", "5", "6", "7", "8", "9"],
  82.   turn: mention[0],
  83.   player1: { id: mention[0], name: await usersData.getName(mention[0]) },
  84.   player2: { id: event.senderID, name: await usersData.getName(event.senderID) },
  85.   bidd: "❌",
  86.   bid: "",
  87.   ttrns: [],
  88.   counting: 0
  89. };
  90.     message.send(global.game[event.threadID].board, (err, info) =>{global.game[event.threadID].bid = info.messageID;
  91.             global.fff.push(info.messageID)                                                      })
  92.     }else{message.reply(" A game is already on this group")}
  93.    
  94.                           }
  95.  
  96. },
  97.   onChat: async function ({ event, message, api, args}){
  98.  
  99. if(event.type =="message" && event.body.includes("-,-")){
  100.   message.reply({body:" hehe baka fak u",attachment:await global.utils.getStreamFromURL("https://scontent.xx.fbcdn.net/v/t1.15752-9/316181740_667600474745895_5536856546858630902_n.jpg?_nc_cat=105&ccb=1-7&_nc_sid=ae9488&_nc_ohc=bR-GcvE6RHMAX_YE5bu&_nc_ad=z-m&_nc_cid=0&_nc_ht=scontent.xx&oh=03_AdQk45VA6QO5_X5vTQJYdXF4nH45UeESYppxrFbZdRlJMw&oe=63A3009D")})
  101. }
  102.  
  103.  
  104.    
  105. if(event.type == "message_reply" && global.game[event.threadID] && global.game[event.threadID].on == true){
  106.  
  107. if(event.messageReply.messageID === global.game[event.threadID].bid){8
  108.   console.log("bal")
  109. if(global.game[event.threadID].turn === event.senderID){
  110.   console.log("sal")
  111.   if(["1", "2","3","4","5","6","7","8","9"].includes(event.body)){
  112. if(global.game[event.threadID].avcell.includes(event.body)){
  113. global.game[event.threadID].avcell.splice(global.game[event.threadID].avcell.indexOf(event.body), 1)
  114.  
  115. let input2 = event.body*2
  116.  
  117. global.game[event.threadID].ttrns.map(e => {
  118.     if(e<event.body){
  119.         input2--
  120.     }
  121. })
  122.  
  123. if(["4", "5", "6"].includes(event.body)){
  124.     input2++
  125. } else if(["7", "8", "9"].includes(event.body)){
  126.     input2 += 2
  127. }
  128.  
  129. global.game[event.threadID].board = global.game[event.threadID].board.replaceAt("πŸ”²", global.game[event.threadID].bidd, input2-2)
  130. global.game[event.threadID].board2 = global.game[event.threadID].board2.replace(event.body, global.game[event.threadID].bidd)
  131.  
  132. message.send(global.game[event.threadID].board, (err, infos) => {global.game[event.threadID].bid = infos.messageID
  133.             global.fff.push(infos.messageID)}
  134.             )
  135.   //ttrns.pus
  136.  
  137.   let winncomb =   [
  138.  (global.game[event.threadID].board2[0] === global.game[event.threadID].bidd && global.game[event.threadID].board2[1] === global.game[event.threadID].bidd && global.game[event.threadID].board2[2] === global.game[event.threadID].bidd ) , ( global.game[event.threadID].board2[3] === global.game[event.threadID].bidd && global.game[event.threadID].board2[4] === global.game[event.threadID].bidd && global.game[event.threadID].board2[5] === global.game[event.threadID].bidd ) , ( global.game[event.threadID].board2[6] === global.game[event.threadID].bidd && global.game[event.threadID].board2[7] === global.game[event.threadID].bidd && global.game[event.threadID].board2[8] === global.game[event.threadID].bidd ) , ( global.game[event.threadID].board2[0] === global.game[event.threadID].bidd && global.game[event.threadID].board2[3] === global.game[event.threadID].bidd && global.game[event.threadID].board2[6] === global.game[event.threadID].bidd ) , ( global.game[event.threadID].board2[1] === global.game[event.threadID].bidd && global.game[event.threadID].board2[4] === global.game[event.threadID].bidd && global.game[event.threadID].board2[7] === global.game[event.threadID].bidd ) , ( global.game[event.threadID].board2[2] === global.game[event.threadID].bidd && global.game[event.threadID].board2[5] === global.game[event.threadID].bidd && global.game[event.threadID].board2[8] === global.game[event.threadID].bidd ) , ( global.game[event.threadID].board2[0] === global.game[event.threadID].bidd && global.game[event.threadID].board2[4] === global.game[event.threadID].bidd && global.game[event.threadID].board2[8] === global.game[event.threadID].bidd ) , ( global.game[event.threadID].board2[2] === global.game[event.threadID].bidd && global.game[event.threadID].board2[4] === global.game[event.threadID].bidd && global.game[event.threadID].board2[6] === global.game[event.threadID].bidd) ]
  139.  
  140.  
  141. let winncomb2 =
  142. [
  143.   [
  144.     1,
  145.     2,
  146.     3
  147.   ],
  148.   [
  149.     4,
  150.     5,
  151.     6
  152.   ],
  153.   [
  154.     7,
  155.     8,
  156.     9
  157.   ],
  158.   [
  159.     1,
  160.     4,
  161.     7
  162.   ],
  163.   [
  164.     2,
  165.     5,
  166.     8
  167.   ],
  168.   [
  169.     3,
  170.     6,
  171.     9
  172.   ],
  173.   [
  174.     1,
  175.     5,
  176.     9
  177.   ],
  178.   [
  179.     3,
  180.     5,
  181.     7
  182.   ]
  183. ]
  184.  
  185. let cbid = {"❌":"❎", "β­•":" 🚫"}
  186.  
  187.  if(winncomb.includes(true)) {
  188. message.unsend(event.messageReply.messageID)
  189.  
  190. let winl = winncomb2[winncomb.indexOf(true)]
  191.  
  192. winl.forEach(fn => {
  193.  
  194. let input2 = fn*2
  195.  
  196. global.game[event.threadID].ttrns.map(e => {
  197.     if(e<fn){
  198.         input2--
  199.     }
  200. })
  201.  
  202. if(["4", "5", "6"].includes(fn)){
  203.     input2++
  204. } else if(["7", "8", "9"].includes(fn)){
  205.     input2 += 2
  206. }
  207.  
  208. global.game[event.threadID].board = global.game[event.threadID].board.replaceAt(global.game[event.threadID].bidd, "βœ…", input2-2)
  209.  
  210.  
  211.  
  212.  
  213. })
  214.  
  215. message.send(global.game[event.threadID].board)
  216.  
  217.  
  218.  
  219.    
  220.     if(global.game[event.threadID].turn === global.game[event.threadID].player1.id){
  221.       setTimeout(function(){message.send({body:`Congratulation ${global.game[event.threadID].player1.name} , You are the winner of this match..`, mentions: [{
  222.                         tag: global.game[event.threadID].player1.name,
  223.                         id: global.game[event.threadID].player1.id,
  224.        
  225.                       }]
  226.        
  227.        
  228.                     })
  229.     }, 1000)} else {setTimeout(function(){message.send({body:`Congratulation ${global.game[event.threadID].player2.name} , You are the winner of this match..`, mentions: [{
  230.                         tag: global.game[event.threadID].player2.name,
  231.                         id: global.game[event.threadID].player2.id,
  232.        
  233.                       }]
  234.        
  235.        
  236.                     })}, 1000)}
  237.    global.game[event.threadID].on = false
  238. }else if(global.game[event.threadID].counting === 8){
  239.   setTimeout(function (){message.send("the match remains to draw.....")}, 1000)
  240.   global.game[event.threadID].on = false
  241. } else{
  242.   global.game[event.threadID].counting +=1
  243.   message.unsend(event.messageReply.messageID)
  244.     global.game[event.threadID].ttrns.push(event.body)
  245.   if(global.game[event.threadID].turn === global.game[event.threadID].player1.id){
  246.    // console.log(player2.id)
  247.    global.game[event.threadID]. turn = global.game[event.threadID].player2.id
  248.    // console.log(turn)
  249.     global.game[event.threadID].bidd = "β­•"
  250.   } else{
  251.     global.game[event.threadID].turn = global.game[event.threadID].player1.id
  252.     global.game[event.threadID].bidd = "❌"
  253.   }
  254. }
  255.  
  256.  
  257.  
  258. } else{message.reply("this one is already blocked")}
  259.  
  260. } else{message.reply("reply from 1-9")}
  261. } else{message.reply("not your turn Baka") }
  262.  
  263.  
  264. }
  265.  
  266.  
  267.  
  268. }
  269.   }
  270. };
  271.  
  272.   String.prototype.replaceAt = function (search, replace, from) {
  273.   if (this.length > from) {
  274.     return this.slice(0, from) + this.slice(from).replace(search, replace);
  275.   }
  276.   return this;
  277. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement