Soyez le premier à donner votre avis sur cette source.
Snippet vu 21 928 fois - Téléchargée 27 fois
on 1:start:{ /finyams } alias finyams { /set %yams off /unset %ynb? /unset %joueuryams /unset %possible /unset %yde? /unset %yetape /unset %minimum /unset %maximum /unset %ptyams /unset %ptsuite /unset %degarde /unset %lancer /unset %des /unset %desrechange /unset %pld /unset %salonyams /unset %ptbrelan /unset %ptfull /unset %ptcarre /unset %ptyams /unset %ptsuite /unset %debrel /unset %defull /unset %decarre /unset %ready /unset %bonusbonus /unset %nbgard /unset %foire /unset %derreur /unset %fig? } alias delsuite { var %delete = $findtok(%possible,%ydec,1,44) /set %possible $deltok(%possible,%delete,44) if (%possible != $null) { /msg $chan Retape !lancer pour faire un nouveau lancer, $nick /msg $chan Je rapelle les figures qu'il te reste à faire : %possible /set %yetape lancer } if (%possible == $null) { /msg $chan Tu as fait tous tes lancers var %colonne = $calc(%ynb1 + %ynb2 + %ynb3 + %ynb4 + %ynb5 + %ynb6) if (%colonne > 62) { /set %bonusbonus 37 /msg $chan Tu obtient un bonus de 37 car la somme des 1, 2, 3, 4, 5 et 6 est supérieure à 63 ! } var %scoreyams = $calc(%colonne + %minimum + %maximum + %ptyams + %ptsuite + %ptbrelan + %ptfull + %ptcarre + %bonusbonus) /msg $chan Ton score est donc de : %scoreyams /finyams var %ancienscore = $readini(memoireyams,$gettok($nick,1,124),bestscore) if (%ancienscore < %scoreyams) { /msg $chan Tu as battu ton record $nick ! Il était de %ancienscore points /writeini -n memoireyams $gettok($nick,1,124) bestscore %scoreyams } if (%ancienscore == %scoreyams) { msg $chan Tu as fait exactement le même score que ton record ! } if (%ancienscore == %scoreyams) { /msg $chan Dommage, tu n'as pas battu ton record... } while (%lignevues < 20) { inc %lignevues if ($gettok($read(topyams.txt,%lignevues),4,32) < %scoreyams) { } } var %ligne = 1 var %limite = $lines(topyams.txt) if (%limite == 0) { /write topyams.txt 1) $nick avec %scoreyams points } else { while (%ligne <= %limite) { if ($gettok($read(topyams.txt,%ligne),4,32) < %pt) { /write -il $+ %ligne topyams.txt new) $nick avec %scoreyams points /write -dl21 topyams.txt var %numero = 1 inc %limite while (%numero <= %limite) { var %pseudo = $gettok($read(topyams.txt,%numero),2,32) var %points = $gettok($read(topyams.txt,%numero),4,32) /write -l $+ %numero topyams.txt %numero $+ ) %pseudo avec %scoreyams points inc %numero } /break } if ((%ligne == %limite) && (%limite < 20)) { /write topyams.txt $calc( %limite + 1 ) $+ ) $nick avec %scoreyams points /halt } inc %ligne } } /msg $chan Le jeu du yams est maintenant arrêté } /unset %ready /unset %de? /unset %degarde /unset %lancer } alias lancer { inc %lancer /msg $chan Les dés sont lancés... if (%yde1 !isin %degarde) { /set %yde1 $rand(1,6) var %eff = $findtok(%degarde,%yde1,1,44) /set %degarde $deltok(%degarde,%eff,44) } if (%yde2 !isin %degarde) { /set %yde2 $rand(1,6) var %eff = $findtok(%degarde,%yde2,1,44) /set %degarde $deltok(%degarde,%eff,44) } if (%yde3 !isin %degarde) { /set %yde3 $rand(1,6) var %eff = $findtok(%degarde,%yde3,1,44) /set %degarde $deltok(%degarde,%eff,44) } if (%yde4 !isin %degarde) { /set %yde4 $rand(1,6) var %eff = $findtok(%degarde,%yde4,1,44) /set %degarde $deltok(%degarde,%eff,44) } if (%yde5 !isin %degarde) { /set %yde5 $rand(1,6) var %eff = $findtok(%degarde,%yde5,1,44) /set %degarde $deltok(%degarde,%eff,44) } /msg $chan Résultats : %yde1 , %yde2 , %yde3 , %yde4 et %yde5 } alias prepgard { /unset %des var %place = 1 /set %des $instok(%des,%yde1,%place,44) inc %place /set %des $instok(%des,%yde2,%place,44) inc %place /set %des $instok(%des,%yde3,%place,44) inc %place /set %des $instok(%des,%yde4,%place,44) inc %place /set %des $instok(%des,%yde5,%place,44) /set %desrechange %des } alias kelfig { /set %yde5 $gettok(%des,5,44) if ((%yde1 == %yde2) && (%yde1 == %yde3) && (%yde1 == %yde4) && (%yde1 == %yde5)) { /set %ready $addtok(%ready,yams,44) } if ((%yde1 != %yde2) && (%yde1 != %yde3) && (%yde1 != %yde4) && (%yde1 != %yde5) && (%yde2 != %yde3) && (%yde2 != %yde4) && (%yde2 != %yde5) && (%yde3 != %yde4) && (%yde3 != %yde5) && (%yde4 != %yde5) && (%yde1 != 1)) { /set %ready $addtok(%ready,suite,44) } if ((%yde1 != %yde2) && (%yde1 != %yde3) && (%yde1 != %yde4) && (%yde1 != %yde5) && (%yde2 != %yde3) && (%yde2 != %yde4) && (%yde2 != %yde5) && (%yde3 != %yde4) && (%yde3 != %yde5) && (%yde4 != %yde5) && (%yde5 != 6)) { /set %ready $addtok(%ready,suite,44) } if ((%yde1 == %yde2) && (%yde1 == %yde3)) { /set %figbrelan ok /set %ready $addtok(%ready,brelan,44) /set %debrel %yde1 if (%yde4 == %yde5) { /set %ready $addtok(%ready,full,44) /set %defull %yde4 } } if ((%yde2 == %yde3) && (%yde2 == %yde4)) { /set %ready $addtok(%ready,brelan,44) /set %debrel %yde2 if (%yde1 == %yde5) { /set %ready $addtok(%ready,full,44) /set %defull %yde1 } } if ((%yde5 == %yde4) && (%yde5 == %yde3)) { /set %ready $addtok(%ready,brelan,44) /set %debrel %yde5 if (%yde2 == %yde1) { /set %ready $addtok(%ready,full,44) /set %defull %yde1 } } if ((%yde1 == %yde2) && (%yde1 == %yde3) && (%yde1 == %yde4)) { /set %ready $addtok(%ready,carre,44) /set %decarre %yde1 } if ((%yde5 == %yde4) && (%yde5 == %yde3) && (%yde5 == %yde2)) { /set %ready $addtok(%ready,carre,44) /set %decarre %yde5 } } alias yapas { /msg $chan Tu n'as pas de %ydec , donc cela te ferait zéro point pour la catégorie %ydec . Tu es sûr ? ( oui / non ) /set %yetape yapas } ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- On 1:text:*:#:{ if ($strip($1) == !garde) { if ($nick == %joueuryams) { if (%yetape == garde) { /unset %degarde /unset %pld /unset %nbgard /set %des %desrechange /unset %foire /unset %derreur if ($strip($2) == $null) { /msg $chan Tu n'as pas indiqué quels dés tu gardes (exemple: !garde 1 1 3 5). Tape !lancer si tu ne veux garder aucun dé } else { /set %pld 2 /set %foire 1 if ($strip($2)) { if ($strip($2) isin %des) { /set %degarde $strip($2) var %del = $findtok(%des,$strip($2),1,44) /set %des $deltok(%des,%del,44) inc %nbgard } else { /set %derreur $instok(%derreur,$strip($2),%foire,44) inc %foire } } if ($strip($3)) { if ($strip($3) isin %des) { /set %degarde $instok(%degarde,$strip($3),%pld,44) inc %pld var %del = $findtok(%des,$strip($3),1,44) /set %des $deltok(%des,%del,44) inc %nbgard } else { /set %derreur $instok(%derreur,$strip($3),%foire,44) inc %foire } } if ($strip($4)) { if ($strip($4) isin %des) { /set %degarde $instok(%degarde,$strip($4),%pld,44) inc %pld var %del = $findtok(%des,$strip($4),1,44) /set %des $deltok(%des,%del,44) inc %nbgard } else { /set %derreur $instok(%derreur,$strip($4),%foire,44) inc %foire } } if ($strip($5)) { if ($strip($5) isin %des) { /set %degarde $instok(%degarde,$strip($5),%pld,44) inc %pld var %del = $findtok(%des,$strip($5),1,44) /set %des $deltok(%des,%del,44) inc %nbgard } else { /set %derreur $instok(%derreur,$strip($5),%foire,44) inc %foire } } if ($strip($6)) { if ($strip($6) isin %des) { /set %degarde $instok(%degarde,$strip($6),%pld,44) inc %pld var %del = $findtok(%des,$strip($6),1,44) /set %des $deltok(%des,%del,44) inc %nbgard } else { /set %derreur $instok(%derreur,$strip($6),%foire,44) inc %foire } } if (%derreur) { /msg $chan Tu ne peux pas garder les dés de valeur : %derreur car tu ne les as pas ! Redis moi en tapant !garde quels dés tu gardes. Pour l'instant, aucun dé n'est gardé /halt } if (%nbgard < 5) { /msg $chan Tu as donc choisi de garder les dés %degarde et de relancer les dés %des . Tape !lancer si tu as choisi ou retape !garde pour modifier ton choix } if (%nbgard == 5) { /msg $chan Si tu gardes tous les dés, tu ne feras plus de lancer avant d'avoir choisi quelle figure tu veux. Tu es sûr de vouloir tout garder ? (répondre par : oui / non ) /set %yetape ttgard } } } else { /msg $chan Ce n'est pas le moment de choisir quels dés garder. } } } elseif ($strip($1) == !yams) { if (%yams == off) { /set %yams on /set %joueuryams $nick /set %salonyams $chan /msg $chan Le jeu du yams est lancé. Seul $nick peut jouer var %ancienscore = $readini(memoireyams,$gettok($nick,1,124),bestscore) if (%ancienscore == $null) { /msg $chan Soit j'ai oublié ton précédent score, soit c'est la première fois que tu joue, $nick , non ? } else { /msg $chan Ton meilleur score est actuellement de %ancienscore points $nick } /set %possible 1,2,3,4,5,6,minimum,maximum,yams,suite,brelan,carre,full /msg $chan Je rapelle les figures que tu dois faire au cours de la partie : %possible /msg $chan Tape !lancer pour lancer les dés /set %yetape lancer } else { if ($chan == %salonyams) { /msg $chan Le jeu du yams est déjà en cours ici } else { /msg $chan Le jeu du yams est déjà en cours sur le salon %salonyams } } } elseif ($strip($1) == !end) { if ((%yams == on) && ($chan == %salonyams)) { if (($nick == %master) || ($nick isop $chan) || ($nick == %joueuryams)) { /finyams /msg $chan Le jeu du yams est maintenant arrêté } else { /msg $chan Seul un op ou celui qui joue au yams peut arrêter le jeu } } else { /msg $chan Le jeu du yams n'est pas en marche } } elseif ($strip($1) == !lancer) { if ($chan == %salonyams) { if ((%yams == on) && ($nick == %joueuryams)) { if ((%yetape == lancer) || (%yetape == garde)) { /unset %ydec if (%lancer == $null) { /lancer /prepgard /set %yetape garde /msg $chan Alors, quels dés gardes-tu ? Tape !garde pour choisir en donnant la valeur des dés que tu gardes (exemple: !garde 5 2 2 1) /msg $chan Tape !lancer lorsque tu as fait ton choix ou si tu ne veux rien garder } elseif (%lancer == 1) { /lancer /prepgard /msg $chan Alors, quels dés gardes-tu ? Tape !garde pour choisir en donnant la valeur des dés que tu gardes (exemple: !garde 5 2 2 1) } elseif (%lancer == 2) { /lancer /prepgard /set %des $sorttok(%des,44,n) /set %yde1 $gettok(%des,1,44) /set %yde2 $gettok(%des,2,44) /set %yde3 $gettok(%des,3,44) /set %yde4 $gettok(%des,4,44) /set %yde5 $gettok(%des,5,44) /kelfig /set %yetape figure /msg $chan Alors, pour quelle catégorie utilises-tu ce lancer ? } elseif (%lancer == 3) { /msg $chan Tu as déjà fait tes trois lancers } } } elseif (%yams == off) { /msg $chan Le jeu du yams n'est pas en marche } elseif ((%yams == on) && (%yetape != lancer)) { /msg $chan Tu ne peux pas faire de lancer pour l'instant, ce n'est pas le moment } } else { /msg Pour lancer le jeu du yams, il faut d'abord taper !yams } } else { if ($chan == %salonyams) { if ((%yetape == ttgard) && ($nick == %joueuryams)) { if ($strip($1) == oui) { /set %des %desrechange /set %des $sorttok(%des,44,n) /set %yde1 $gettok(%des,1,44) /set %yde2 $gettok(%des,2,44) /set %yde3 $gettok(%des,3,44) /set %yde4 $gettok(%des,4,44) /set %yde5 $gettok(%des,5,44) /kelfig /set %yetape figure /msg $chan Alors, pour quelle catégorie utilises-tu ce lancer ? } elseif ($strip($1) == non) { /set %yetape garde /msg $chan Ok, tu peux donc rechoisir quels dés tu garde en tapant !garde } } elseif ((%yetape == yapas) && ($nick == %joueuryams)) { if ($strip($1) == oui) { /msg $chan Ok, tu as donc zéro points pour la catégorie %ydec /set % $+ pt $+ %ydec 0 /delsuite } elseif ($strip($1) == non) { /set %yetape figure /msg $chan Ok, rechoisis donc une autre figure } } elseif ((%yetape == figure) && ($nick == %joueuryams)) { /set %ydec $strip($1) if (%ydec isnum) { if (%ydec isin %possible) { /msg $chan Ok, ce lancer sera pour les %ydec if (%yde1 == %ydec) { inc %result } if (%yde2 == %ydec) { inc %result } if (%yde3 == %ydec) { inc %result } if (%yde4 == %ydec) { inc %result } if (%yde5 == %ydec) { inc %result } var %resultfinal = $calc(%result * %ydec) /msg $chan Donc %resultfinal points pour les %ydec /set % $+ ynb $+ %ydec %resultfinal /unset %result /delsuite } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } elseif (%ydec == minimum) { if (%ydec isin %possible) { var %tempomin = $calc(%yde1 + %yde2 + %yde3 + %yde4 + %yde5 + %yde6) /msg $chan La somme des dés est égale %tempomin /set %minimum $calc(30 - %tempomin) /msg $chan Le maximum possible est de 30. 30 moins %tempomin = %minimum points /delsuite } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } elseif (%ydec == maximum) { if (%ydec isin %possible) { /set %maximum $calc(%yde1 + %yde2 + %yde3 + %yde4 + %yde5 + %yde6) /msg $chan La somme des dés est égale %maximum , tu as %maximum points pour la catégorie Maximum /delsuite } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } elseif (%ydec == yams) { if (%ydec isin %ready) { if (%ydec isin %possible) { var %bonusyams = $calc(%yde1 * 5) /set %ptyams $calc(50 + %bonusyams) /msg $chan Oh yeah ! Tu as un yams ! Tu gagnes donc 50 points pour la figure et %bonusyams car tu as fait cinq %yde1 donc : %ptyams points /delsuite } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } else { if (%ydec isin %possible) { /yapas } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } } elseif (%ydec == suite) { if (%ydec isin %ready) { if (%ydec isin %possible) { /msg $chan En effet, tu as une suite : tu gagnes 50 points. /set %ptsuite 50 /delsuite } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } else { if (%ydec isin %possible) { /yapas } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } } elseif (%ydec == brelan) { if (%ydec isin %ready) { if (%ydec isin %possible) { var %bonusbrelan = $calc(%debrel * 3) /set %ptbrelan $calc(10 + %bonusbrelan) /msg $chan En effet, tu as un brelan : tu gagnes 10 points pour la figure et %bonusbrelan car tu as fait trois %debrel donc : %ptbrelan points /delsuite } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } else { if (%ydec isin %possible) { /yapas } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } } elseif (%ydec == full) { if (%ydec isin %ready) { if (%ydec isin %possible) { var %bonusfull = $calc((%debrel * 3) + (%defull * 2)) /set %ptfull $calc(30 + %bonusfull) /msg $chan En effet, tu as un full : tu gagnes 30 points pour la figure et %bonusfull car tu as fait trois %debrel et deux %defull donc : %ptfull points /delsuite } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } else { if (%ydec isin %possible) { /yapas } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } } elseif ((%ydec == carre) || (%ydec == carré)) { /set %ydec carre if (%ydec isin %ready) { if (carre isin %possible) { var %bonuscarre = $calc(%decarre * 4) /set %ptcarre $calc(30 + %bonuscarre) /msg $chan En effet, tu as un carré : tu gagnes 30 points pour la figure et %bonuscarre car tu as fait quatre %decarre donc : %ptcarre points /delsuite } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } else { if (carre isin %possible) { /yapas } else { /msg $chan Tu ne peux faire valoir ce lancer que pour %possible } } } } } } }
5 mai 2009 à 12:47
4 mai 2009 à 12:55
23 nov. 2008 à 17:50
Si quelqu'un peut mettre ce jeus en multi joueur alors la cool et bravo
@ ++++ er merci
27 oct. 2007 à 20:56
Sinon sa va essaye d'améliorer ;)
24 sept. 2005 à 20:10
tout les if (%var $null) ca devient if (!%var) et if (%var! $null) ca devient if (%var)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.