;\/\/\/\/\ Party line /\/\/\/\/ ;Script crée par S4turn avec le soutien de Script Union ;Grand merci à HoG qui a contribué à la /window @partyline :p ;Aussi à Empereur pour ses 2 superbes dialogues :) ;Pis Lorenax qui a donné beaucoup d'idées ... ;Debugers : LeviNOu ; Nickelback ;Attention : Le mode 'light' utlise un alias (aline/dline/cline) ; ce qui peut poser quelques problemes avec certains scripts ... ;\/\/\/\/\ Party line /\/\/\/\/ ;Changements de configurations : ;Les changements s'effectue au niveau des alias, en chageant simplement une valeur. ;Par exemple, ; - L'identité du script peut être changée au niveau de : 'alias pl.scriptid return 1' ; - La version du script, 'alias pl.scriptver return $xs.version' ; - Et enfin le mode de la partyline ('light', 'normal' ou 'semi'), là : 'alias pl.form return normal' ;Les modes : light -> Il s'agit de ne plus voir @partyline, qui pouvait être génant lors ded l'integration dans certains scripts (Amphibozorus) -> désavantage ? On ne peux plus parler sur la pl. Lors d'un message venant de msn, le script ouvre une fentre @-msg. Les erreurs sont annoncées avec des boîtes de dialogues. ; normal -> @partyline est visible, lorsque l'on reçoit un message de msn, il s'affiche en une ligne dans la window @partyline. Les differentes erreurs utilisent la fenêtre @partyline. ; semi -> mélange de light et normal : @partyline est visible, lorsque l'on recoit un msg de msn, le script ouvre @-msg. Pour le reste, on retombe sur la configuration dite 'normal'. ;\/\/\/\/\ Party line /\/\/\/\/ on *^:START:if ($xs.version == $null) return | set %tp.pl.form set_light | pl.client $nickonconnect on *:LOAD:echo -a Faites /pl.client pour vous connecter au réseau de la partyline (et messenger). alias pl.client { sockclose pl.client unset %tp.pl.msg.lightmode.windows.list unset %tp.pl.conn.param.nick unset %pl.admincommands unset %tp.pl.createaccount unset %pl.msg.loggued set %tp.pl.quit.valid $true if ($left(%tp.pl.form,3) != set) set %tp.pl.form semi else set %tp.pl.form $right(%tp.pl.form,-4) if ($1 == $null) set %pl.nickname $input(Quel pseudo voulez-vous utiliser ?,129,Partyline) else set %pl.nickname $1 if ($2 != $null) set %pl.password $encode($2,m) else unset %pl.password .timer -om 1 100 sockopen pl.client $pl.server.server $pl.server.port .timerpl.retryconnection_timedout -o 1 80 pl.connectiontimedout if ($pl.form != light) { window -zel10 $pl.windowname set %pl.windowname $pl.windowname titlebar $pl.windowname Script Union - Party Line } } alias pl.connectiontimedout { aline $pl.windowname $pl.put.prefix Will trying to reconnect - because of connection timed out (waiting 40 secs) ... .timerpl.retryconnection_timedout -o 1 120 pl.client %pl.nickname $decode(%pl.password,m) } on *:sockopen:pl.client:.timerpl.retryconnection_timedout off on *:sockread:pl.client:{ if ($sockerr > 0) aline $pl.alineparam $pl.windowname !Erreur! : Impossible de lire le socket ... :nextread sockread %pl.client.read if ($sockbr == 0) return if (%pl.client.read == $null) set %pl.client.read - tokenize 32 %pl.client.read if ($pl.debug == on) echo -a CLIENT : $1- if ($1 == <<<>>>) { if ($2 == CREATE) { unset %pl.msg.loggued | if ($?!="Le serveur a detecté que vous n'aviez pas de compte messenger, voulez-vous en créer un ?" == $true) { set %tp.pl.createaccount yes | pl.dialog newmessen } } elseif ($2 == LOGIN) pl.dialog newmessen elseif ($2 == LOGED) { set %pl.msg.loggued yes | aline $pl.alineparam $pl.windowname $pl.put.messenger.form.1 Connection establish | pl.all LOGED | pl.refresh } elseif ($2 == ERROR) { if ($3 == password) { aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 Impossible de se logguer : mauvais password. | writeini messenger.ini %pl.nickname Auto_auth no } elseif ($4- == doesn't exist on network) aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 $3 n'existe pas sur le groupe de travail. elseif ($4- == offline) aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 $3 n'est pas connecté. elseif ($3- == Max friend limit) aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 Limite des amis maximale atteinte ... elseif ($4- == account exists) aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 Compte $3 déjà existant ... elseif ($4- == already in your list) aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 $3 est déjà dans votre liste ! elseif ($4- == isn't in your list) aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 $3 n'est pas dans votre liste ! elseif ($3- == You are not identified) aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 Vous n'êtes pas identifié. else aline $pl.alineparam $pl.windowname $pl.put.messenger.form.2 $3- } elseif ($2 == MSG) { aline $pl.alineparam $pl.windowname $pl.put.messenger.form.3 < $+ $3 $+ > $4- if ($4- == !morpion) .timer -m 1 1 pl.morpion.answer client $3 elseif ($4- == !morpion ok) .timer -m 1 1 pl.morpion.answer server $3 } elseif ($2 == REFRESH) pl.messenger.refresh $3- elseif ($2 == INFO) aline $pl.alineparam $pl.windowname $pl.put.messenger.form.4 $3- pl.all $1- } elseif ($1 == <<<>>>) { aline $pl.alineparam $pl.windowname $replace($pl.put.msg.form,^^nick,$2) $3- if ($3- == !morpion) pl.morpion.special.answer client $2 elseif ($3- == !morpion ok) pl.morpion.special.answer server $2 } elseif ($1 == <<<>>>) sockwrite -n pl.client >>>>Pong<<<< elseif ($1 == <<<>>>) aline $pl.alineparam $pl.windowname $replace($pl.put.adminmsg.form,^^nick,$2) $3- elseif ($1 == <<<>>>) { if (%tp.pl.quit.valid == $true) { unset %tp.pl.quit.valid | set %tp.pl.quit.valid $input($2-,4,partyline) } | return } elseif ($1 == <<<>>>) { sockwrite -n $sockname >>>>connsent<<<< $pl.version $pl.scriptid $iif($pl.scriptver != $null,$pl.scriptver,^^null) %pl.nickname $decode(%pl.password,m) | aline $pl.windowname $pl.put.prefix Connecting ... } elseif ($1 == >>>>connreply<<<<) && ($2 != $null) set %pl.version.serv $2 elseif ($1 == <<<>>>) sockwrite -n $sockname >>>>scriptid<<<< $pl.scriptid elseif ($1 == <<<>>>) sockwrite -n $sockname >>>>scriptver<<<< $iif($pl.scriptver != $null,$pl.scriptver,^^null) elseif ($1 == <<<>>>) sockwrite -n $sockname >>>>nick<<<< %pl.nickname elseif ($1 == <<<>>>) sockwrite -n $sockname >>>>nickpassword<<<< %pl.nickname $iif(%pl.password == $null,$input(Ce pseudo est protégé par un password ...,129,Partyline),$decode(%pl.password,m)) elseif ($1 == <<<>>>) sockwrite -n $sockname >>>>Changenick<<<< $2 $input(Ce pseudo est protégé par un password ...,129,Partyline) elseif ($1 == <<<>>>) { set %pl.nickname $2 | aline $pl.alineparam $pl.windowname $pl.put.prefix Your nickname changed to $2 ! } elseif ($1 == >>>>changednick<<<<) { if ($3 == %pl.nickname) return | aline $pl.alineparam $pl.windowname $pl.put.prefix $2 changed his nick to $3 ! } elseif ($1 == <<<>>>) { set %tp.pl.conn.param.nick $gettok($2-,$calc($findtok($2-,-nick:,1,32) + 1),32) aline $pl.alineparam $pl.windowname $pl.put.prefix Connecté à $pl.server.server $+ : $+ $pl.server.port sous le pseudonyme %tp.pl.conn.param.nick avec la version $pl.version (Version du serveur : %pl.version.serv $+ ) .timerpl.retry* } elseif ($1 == <<<>>>) { aline $pl.alineparam $pl.windowname $pl.put.prefix %tp.pl.conn.param.nick est un administrateur. | set %pl.admincommands on } elseif ($1 == <<<>>>) && ($2 == on) { aline $pl.alineparam $pl.windowname $pl.put.prefix %tp.pl.conn.param.nick est invisible. | set %pl.invisible on } elseif ($1 == <<<>>>) && ($2 == off) { aline $pl.alineparam $pl.windowname $pl.put.prefix %tp.pl.conn.param.nick n'est plus invisible. | set %pl.invisible off } elseif ($1 == >>>>names<<<<) { dline -l $pl.windowname 1(-99999) set %tp.pl.names.total $numtok($2-,32) set %tp.pl.names.inc 1 :loop_names /aline -l $pl.windowname $gettok($2-,%tp.pl.names.inc,32) inc %tp.pl.names.inc if (%tp.pl.names.total >= %tp.pl.names.inc) goto loop_names } elseif ($1 == >>>>Whois<<<<) aline $pl.windowname $2- elseif ($1 == >>>>Join<<<<) aline $pl.windowname $pl.put.prefix $2 Join the party line elseif ($1 == >>>>Part<<<<) aline $pl.windowname $pl.put.prefix $2 Part the party line $iif($3 != $null,$chr(40) $+ $3- $+ $chr(41)) elseif ($1 == >>>>Info<<<<) aline $pl.windowname $pl.put.prefix $2- elseif ($1 == >>>>Cline<<<<) cline -l $2 @partyline $3 elseif ($1-2 == >>>>Game<<<< morpion) pl.game.morpion.com $3- goto nextread } on *:sockclose:pl.client:pl.client.stop alias pl.client.stop aline $pl.windowname $pl.put.prefix Déconnecté | if ($sock(pl.client) != $null) && (%tp.pressed.cf6 != on) { sockclose pl.client | aline $pl.windowname $pl.put.prefix Will trying to reconnect (waiting 10 secs) ... | .timerpl.retryondisconnect -o 1 10 pl.client %pl.nickname $decode(%pl.password,m) } | unset %tp.pressed.cf6 on *:input:%pl.windowname:if ($left($1,1) == /) && ($ctrlenter == $false) return | if (%pl.adminmsglock != on) sockwrite -n pl.client >>>>MSG<<<< $1- | else sockwrite -n pl.client >>>>ADMINMSG<<<< $1- on *:input:%tp.pl.msg.lightmode.windows.list:if ($left($1,1) == /) && ($ctrlenter == $false) return | sockwrite -n pl.client >>>>Messenger<<<< MSG $left($right($active,-1),-4) $1- | aline $pl.alineparam $active $replace($pl.put.msg.form,^^nick,%pl.nickname) $1- on *:SIGNAL:away:if ($1 == on) sockwrite -n pl.client >>>>MSG<<<< I'm away : $2- | else sockwrite -n pl.client >>>>MSG<<<< I'm not longer away ;## Fast Aliases ## alias pl.nick sockwrite -n pl.client >>>>ChangeNick<<<< $1- alias pl.kill sockwrite -n pl.client >>>>KILL<<<< $1- ;## Infos ## alias pl.server.server return partyline.xandrearts.net ;alias pl.server.server return localhost alias pl.server.port return 3000 alias pl.scriptid return 1 alias pl.scriptver return $xs.version alias pl.version return 2.53 ;## Affichage ## ;$pl.debug = on/off alias pl.debug return off ;$pl.form = light/normal/semi alias pl.form return $iif($xs.version == $null,semi,%tp.pl.form) alias pl.console return echo -s alias pl.put.msg.form return $timestamp <^^nick> alias pl.put.messenger.form.1 return 10Messenger : alias pl.put.messenger.form.2 return 4Messenger : alias pl.put.messenger.form.3 return $timestamp 12Messenger : alias pl.put.messenger.form.4 return 10Messenger : alias pl.put.adminmsg.form return $timestamp 10ADMIN <^^nick> alias pl.windowname return @partyline alias pl.alineparam if ($1 == nohighlight) return -p | return -ph alias pl.put.prefix return 3>>> alias pl.put.prefix.2 return 4>>> alias pl.localecho.prefix return 10>>> alias pl.all { if ($pl.form == normal) return if ($pl.form == light) { if ($2 == ERROR) { if ($3 == password) set %tp $input(Impossible de se logguer : mauvais password.,516,Messenger - Error) elseif ($4- == doesn't exist on network) set %tp $input($3 n'existe pas sur le groupe de travail,516,Messenger - Error) elseif ($4- == offline) set %tp $input($3 n'est pas connecté.,516,Messenger - Error) elseif ($3- == Max friend limit) set %tp $input(Limite des amis maximale atteinte ...,516,Messenger - Error) elseif ($4- == account exists) set %tp $input(Compte $3 déjà existant ...,516,Messenger - Error) elseif ($4- == already in your list) set %tp $input($3 est déjà dans votre liste !,516,Messenger - Error) elseif ($4- == isn't in your list) set %tp $input($3 n'est pas dans votre liste !,516,Messenger - Error) elseif ($3- == You are not identified) set %tp $input(Vous n'êtes pas identifié.,516,Messenger - Error) else set %tp $input($3-,516,Messenger - Error) } elseif ($2 == INFO) { if ($3-4 == Message to) && ($6- == has been successfully sent) $pl.console $pl.put.messenger.form.4 $3- | else set %tp $input($3-,68,Messenger - Information) } elseif ($2 == ADMININFO) set %tp $input($3-,68,Messenger - Admin Info) elseif ($1 == LOGED) { set %tp $input(Connection établie,68,Messenger) | pl.dialog messenger } } if ($2 == MSG) { if ($window(@ [ $+ [ $3 ] $+ ] -msg) == $null) window -ze @ [ $+ [ $3 ] $+ ] -msg if ($findtok(%tp.pl.msg.lightmode.windows.list,@ [ $+ [ $3 ] $+ ] -msg,44) == $null) set %tp.pl.msg.lightmode.windows.list %tp.pl.msg.lightmode.windows.list $+ , $+ @ [ $+ [ $3 ] $+ ] -msg aline $pl.alineparam @ [ $+ [ $3 ] $+ ] -msg $replace($pl.put.msg.form,^^nick,$3) $4- } } alias aline if ((($5-6 == Message to) && ($8- == has been successfully sent) && ($pl.form == semi)) || (($3-5 == $pl.put.messenger.form.3) && ($pl.form == semi)) || (($pl.form == light) || ($window($pl.windowname) == $null))) && (($2 == $pl.windowname) || ($1 == $pl.windowname)) return | aline $1- alias dline if (($pl.form == light) || ($window($pl.windowname) == $null)) && ($2 == $pl.windowname) return | dline $1- alias cline if (($pl.form == light) || ($window($pl.windowname) == $null)) && ($3 == $pl.windowname) return | cline $1- ;Menu / Dialogs menu @partyline { $iif($1 != $null,Whois $1):sockwrite -n pl.client <<<>>> $1 - Changer de nick:pl.nick $input(Nick ?,129,Partyline) - Messenger .$iif(%pl.msg.loggued != yes,Login):pl.dialog newmessen .$iif(%pl.msg.loggued == yes,Dialogue principale):pl.dialog messenger .- .$iif($1 != $null,Parler à $1):{ if ($pl.form == normal) sockwrite -n pl.client >>>>Messenger<<<< MSG $1 $input(Message ?,129,Messenger) else { set %tp.pl.msn.msg $input(Message ?,129,Messenger) if ($window(@ [ $+ [ $1 ] $+ ] -msg) == $null) window -ze @ [ $+ [ $1 ] $+ ] -msg if ($findtok(%tp.pl.msg.lightmode.windows.list,@ [ $+ [ $1 ] $+ ] -msg,44) == $null) set %tp.pl.msg.lightmode.windows.list %tp.pl.msg.lightmode.windows.list $+ , $+ @ [ $+ [ $1 ] $+ ] -msg aline $pl.alineparam @ [ $+ [ $1 ] $+ ] -msg $replace($pl.put.msg.form,^^nick,%pl.nickname) %tp.pl.msn.msg sockwrite -n pl.client >>>>Messenger<<<< MSG $1 %tp.pl.msn.msg } } .- .$iif($1 != $null,Ajouter $1):sockwrite -n pl.client >>>>Messenger<<<< ADD $1 - $iif(%pl.admincommands == on,ADMIN COMMANDS) .Sur $1 ..KILL $1:sockwrite -n pl.client >>>>KILL<<<< $1 ..KILL $1:sockwrite -n pl.client >>>>KILL<<<< $1 $input(Raison ?,129,Partyline) ..GLINE $1:sockwrite -n pl.client >>>>GLINE<<<< $1 $input(Gline pendant combien de temps ? (minutes),129,Partyline) $input(Raison ?,129,Partyline) ..- ..Fuser Remove:sockwrite -n pl.client >>>>Fuser<<<< R $1 .- .Fake User ..Create:sockwrite -n pl.client >>>>Fuser<<<< C $input(Nom du faux utilisateur à créer ?,129,Partyline) $input(Script id ?,129,Partyline) $input(Script version ?,129,Partyline) ..Remove:sockwrite -n pl.client >>>>Fuser<<<< R $input(Nom du faux utilisateur à supprimer ?,129,Partyline) .- .GLINE ..GLINE:sockwrite -n pl.client >>>>GLINE<<<< $input(Qui Gline ?,129,Partyline) $input(Gline pendant combien de temps ? (minutes),129,Partyline) $input(Raison ?,129,Partyline) ..UNGLINE:sockwrite -n pl.client >>>>UNGLINE<<<< $input(Ip à ungline ?,129,Partyline) .- .REHASH:sockwrite -n pl.client >>>>REHASH<<<< .ADMINMSG:sockwrite -n pl.client >>>>ADMINMSG<<<< $input(Texte ?,129,Partyline) .$iif(%pl.adminmsglock != on,Lock ADMINMSG):set %pl.adminmsglock on | aline $pl.alineparam(nohighlight) $pl.localecho.prefix Locking ADMINMSG : on .$iif(%pl.adminmsglock == on,Unlock ADMINMSG):set %pl.adminmsglock off | aline $pl.alineparam(nohighlight) $pl.localecho.prefix Locking ADMINMSG : off .- .Invisible:sockwrite -n pl.client >>>>Invisible<<<< - Texte .$iif($xs.version != $null,Envoyer un message en grosses lettres):mt $chr(160) $+ pl $xs.ques(Quel texte ? (de préférence assez court)) - Jeux .Morpion avec $1:pl.morpion.request $1 .Morpion BIG édition:pl.morpion.special.request - Quitter:window -c $active | sockclose pl.client | .timerpl.retryondisconnect off } alias pl.dialog if ($dialog($1) == $null) dialog -md $1 $1 dialog messenger { title "Messenger" size -1 -1 160 340 option pixels text "Liste de vos Contacts:" 1, 5 5 150 25 list 8, 5 20 150 215, size sort button "Fermer" 3, 5 310 150 25, flat ok button "Add", 6, 5 240 70 25 button "Del", 7, 84 240 70 25 button "Refresh", 9, 5 270 150 25 } on *:dialog:messenger:init:*:{ pl.refresh .timerpl.button 0 1 did -ra messenger 9 Refresh $ $+ pl.messenger.dialog.refresh unset %pl.messenger.lists.all } on *:dialog:messenger:sclick:*:{ if ($did == 3) { .timerpl.refresh off | .timerpl.button off } elseif ($did = 6) { sockwrite -n pl.client >>>>Messenger<<<< ADD $input(Qui ajouter ?,129,Partyline) } elseif ($did = 7) { set %tp.pl.msg.del $did($dname,8,$did($dname,8).sel) | if ($left(%tp.pl.msg.del,1) == +) set %tp.pl.msg.del $right(%tp.pl.msg.del,-1) | if ($?!="Etes-vous sur de vouloir supprimer %tp.pl.msg.del ?" == $true) sockwrite -n pl.client >>>>Messenger<<<< DEL %tp.pl.msg.del | unset %tp.pl.msg.del } elseif ($did == 9) pl.refresh } alias pl.messenger.dialog.refresh return $chr(40) $+ $calc(60 - $calc($ctime - %tp.pl.msg.org)) $+ $chr(41) alias pl.messenger.refresh if ($1 != all) || ($dialog(messenger) == $null) return | set %pl.messenger.lists.all $2- | did -r messenger 8 | didtok messenger 8 44 %pl.messenger.lists.all on *:dialog:messenger:dclick:8:set %tp.pl.msg $did($dname,8,$did($dname,8).sel) | if ($left($did($dname,8,$did($dname,8).sel),1) == +) set %tp.pl.msg $right(%tp.pl.msg,-1) | sockwrite -n pl.client >>>>Messenger<<<< MSG %tp.pl.msg $input(Message à Envoyer à %tp.pl.msg ?,129,Partyline) | unset %tp.pl.msg alias pl.refresh { set %tp.pl.msg.org $ctime if ($sock(pl.client) != $null) && (%pl.msg.loggued == yes) sockwrite -n pl.client >>>>Messenger<<<< REFRESH .timerpl.refresh -o 1 60 pl.refresh if ($dialog(messenger) != $null) did -ra messenger 9 Refresh $pl.messenger.dialog.refresh } dialog newmessen { title "Login Messenger" size -1 -1 160 180 option pixels text "Pseudo:" 1, 5 10 150 25 edit %pl.nickname,2, 5 25 150 20, size read autohs text "Pass:" 3, 5 50 150 25 edit $readini messenger.ini %pl.nickname Pass,4, 5 65 150 20, size, pass autohs text "Mail:" 5, 5 90 150 25 edit $readini messenger.ini %pl.nickname Mail,6, 5 105 150 20, size autohs button "OK", 7, 5 157 150 20, flat button "",666,0 0 0 0, ok hide check "Auto auth", 8, 10 130 140 20 } on *:dialog:newmessen:init:*:if ($readini(messenger.ini,%pl.nickname,Auto_auth) != yes) return | sockwrite -n pl.client >>>>Messenger<<<< LOGIN $did(4).text | dialog -x $dname on *:dialog:newmessen:edit:*:{ if ($did = 2) { writeini messenger.ini %pl.nickname pseudo $did(2) } if ($did = 4) { writeini messenger.ini %pl.nickname pass $did(4) } if (($did = 6) && (@ isin $did(6)) && (. isin $did(6))) { writeini messenger.ini %pl.nickname mail $did(6) } } on *:dialog:newmessen:sclick:*:{ if ($did == 8) { writeini messenger.ini %pl.nickname Auto_auth yes } elseif ($did == 7) { if (@ !isin $did(6).text) || (. !isin $did(6).text) || ($did(2).text == $null) || ($did(4).text == $null) { //var % $input(Vous avez oublier de remplir un champs,ot,Erreur) } if (%tp.pl.createaccount == yes) { writeini messenger.ini %pl.nickname inscription ok | sockwrite -n pl.client >>>>Messenger<<<< Create $did(2).text $did(4).text $did(6).text } else sockwrite -n pl.client >>>>Messenger<<<< LOGIN $did(4).text dialog -x newmessen newmessen | pl.dialog messenger } } ;## Morpion ## alias cf12 { if (%tp.pl.cf12 == special) { set %pl.morpion.dialogname pl.morpion.special | sockwrite -n pl.client >>>>MSG<<<< !morpion ok | pl.morpion.special } else { sockwrite -n pl.client >>>>Messenger<<<< MSG %tp.pl.cf12 !morpion ok | pl.morpion } } alias pl.morpion.request { if ($1 == $null) { aline $pl.windowname Erreur : Vous devez choisir un adversaire pour jouer au morpion | return } unset %tp.pl.morpion.answer. [ $+ [ $1 ] ] sockwrite -n pl.client >>>>Messenger<<<< MSG $1 !morpion } alias pl.morpion.answer { set %tp.pl.morpion.nick $2 if ($1 == client) { aline $pl.alineparam @ [ $+ [ $2 ] $+ ] -msg Appuyez sur CTRL + F12 pour jouer au morpion avec $2 $+ . | set %tp.pl.cf12 $2 } elseif ($1 == server) && (%tp.pl.morpion.answer. [ $+ [ $2 ] ] != done) { set %tp.pl.morpion.answer. [ $+ [ $2 ] ] done | sockwrite -n pl.client >>>>Game<<<< morpion start $2 | pl.morpion } } alias pl.morpion.special.request { unset %tp.pl.morpion.special.answer.nick sockwrite -n pl.client >>>>MSG<<<< !morpion sockwrite -n pl.client >>>>MSG<<<< Vous avez 20 secondes pour vous inscrire !! .timerpl.morpion.end_of_request 1 20 pl.morpion.special.send } alias pl.morpion.special.answer { set %tp.pl.morpion.nick $2 if ($1 == client) && (%pl.nickname != $2) { aline $pl.alineparam $pl.windowname Appuyez sur CTRL + F12 pour jouer au morpion (BIG édition) | set %tp.pl.cf12 special } elseif ($1 == server) { set %tp.pl.morpion.special.answer.nick %tp.pl.morpion.special.answer.nick $2 } } alias pl.morpion.special.send { if (%tp.pl.morpion.special.answer.nick == $null) { sockwrite -n pl.client >>>>MSG<<<< ------ Pas assez de joueurs pour commencer le jeu ... ------ | return } sockwrite -n pl.client >>>>MSG<<<< ------ Le jeu commence ------ set %pl.morpion.dialogname pl.morpion.special sockwrite -n pl.client >>>>Game<<<< morpion start SPECIAL 15 6 %tp.pl.morpion.special.answer.nick pl.morpion.special } alias pl.game.morpion.com { if ($dialog($pl.morpion.dialogname) == $null) return if ($1 == num) { if ($4 == SPECIAL) set %pl.morpion.dialogname pl.morpion.special else set %pl.morpion.dialogname pl.morpion did -ra $pl.morpion.dialogname 101 Tour : set %tp.pl.num.inc 1 :num did -r $pl.morpion.dialogname %tp.pl.num.inc inc %tp.pl.num.inc if (%tp.pl.num.inc <= 9) goto num unset %tp.pl.num.inc set %pl.morpion.number $2 set %pl.morpion.mynumber $3 } elseif ($1 == goturn) { if ($2 == %pl.morpion.mynumber) did -ra $pl.morpion.dialogname 102 Vous jouez ! else did -ra $pl.morpion.dialogname 102 L'ennemi joue. } elseif ($1 == refresh) { set %tp.pl.morpion.com.refresh.inc 1 :refresh did -ra $pl.morpion.dialogname %tp.pl.morpion.com.refresh.inc $iif($right($gettok($2-,%tp.pl.morpion.com.refresh.inc,32),1) !isalpha, ,$right($gettok($2-,%tp.pl.morpion.com.refresh.inc,32),1)) inc %tp.pl.morpion.com.refresh.inc if (%tp.pl.morpion.com.refresh.inc <= $numtok($2-,32)) goto refresh } elseif ($1 == winner) { did -ra $pl.morpion.dialogname 101 Gagnant : if ($2 == %pl.morpion.mynumber) did -ra $pl.morpion.dialogname 102 Vous avez gagné ! else did -ra $pl.morpion.dialogname 102 L'ennemi a gagné ! } elseif ($1 == timeout) && (%pl.morpion.number == $2) { did -ra $pl.morpion.dialogname 101 Statut : did -ra $pl.morpion.dialogname 102 Timeout ! } elseif ($1 == players) dialog -t $pl.morpion.dialogname Partyline - Morpion - $2- } alias pl.morpion.dialogname return %pl.morpion.dialogname alias pl.morpion if ($dialog(pl.morpion) == $null) dialog -m pl.morpion pl.morpion | set %pl.morpion.dialogname pl.morpion dialog pl.morpion { title "Partyline - Morpion" size -1 -1 160 130 option dbu button "", 1, 15 30 20 20, multi flat button "", 2, 40 30 20 20, multi flat button "", 3, 65 30 20 20, multi flat button "", 4, 15 60 20 20, multi flat button "", 5, 40 60 20 20, multi flat button "", 6, 65 60 20 20, multi flat button "", 7, 15 90 20 20, multi flat button "", 8, 40 90 20 20, multi flat button "", 9, 65 90 20 20, multi flat text "Jeux de Morpion", 100, 10 5 40 8 text "Tour :", 101, 77 5 25 8 edit "Attente du numéro du jeu", 102, 105 4 45 10, read autohs text "Programmé par S4turn", 103, 105 120 55 8 box "", 104, 104 34 50 45 button "Un aut&re !!", 105, 110 40 37 12 button "&Fermer", 106, 110 60 37 12, ok } on *:DIALOG:pl.morpion:init:0:dialog -t $dname Partyline - Morpion - %tp.pl.morpion.nick on *:DIALOG:pl.morpion:sclick:*:{ if ($did > 0) && ($did < 100) sockwrite -n pl.client >>>>Game<<<< morpion turn %pl.morpion.number $did elseif ($did == 105) sockwrite -n pl.client >>>>Messenger<<<< MSG %tp.pl.morpion.nick !morpion } alias pl.morpion.special if ($dialog(pl.morpion.special) == $null) dialog -m pl.morpion.special pl.morpion.special | set %pl.morpion.dialogname pl.morpion.special dialog pl.morpion.special { title "Partyline - Morpion" size -1 -1 445 220 option dbu text "Jeux de Morpion - BIG édition", 100, 10 5 100 8 text "Tour :", 101, 347 5 25 8 edit "Attente du numéro du jeu", 102, 375 4 65 10, read autohs text "Programmé par S4turn", 103, 385 210 55 8 box "", 104, 389 34 50 45 button "Un aut&re !!", 105, 395 40 37 12 button "&Fermer", 106, 395 60 37 12, ok button "", 1, 10 30 20 20, flat multi button "", 2, 35 30 20 20, flat multi button "", 3, 60 30 20 20, flat multi button "", 4, 85 30 20 20, flat multi button "", 5, 110 30 20 20, flat multi button "", 6, 135 30 20 20, flat multi button "", 7, 160 30 20 20, flat multi button "", 8, 185 30 20 20, flat multi button "", 9, 210 30 20 20, flat multi button "", 10, 235 30 20 20, flat multi button "", 11, 260 30 20 20, flat multi button "", 12, 285 30 20 20, flat multi button "", 13, 310 30 20 20, flat multi button "", 14, 335 30 20 20, flat multi button "", 15, 360 30 20 20, flat multi button "", 16, 10 60 20 20, flat multi button "", 17, 35 60 20 20, flat multi button "", 18, 60 60 20 20, flat multi button "", 19, 85 60 20 20, flat multi button "", 20, 110 60 20 20, flat multi button "", 21, 135 60 20 20, flat multi button "", 22, 160 60 20 20, flat multi button "", 23, 185 60 20 20, flat multi button "", 24, 210 60 20 20, flat multi button "", 25, 235 60 20 20, flat multi button "", 26, 260 60 20 20, flat multi button "", 27, 285 60 20 20, flat multi button "", 28, 310 60 20 20, flat multi button "", 29, 335 60 20 20, flat multi button "", 30, 360 60 20 20, flat multi button "", 31, 10 90 20 20, flat multi button "", 32, 35 90 20 20, flat multi button "", 33, 60 90 20 20, flat multi button "", 34, 85 90 20 20, flat multi button "", 35, 110 90 20 20, flat multi button "", 36, 135 90 20 20, flat multi button "", 37, 160 90 20 20, flat multi button "", 38, 185 90 20 20, flat multi button "", 39, 210 90 20 20, flat multi button "", 40, 235 90 20 20, flat multi button "", 41, 260 90 20 20, flat multi button "", 42, 285 90 20 20, flat multi button "", 43, 310 90 20 20, flat multi button "", 44, 335 90 20 20, flat multi button "", 45, 360 90 20 20, flat multi button "", 46, 10 120 20 20, flat multi button "", 47, 35 120 20 20, flat multi button "", 48, 60 120 20 20, flat multi button "", 49, 85 120 20 20, flat multi button "", 50, 110 120 20 20, flat multi button "", 51, 135 120 20 20, flat multi button "", 52, 160 120 20 20, flat multi button "", 53, 185 120 20 20, flat multi button "", 54, 210 120 20 20, flat multi button "", 55, 235 120 20 20, flat multi button "", 56, 260 120 20 20, flat multi button "", 57, 285 120 20 20, flat multi button "", 58, 310 120 20 20, flat multi button "", 59, 335 120 20 20, flat multi button "", 60, 360 120 20 20, flat multi button "", 61, 10 150 20 20, flat multi button "", 62, 35 150 20 20, flat multi button "", 63, 60 150 20 20, flat multi button "", 64, 85 150 20 20, flat multi button "", 65, 110 150 20 20, flat multi button "", 66, 135 150 20 20, flat multi button "", 67, 160 150 20 20, flat multi button "", 68, 185 150 20 20, flat multi button "", 69, 210 150 20 20, flat multi button "", 70, 235 150 20 20, flat multi button "", 71, 260 150 20 20, flat multi button "", 72, 285 150 20 20, flat multi button "", 73, 310 150 20 20, flat multi button "", 74, 335 150 20 20, flat multi button "", 75, 360 150 20 20, flat multi button "", 76, 10 180 20 20, flat multi button "", 77, 35 180 20 20, flat multi button "", 78, 60 180 20 20, flat multi button "", 79, 85 180 20 20, flat multi button "", 80, 110 180 20 20, flat multi button "", 81, 135 180 20 20, flat multi button "", 82, 160 180 20 20, flat multi button "", 83, 185 180 20 20, flat multi button "", 84, 210 180 20 20, flat multi button "", 85, 235 180 20 20, flat multi button "", 86, 260 180 20 20, flat multi button "", 87, 285 180 20 20, flat multi button "", 88, 310 180 20 20, flat multi button "", 89, 335 180 20 20, flat multi button "", 90, 360 180 20 20, flat multi } on *:DIALOG:pl.morpion.special:init:0:dialog -t $dname Partyline - Morpion - %tp.pl.morpion.nick ; | :loop | .timer 1 0 did -ra $dname %tp.pl.morpion.inc %tp.pl.morpion.inc | inc %tp.pl.morpion.inc | if (%tp.pl.morpion.inc <= 90) goto loop | unset %tp.pl.morpion.inc on *:DIALOG:pl.morpion.special:sclick:*:{ if ($did > 0) && ($did < 100) sockwrite -n pl.client >>>>Game<<<< morpion turn %pl.morpion.number $did elseif ($did == 105) pl.morpion.special.request }