manish

CallBreak - Multiplayer Card Game by manish

Oct 1st, 2017
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 17.87 KB | None | 0 0
  1. ############################################################
  2. ##       CallBreak - Multiplayer Cards Game      ##
  3. ##       Version: 1.0              ##
  4. ##       By: manish               ##
  5. ##       irc.lunarirc.net   #LunarIRC #LunarGames   User - manish  
  6.   ## Commands ##
  7. !cbrules - Show the rules to the player.
  8. !callbreak - Start the game of CallBreak
  9. !bet - Call your bet ( only possible during 15 seconds before game actually starts )
  10. !change <player> : Change an inactive player with an AI player.
  11. !stopcb - Stops the game.
  12. !throw <card-position> : Throw a card at the specified position.
  13. ############################################################
  14. on *:TEXT:!callbreak*:#: {
  15.   if ( %call != 1 ) && (%ongoing == $null) {
  16.     set %ongoing CallBreak
  17.     set %chan $chan
  18.     set %AInames Deegee.TallGah.RayAurous.Lunaleh
  19.     set %call 1
  20.     msg $chan 9 A Game Of 5CallBreak 9has been started by $nick . To join the game, type !join . For rules of the game, type !cbrules .
  21.     set %players $null
  22.     timer 1 10 msg %chan 6 20 seconds remaining!
  23.     timer 1 20 msg %chan 9 10 seconds remaining. AI players will join if enough players aren't there.
  24.     timer 1 30 joinlimit
  25.   }
  26. }
  27. on *:TEXT:!join*:#: {
  28.   if ( %call == 1 ) && ($findtok(%players,$nick,1,46) == $null) {
  29.     set %players $addtok(%players,$nick,32)
  30.     msg $chan 13 $nick has joined the game.
  31.     if ( $numtok(%players,32) == 4 ) {
  32.       timers off
  33.       start
  34.     }
  35.   }
  36. }
  37.  
  38. on *:TEXT:!cbrules*:#: {
  39.   notice $nick Call Break is a Four player card game and played with a single deck of 52 cards. Each player gets 13 cards and game begins with each player calling their possible winnable hands, or bets.
  40.   notice $nick Your bet must be at least 1. In each round, the starter can throw any card, and the next player throws a higher card of the same suit to win. In case the player does not have a card of that suit, he can throw a trump card to win the hand, which is any card of Spades.
  41.   notice $nick If even trump cards are not present, then the player may throw any card, but they won't win the hand. At the end of 13 rounds, score is evaluated.
  42. }
  43.  
  44. alias -l joinlimit {
  45.   timers off
  46.   if ( %players == $null ) {
  47.     msg %chan 5 Well, looks like nobody joined! Stopping the game!
  48.     endcall
  49.   }
  50.   else {
  51.     timer 1 1 getai
  52.     timer 1 3 msg %chan 5 AI Players have joined the game. Get ready....
  53.     timer 1 5 start
  54.   }
  55. }
  56.  
  57. alias -l getai {
  58.   var %i = 1
  59.   while ( %i <= 3 ) {
  60.     set %ai $gettok(%AInames,%i,46)
  61.     set %players %players %ai
  62.     inc %i
  63.   }
  64.   set %players $gettok(%players,1-4,32)  
  65. }
  66.  
  67. alias -l endcall {
  68.   timers off
  69.   unset %call %begin %thr %curcard %chan %ongoing %players %AInames %ai %pl1 %pl2 %pl3 %pl4 %bets %nos %ccard %deck %suits %cards %bet %round %turn %tplayer %starter %wins %thrown %tc %checkcard %cursuit %colored %lolimit %hilimit %win %winner %cd %lu %toreturn %highest %checker %fs %ffs
  70. }
  71.  
  72. alias -l start {
  73.   unset %pl1 %pl2 %pl3 %pl4
  74.   timers off
  75.   timer 1 1 msg %chan 11 The players are: %players
  76.   timer 1 3 distcards
  77.   set %bets 3.3.3.3
  78.   timer 1 5 set %bet 1
  79.   timer 1 5 msg %chan 6 The bets are set to 3 by default. You may change your bet by typing !bet <your bet>.
  80.   timer 1 7 msg %chan 3 Game will start in 15 seconds. You cannot change your bet after that.
  81.   timer 1 11 aibet
  82.   timer 1 22 finalstart
  83. }
  84.  
  85. alias -l aibet {
  86.   if ( $istok(%AInames,$gettok(%players,1,32),46) == $true ) {
  87.     setbet 1
  88.   }
  89.   if ( $istok(%AInames,$gettok(%players,2,32),46) == $true ) {
  90.     setbet 2
  91.   }
  92.   if ( $istok(%AInames,$gettok(%players,3,32),46) == $true ) {
  93.     setbet 3
  94.   }
  95.   if ( $istok(%AInames,$gettok(%players,4,32),46) == $true ) {
  96.     setbet 4
  97.   }
  98. }
  99.  
  100. alias -l setbet {
  101.   if ( $1 == 1 ) { set %tc %pl1 }
  102.   elseif ( $1 == 2 ) { set %tc %pl2 }
  103.   elseif ( $1 == 3 ) { set %tc %pl3 }
  104.   elseif ( $1 == 4 ) { set %tc %pl4 }
  105.  
  106.   var %k = 1
  107.   var %l = 0
  108.   var %m = 0
  109.   var %n = 0
  110.   while ( %k <= 52 ) {
  111.     if ( $istok(%tc,%k,46) ) {
  112.       if ( %k // 13 ) { inc %l }
  113.       elseif ( %k >= 50 ) { inc %l }
  114.       elseif ( %k > 44 ) { inc %n }
  115.       elseif ( $calc(%k + 1) // 13 ) { inc %n }
  116.     }
  117.     inc %k
  118.   }
  119.   var %nb = $calc(%l + $floor( %n * 1.22 / 3 ))
  120.   if ( %nb == 0 ) { var %nb = 1 }
  121.   msg %chan 11 $gettok(%players,$1,32) sets their bet to %nb .
  122.   set %bets $deltok(%bets,$1,32)
  123.   set %bets $instok(%bets,%nb,$1,46)
  124. }
  125.  
  126.  
  127. alias -l distcards {
  128.   set %nos 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52
  129.   var %i = 1
  130.   while ( %i <= 13 ) {
  131.     var %c1 = $gettok(%nos,$rand(1,$numtok(%nos,46)),46)
  132.     set %nos $remtok(%nos,%c1,1,46)
  133.     set %pl1 $addtok(%pl1,%c1,46)
  134.     var %c2 = $gettok(%nos,$rand(1,$numtok(%nos,46)),46)
  135.     set %nos $remtok(%nos,%c2,1,46)
  136.     set %pl2 $addtok(%pl2,%c2,46)
  137.     var %c3 = $gettok(%nos,$rand(1,$numtok(%nos,46)),46)
  138.     set %nos $remtok(%nos,%c3,1,46)
  139.     set %pl3 $addtok(%pl3,%c3,46)
  140.     var %c4 = $gettok(%nos,$rand(1,$numtok(%nos,46)),46)
  141.     set %nos $remtok(%nos,%c4,1,46)
  142.     set %pl4 $addtok(%pl4,%c4,46)
  143.     inc %i
  144.   }
  145.   set %pl1 $sorttok(%pl1,46,n)
  146.   set %pl2 $sorttok(%pl2,46,n)
  147.   set %pl3 $sorttok(%pl3,46,n)
  148.   set %pl4 $sorttok(%pl4,46,n)
  149.   showcard $gettok(%players,1,32) 1
  150.   showcard $gettok(%players,2,32) 2
  151.   showcard $gettok(%players,3,32) 3
  152.   showcard $gettok(%players,4,32) 4
  153. }
  154.  
  155. alias -l showcard {
  156.   if ( $istok(%AInames,$1,46) == $false) {
  157.     if ($2 == 1 ) { set %ccard %pl1 }
  158.     elseif ( $2 == 2 ) { set %ccard %pl2 }
  159.     elseif ( $2 == 3 ) { set %ccard %pl3 }
  160.     elseif ( $2 == 4 ) { set %ccard %pl4 }
  161.     unset %deck
  162.     var %i = 1
  163.     while ( %i <= $numtok(%ccard,46) ) {
  164.       set %curcard $gettok(%ccard,%i,46)
  165.       set %deck %deck $card(%curcard)
  166.       inc %i
  167.     }
  168.     notice $1 Your cards are: %deck (Total: $numtok(%ccard,46) )
  169.   }
  170. }
  171. alias -l card {
  172.   set %suits 4,0♥.4,0♦.1,0♣.1,0♠
  173.   set %cards 2.3.4.5.6.7.8.9.10.J.Q.K.A
  174.   var %n = $1
  175.   var %rv = $calc((%n -1) / 13)
  176.   var %suit = $calc($floor(%rv) + 1)
  177.   if ( $calc(%n % 13) == 0 ) {
  178.     var %card = 13
  179.   }
  180.   else {
  181.     var %card = $calc(%n % 13)
  182.   }
  183.   return $gettok(%suits,%suit,46) $+ $gettok(%cards,%card,46)
  184. }
  185.  
  186. alias -l suit {
  187.   var %n = $1
  188.   var %rv = $calc((%n -1) / 13)
  189.   var %suit = $calc($floor(%rv) + 1)
  190.   return %suit
  191.  
  192. }
  193. on *:TEXT:!bet*:#: {
  194.   if ( %bet == 1 ) {
  195.     if ( $2 !isnum ) || ( $floor($2) != $2 ) || ( $2 < 1 ) || ( $2 > 13 ) || ($findtok(%players,$nick,1,32) == $null ) {
  196.       notice $nick Invalid choice! Your bet should be a number, at least 1 and less than 14.
  197.     }
  198.     else {
  199.       var %k = $findtok(%players,$nick,1,32)
  200.       set %bets $deltok(%bets,%k,46)
  201.       set %bets $instok(%bets,$2,%k,46)
  202.       msg $chan 5 $nick changes their bet to $2 .
  203.     }
  204.   }
  205. }
  206.  
  207. alias -l finalstart {
  208.   timers off
  209.   set %round 1
  210.   set %bet 0
  211.   set %turn 1
  212.   set %tplayer $gettok(%players,1,32)
  213.   msg %chan 3 It's %tplayer  $+ 's turn to start the 1st round.
  214.   notice %tplayer You may throw any card by specifying !throw <card position>
  215.   unset %thrown
  216.   set %begin 1
  217.   set %starter 1
  218.   set %wins 0.0.0.0
  219.   if ( $istok(%AInames,%tplayer,46)) {
  220.     timer 1 3 aistuff
  221.   }
  222.  
  223. }
  224.  
  225. alias -l validate {
  226.   if ( %turn == 1 ) { set %tc %pl1 }
  227.   elseif ( %turn == 2 ) { set %tc %pl2 }
  228.   elseif ( %turn == 3 ) { set %tc %pl3 }
  229.   elseif ( %turn == 4 ) { set %tc %pl4 }
  230.  
  231.   set %checkcard $gettok(%tc,$1,46)
  232.  
  233.   if ( $suit(%checkcard) == %cursuit ) { return $true }
  234.  
  235.   elseif ( $suit(%checkcard) == 4 ) {
  236.  
  237.     var %startcheck = $calc(13 * %cursuit - 12)
  238.     var %endcheck = $calc(%startcheck + 12)
  239.     var %holder = 0
  240.     while ( %startcheck <= %endcheck ) {
  241.       if ( $istok(%tc,%startcheck,46) ) {
  242.         inc %holder
  243.       }
  244.       inc %startcheck
  245.     }
  246.     if ( %holder > 0 ) { return $false }
  247.     else { return $true }
  248.   }
  249.  
  250.   else {
  251.  
  252.     var %startcheck = $calc(13 * %cursuit - 12)
  253.     var %endcheck = $calc(%startcheck + 12)
  254.     var %holder = 0
  255.     var %looper = 40
  256.     while ( %startcheck <= %endcheck ) {
  257.       if ( $istok(%tc,%startcheck,46) ) {
  258.         inc %holder
  259.       }
  260.       inc %startcheck
  261.     }
  262.     while ( %looper <= 52 ) {
  263.       if ( $istok(%tc,%looper,46) ) {
  264.         inc %holder
  265.       }
  266.       inc %looper
  267.     }
  268.     if ( %holder > 0 ) { return $false }
  269.     else { return $true }
  270.   }
  271. }
  272.  
  273. alias -l finishround {
  274.   timers off
  275.   inc %round
  276.   evaluatewinner
  277. }
  278.  
  279. alias -l score {
  280.  
  281.   msg %chan 5Current Rounds Won:4  $gettok(%players,1,32)  :10 $gettok(%wins,1,46) 4 $gettok(%players,2,32)  : 10 $gettok(%wins,2,46) 4 $gettok(%players,3,32) :10 $gettok(%wins,3,46) 4 $gettok(%players,4,32)  :10 $gettok(%wins,4,46)
  282. }
  283. alias -l evaluatewinner {
  284.   timers off
  285.   if ( %colored == 1 ) {
  286.     set %hilimit 52
  287.     while ( %hilimit >= 40 ) {
  288.       if ( $istok(%thrown,%hilimit,46) == $true ) {
  289.         break
  290.       }
  291.       set %hilimit $calc( %hilimit - 1)
  292.     }
  293.     set %win $findtok(%thrown,%hilimit,1,46)
  294.     set %thr $calc( ( %starter - 1 ) * 4 + %win )
  295.     set %win $gettok(1.2.3.4.2.3.4.1.3.4.1.2.4.1.2.3,%thr,46)
  296.     set %winner $gettok(%players,%win,32)
  297.     msg %chan 11 %winner has won this round, with his card $card(%hilimit) !
  298.     set %starter %win
  299.   }
  300.   else {
  301.     set %lolimit $calc( %cursuit * 13 - 12 )
  302.     set %hilimit $calc(%lolimit + 12 )
  303.     while ( %hilimit >= %lolimit ) {
  304.       if ( $istok(%thrown,%hilimit,46) == $true ) {
  305.         break
  306.       }
  307.       set %hilimit $calc( %hilimit - 1)
  308.     }
  309.     set %win $findtok(%thrown,%hilimit,1,46)
  310.     set %thr $calc( ( %starter - 1 ) * 4 + %win )
  311.     set %win $gettok(1.2.3.4.2.3.4.1.3.4.1.2.4.1.2.3,%thr,46)
  312.     set %winner $gettok(%players,%win,32)
  313.     msg %chan 11 %winner has won this round, with his card $card(%hilimit) !
  314.     set %starter %win
  315.   }
  316.   if (%round == 14) { timer 1 5 endgame }
  317.  
  318.   timer 1 4 score
  319.   timer 1 6 msg %chan 6 It's 10 %winner 5's turn to start the next round!!
  320.   timer 1 5 showcard %winner %win
  321.   timer 1 2 set %thrown $null
  322.   timer 1 2 set %cd $null
  323.   timer 1 2 set %cursuit $null
  324.   timer 1 2 set %colored $null
  325.   timer 1 2 set %tplayer %winner
  326.   timer 1 2 set %turn %win
  327.   timer 1 3 changed
  328.   if ( $istok(%AInames,%winner,46) ) { timer 1 8 aistuff }
  329.  
  330. }
  331.  
  332. alias -l changed {
  333.   set %lu $gettok(%wins,%win,46)
  334.   set %wins $deltok(%wins,%win,46)
  335.   set %wins $instok(%wins,$calc(%lu + 1),%win,46)
  336. }
  337.  
  338. on *:TEXT:!throw*:#: {
  339.   if ( $nick == %tplayer) && ( %begin == 1) {
  340.     if ( $2 isnum ) && ($floor($2) == $2) && ( $2 > 0 ) && ( $2 <= $calc(14 - %round)) {
  341.  
  342.       if ( %thrown == $null ) || ( $validate($2) == $true ) {
  343.         if ( %turn == 1 ) {
  344.           set %cd $gettok(%pl1,$2,46)
  345.           set %pl1 $remtok(%pl1,%cd,1,46)
  346.         }
  347.         elseif ( %turn == 2 ) {
  348.           set %cd $gettok(%pl2,$2,46)
  349.           set %pl2 $remtok(%pl2,%cd,1,46)
  350.         }
  351.         elseif ( %turn == 3 ) {
  352.           set %cd $gettok(%pl3,$2,46)
  353.           set %pl3 $remtok(%pl3,%cd,1,46)
  354.         }
  355.         elseif ( %turn == 4 ) {
  356.           set %cd $gettok(%pl4,$2,46)
  357.           set %pl4 $remtok(%pl4,%cd,1,46)
  358.         }
  359.         if ( $suit(%cd) == 4 ) { set %colored 1 }
  360.         if (%cursuit == $null) { set %cursuit $suit(%cd) }
  361.         set %thrown $addtok(%thrown,%cd,46)
  362.         msg $chan 10 $nick throws the card $card(%cd) .
  363.         inc %turn
  364.         if ( %turn > 4 ) { set %turn 1 }
  365.         set %tplayer $gettok(%players,%turn,32)
  366.         if ( %turn == %starter ) {
  367.           timer 1 3 finishround
  368.         }
  369.         if ( %turn != %starter ) {
  370.           timer 1 2 msg %chan 9 It's 10 %tplayer 5's turn to continue the game!!
  371.           showcard %tplayer %turn
  372.         }
  373.         if ( $istok(%AInames,%tplayer,46)) {
  374.           timer 1 5 aistuff
  375.         }
  376.       }
  377.       else {
  378.         notice %tplayer Invalid choice! Make sure that you throw a card of the same suit as the first card in this round. In case, you do not have a card of that suit, you must throw any card of Spades.
  379.       }
  380.     }
  381.     elseif ( $2 !isnum ) { notice $nick Please enter the position of the card in your deck, i.e, an integer number. }
  382.     elseif ( $2 > $calc(14- %round)) { notice $nick You have selected card number $2 , but you have only $calc(14 - %round) cards. }
  383.     elseif ( $2 <= 0 ) { notice $nick The position of the card must be a natural number, i.e, greater than 0. }
  384.     elseif ( $floor($2) != $2 ) { notice $nick You must enter a natural number. }
  385.   }
  386. }
  387. alias -l purify {
  388.   set %toreturn $1
  389.   var %m = 40
  390.   if ( %colored != 1 ) {
  391.     while ( %m <= 52 ) {
  392.       set %toreturn $remtok(%toreturn,%m,1,46)
  393.       inc %m
  394.     }
  395.   }
  396.   set %toreturn $sorttok(%toreturn,46,nr)
  397.   return $gettok(%toreturn,1,46)
  398. }
  399.  
  400. alias -l aistuff {
  401.   timers off
  402.   if ( %turn == 2 ) { set %tc %pl2 }
  403.   elseif ( %turn == 1 ) { set %tc %pl1 }
  404.   elseif ( %turn == 3 ) { set %tc %pl3 }
  405.   elseif ( %turn == 4 ) { set %tc %pl4 }
  406.  
  407.   if (%cursuit == $null) {
  408.     var %x = $numtok(%tc,46)
  409.     set %cd $rand(1,%x)
  410.     set %cd $gettok(%tc,%cd,46)
  411.     set %tc $remtok(%tc,%cd,1,46)
  412.   }
  413.  
  414.   else {
  415.     set %highest $purify(%thrown)
  416.     set %lolimit $calc( %cursuit * 13 - 12 )
  417.     set %hilimit $calc(%lolimit + 12 )
  418.  
  419.     if ( %hilimit == %highest ) { throw 1 }
  420.     elseif ( $istok(%tc,%hilimit,46) || $istok(%tc,$calc(%hilimit-1),46) ) { throw 2 }
  421.     elseif ( $calc(%hilimit - %highest) <= 3 ) && ( $istok(%tc,%highest,46) ) { throw 2 }
  422.     elseif ( $calc(%hilimit - %highest) <= 3 ) { throw 1 }
  423.     elseif ( $calc(%highest - lolimit) <= 8 ) { throw 2 }
  424.     else { throw 2 }  
  425.  
  426.   }
  427.  
  428.   if ( $suit(%cd) == 4 ) { set %colored 1 }
  429.   if (%cursuit == $null) { set %cursuit $suit(%cd) }
  430.   set %thrown $addtok(%thrown,%cd,46)
  431.   msg %chan 10 %tplayer decides to throw the card $card(%cd) .
  432.  
  433.   if ( %turn == 2 ) { set %pl2 %tc }
  434.   elseif ( %turn == 1 ) { set %pl1 %tc }
  435.   elseif ( %turn == 3 ) { set %pl3 %tc }
  436.   elseif ( %turn == 4 ) { set %pl4 %tc }
  437.  
  438.   inc %turn
  439.   if ( %turn > 4 ) { set %turn 1 }
  440.   set %tplayer $gettok(%players,%turn,32)
  441.   if ( %turn == %starter ) { timer 1 4 finishround }
  442.   if ( %turn != %starter ) {
  443.     timer 1 3 msg %chan 9 It's 10 %tplayer 5's turn to continue the game!!
  444.     showcard %tplayer %turn
  445.   }
  446.  
  447.   if ( $istok(%AInames,%tplayer,46)) {
  448.     timer 1 5 scon 1 aistuff
  449.   }
  450. }
  451.  
  452. alias -l throw {
  453.   unset %checker
  454.   if ( $1 == 1 ) {
  455.  
  456.     while ( %hilimit >= %lolimit ) {
  457.       if ( $istok(%tc,%hilimit,46)) { set %checker %hilimit }
  458.       set %hilimit $calc(%hilimit - 1)
  459.     }
  460.     if ( %checker == $null ) {
  461.       var %mc = 40
  462.       while ( %mc <= 52 ) {
  463.         if ( $istok(%tc,%mc,46)) {
  464.           set %checker %mc
  465.           break
  466.         }
  467.         inc %mc
  468.       }
  469.     }
  470.     if ( %checker == $null ) {
  471.       var %pc = $rand(1, $numtok(%tc,46) )
  472.       set %checker $gettok(%tc,%pc,46)
  473.     }
  474.   }
  475.   elseif ( $1 == 2 ) {
  476.     while ( %lolimit <= %hilimit ) {
  477.       if ( $istok(%tc,%lolimit,46)) { set %checker %lolimit }
  478.       inc %lolimit
  479.     }
  480.     if ( %checker == $null ) {
  481.       var %mc = 40
  482.       while(%mc <= 52 ) {
  483.         if ( $istok(%tc,%mc,46)) {
  484.           set %checker %mc
  485.           break
  486.         }
  487.         inc %mc
  488.       }
  489.     }
  490.     if ( %checker == $null ) {
  491.       var %pc = $rand(1, $numtok(%tc,46) )
  492.       set %checker $gettok(%tc,%pc,46)
  493.     }
  494.   }
  495.  
  496.   set %cd %checker
  497.   set %tc $remtok(%tc,%cd,1,46)
  498.  
  499. }
  500.  
  501. alias -l modify {
  502.   if ( $1 < 0 ) { return 0 }
  503.   else { return $1 }
  504. }
  505.  
  506. alias -l endgame {
  507.   timers off
  508.   unset %fs
  509.   var %l = 1
  510.   while ( %l <= 4 ) {
  511.     if ( $gettok(%wins,%l,46) < $gettok(%bets,%l,46) ) {
  512.       set %fs $instok(%fs,$calc(-1 * $gettok(%bets,%l,46) * 10),%l,46 )
  513.       if ($istok(%AInames,$gettok(%players,%l,32),46) == $false ) { coins $gettok(%players,%l,32) $modify($gettok(%fs,%l,46)) }
  514.     }
  515.     else {
  516.       set %fs $instok(%fs,$calc( $gettok(%bets,%l,46) * 10 + ( $gettok(%wins,%l,46) - $gettok(%bets,%l,46) ) ),%l,46 )
  517.       if ($istok(%AInames,$gettok(%players,%l,32),46) == $false ) { coins $gettok(%players,%l,32) $modify($gettok(%fs,%l,46)) }
  518.     }
  519.     inc %l
  520.   }
  521.   timer 1 1 msg %chan 6 Points earned: 4  $gettok(%players,1,32)  :10 $gettok(%fs,1,46) 4 $gettok(%players,2,32)  : 10 $gettok(%fs,2,46) 4 $gettok(%players,3,32) :10 $gettok(%fs,3,46) 4 $gettok(%players,4,32)  :10 $gettok(%fs,4,46)
  522.   set %ffs $sorttok(%fs,46,nr)
  523.   var %hig = $gettok(%ffs,1,46)
  524.   set %win $findtok(%fs,%hig,1,46)
  525.   set %winner $gettok(%players,%win,32)
  526.   timer 1 3 msg %chan 5 %winner has won the game, with a score of %hig , thus getting %hig coins. Other players have been given their respective coins!
  527.   timer 1 4 endcall
  528. }  
  529.  
  530. on *:TEXT:!stopcb*:#: {
  531.   if ( $nick isop %chan ) || ($nick == manish) {
  532.     endcall
  533.     msg $chan 4 Game has been stopped by $nick .
  534.   }
  535. }
  536.  
  537. on *:TEXT:!change*:#: {
  538.   if ( $nick isop %chan ) {
  539.     if ( $istok(%AInames,$2,46) ) { notice $nick AIs cannot be replaced. }
  540.     elseif ( $istok(%players,$2,32) ) {
  541.       var %i = 1
  542.       while ( %i <= 4 ) {
  543.         if ( $istok(%players,$gettok(%AInames,%i,46),32) == $false ) {
  544.           break
  545.         }
  546.         inc %i
  547.       }
  548.       msg %chan 10 $gettok(%AInames,%i,46) will be playing in place of $2 now!
  549.       var %z = $findtok(%players,$2,1,32)
  550.       set %players $remtok(%players,$2,1,32)
  551.       set %players $instok(%players,$gettok(%AInames,%i,46),%z,32)
  552.       if ( %turn == %z ) {
  553.         set %tplayer $gettok(%AInames,%i,46)
  554.         aistuff
  555.       }
  556.     }
  557.   }
  558. }
  559.  
  560. alias -l coins {
  561.   if ($read(coins.txt,w,* $+ $1 $+ *)) {
  562.     set %n $readn $+
  563.     set %data $read(coins.txt,w,* $+ $1 $+ *)
  564.     set %current $gettok(%data,2,32)
  565.     set %new $calc(%current + $2)
  566.     set %data $replace(%data,%current,%new)
  567.     write -dl $+ %n coins.txt
  568.     write coins.txt %data
  569.   }
  570.   else {
  571.     write coins.txt $1 $2
  572.   }
  573. }
Add Comment
Please, Sign In to add comment