MASS MODES

Panthouffle Messages postés 281 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 14 avril 2008 - 15 févr. 2007 à 12:53
hisoka2501 Messages postés 264 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 7 juillet 2009 - 12 avril 2007 à 12:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41478-mass-modes

hisoka2501 Messages postés 264 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 7 juillet 2009
12 avril 2007 à 12:00
même remarque que toffu:
de plus la tu met mode +ooooo même si une seule personne est a oper, tu pourrais faire un truc qui met le bon nombre

genre:
$iif($numtok($2-,32) <= $modespl,$v1,$modespl)

de plus évite les goto, préfere un while bien pensé qui sera bien plus rapide, en mirc script le goto c'est le mal
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
15 févr. 2007 à 23:00
tu devrais utiliser $modespl .. et tu devrais prendre $strip($1) sinon un mec qui écrit avec de la couleur (style la première lettre en gras d'une couleur, et le reste d'une autre couleur) ça marchera pas il me semble.

d'autre part, il me semblerait judicieux de mettre $1 et $2 dans des variables locales histoire de ne pas avoir à faire plein d'évaluations..

et au niveau de la syntaxe il serait aussi judicieux d'utiliser des "else if" tout simplement parce que présentement si tu ne mets que des "if" ça va faire une évaluation séquentielle et donc même si le "if" du "!op" est déclenché il va évaluer les autres "if" pour voir si $1 n'est pas par hasard égal = "!voice" "!devoice" etc... (inutile de tester des cas qui n'arriveront pas)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
15 févr. 2007 à 19:01
C'est pas tres bien codé...

Comme l'a dis Panthouffle :
if ($2 == $null) se simplifie souvent par if (!$2) et
if ($2 != $null) se simplifie souvent par if ($2)
a condition que $2 sois différent de 0 et de $false

Ton code ne gère pas le $modespl qui retourne le nombre maximum de mode qui peux etre mis en meme temps par le server.

Oublie les goto et utilise les boucles while
On est pas tous sur quakenet donc S Q et tout la clique, ca saute :).Au pire fait une liste de pseudo a exclure

il manque les !halfop +h -h et !dehalfop

Et avant de posté, si t'avais fais un tour sur les sources du meme genre, tu aurais lu excatement les meme commentaires, et tu aurais ( j'espere ? ) corriger ca avant.

L'idée du $protect est pas con :)
Panthouffle Messages postés 281 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 14 avril 2008
15 févr. 2007 à 12:53
salut, j'ai pas trop le temps de regarder le code ce matin mais voici s'que j'ai vu à première vue :

if ($2 == $null) -> if (!$2)

pour oper plus que 6 personne tu peux vérifier combien de personnes il y a dans ta var %n et ensuite donner le bon nombre de o (dans +o) -> $+(+, $str(o, $numtok(%n,32))) même chose pour le voice etc
comme ca ca t'éviteras les boucle goto

Bonne chance
Rejoignez-nous