this is my version of a dice game you have a 4 in 10 chance to win and as always i have a hash table in it to store player information. the commands are -join (this gives the user an account in the game) -placebet <Number 1-12> (this is to place a bet on a roll of the dice) -takebet (gives anouther player the ablity to take the bet) -luckydice (rolls the dice) -account (gives that player his or her account information) by default all players are given $500 to play and can use -loan to get more money from you you can let then have the money they want or deny them it right to their faces, Have fun. Any problems come find me on irc.icq.com #Newbies
On *:Load: {
hmake DRLDbank 100
if ($isfile(DRLDbank.dat)) { hload DRLDbank DRLDbank.dat }
}
On *:Start: {
hmake DRLDbank 100
if ($isfile(DRLDbank.dat)) { hload DRLDbank DRLDbank.dat }
}
On *:Exit: {
if ($hget(DRLDbank)) { hsave -o DRLDbank DRLDbank.dat }
}
#drld off
On *:text:*:#: {
if ($1 == -join) {
if (!$hget(DRLDbank,$remove($address($nick,2),*!*@))) {
msg $chan Welcome to the lucky dice game. The banker, $me $+ , has provided you with $500 dice dollars. Bet and use them wisely
hadd DRLDbank $remove($address($nick,2),*!*@)) Level 500 0 0
}
else {
var %drld.playerinfo $hget(DRLDbank,$remove($address($nick,2),*!*@))
tokenize 32 %drld.playerinfo
msg $chan ( $+ $nick $+ ) you are already registered as a $remove($1,$chr(95)) player
}
}
elseif ($1 == -placebet) && ($hget(DRLDbank,$remove($address($nick,2),*!*@))) {
if (%drld.bl != 0) {
if ($2) && ($3) {
set %drld.better $nick
set %drld.bet $2
set %drld.diceroll $3
var %drld.money $hget(DRLDbank,$remove($address($nick,2),*!*@))
tokenize 32 %drld.money
if ($2 > 0) {
msg $chan ( $+ $nick $+ ) has placed a bet of ( $+ $ $+ %drld.bet $+ ) on ( $+ %drld.diceroll $+ )
msg $chan to take this bet type -takebet
set %drld.bl 0
}
else {
.notice $nick Sorry you can't make that bet you only have $iif($2 > 0,$ $+ $2,-$ $+ $remove($2,-))
}
}
else {
msg $chan ( $+ $nick $+ ) you need to place a bet amount and the number you wish to roll
}
}
else {
msg $chan ( $+ $nick $+ ) a bet has already been placed by ( $+ %drld.better0 $+ ) for ( $+ $ $+ %drld.bet $+ ) on ( $+ %drld.diceroll $+ )
}
}
elseif (-takebet == $1) && ($hget(DRLDbank,$remove($address($nick,2),*!*@))) {
if (%drld.bl == 0) && (!%drld.taker) && ($nick != %drld.better) {
set %drld.taker $nick
var %drld.money.taker $hget(DRLDbank,$remove($address($nick,2),*!*@))
tokenize 32 %drld.money.taker
if ($2 > 0) {
msg $chan ( $+ $nick $+ ) has taken ( $+ %drld.better $+ 's) bet
.notice %drld.better $nick has taken your bet type -luckydice to roll the dice
}
else {
.notice $nick you cannot take this bet you only have $iif($2 > 0,$ $+ $2,-$ $+ $remove($2,-))
}
}
else {
msg $chan ( $+ $nick $+ ) bet was placed by ( $+ %drld.better $+ ) for ( $+ $ $+ %drld.bet $+ ) on ( $+ %drld.diceroll $+ ) but has been taken by ( $+ %drld.taker $+ )
}
}
elseif ($1 == -luckydice) && ($nick == %drld.better) {
var %drld.dice1 $r(1,6)
var %drld.dice2 $r(1,6)
var %drld.dicet $calc(%drld.dice1 + %drld.dice2)
msg $chan %drld.better rolled a ( $+ %drld.dicet $+ ) and wanted ( $+ %drld.diceroll $+ )
if (%drld.dicet == %drld.diceroll) {
msg $chan Congratulations, ( $+ %drld.better $+ ) you won $ $+ %drld.bet from ( $+ %drld.taker $+ )
var %drld.winner $hget(DRLDbank,$remove($address(%drld.better,2),*!*@))
tokenize 32 %drld.winner
var %drld.moneyw $calc($2 + %drld.bet)
var %drld.winsw $3
inc %drld.winsw
var %drld.lossw $4
if (%drld.winsw > 5) {
hadd DRLDbank $remove($address(%drld.better,2),*!*@) Level %drld.moneyw %drld.winsw %drld.lossw
unset %drld.better
unset %drld.diceroll
goto loser
}
elseif (%drld.winsw > 10) {
hadd DRLDbank $remove($address(%drld.better,2),*!*@) Level %drld.moneyw %drld.winsw %drld.lossw
unset %drld.better
unset %drld.diceroll
goto loser
}
else {
hadd DRLDbank $remove($address(%drld.better,2),*!*@) Level %drld.moneyw %drld.winsw %drld.lossw
unset %drld.better
unset %drld.diceroll
goto loser
}
:loser
var %drld.loser $hget(DRLDbank,$remove($address(%drld.taker,2),*!*@))
tokenize 32 %drld.loser
var %drld.level $1
var %drld.moneyl $calc($2 - %drld.bet)
var %drld.winsl $3
var %drld.lossl $4
inc %drld.lossl
hadd DRLDbank $remove($address(%drld.taker,2),*!*@) %drld.level %drld.moneyl %drld.winsl %drld.lossl
unset %drld.bet
unset %drld.taker
set %drld.bl 1
haltdef
}
else {
msg $chan Congratulations, ( $+ %drld.taker $+ ) you won $ $+ %drld.bet from ( $+ %drld.better $+ )
var %drld.winner $hget(DRLDbank,$remove($address(%drld.taker,2),*!*@))
tokenize 32 %drld.winner
var %drld.moneyw $calc($2 + %drld.bet)
var %drld.winsw $3
inc %drld.winsw
var %drld.lossw $4
if (%drld.winsw > 5) {
hadd DRLDbank $remove($address(%drld.taker,2),*!*@) Level %drld.moneyw %drld.winsw %drld.lossw
unset %drld.taker
unset %drld.diceroll
goto sap
}
elseif (%drld.winsw > 10) {
hadd DRLDbank $remove($address(%drld.taker,2),*!*@) Level %drld.moneyw %drld.winsw %drld.lossw
unset %drld.taker
unset %drld.diceroll
goto sap
}
else {
hadd DRLDbank $remove($address(%drld.taker,2),*!*@) Level %drld.moneyw %drld.winsw %drld.lossw
unset %drld.taker
unset %drld.diceroll
goto sap
}
:sap
var %drld.loser $hget(DRLDbank,$remove($address($nick,2),*!*@))
tokenize 32 %drld.loser
echo -ai2 ( $ $+ $2 )
var %drld.moneyl $calc($2 - %drld.bet)
var %drld.winsl $iif($3 == 0,0,$3)
var %drld.lossl $iif($4 != 0,$calc($4 + 1),1)
hadd DRLDbank $remove($address($nick,2),*!*@) Level %drld.moneyl %drld.winsl %drld.lossl
unset %drld.better
unset %drld.bet
set %drld.bl 1
haltdef
}
}
elseif ($1 == -account) {
if ($hget(DRLDbank,$remove($address($nick,2),*!*@))) {
var %drld.account $hget(DRLDbank,$remove($address($nick,2),*!*@))
tokenize 32 %drld.account
.notice $nick your current account and status is: Funds ( $+ $iif($2 > 0,$ $+ $2,-$ $+ $remove($2,-)) $+ ) Wins ( $+ $3 $+ ) Loses ( $+ $4 $+ )
}
}
elseif ($1 == -loan) {
if ($hget(DRLDbank,$remove($address($nick,2),*!*@))) {
if ($2) {
set %drld.loan $2
.notice $nick The bank will notify you if your loan is approved
set %drld.m $nick
var %drld.member $hget(DRLDbank,$remove($address($nick,2),*!*@))
tokenize 32 %drld.member
set %drld.member.amount $2
drld.loan
}
}
}
}
dialog loan {
title "Loan Approval."
size 100 100 120 60
option dbu
text "Account Holder:" 1, 5 6 40 10
edit "" 2, 49 5 66 10, read, multi, center
text "Current Holdings:" 3, 5 20 43 10
edit "" 4, 49 19 66 10, read, multi, center
text "Desired Loan:" 5,5 34 40 10
edit "" 6, 49 33 66 10, read, multi, center
button "approve" 7, 3 45 55 10, ok
button "deny" 8, 62 45 55 10, cancel
}
on *:dialog:loan:sclick:7: {
.notice %drld.m Your loan for $ $+ %drld.loan has been approved
var %drld.addloan $hget(DRLDbank,$remove($address(%drld.m,2),*!*@))
tokenize 32 %drld.addloan
hadd DRLDbank $remove($address(%drld.m,2),*!*@) $1 $calc($2 + %drld.loan) $3 $4
unset %drld.m
unset %drld.member.amount
unset %drld.loan
}
on *:dialog:loan:sclick:8: {
.notice %drld.m Your loan for $ $+ %drld.loan has been denyed
unset %drld.m
unset %drld.member.amount
unset %drld.loan
}
alias drld.loan {
dialog -m loan loan
did -ra loan 2 [ [ %drld.m ] ]
did -ra loan 4 [ [ %drld.member.amount ] ]
did -ra loan 6 [ [ %drld.loan ] ]
}
#drld end
menu nicklist {
-
Darth Reven Lucky Dice
.On/Off ( $group(#drld) ) {
If ($group(#drld) == off) {
If ($hget(DRLDbank)) {
.enable #drld
}
Else {
hmake DRLDbank 100
.enable #drld
}
}
else {
.disable #drld
}
}
.Check $1 $+ 's Account {
.enable #accountcheck
who $1
}
-
}
menu menubar,channel {
-
Darth Reven Lucky Dice
.On/Off ( $group(#drld) ) {
If ($group(#drld) == off) {
If ($hget(DRLDbank)) {
.enable #drld
}
Else {
hmake DRLDbank 100
.enable #drld
}
}
else {
.disable #drld
}
}
}
#accountcheck off
raw 352:*: {
var %drld.nick $6
if ($hget(DRLDbank,$4)) {
var %ac.info $hget(DRLDbank,$4)
tokenize 32 %ac.info
echo -ai2 ( $+ %drld.nick $+ 's) account is set at: Funds ( $+ $iif($2 > 0,$ $+ $2,-$ $+ $remove($2,-)) $+ ) Wins ( $+ $3 $+ ) Losses ( $+ $4 $+ )
}
else {
echo -ai2 ( $+ %drld.nick $+ ) does not have an account
}
}
raw 315:*: {
clear -s
.disable #accountcheck
}
#accountcheck end