Il permet de gline shun gzline rapidementa avec alias/inputs/popups testé sur Unrealircd
Source / Exemple :
;~~~ Alias ~~~
alias gl {
if ( $$1 != $null ) {
set %gl. [ $+ [ $1 ] ] oui
if ( $2 == $null ) {
set %gl.temps. [ $+ [ $1 ] ] %GlineInstTime
}
else {
set %gl.temps. [ $+ [ $1 ] ] $2
}
if ( $3 == $null ) {
set %gl.raison. [ $+ [ $1 ] ] No reason.
}
else {
set %gl.raison. [ $+ [ $1 ] ] $3-
}
userhost $1
}
}
alias shu {
if ( $$1 != $null ) {
set %shu. [ $+ [ $1 ] ] oui
if ( $2 == $null ) {
set %shu.temps. [ $+ [ $1 ] ] %GlineInstTime
}
else {
set %shu.temps. [ $+ [ $1 ] ] $2
}
if ( $3 == $null ) {
set %shu.raison. [ $+ [ $1 ] ] No reason
}
else {
set %shu.raison. [ $+ [ $1 ] ] $3-
}
userhost $1
}
}
alias gz {
if ($$1 != $null) {
set %gz. [ $+ [ $1 ] ] oui
if ($2 == $null) {
set %gz.temps. [ $+ [ $1 ] ] %GlineInstTime
}
else {
set %gz.temps. [ $+ [ $1 ] ] $2
}
if ( $3 == $null ) {
set %gz.raison. [ $+ [ $1 ] ] No reason
}
else {
set %gz.raison. [ $+ [ $1 ] ] $3-
}
userhost $1
}
}
alias ki {
kill $$1-
}
on *:input:*: {
if ( $1 == !kill ) || ( $1 == .kill ) {
if ( $3 == $null ) { kill $2 No reason }
if ( $3 != $null ) { kill $$2 $3- }
}
if ( $1 == !gline ) || ( $1 == .gline ) || ( $1 == .gl ) || ( $1 == !gl ) {
if ( $$2 != $null ) {
set %gl. [ $+ [ $2 ] ] oui
if ( $3 == $null ) {
set %gl.temps. [ $+ [ $2 ] ] %GlineInstTime
}
else {
set %gl.temps. [ $+ [ $2 ] ] $3
}
if ( $4 == $null ) {
set %gl.raison. [ $+ [ $2 ] ] No reason
}
else {
set %gl.raison. [ $+ [ $2 ] ] $4-
}
userhost $2
}
}
if ( $1 == !shun ) || ( $1 == .shun ) || ( $1 == .sh ) || ( $1 == !sh ) {
if ( $$2 != $null ) {
set %shu. [ $+ [ $2 ] ] oui
if ( $3 == $null ) {
set %shu.temps. [ $+ [ $2 ] ] %GlineInstTime
}
else {
set %shu.temps. [ $+ [ $2 ] ] $3
}
if ( $4 == $null ) {
set %shu.raison. [ $+ [ $2 ] ] No reason
}
else {
set %shu.raison. [ $+ [ $2 ] ] $4-
}
userhost $2
}
}
if ( $1 == !gzline ) || ( $1 == .gzline ) || ( $1 == .gz ) || ( $1 == !gz ) {
if ($$2 != $null) {
set %gz. [ $+ [ $2 ] ] oui
if ($3 == $null) {
set %gz.temps. [ $+ [ $2 ] ] %GlineInstTime
}
else {
set %gz.temps. [ $+ [ $2 ] ] $3
}
if ( $4 == $null ) {
set %gz.raison. [ $+ [ $2 ] ] No reason
}
else {
set %gz.raison. [ $+ [ $2 ] ] $4-
}
userhost $2
}
}
}
;~~~ Raws ~~~
raw 302:*:{
var %temp.ban $gettok($2,1,61)
if ($right(%temp.ban,1) == $chr(42)) set %temp.ban $left(%temp.ban, $calc($len(%temp.ban) - 1))
if ( %gl. [ $+ [ %temp.ban ] ] == oui ) {
gline $+(*@,$gettok($2,2,64)) %gl.temps. [ $+ [ %temp.ban ] ] $+(:,%gl.raison. [ $+ [ %temp.ban ] ] ) ( $me )
unset %gl. [ $+ [ %temp.ban ] ]
unset %gl.temps. [ $+ [ %temp.ban ] ]
unset %gl.raison. [ $+ [ %temp.ban ] ]
halt
}
elseif ( %shu. [ $+ [ %temp.ban ] ] == oui ) {
shun $+(*@,$gettok($2,2,64)) %shu.temps. [ $+ [ %temp.ban ] ] $+(:,%shu.raison. [ $+ [ %temp.ban ] ] ) ( $me )
unset %shu. [ $+ [ %temp.ban ] ]
unset %shu.temps. [ $+ [ %temp.ban ] ]
unset %shu.raison. [ $+ [ %temp.ban ] ]
halt
}
elseif ( %gz. [ $+ [ %temp.ban ] ] == oui ) {
gzline $+(*@,$gettok($2,2,64)) %gz.temps. [ $+ [ %temp.ban ] ] $+(:,%gz.raison. [ $+ [ %temp.ban ] ] ) ( $me )
unset %gz. [ $+ [ %temp.ban ] ]
unset %gz.temps. [ $+ [ %temp.ban ] ]
unset %gz.raison. [ $+ [ %temp.ban ] ]
halt
}
}
;~~~ Remotes ~~~
on *:load:{
echo -a Tu viens de loader la remote Gline - Shun - Gzline crée par Undz.
echo -a Les commandes ( Les mots entre crochets sont facultatifs. ) :
echo -a Gline : !gl/.gl/!gline/.gline Pseudo [Durée] [Raison]
echo -a Shun: !sh/!shun/.sh/.shun Pseudo [Durée] [Raison]
echo -a Gzline: !gz/.gz/.gzline/!gzline Pseudo [Durée] [Raison]
set %GlineInstTime $$?="Temps par default pour un gline/shun/gzline instantané : $crlf ( format : 1w2d3h4s = 1semaine 2jours 3heures 4secondes )"
}
;~~~ Popups ~~~
menu nicklist {
$iif( o isin $usermode , - )
$iif( o isin $usermode , Opers Cmds )
.kill
..Sans raison:/kill $$1 No reason
..Avec raison:/kill $$1 $$?="Raison :"
.shun
..Instantané ( %GlineInstTime ):/shu $$1
..Instantané avec durée:/shu $$1 $$?="Durée ( dhms ) :"
.gline
..Instantané ( %GlineInstTime ):/gl $$1
..Instantané avec durée:/gl $$1 $$?="Durée ( dhms ) :"
.gzline
..Instantané ( %GlineInstTime ):/gz $$1
..Instantané avec durée:/gz $$1 $$?="Durée ( dhms ) :"
}
20 juin 2004 à 19:03
L'interet c'est que ça te serve dans un prochain code. Ceci dit tu devrais modifier celui la en tenant compte des commentaires sur la page. Quand je debutais je passais ici pour voir des codes et de temps en temps je prenais de mauvais exemples ou des syntaxes incorrectes. Pense a ceux qui veulent apprendre montre leur du CODE ;)
(n'oublie pas de mettre ton addon a jour, ça voudrait dire que j'ai réflechis pour rien)
20 juin 2004 à 15:48
Je recherche kk1 qui s'y connait en tcl pour un renseignement... contacté moi ici :)
20 juin 2004 à 00:02
prochaine étape le DIALOGUE :)
19 juin 2004 à 23:58
ça ne serait pas négligeable.
sinon quand tu fait :
unset %gl. [ $+ [ %temp.ban ] ]
les crochets sont inutiles : unset %gl. $+ %temp.ban
c'est pareil pour les set :
set %gz.temps. [ $+ [ $2 ] ] $3
deviens : set %gz.temps. $+ $2 $3
les crochets d'évaluations, ne servent que si tu veux "évaluer" la variable :
if ( %gl. [ $+ [ %temp.ban ] ] = blabla ) { instruction }
parait que moins de caractere donne un code plus rapide c'est a toi de voir.
autre astuce sympa j'ai vu que tu fais :
unset %shu. [ $+ [ %temp.ban ] ]
unset %shu.temps. [ $+ [ %temp.ban ] ]
unset %shu.raison. [ $+ [ %temp.ban ] ]
tu pourrais etre plus "efficace" en faisant :
unset %shu.*
ça va supprimer toutes les variables commençant pas %shu.
encore une astuce (vu que tu debutes tu dois demander que ça :) )
tu tapes ça dans le on *:input:
if ( $1 !gline ) || ( $1 .gline ) || ( $1 == .gl ) || ( $1 == !gl ) { ... }
deja mettre le == c'est pas courant. Je dirais pas que ça sert a rien mais je l'utilise jamais. chez moi ça aurait donné ça :
if ($1 !gline) || ($1 .gline) || ($1 = .gl) || ($1 = !gl) { ... }
mais on peut faire encore mieux que ça
regarde :
on *:input:*: {
var %k !kill .kill,%g !gline !gl .gline .gl,%s = !shun .shun .sh !sh,%gz = !gzline .gzline !gz .gz
if ($findtok(%k,$1,1,32)) { ... }
elseif ($findtok(%g,$1,1,32)) { ... }
elseif ($findtok(%s,$1,1,32)) { ... }
elseif ($findtok(%gz,$1,1,32)) { ... }
}
Comme ça on fait un seul test grace a $findtok ki regarde si $1 est dans les parametres qui déclenches patati patata :) ...
De surcroit on est plus rapide car ton code verfiait tous les if de l'evenement input.
Dans mon cas grace au elseif une fois la condition rencontrée les autres ne sont ne sont pas testée d'ou un serieu gain de temps.
ce que je ne comprend pas c'est que tu sembles maitriser cette syntaxe dans le raws ... mais autant répéter on sera sur que tu ai compris.
Bref mon commentaire commence a etre long je vais m'arreter la si j'ai des idées je te ferais signe une autre fois
19 juin 2004 à 18:54
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.