Simple slot machine that includes wilds, adjustable betting, realistic fealing spins and more.
Payouts based on what you match, 3 Plums gets you 3 times the bet all the way up to 3 Wild!'s gets a payout of 10 times the bet. See the Payouts tab for a list of all payouts.
Includes Wild! symbols to make things a little more exciting.
Play items randomly cycle mimicking a real slot machine. This means you see random items cycling in each box and they stop in order from left to right just like real slot machines and the time it takes each to stop is slightly randomized for a more authentic feal.
Adjustable bet from 5-100 credits and betting will be automatically adjusted if credits equal less than the bet so that you dont have to adjust it down to the max available credits when your running low.
The Spin! button changes to a Stop! button when the game is in play so that you can prematurely stop the slots spinning. This is fun for quicker plays or if your just fealing lucky and think stopping the spin sooner may help your odds.
First pic shows a win.
Second pic shows a loss.
Third pic shows mid-spin.
menu * {
-
<[Typos Slot Machine]>:dialog $iif($dialog(TyposSlots),-ev,-md) TyposSlots TyposSlots
-
}
dialog TyposSlots {
title "Typos Slot Machine"
size -1 -1 106 120
option dbu
box "", 13, 2 10 102 106
tab "Slot Machine", 21, 0 -2 105 120
box "", 14, 4 30 98 30, tab 21
box "", 11, 4 13 98 17, tab 21
box "", 10, 4 77 98 24, tab 21
box "", 9, 4 60 98 17, tab 21
edit "Wild!", 2, 5 65 30 10, tab 21 read center
edit "Wild!", 3, 38 65 30 10, tab 21 read center
edit "Wild!", 4, 71 65 30 10, tab 21 read center
text "Total credits.", 16, 8 37 32 8, tab 21
text "Current bet.", 19, 8 49 32 8, tab 21
button "Spin!", 1, 33 83 40 15, tab 21 default
button "Quit", 6, 41 103 24 10, tab 21 ok cancel
button "Reset credits", 17, 63 48 34 9, tab 21
combo 20, 63 48 34 9, tab 21 drop
edit "", 15, 63 36 34 10, tab 21 read center
edit "Spin To Win!!!", 12, 20 18 66 10, tab 21 read center
tab "Payouts", 22
text "3 4 5 6 7 8 9 10", 25, 75 38 7 53, tab 22 center
text "X X X X X X X X", 24, 70 38 4 53, tab 22 center
text "Plum Blueberrys Grapes Orange Banana Apple Cherries Wild!", 23, 24 38 27 53, tab 22 center
text "Bet Bet Bet Bet Bet Bet Bet Bet", 29, 60 38 8 53, tab 22 center
text "= = = = = = = =", 28, 51 38 7 53, tab 22 center
box "", 27, 23 35 60 56, tab 22
}
on *:DIALOG:TyposSlots:init:0:{
var %slotbets 5
did -bh $dname 17
did -ra $dname 2-4 Wild!
did -ra $dname 15 $iif(%typosslotscredits,$v1,100)
while (%slotbets < 101) {
did -a TyposSlots 20 %slotbets
inc %slotbets 5
}
did -c TyposSlots 20 $iif($iif($didwm($dname,20,%typosslotsbet),$v1,1) > $didwm($dname,20,$did($dname,15)),$v2,$v1)
}
on *:DIALOG:TyposSlots:sclick:*:{
if ($did == 1) {
if ($timer(typosslots3)) {
.timertyposslots* off
slotcheck
did -ra TyposSlots 1 Spin!
}
else {
if ($did($dname,20) > $did($dname,15)) {
did -ra $dname 12 !INVALID BET!
return
}
set %slotitems Plum Pineapple Grapes Orange Banana Apple Cherries Wild!
did -ra $dname 15 $iif($calc($did($dname,15) - $did($dname,20)) < 0,0,$v1)
set %typosslotscredits $did(TyposSlots,15)
did -ra $dname 12 Spinning.....
did -ra TyposSlots 1 Stop!
.timerTyposSlots1 -m 0 125 did -ra $dname 2 $!gettok(%slotitems,$r(1,8),32)
.timerTyposSlots11 0 $r(2,4) .timerTyposSlots1 off
.timerTyposSlots2 -m 0 125 did -ra $dname 3 $!gettok(%slotitems,$r(1,8),32)
.timerTyposSlots22 0 $r(4,6) .timerTyposSlots2 off
.timerTyposSlots3 -m 0 125 did -ra $dname 4 $!gettok(%slotitems,$r(1,8),32)
.timerTyposSlots33 0 $r(6,8) .timerTyposSlots3 off
.timerTyposSlotswol -m 0 125 slotcheck
}
}
if ($did == 17) {
did -ra $dname 15 100
did -ev $dname 1,20
did -hb $dname 17
did -c $dname 20 $iif($didwm($dname,20,%typosslotsbet),$v1,1)
set %typosslotscredits 100
}
if ($did == 20) { set %typosslotsbet $did($dname,$did).seltext }
}
alias slotcheck {
if (!$timer(TyposSlots3)) {
.timerTyposSlots* off
did -ra TyposSlots 1 Spin!
var %slotwilds $iif($did(TyposSlots,2) == Wild!,2) $iif($did(TyposSlots,3) == Wild!,3) $iif($did(TyposSlots,4) == Wild!,4), %slotpos 2, %slotresult $did(TyposSlots,2) $did(TyposSlots,3) $did(TyposSlots,4)
if (%slotwilds) {
if ($numtok(%slotwilds,32) isnum 2-3) { goto Win }
else {
while (%slotpos < 5) {
var %slotmatch %slotmatch $iif(%slotpos !isin %slotwilds,$didtok(TyposSlots,%slotpos))
inc %slotpos
}
if ($gettok(%slotmatch,1,32) == $gettok(%slotmatch,2,32)) { goto Win }
else { goto Lose }
}
}
elseif ($didtok(TyposSlots,2) == $didtok(TyposSlots,3)) && ($didtok(TyposSlots,3) == $didtok(TyposSlots,4)) { goto Win }
else { goto Lose }
:Win
var %slotswinperc $iif($numtok(%slotwilds,32) == 3,10,$iif(Plum isin %slotresult,4,$iif(Pineapple isin $v2,4,$iif(Grapes isin $v2,5,$iif(Orange isin $v2,6,$iif(Banana isin $v2,7,$iif(Apple isin $v2,8,$iif(Cherries isin $v2,9,$iif(Wild! isin $v2,10))))))))), %slotwinnings $calc($did(TyposSlots,20) * %slotswinperc)
did -ra TyposSlots 12 You WIN %slotwinnings credits!
did -ra TyposSlots 15 $calc($did(TyposSlots,15) + %slotwinnings)
set %typosslotscredits $did(TyposSlots,15)
goto End
:Lose
did -ra TyposSlots 12 $iif($r(1,3) == 1,Better luck next time!,$iif($v1 == 2,No credits for you.,Please try again.))
if ($did(TyposSlots,15) < $did(TyposSlots,20)) { did -c TyposSlots 20 $didwm(TyposSlots,20,$v1) }
if (!$v1) {
did -bh TyposSlots 20
did -ev TyposSlots 17
did -b TyposSlots 1
did -ra TyposSlots 12 !!YOUR BROKE!!
}
:End
}
}
Typo, the "like" system was introduced to address these concerns. It's a public voting system so you can see who likes your snippet. Also, likes are what bump snippets to the front page, not the score. We've even lessened the real estate for the score on the snippet listing page because of these concerns. It's no longer a large number but a small font that requires a little searching to seek out. The "likes" are much more prominent and will be the ongoing currency of the site.
According to Zmodem some time ago, mIRC 6.42 which will be released December 22nd (ish) will have 4 new dialog controls (ProgressBar, TreeView, ListView, RichEdit), with the RichEdit having the ability to change colour, font and size of text in the RichEdit.
Agreed though, and maybe even an option to turn rating off altogether when submitting a snippet. As for the "5 1's = off" thing, maybe have a "Flag" option for unratable snippets?
FYI, I voted 7.
Someone voted this like a 2 or 3. It was at like 7.6 with 3 votes and is now at 6.0 with 4 votes.
This wouldn't bother me except that this obviously dissatisfied person takes the time to rate my script crappily but can't find it in them to share with the rest of us what it is they find so wrong with with the code.
Even if the score was only 7.0 and is now 6.0 that means that the anon user only voted 3 by my rather hasty calculations and that just seems rude in my opinion.
I know its not a nice script and is just a silly ans useless game and I will even admit the coding could probably be cleaned up a little more but this seems like a personal dig to me and thats not at all what this site is intended for.
Crap like this makes a lot of people just stop posting and honestly even tho I refuse to let it stop me I completely understand why they let it stop them.
Personally, I vote for a rating system where it shows everyone who rated what how much.
Then maybe we can notice patterns of losers voting out of malice and could then weed them out.
Just my two cents.
Updated to properly track and reset the amount you are betting to the last amount selected when the credits are reset or the dialog restarted.
Kirby: I would have to use mdx or dcx dialog extensions to get a better looking dialog or to make it look really good I would need to do it using picwins. I'm not sure I want to put that kind of time into this script but it is something I am thinking about.
Thanks again everyone for the comments, ratings and likes.
Thanks for all the comments everyone. I didnt even notice I accidently left blueberry in the payout list instead of pineapple, that has been fixed since it's an easy fix, I will address the zero bet later tho it techincally isnt an issue since you cannot win any credits when you bet 0.
If I want it to remember the bet you had it on then I have to add another variable and I was just avoiding doing that so I let it reset the bet to blank upon credits reset. I will fix that one way or the other and upload a screenshot in an hour or two.
Seem to get an error when there is a Wild! in one of the 3 slots. I don't know if it only happens when you don't win or what, but this is what I get.
Line 87 in the 'slotcheck' alias:
var %slotmatch %slotmatch $iif(%slotpos !isin %slotwilds,$didtok(TyposSlots,%slotpos))
The status area stays on Spinning.....
Also, Pineapple isn't in the payout list.