WORLDDMT WPASS V 1.2 - UN GENERATEUR DE PASSE PAR MOT
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 2009
-
12 août 2008 à 23:35
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 2012
-
15 août 2008 à 16:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 15 août 2008 à 16:04
ok je met a jour alors V 1.2
merci pour tout Wims ça été bien benefique ^^
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 15 août 2008 à 15:55
Ah, nan, le seul truc qui ressemble a ça c'est $disk, mais tu n'as pas besoin de tout ça...
Tu te prend la tête pour rien, le but est de faire partager ton code, pas de faire un tuto sur comment chargé un fichier.Je n'ai personnelement jamais utilisé //load -rs pour chargé un fichier, donc le mettre ne sert a rien du tout.Les personne qui vont testé ton code savent très bien chargé un fichier, laisse les donc le chargé comme il veulent, précise simplement quels sont les fichiers a charger.
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 15 août 2008 à 15:45
lol :p ok ^^
je demandais comme il y a $findfile(c:\,wpass.data,1)
esqu'il y a un identificateur qui remplace le "c:" pour ne pas precisé rien que c:\ que ça peut etre c:\ d:\ ou autre
car c'est un fichier dans un dossier qui s'appel "WorldDMT Wpass V 1.0"
donc si on met load -rs $qt($findfile($mircdir,wpass.data,1)) le dossier doit forcement etre dans le dossier mIRC
si c'est pas dans le dossier mIRC on ne peu pas utilisé l'identificateur "$mircdir"
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 15 août 2008 à 15:31
La différence, c'est que l'alias va t'éviter de répété $qt($scriptdir....) a chaque fois, ça permet d'être plus clair, mais sinon, ya pas de différence, mettre a chaque coup le $qt($scriptdir..) fonctionnera pareil.
"et ya pas un identificateur de system entier (c:\,d:\,ect.) pour utilisé juste pour load?"
je n'ai pas compris lol,
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 15 août 2008 à 15:25
et c'est quoi la differance avec ou sans alias stp?
et ya pas un identificateur de system entier (c:\,d:\,ect.)
pour utilisé juste pour load?
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 15 août 2008 à 14:38
Exact, mais tu ne doit pas utiliser la variable %code, c'est moche d'utiliser une variable local pour ça, tu doit juste spécifié le path a chaque fois que tu veux accédé a tes fichiers.Une chose que font beaucoup de personnes, c'est de crée des alias locaux pour ça, du style :
alias -l wpass return $qt($scriptdirwpass.data)
et ensuite par exemple :
.unload -rs $wpass
Et pour le load de la première fois, moi je spécifie simplement les fichiers a chargés, j'estime que celui qui viens prendre des codes ici a un minimum de connaissance et qu'il s'est chargé un fichier tout seul.
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 15 août 2008 à 14:24
ok je vois
la variable "%code" est set quand on load le code donc le $scriptdir doit etre
set %code $scriptdircode.data
et pour le unload du code
unload -rs $qt($scriptdirwpass.data)
pour le load il y a une solution plus simple
ou si non load -rs (localisation a trouvé par l'utilisateur)
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 15 août 2008 à 13:56
Le but est que donc code soit accessible a tous, je n'ai pas testé, mais je pense que chez moi, il mettra facilement + de 30 seconde a trouvé le fichier.En revanche, tu n'as pas a te préoccuper ou l'user met son code, ne dis pas "non on s'en fou de $scriptdir", c'est oui, je vais utiliser $scriptdir que tu doit dire.Tu doit simplement dire de mettre le dossier nimporte ou, et de loadez les fichiers nécéssaire, après ton code doit géré les problèmes de repertoire.Ne te préoccupe pas du fait que l'user puisse déplacer le repertoire, si il le fait, c'est a lui d'unload et de reload les fichiers nécéssaire depuis le nouveau repertoire.
Pour le %i, on s'en fou que tu le remette a 1 après, dans l'ordre du code, tu fait //var %i, ce qui déclare que %i est locale, et ensuite tu lui assigne la valeur 0 pour la boucle, tu peux directement faire //var %i 0, ça sauve une ligne de code et quelque caractères.
Pour les crochets, je viens de faire un benchmark, il s'avère que j'avais bien faux comme il faut, les crochets sont largement plus rapide que $eval, ça me semble bizarre, mais bon laisse donc les crochets ^^
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 15 août 2008 à 12:35
ça va dejà pour while au lieu de
while (%k !11) var %k %k + 1 ,%final = %final $readini(%code,code,$ [ $+ [ %k ] ])
c'est plutot
while (%k !11) var %final %final $readini(%code,code,$ [ $+ [ %k ] ]),%k = %k + 1
j'avais pas fais attention que le inc etait apres le %final :p mais ça va dejà
pareil pour
while (%i !31) var %r %r $+ $chr($ [ $+ [ %i ] ]),%i = %i + 1
j'attend la suite sur les crochets pour mettre le code a jour
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 15 août 2008 à 11:53
Salut Wims
dejà merci d'avoir eus le temp de regarder mon code et me corriger
"si mirc est installé dans nimporte quel autre repertoire que c:\, on est bien baisé ^^"
j'avais précisé dans la conclusion de mettre dans "C:" avant l'installation
pour ".unload -rs $shortfn($findfile(C:\,wpass.data,1))"
quand j'avais testé le code etait dans un dossier dans le bureau ça freeze mais pas 30 min je ne sais pas si chez d'autre ça doit freezé autant, mais ça freese pour quelque petites secondes a peut pres 3 a 5 sec. rien que
bref le but etait, si par hazar il avait le script dans "bureau" et il decide de le mettre dans un dossier a part comme menage de son bureau ou autre pour que ça trouve le script et ça peut etre aussi comme tu dis "load/unload -rs $qt($findfile(c:\,wpass.data,1))"
mais je me rend compte d'apres ton commentaire qui m'a attiré l'attention que ça change rien :)
j'avais juste mis pour apprendre quelque chose, mais bon meme si on fait $findfile sur load et qu'il change l'emplacement du code, il va plus fonctionné alors ça vaut pas la peine xp
donc conclusion je constate ma faute, c'est que le script doit etre dans le reperatoire mIRC pas besoin de casse tete avec findfile ou scriptdir ;)
pour le menu "channel" oui t'a raison chan n'a pas de place, j'ai jamais fais attention mais c'est pas bien de mettre channel si non le menu channel ne fonctionne que sur l'addon et c'est pas bien alors ça doit etre "menu status,nicklist,menubar {"
pour
"Je ne sais pas ou est ta logique :p :
var %final,%k,%i,%r,%rr
%i = 0"
j'ai 2 %i, c'est pourquoi j'ai mis %i 0 ensuite un peu plus bas j'ai mis %i 1 pour ne pas mettre 2 fois var %i
pour le while c'est cool mais ça marche rien que sur la premiere :/
j'ai essayé de faire avec
while (%k !11) var %k %k + 1 ,%final = %final $readini(%code,code,$ [ $+ [ %k ] ])
et a partir d'ici je ne sais pas si j'ai fais quelque chose de mal mais ça marche plus :/
j'ai pas trop compris pour les crochets :/ je peux utilisé $eval comment dans ce cas stp?
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 14 août 2008 à 20:29
Personne n'a parlé de ça, j'suis choqué :
.unload -rs $shortfn($findfile(C:\,wpass.data,1))
J'sais pas si c'est une blague, mais le temps que le $findfile trouve le fichier, mirc est en plein freeze, et personne n'a envie d'attendre 30 minutes avant que mirc redevienne normal et que ton code soit unloadé.Je me permet aussi de dire que si mirc est installé dans nimporte quel autre repertoire que c:\, on est bien baisé ^^, on se mange le freeze de 30 minutes, plus une erreur a la fin, et plus un code non unloadé...D'autant plus que %code retourne la valeur de ce $findfile :
on *:load:iwp | set %code $shortfn($findfile(C:\,code.data,1))
Ce que je veux dire, c'est que tu ne doit pas forcé les users a mettre ton code qqpart, ils doivent pouvoir le mettre nimporte ou, et ton code doit fonctionner..., utilise $qt($scriptdir) ou $shortfn($scriptdir) dès qu'il y a une histoire de chemin :)
menu status,nicklist,menubar,chan {
Je n'ai pas testé mais d'après moi, chan ne marche pas, c'est channel qu'il faut mettre (pas très gênant)
Je ne sais pas ou est ta logique :p :
var %final,%k,%i,%r,%rr
%i = 0
Pourquoi ne pas mettre %i a 0 dans la première déclaration ?
Plusieurs petit conseil :
Dans les boucles, évite le plus possible d'utilisé des identifieurs dans la condition car cette condition est réévaluer a chaque coup, donc a chaque coup il doit cherché la valeur de l'identifieur, ce qui fait perdre plus ou moins de temps, selon la boucle, moi je n'enleve également jamais les parnthèses autour des conditions, mais là je ne suis pas sur de l'efficacité, donc c'est pas forcément un tort.
Dans cette boucle là par exemple :
# while $len($1) != %i {
# inc %i
# %rr = $+($iif(%rr,%rr $+ .),$asc($right($1,%i)))
# }
tu fait deux opération, un /inc et tu set une var.Un /inc, c'est un bete calcul, de %lavar + 1, càd que ici, tu peux tout faire en une seul fois :#while ($len($1) !%i) var %i %i + 1 ,%rr = $+($iif(%rr,%rr $+ .),$asc($right($1,%i)))
ça te fait qu'une seul command dans la boucle :)
Les crochets d'évaluations [ ], c'est lent, très lent, ce n'est pas la même chose que $eval, et il faut éviter de les utilisé (notamment dans une boucle).Attention, je ne te force pas a ne pas les utiliser, c'est un conseil.
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 14 août 2008 à 13:58
je crois que tu as vraiment du mal à comprendre ce que je veux dire par là ... ma version est l'équivalent de ce qu'a envoyé PaDa et mon commentaire n'était adressé qu'à lui (cf sa reflexion à propos des tokens).
Je n'ai rien dit sur ton code alors arrête d'imaginer des trucs :/
"tu poste pourquoi alors? puisque tu ne sais pas de quoi il s'agit!!"
=> je poste pour PaDa. Effectivement, je ne sais pas de quoi il s'agit mais je n'ai pas besoin de le savoir pour écrire mon commentaire.
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 13 août 2008 à 21:07
Arkanis
"Ce n'est pas que je n'ai pas le temps de poster, c'est plutôt que je n'ai pas le temps de lire et d'analyser le code"
tu poste pourquoi alors? puisque tu ne sais pas de quoi il s'agit!!
bref j'ai testé ce que tu a proposé et ça marche pas
si tu ne crois pas tu sera embeté a testé toi meme sur mon code
normalement c'est logique mais PADA avait essayé et ça ne marchait pas c'est pourquoi il a retiré je ne sais pas pourquoi ça marche pas
c'est bien d'etre simple nico, peut etre le but du code ne te plais pas mais j'ai codé mieu que plein de gens qui postent ici ça merite quand meme regarder
surtout pour mes derniers codes j'ai fais ce que j'ai apris des enciens commentaires
je suis là pour ça pour aprendre plus
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 13 août 2008 à 19:51
ça fonctionne très bien :
//var %f, %t = 1 | while (%t <= 10) { var %f = $instok(%f,%t,0,32) | inc %t } | echo -a k %f
en tout cas, la 2e version est fausse, c'est clair et net.
Ce n'est pas que je n'ai pas le temps de poster, c'est plutôt que je n'ai pas le temps de lire et d'analyser le code
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 13 août 2008 à 19:10
t'a pas le temp ne poste pas nico et pour ton $instok je demandais juste pour me rasurer parceque ça ne marche pas sauf si j'ai mal mis alors selon le com de PADA
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 13 août 2008 à 16:22
- KhaVv :"oué je vois pas trop d'utilité a ce code"
tu ne peux jamais donner un avis utile toi ? :)
dans tout tes commentaires rien d'utile
j'ai bien precisé que je ne cherche pas a faire quelque choses de special mais je cherche a presenté un code bien fait et si a ameliorer et apprendre plus de choses si tu ne trouve pas d'utilité t'es pas obligé d'utilisé :)
- Arkanis :"j'ai pas regardé le code " si tu regarde et tu trouve d'autre choses a amelioré ça m'aidera plus bro mon but c'est de voir le codage
merci
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 13 août 2008 à 14:43
PaDa => utilise $instok(%final,$readini(%code,code,$ [ $+ [ %k ] ]),0,32)
sinon bah j'ai pas regardé le code ... j'ai pas la motiv.
KhaVv
Messages postés9Date d'inscriptionmardi 1 juillet 2008StatutMembreDernière intervention19 septembre 2008 13 août 2008 à 14:34
oué je vois pas trop d'utilité a ce code mais bon sa ne regarde que moi..
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 13 août 2008 à 11:30
bon j'ai changé ce qu'on a discuté avant, et j'ai regroupé le variables dans "rnd"
et pour l'installation "Conclusion"
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 13 août 2008 à 09:48
bonjour
ok je vois donc ça fait comme le var %r = %r $+ $chr($ [ $+ [ %i ] ]) :)
j'aurai dus pensé a ça aussi
mise a jour tout de suite
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 13 août 2008 à 08:31
Pour simplifier, vu que tu ne te ressers pas des %V.* :
Et pour ton %rr, je retire ce que j'ai dit à propos des tokens, j'ai parlé trop vite : un $addtok ne rajoutera pas si le token est déjà présent, donc ca ne ferait pas la même chose.
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 13 août 2008 à 00:32
salut PADA
j'ai pas trouvé un moyen plus simple que ça
si tu regarde a la fin tu trouve %final ça regroupe les autres
dejà le mot est traduit en numero caracteres ascii sou forme NN.NN.NN.NN
donc $iif(%rr,%rr $+ .,) si "%rr = $true" il set "%rr $+ ." si non j'ai rien mis pour ne pas avoir un "." au debut mais bon je ne savais pas qu'on pouvait enlevé la "," merci
alors en prend tokenize 46 chaque num a 3 numeros dans le fichier.data qui sera dans %final sous forme NN NN NN NN
a sont tour il va reprendre un autre tokenize 32 pour traduir a sont tour les num en caracteres a fin d'avoir le nouveau mot de passe complexe
pour le set t'ai aussi raison j'avais mis juste pour voir ce que ça donne comme resultat de temp en temp quand je testais encore j'ai ajouté sur la variable local alors ça set plus global je vais changer ça aussi
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 12 août 2008 à 23:35
Petit commentaire après avoir lu le code en diagonale :
var %V.A $readini(%code,code,$1),%V.B $readini(%code,code,$2),%V.C $readini(%code,code,$3)
var %V.D $readini(%code,code,$4),%V.E $readini(%code,code,$5),%V.F $readini(%code,code,$6)
var %V.G $readini(%code,code,$7),%V.H $readini(%code,code,$8),%V.I $readini(%code,code,$9)
var %V.J $readini(%code,code,$10),%final %V.A %V.B %V.C %V.D %V.E %V.F %V.G %V.H %V.I %V.J,%i 1
Ca c'est un truc qui va me faire faire des cauchemars je crois ;-) Tu devrais trouver un moyen de le simplifier.
Sinon :
set %rr $+($iif(%rr,%rr $+ .,),$asc($right($1,%i)))
A vue de nez tu dois pouvoir faire des tokens non ? Le "$iif(%rr,%rr $+ .,)" (déjà la dernière virgule n'est pas utile) est typique d'une non-utilisation des tokens. Et pourquoi un "set" à cet endroit au lieu d'un "%rr = %rr $+ etc." ? Je ne sais pas si ça fait une différence vue que tu l'as déclarée comme locale avant...
Sinon j'aime bien le principe de la passphrase (on appelle ça comme ça en Linux ou pour d'autres applications) : de retenir un truc simple mais d'avoir au final un mot de passe ou une clé compliquée vis-à-vis de l'extérieur.
15 août 2008 à 16:04
merci pour tout Wims ça été bien benefique ^^
15 août 2008 à 15:55
Tu te prend la tête pour rien, le but est de faire partager ton code, pas de faire un tuto sur comment chargé un fichier.Je n'ai personnelement jamais utilisé //load -rs pour chargé un fichier, donc le mettre ne sert a rien du tout.Les personne qui vont testé ton code savent très bien chargé un fichier, laisse les donc le chargé comme il veulent, précise simplement quels sont les fichiers a charger.
15 août 2008 à 15:45
je demandais comme il y a $findfile(c:\,wpass.data,1)
esqu'il y a un identificateur qui remplace le "c:" pour ne pas precisé rien que c:\ que ça peut etre c:\ d:\ ou autre
car c'est un fichier dans un dossier qui s'appel "WorldDMT Wpass V 1.0"
donc si on met load -rs $qt($findfile($mircdir,wpass.data,1)) le dossier doit forcement etre dans le dossier mIRC
si c'est pas dans le dossier mIRC on ne peu pas utilisé l'identificateur "$mircdir"
15 août 2008 à 15:31
"et ya pas un identificateur de system entier (c:\,d:\,ect.) pour utilisé juste pour load?"
je n'ai pas compris lol,
15 août 2008 à 15:25
et ya pas un identificateur de system entier (c:\,d:\,ect.)
pour utilisé juste pour load?
15 août 2008 à 14:38
alias -l wpass return $qt($scriptdirwpass.data)
et ensuite par exemple :
.unload -rs $wpass
Et pour le load de la première fois, moi je spécifie simplement les fichiers a chargés, j'estime que celui qui viens prendre des codes ici a un minimum de connaissance et qu'il s'est chargé un fichier tout seul.
15 août 2008 à 14:24
la variable "%code" est set quand on load le code donc le $scriptdir doit etre
set %code $scriptdircode.data
et pour le unload du code
unload -rs $qt($scriptdirwpass.data)
pour le load il y a une solution plus simple
ou si non load -rs (localisation a trouvé par l'utilisateur)
15 août 2008 à 13:56
Pour le %i, on s'en fou que tu le remette a 1 après, dans l'ordre du code, tu fait //var %i, ce qui déclare que %i est locale, et ensuite tu lui assigne la valeur 0 pour la boucle, tu peux directement faire //var %i 0, ça sauve une ligne de code et quelque caractères.
Pour les crochets, je viens de faire un benchmark, il s'avère que j'avais bien faux comme il faut, les crochets sont largement plus rapide que $eval, ça me semble bizarre, mais bon laisse donc les crochets ^^
15 août 2008 à 12:35
while (%k !11) var %k %k + 1 ,%final = %final $readini(%code,code,$ [ $+ [ %k ] ])
c'est plutot
while (%k !11) var %final %final $readini(%code,code,$ [ $+ [ %k ] ]),%k = %k + 1
j'avais pas fais attention que le inc etait apres le %final :p mais ça va dejà
pareil pour
while (%i !31) var %r %r $+ $chr($ [ $+ [ %i ] ]),%i = %i + 1
j'attend la suite sur les crochets pour mettre le code a jour
15 août 2008 à 11:53
dejà merci d'avoir eus le temp de regarder mon code et me corriger
"si mirc est installé dans nimporte quel autre repertoire que c:\, on est bien baisé ^^"
j'avais précisé dans la conclusion de mettre dans "C:" avant l'installation
pour ".unload -rs $shortfn($findfile(C:\,wpass.data,1))"
quand j'avais testé le code etait dans un dossier dans le bureau ça freeze mais pas 30 min je ne sais pas si chez d'autre ça doit freezé autant, mais ça freese pour quelque petites secondes a peut pres 3 a 5 sec. rien que
bref le but etait, si par hazar il avait le script dans "bureau" et il decide de le mettre dans un dossier a part comme menage de son bureau ou autre pour que ça trouve le script et ça peut etre aussi comme tu dis "load/unload -rs $qt($findfile(c:\,wpass.data,1))"
mais je me rend compte d'apres ton commentaire qui m'a attiré l'attention que ça change rien :)
j'avais juste mis pour apprendre quelque chose, mais bon meme si on fait $findfile sur load et qu'il change l'emplacement du code, il va plus fonctionné alors ça vaut pas la peine xp
donc conclusion je constate ma faute, c'est que le script doit etre dans le reperatoire mIRC pas besoin de casse tete avec findfile ou scriptdir ;)
pour le menu "channel" oui t'a raison chan n'a pas de place, j'ai jamais fais attention mais c'est pas bien de mettre channel si non le menu channel ne fonctionne que sur l'addon et c'est pas bien alors ça doit etre "menu status,nicklist,menubar {"
pour
"Je ne sais pas ou est ta logique :p :
var %final,%k,%i,%r,%rr
%i = 0"
j'ai 2 %i, c'est pourquoi j'ai mis %i 0 ensuite un peu plus bas j'ai mis %i 1 pour ne pas mettre 2 fois var %i
pour le while c'est cool mais ça marche rien que sur la premiere :/
j'ai essayé de faire avec
while (%k !11) var %k %k + 1 ,%final = %final $readini(%code,code,$ [ $+ [ %k ] ])
et a partir d'ici je ne sais pas si j'ai fais quelque chose de mal mais ça marche plus :/
j'ai pas trop compris pour les crochets :/ je peux utilisé $eval comment dans ce cas stp?
14 août 2008 à 20:29
.unload -rs $shortfn($findfile(C:\,wpass.data,1))
J'sais pas si c'est une blague, mais le temps que le $findfile trouve le fichier, mirc est en plein freeze, et personne n'a envie d'attendre 30 minutes avant que mirc redevienne normal et que ton code soit unloadé.Je me permet aussi de dire que si mirc est installé dans nimporte quel autre repertoire que c:\, on est bien baisé ^^, on se mange le freeze de 30 minutes, plus une erreur a la fin, et plus un code non unloadé...D'autant plus que %code retourne la valeur de ce $findfile :
on *:load:iwp | set %code $shortfn($findfile(C:\,code.data,1))
Ce que je veux dire, c'est que tu ne doit pas forcé les users a mettre ton code qqpart, ils doivent pouvoir le mettre nimporte ou, et ton code doit fonctionner..., utilise $qt($scriptdir) ou $shortfn($scriptdir) dès qu'il y a une histoire de chemin :)
menu status,nicklist,menubar,chan {
Je n'ai pas testé mais d'après moi, chan ne marche pas, c'est channel qu'il faut mettre (pas très gênant)
Je ne sais pas ou est ta logique :p :
var %final,%k,%i,%r,%rr
%i = 0
Pourquoi ne pas mettre %i a 0 dans la première déclaration ?
Plusieurs petit conseil :
Dans les boucles, évite le plus possible d'utilisé des identifieurs dans la condition car cette condition est réévaluer a chaque coup, donc a chaque coup il doit cherché la valeur de l'identifieur, ce qui fait perdre plus ou moins de temps, selon la boucle, moi je n'enleve également jamais les parnthèses autour des conditions, mais là je ne suis pas sur de l'efficacité, donc c'est pas forcément un tort.
Dans cette boucle là par exemple :
# while $len($1) != %i {
# inc %i
# %rr = $+($iif(%rr,%rr $+ .),$asc($right($1,%i)))
# }
tu fait deux opération, un /inc et tu set une var.Un /inc, c'est un bete calcul, de %lavar + 1, càd que ici, tu peux tout faire en une seul fois :#while ($len($1) !%i) var %i %i + 1 ,%rr = $+($iif(%rr,%rr $+ .),$asc($right($1,%i)))
ça te fait qu'une seul command dans la boucle :)
Les crochets d'évaluations [ ], c'est lent, très lent, ce n'est pas la même chose que $eval, et il faut éviter de les utilisé (notamment dans une boucle).Attention, je ne te force pas a ne pas les utiliser, c'est un conseil.
14 août 2008 à 13:58
Je n'ai rien dit sur ton code alors arrête d'imaginer des trucs :/
"tu poste pourquoi alors? puisque tu ne sais pas de quoi il s'agit!!"
=> je poste pour PaDa. Effectivement, je ne sais pas de quoi il s'agit mais je n'ai pas besoin de le savoir pour écrire mon commentaire.
13 août 2008 à 21:07
"Ce n'est pas que je n'ai pas le temps de poster, c'est plutôt que je n'ai pas le temps de lire et d'analyser le code"
tu poste pourquoi alors? puisque tu ne sais pas de quoi il s'agit!!
bref j'ai testé ce que tu a proposé et ça marche pas
si tu ne crois pas tu sera embeté a testé toi meme sur mon code
normalement c'est logique mais PADA avait essayé et ça ne marchait pas c'est pourquoi il a retiré je ne sais pas pourquoi ça marche pas
c'est bien d'etre simple nico, peut etre le but du code ne te plais pas mais j'ai codé mieu que plein de gens qui postent ici ça merite quand meme regarder
surtout pour mes derniers codes j'ai fais ce que j'ai apris des enciens commentaires
je suis là pour ça pour aprendre plus
13 août 2008 à 19:51
//var %f, %t = 1 | while (%t <= 10) { var %f = $instok(%f,%t,0,32) | inc %t } | echo -a k %f
en tout cas, la 2e version est fausse, c'est clair et net.
Ce n'est pas que je n'ai pas le temps de poster, c'est plutôt que je n'ai pas le temps de lire et d'analyser le code
13 août 2008 à 19:10
var %final, %k 1, %i 1
while (%k <= 10) {
%final = %final $readini(%code,code,$ [ $+ [ %k ] ])
inc %k
}
si tu voulais dire
var %final, %k 1, %i 1
while (%k <= 10) {
%final = $instok(%final,$readini(%code,code,$ [ $+ [ %k ] ]),0,32)
inc %k
}
celà ne fonctionne pas
et si c'est
var %final, %k 1, %i 1
while (%k <= 10) {
%final = %final $instok(%final,$readini(%code,code,$ [ $+ [ %k ] ]),0,32)
inc %k
}
ça double a chaque caractere de plus
alors j'ai posé la question parceque je voulais savoir si c'est ce que tu a voulu dire ou pas si je me trompe ou pas
13 août 2008 à 18:56
Sinon, je ne commenterai et ne lirai pas le code. Comme dit, je n'ai ni la motivation, ni l'envie, ni le temps.
13 août 2008 à 16:43
"PaDa => utilise $instok(%final,$readini(%code,code,$ [ $+ [ %k ] ]),0,32)"
13 août 2008 à 16:22
tu ne peux jamais donner un avis utile toi ? :)
dans tout tes commentaires rien d'utile
j'ai bien precisé que je ne cherche pas a faire quelque choses de special mais je cherche a presenté un code bien fait et si a ameliorer et apprendre plus de choses si tu ne trouve pas d'utilité t'es pas obligé d'utilisé :)
- Arkanis :"j'ai pas regardé le code " si tu regarde et tu trouve d'autre choses a amelioré ça m'aidera plus bro mon but c'est de voir le codage
merci
13 août 2008 à 14:43
sinon bah j'ai pas regardé le code ... j'ai pas la motiv.
13 août 2008 à 14:34
13 août 2008 à 11:30
et pour l'installation "Conclusion"
13 août 2008 à 09:48
ok je vois donc ça fait comme le var %r = %r $+ $chr($ [ $+ [ %i ] ]) :)
j'aurai dus pensé a ça aussi
mise a jour tout de suite
13 août 2008 à 08:31
var %final, %k 1, %i 1
while (%k <= 10) {
%final = %final $readini(%code,code,$ [ $+ [ %k ] ])
inc %k
}
Dis moi ce que tu en penses ;-)
Et pour ton %rr, je retire ce que j'ai dit à propos des tokens, j'ai parlé trop vite : un $addtok ne rajoutera pas si le token est déjà présent, donc ca ne ferait pas la même chose.
13 août 2008 à 00:32
j'ai pas trouvé un moyen plus simple que ça
si tu regarde a la fin tu trouve %final ça regroupe les autres
dejà le mot est traduit en numero caracteres ascii sou forme NN.NN.NN.NN
donc $iif(%rr,%rr $+ .,) si "%rr = $true" il set "%rr $+ ." si non j'ai rien mis pour ne pas avoir un "." au debut mais bon je ne savais pas qu'on pouvait enlevé la "," merci
alors en prend tokenize 46 chaque num a 3 numeros dans le fichier.data qui sera dans %final sous forme NN NN NN NN
a sont tour il va reprendre un autre tokenize 32 pour traduir a sont tour les num en caracteres a fin d'avoir le nouveau mot de passe complexe
pour le set t'ai aussi raison j'avais mis juste pour voir ce que ça donne comme resultat de temp en temp quand je testais encore j'ai ajouté sur la variable local alors ça set plus global je vais changer ça aussi
12 août 2008 à 23:35
var %V.A $readini(%code,code,$1),%V.B $readini(%code,code,$2),%V.C $readini(%code,code,$3)
var %V.D $readini(%code,code,$4),%V.E $readini(%code,code,$5),%V.F $readini(%code,code,$6)
var %V.G $readini(%code,code,$7),%V.H $readini(%code,code,$8),%V.I $readini(%code,code,$9)
var %V.J $readini(%code,code,$10),%final %V.A %V.B %V.C %V.D %V.E %V.F %V.G %V.H %V.I %V.J,%i 1
Ca c'est un truc qui va me faire faire des cauchemars je crois ;-) Tu devrais trouver un moyen de le simplifier.
Sinon :
set %rr $+($iif(%rr,%rr $+ .,),$asc($right($1,%i)))
A vue de nez tu dois pouvoir faire des tokens non ? Le "$iif(%rr,%rr $+ .,)" (déjà la dernière virgule n'est pas utile) est typique d'une non-utilisation des tokens. Et pourquoi un "set" à cet endroit au lieu d'un "%rr = %rr $+ etc." ? Je ne sais pas si ça fait une différence vue que tu l'as déclarée comme locale avant...
Sinon j'aime bien le principe de la passphrase (on appelle ça comme ça en Linux ou pour d'autres applications) : de retenir un truc simple mais d'avoir au final un mot de passe ou une clé compliquée vis-à-vis de l'extérieur.