Bots Home
|
Create an App
Mae's Jungle Slots
Author:
chatturmate
Description
Source Code
Launch Bot
Current Users
Created by:
Chatturmate
/** * Title: Mae’s Jungle Slots * Author: Chatturmate */ /* * Setup vars */ var botVersion = "by"; var botMsgBg = '#FFFF00'; /* * handle messages from users */ cb.onMessage(function(message) { var gender = message['gender']; var genderStr = ""; }); //end onMessage function announceBot() { statusMsg = '*** This Bot ' + botVersion + ' chatturmate***'; return statusMsg; } cb.chatNotice(announceBot(),'', botMsgBg,'','bold'); cb.settings_choices = [ {name: 'tokens', type: 'int', label: 'Cost per spin (in tokens)', defaultValue: 16}, {name: 'notice_wait_time', type: 'choice', label: 'Notification Time (in minutes)', choice1: 1, choice2: 2, choice3: 3, choice4: 4, choice5: 5, choice6: 10, choice7: 15, choice8: 20, choice9: 25, choice10: 30, choice11: 45, choice12: 60, defaultValue: 10}, {name: 'jackpot_minimum', type:'int', label:'Minimum number tokens before jackpot', defaultValue:1000}, {name: 'prize_1', type: 'str', label: 'Jackpot prize (3 boy_monkeys)'}, {name: 'prize_2', type: 'str', label: '2nd place prize (3 girl_monkeys)'}, {name: 'prize_3', type: 'str', label: '3rd place prize (3 lizards)'}, {name: 'prize_4', type: 'str', label: '4th place prize (3 bananas)'}, {name: 'prize_5', type: 'str', label: '5th place prize (any object and 2 pineapples)'}, {name: 'prize_6', type: 'str', label: '6th place prize (any combination of coconut/boy_monkey)'}, {name: 'prize_7', type: 'str', label: '7th place prize (any combination and 1 pineapple)'} ]; var langTokens = (cb.settings.tokens > 1) ? 'tokens' : 'token'; var lastPlayer = '--'; var lastPrizeWon = '--'; var spinCounter = 0; var tipCounter = 0; var prizesWon = Array(); var boy_monkey = ':mjs_boy_monkey'; var lizard = ':mjs_lizard2'; var girl_monkey = ':mjs_girl_monkey'; var banana = ':mjs_banana2'; var pineapple = ':mjs_pineapple2'; var coconut = ':mjs_coconut2'; var slotPieces = Array(boy_monkey, girl_monkey, lizard, banana, pineapple, coconut); cb.onTip(function (tip) { tipCounter += parseInt(tip['amount']); if (parseInt(tip['amount']) >= cb.settings.tokens) { var numberOfSpins = Math.floor(parseInt(tip['amount'])/cb.settings.tokens); for(var i=1;i<=numberOfSpins;i++) { cb.setTimeout(function() { spin(tip['from_user']); }, 2000*i); } } }); cb.onEnter(function (user) { var notices = "Great News, " + user['user'] + "…. We are playing my Jungle Slot Machine Game today!\n"; notices += 'Tip ' + cb.settings.tokens + ' ' + langTokens + ' to spin the reels.\n'; notices += 'Type "/p" to see the 7 possible prizes.\n'; notices += 'Type "/w" to see a list of the last 20 winners.'; cb.sendNotice(notices, user['user'], '', '#0FA029', 'bold'); }); cb.onMessage(function(msg) { if(msg['m'].match(/\/w/i)) { msg['X-Spam'] = true; showPrizesWon(msg['user']); } else if(msg['m'].match(/\/p/i)) { msg['X-Spam'] = true; showPrizes(msg['user']); } return msg; }); function getSlotPiece() { var piece = slotPieces[Math.floor(Math.random() * slotPieces.length)]; if((piece == boy_monkey) && (spinCounter%2 != 0)) { return pineapple; } return piece; } function getRow() { var row = getSlotPiece() + ' ' + getSlotPiece() + ' ' + getSlotPiece(); var boy_monkeyMatches = row.match(/boy_monkey/g); if(boy_monkeyMatches != null) { var numberOfBoy_Monkeys = boy_monkeyMatches.length; } if((numberOfBoy_Monkeys == 3) && (cb.settings.jackpot_minimum > tipCounter)) { getRow(); } return row; } function spin(username) { spinCounter++; var prize = '--'; var row1 = getRow(); var row2 = getRow(); var row3 = getRow(); var boy_monkeyMatches = row2.match(/boy_monkey/g); if(boy_monkeyMatches != null) { var numberOfBoy_Monkeys = boy_monkeyMatches.length; } var lizardMatches = row2.match(/lizard/g); if(lizardMatches != null) { var numberOfLizards = lizardMatches.length; } var bananaMatches = row2.match(/banana/g); if (bananaMatches != null) { var numberOfBananas = bananaMatches.length; } var coconutMatches = row2.match(/coconut/g); if (coconutMatches != null) { var numberOfCoconuts = coconutMatches.length; } var girl_monkeyMatches = row2.match(/girl_monkey/g); if (girl_monkeyMatches != null) { var numberOfGirl_Monkeys = girl_monkeyMatches.length; } var pineappleMatches = row2.match(/pineapple/g); if (pineappleMatches != null) { var numberOfPineapples = pineappleMatches.length; } var notices = row1 + "\n"; notices += row2 + " <-- pay line \n"; notices += row3; cb.sendNotice(notices); if (numberOfBoy_Monkeys == 3) { prize = cb.settings.prize_1; } else if (numberOfGirl_Monkeys == 3) { prize = cb.settings.prize_2; } else if (numberOfBananas == 3) { prize = cb.settings.prize_3; } else if (numberOfLizards == 3) { prize = cb.settings.prize_4; } else if (numberOfPineapples == 2) { prize = cb.settings.prize_5; } else if ((numberOfCoconuts == 1 && numberOfBoy_Monkeys == 2) || (numberOfCoconuts == 2 && numberOfBoy_Monkeys == 1)) { prize = cb.settings.prize_6; } else if ((numberOfPineapples == 1) || (numberOfPineapples == 3)) { prize = cb.settings.prize_7; } lastPlayer = username; if(prize != '--') { lastPlayer = username; lastPrizeWon = prize; prizesWon.push(prize + ' - ' + username); cb.sendNotice(username + ' won a prize! Prize: ' + prize, '', '#99FF99', '', 'bold'); } else { cb.sendNotice(username + ' did not win anything. :77_22_loser', '', '', '#de5908', 'bold'); } return prize; } function showPrizes(username) { var notices = '**** Possible Prizes ****\n'; notices += '1st) 3 boy monkeys (jackpot) = ' + cb.settings.prize_1 + '\n'; notices += '2nd) 3 girl monkeys = ' + cb.settings.prize_2 + '\n'; notices += '3rd) 3 bananas = ' + cb.settings.prize_3 + '\n'; notices += '4th) 3 lizards = ' + cb.settings.prize_4 + '\n'; notices += '5th) Any piece + 2 pineapples = ' + cb.settings.prize_5 + '\n'; notices += '6th) Any combination of coconut/boy monkeys = ' + cb.settings.prize_6 + '\n'; notices += '7th) Any combination + 1 pineapple = ' + cb.settings.prize_7; cb.sendNotice(notices, username, '#D1F0FF', '', 'bold'); } function showPrizesWon(username) { prizesWon.reverse(); if(prizesWon.length == 0) { cb.sendNotice('No one has won anything yet. Play the slot machine to win a prize!', username, '', '#CC0000', 'bold'); } else { prizesWon.slice(0,20); var notices = "**** Last 20 Winners ****"; var prizeNum = 1; var totalWon = prizesWon.length; if(prizesWon.length >= 20) totalWon = 20; for(var i=0; i<totalWon;i++) { notices += "\n" + prizeNum + ") " + prizesWon[i]; prizeNum++; } cb.sendNotice(notices, username, '#EBFFEB', '', 'bold'); } } function advertise() { var notices = "Play Slots\n"; notices += 'Tip ' + cb.settings.tokens + ' ' + langTokens + ' to Spin the reels.\n'; notices += 'Type "/p" to see the 7 possible prizes.\n'; notices += 'Type "/w" to see a list of the last 20 winners.'; cb.sendNotice(notices, '', '', '#0d5616', 'bold'); cb.setTimeout(advertise, cb.settings.notice_wait_time * 60000); } function init() { advertise(); } init();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.