ASV SIMPLE ET CLAIRE

atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007 - 8 sept. 2006 à 17:34
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007 - 25 sept. 2006 à 14:41
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/39490-asv-simple-et-claire

Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
25 sept. 2006 à 14:41
lol je debute en scripting :o)
Keanu85 Messages postés 8 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 22 septembre 2006
22 sept. 2006 à 11:08
addonds basique ^^ et en plus le dialogue y a plein de perte de place :o tu tes pas cassé le ***
CestFortEnChocolat Messages postés 5 Date d'inscription samedi 15 juillet 2006 Statut Membre Dernière intervention 20 septembre 2006
20 sept. 2006 à 13:54
pourquoi ne pas regrouper toutes ces variables
en un seul fichier INI ?

renseigne toi dessus

/writeini /remini
$readini

Bonne continuation
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
13 sept. 2006 à 15:37
ok merci CestFortEnChocolat ^^
CestFortEnChocolat Messages postés 5 Date d'inscription samedi 15 juillet 2006 Statut Membre Dernière intervention 20 septembre 2006
12 sept. 2006 à 20:44
juste une opinion, pourquoi ne pas utiliser $iif ?
Si la personne n'a pas mis son numéro de portable par exemple...

alors on met lors du msg $active : $iif(%telephone,Mon num de portable est : $v1)

pour
# if ($devent == init) {
# if (%sexe == homme) did -c Lasv 16
# if (%sexe == femme) did -c Lasv 32

ca serai plus utile de faire
if $devent init { did -c lasv $iif(%sexe homme,16,32) }
enfin je pense ^^

Bonne continuation
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
9 sept. 2006 à 21:00
ok merci rca arkanis je relit plain de foi comme ça jai pigé merci pour toute votre aides =))))
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
9 sept. 2006 à 20:56
ben j'ai tout dit, si tu comprends pas, relis plusieurs fois ce que s333 et moi avons dit, jusqu'à ce que tu comprennes.

en gros, tu ne peux pas commencer une série de ELSEIF s'il n'y a pas un IF tout au début
pour "rappel", elseif signifie SINON SI
le schéma "if, elseif, else" signifie :
Si (...) alors ...
Sinon si (...) alors ...
Sinon ...

toi ce que tu as fait, c'est ça :
Sinon si (...) alors ...
Sinon ...

j'espère que tu comprends qu'il n'est pas possible de commencer par "SINON SI"
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
9 sept. 2006 à 20:43
je ne comprend pas trop rca arkanis je suis nul je sui vrment un ti debutent qui c'est rien faire :(( snif
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
9 sept. 2006 à 19:42
ok merci a vous deux je vait eseillé de le re faire marché =))
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008
9 sept. 2006 à 11:51
set %notice $$?="Pseudo ou Salon ?"
notice %notice $me Je m'app...

Notice $$?="Pseudo ou Salon ?" $me Je m'appelle...
Ca revient au même :) et au moins, tu ne crées pas une variable.

Comme l'a dit arkanis, il y a souvent des elseif qui commencent une série de if...
C'est if truc, sinon(elseif) truc,sinon etc...

Il y a aussi une erreur dans le if $devent sclick, à l'endroit de elseif ($did 29)
Tu as mis une accolade fermée } alors que tu ne l'as pas ouverte dans le elseif(ce qui était d'ailleurs bon). Il faut la supprimmée, parce que tout ce qui suis ne fait pas parti du on click. Même si ça marche comme ça... puisque, on ne peut edit un boutton ou scroll, enfin... un dclick, un uclick, rclick, drop, réagissent aussi dans ce cas. Donc autant les intégrer au sclick.

--- Encore un rappel ---
Lorsque vous utilisez des variables globales(set) dans un add-on... il serait préférable que ces variables ne soient pas déjà utilisées par un autre add-on... Donc mettez des choses plus spécifiques... %pseudo %salon... ce sont des choses qui ont grande chance d'être déjà utilisées... même si on essaie de moins en moins utiliser les variables globales.
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
9 sept. 2006 à 00:19
if ($devent == edit) {
elseif ($did == 13) set %nom $did(13)

puis if ($devent == sclick) {
elseif ($did == 16) set %sexe homme

if ($devent == init) {
elseif (%sexe == homme) did -c Lasv 16

deviennent (dans l'ordre)

if ($devent == edit) {
if ($did == 13) set %nom $did(13)

puis elseif ($devent == sclick) {
if ($did == 16) set %sexe homme

elseif ($devent == init) {
if (%sexe == homme) did -c Lasv 16


en gros, tu ne peux pas faire que ta première condition soit un ELSEIF (ce qui est tout à fait logique)
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
8 sept. 2006 à 23:00
atlantisfr ma source veu plu marché :(
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
8 sept. 2006 à 22:13
tu utilises tjrs des variables, donc ça sux encore :(

En effet panthouffle, le rendre en PW, c'est inutile, déjà qu'il ne l'est pas beaucoup ;)
Tu aurais beaucoup plus de lignes, et ça ne rendrait pas terrible

faire des PWs pour des trucs compliqués, OK, mais pour ça, pas d'accord :)
Ca ne mérite pas qu'on y passe plus d'une heure à mon avis :p

tu as oublié ELSEif pour if ($devent == sclick)
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
8 sept. 2006 à 22:03
Derien Dragounix
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
8 sept. 2006 à 21:57
au merci atlantisfr :)))) je trouve que c'est mieu arengé merci pour ton aide =)))
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
8 sept. 2006 à 21:52
Tu optimises que une partie de tes "On dialog". Cadeau pour cette foi si :

on *:dialog:Lasv:*:*:{
if ($devent == edit) {
elseif ($did == 13) set %nom $did(13)
elseif ($did == 14) set %prenom $did(14)
elseif ($did == 15) set %age $did(15)
elseif ($did == 17) set %ville $did(17)
elseif ($did == 18) set %poids $did(18)
elseif ($did == 19) set %cheveux $did(19)
elseif ($did == 20) set %yeux $did(20)
elseif ($did == 23) set %portable $did(23)
elseif ($did == 22) set %mail $did(22)
elseif ($did == 25) set %asv $did(25)
elseif ($did == 21) set %taille $did(21)
elseif ($did == 36) set %caractere $did(36)
}
if ($devent == sclick) {
elseif ($did == 16) set %sexe homme
elseif ($did == 27) {
elseif (%sexe == homme) msg $active Je suis Un Homme
elseif (%sexe == femme) msg $active Je suis Une Femme
}
elseif ($did == 26) msg $active Je m'appelle %nom %prenom jai %age ans je suis un/une %sexe j'abite a %ville je pèse %poids la couleur de mes yeux %yeux la couleur de mes cheveux %cheveux je mesure %taille je suis %caractere mon e-mail %mail mon numero de portable %portable
elseif ($did == 28) msg $active Mon asv est %asv
elseif ($did == 29) msg $active Je m'appelle %nom %prenom
}
elseif ($did == 32) set %sexe femme
elseif ($did == 33) msg $active Mon adresse e-mail est %mail
elseif ($did == 34) {
set %notice $$?="Pseudo ou Salon ?"
notice %notice $me Je m'appelle %nom %prenom jai %age ans je suis un/une %sexe j'abite a %ville je pèse %poids a couleur de mes yeux %yeux a couleur de mes cheveux %cheveux je mesure %taille je suis %caractere mon e-mail %mail mon numero de portable %portable
}
elseif ($did == 38) {
set %pseudo $$?="Pseudo ?"
msg %pseudo Je m'appelle %nom %prenom jai %age ans je suis un/une %sexe j'abite a %ville je pèse %poids la couleur de mes yeux %yeux la couleur de mes cheveux %cheveux je mesure %taille je suis %caractere mon e-mail %mail mon numero de portable %portable
}
elseif ($did == 39) {
set %salon $$?="Salon ?"
msg %salon Je m'appelle %nom %prenom jai %age ans je suis un/une %sexe j'abite a %ville je pèse %poids la couleur de mes yeux %yeux la couleur de mes cheveux %cheveux je mesure %taille je suis %caractere mon e-mail %mail mon numero de portable %portable
}
}
if ($devent == init) {
elseif (%sexe == homme) did -c Lasv 16
elseif (%sexe == femme) did -c Lasv 32
}
}
Panthouffle Messages postés 281 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 14 avril 2008
8 sept. 2006 à 21:46
Le dialog est pas beau, et niveau code, rassemble tout tes évènements, y'a pas seulement qu'avec edit que ça fonctionne, faut aussi le faire avec les autres, en utilisant $devent :

if ($devent == edit) { ... }
elseif ($devent == sclick) { ... }
elseif (...) { ... }

Désolé mais je suis pas persuadé que ce soit une bonne idée de transformer se code en picwin :/
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
8 sept. 2006 à 21:27
Dragounix, de bons tutoriaux sur les picwins on était fait par KiNdErMaXi sur ce site.
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
8 sept. 2006 à 20:42
atlantisfr je c'est pas faire un dialog en picwin sui un petit debutent
Dragounix Messages postés 36 Date d'inscription dimanche 16 juillet 2006 Statut Membre Dernière intervention 3 juillet 2007
8 sept. 2006 à 17:40
ok atlantisfr merci je le modifi dessuite :)
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
8 sept. 2006 à 17:38
mets plutôt des elseif que plein de if à la suite, question rapidité d'execution
tu utilises des variables, c'est vraiment pas terrible :/

pas grand intérêt, et le code est bourré de fautes d'orthographe
atlantisfr Messages postés 76 Date d'inscription samedi 12 août 2006 Statut Membre Dernière intervention 9 août 2007
8 sept. 2006 à 17:34
Les dialogs d'ASV c'est du vu et revu. Si tu approtes des nouveauter comme un ASV en picwin, skinnable et encore le systeme d'ASV c'est pas trés utile. Niveau code, utilise des identifieurs $devent et $did, quand tu as une seule commande par $did retire les { }.

Exemple :
on *:dialog:Lasv:*:*:{
if ($devent == edit) {
if ($did == 13) set %nom $did(13)
if ($did == 14) set %prenom $did(14)
if ($did == 15) set %age $did(15)
if ($did == 17) set %ville $did(17)
if ($did == 18) set %poids $did(18)
if ($did == 19) set %cheveux $did(19)
if ($did == 20) set %yeux $did(20)
if ($did == 23) set %portable $did(23)
if ($did == 22) set %mail $did(22)
if ($did == 25) set %asv $did(25)
if ($did == 21) set %taille $did(21)
if ($did == 36) set %caractere $did(36)
}
}

Au lieu de :
on *:dialog:Lasv:edit:13:{ set %nom $did(13) }
on *:dialog:Lasv:edit:14:{ set %prenom $did(14) }
on *:dialog:Lasv:edit:15:{ set %age $did(15) }
on *:dialog:Lasv:edit:17:{ set %ville $did(17) }
on *:dialog:Lasv:edit:18:{ set %poids $did(18) }
on *:dialog:Lasv:edit:19:{ set %cheveux $did(19) }
on *:dialog:Lasv:edit:20:{ set %yeux $did(20) }
on *:dialog:Lasv:edit:23:{ set %portable $did(23) }
on *:dialog:Lasv:edit:22:{ set %mail $did(22) }
on *:dialog:Lasv:edit:25:{ set %asv $did(25) }
on *:dialog:Lasv:edit:21:{ set %taille $did(21) }
on *:dialog:Lasv:edit:36:{ set %caractere $did(36) }

Voilà donc essaye d'optimiser ton code, modifie ta source sur le site et on revoit ta note aprés.
Rejoignez-nous