Forum WTeam Le site des moddeurs 100% francophone. |
|
| Besoin aide pour MessageBox (SOLUTIONNÉ!) | |
| | Auteur | Message |
---|
Amalgame Moddeur
Nombre de messages : 12 Age : 53 Date d'inscription : 16/12/2008
| Sujet: Besoin aide pour MessageBox (SOLUTIONNÉ!) Mar 16 Déc 2008, 06:07 | |
| Bonjour à tous, J'ai un petit problème, j'ai fait un MessageBox à 20 bouton mais le MessageBox n'en permet que 10...j'aimerais réussire a introduire les options "Suivant" et "Précédent" danc mon MessageBox de manière à pouvoir avoir les 20 choix.
Voilà le script:
scn AAAamalgamAjoutPoints2 short busy short buttonPress
begin OnActivate if busy == 0 playgroup forward 0 set busy to 2 MessageBox "Dans quel Talent je met 25 points ?", "Acrobatie", "Alchimie", "Altération", "Arme lourdes", "Armure Légère", "Armure Lourde", "Armurier","Athlétisme", "Combat à mains nues", "Destruction", "Éloquence", "Furtivité", "Guérison", "Illusion", "Invocation", "Lame", "Marchandage", "Mysticisme", "Parade", "Précision", "Sécurité", "Plus tard"
endif end
begin GameMode if isAnimPlaying == 0 && busy == 1 set busy to 0 endif if busy == 2 set buttonPress to GetButtonPressed if buttonPress > -1 set busy to 1 if buttonPress == 0 modpcs Acrobatics 25 endif if buttonPress == 1 modpcs Alchemy 25 endif if buttonPress == 2 modpcs Alteration 25 endif if buttonPress == 6 modpcs Armorer 25 endif if buttonPress == 7 modpcs Athletics 25 endif if buttonPress == 15 modpcs Blade 25 endif if buttonPress == 18 modpcs Block 25 endif if buttonPress == 3 modpcs Blunt 25 endif if buttonPress == 14 modpcs Conjuration 25 endif if buttonPress == 9 modpcs Destruction 25 endif if buttonPress == 8 modpcs HandtoHand 25 endif if buttonPress == 5 modpcs HeavyArmor 25 endif if buttonPress == 13 modpcs Illusion 25 endif if buttonPress == 4 modpcs LightArmor 25 endif if buttonPress == 19 modpcs Marksman 25 endif if buttonPress == 16 modpcs Mercantile 25 endif if buttonPress == 17 modpcs Mysticism 25 endif if buttonPress == 12 modpcs Restoration 25 endif if buttonPress == 20 modpcs Security 25 endif if buttonPress == 11 modpcs Sneak 25 endif if buttonPress == 10 modpcs Speechcraft 25 endif endif endif endif end
Hô si quelqu'un pouvais me trouver la solution, j'en serais vraiment content.
À l'avance vraiment MERCI!
Dernière édition par Amalgame le Ven 19 Déc 2008, 02:57, édité 1 fois | |
| | | Waylander Chaman
Nombre de messages : 58 Age : 31 Date d'inscription : 02/09/2008
| Sujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!) Mer 17 Déc 2008, 21:31 | |
| As-tu pensé a crée un sujet "Autre" et comme choises le restes de tes proposition ? Excuse moi si cela n'a aucun rapport mais je suis occasionnel du moddage. | |
| | | Mike89 Maître ArchipelModeur
Nombre de messages : 3151 Age : 68 Date d'inscription : 06/03/2007
| Sujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!) Mer 17 Déc 2008, 23:54 | |
| - Amalgame a écrit:
- Bonjour à tous,
J'ai un petit problème, j'ai fait un MessageBox à 20 bouton mais le MessageBox n'en permet que 10...j'aimerais réussire a introduire les options "Suivant" et "Précédent" danc mon MessageBox de manière à pouvoir avoir les 20 choix.
Hô si quelqu'un pouvais me trouver la solution, j'en serais vraiment content.
À l'avance vraiment MERCI! Voilà le script: scn AAAamalgamAjoutPoints2 short busy short buttonPress short sousmenubegin OnActivate if busy == 0 playgroup forward 0 set busy to 2 set sousmenu to 0MessageBox "Dans quel Talent je met 25 points ?", "Talent de combat", Talent de magie", "Talent de furtivité", "Plus tard" endif end begin GameMode if isAnimPlaying == 0 && busy == 1 set busy to 0 endif if busy == 2 set buttonPress to GetButtonPressed if buttonPress > -1 set busy to 3 if buttonPress == 0 set sousmenu to 1 MessageBox "Dans quel Talent je met 25 points ?", "Parade", "Armurerie", "Armure lourde", "Arme contondante", "Athlétisme", "Lame", "Combat à mains nues" endif if buttonPress == 1 set sousmenu to 2 MessageBox "Dans quel Talent je mets 25 points ?", "Destruction", "Altération", "Illusion", "Invocation", "Mysticisme", "Guérison", "Alchimie" endif if buttonPress == 2 set sousmenu to 3 MessageBox "Dans quel Talent je met 25 points ?", "Sécurité", "Discretion", "Acrobatie", "Armure légère", "Précision", "Marchandage", "Éloquence" endif EndIf EndIf if busy == 3 ; le deuxième message a été envoyé set buttonPress to GetButtonPressed if buttonPress > -1 If sousmenu = 1 if buttonPress == 0 modpcs Block 25 endif if buttonPress == 1 modpcs Armorer 25 endif if buttonPress == 2 modpcs HeavyArmor 25 endif if buttonPress == 3 modpcs Blunt 25 endif if buttonPress == 4 modpcs Blade 25 endif if buttonPress == 5 modpcs Athletics 25 endif if buttonPress == 6 modpcs HandtoHand 25 endif elseif sousmenu = 2 if buttonPress ==0 modpcs Destruction 25 endif if buttonPress == 1 modpcs Alteration 25 endif if buttonPress == 2 modpcs Illusion 25 endif if buttonPress == 3 modpcs Conjuration 25 endif if buttonPress == 4 modpcs Mysticism 25 endif if buttonPress == 5 modpcs Restoration 25 endif if buttonPress == 6 modpcs Alchemy 25 endif elseif sousmenu = 3 if buttonPress == 0 modpcs Security 25 endif if buttonPress == 1 modpcs Sneak 25 endif if buttonPress == 2 modpcs Acrobatics 25 endif if buttonPress == 3 modpcs LightArmor 25 endif if buttonPress == 4 modpcs Marksman 25 endif if buttonPress == 5 modpcs Mercantile 25 endif if buttonPress == 6 modpcs Speechcraft 25 endif endif Set busy to 1 endif endifend Et voilà. Je n'ai pas testé mais la méthode est là. passer par 2 menus successifs pour répartir les questions... | |
| | | Amalgame Moddeur
Nombre de messages : 12 Age : 53 Date d'inscription : 16/12/2008
| Sujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!) Jeu 18 Déc 2008, 01:56 | |
| Salut Waylander, la raison pourquoi j'ai prossèdé ainsi c'est parceque je ne suis pas habitué aux forum...si j'aurais du faire autrement ce serais gentil de m'expliquer quoi et pourquoi, Merci.
Mike89, d'abord merci car t'as pris du temp pour m'aider et c'est très apprécié. Faire des sous-menu est inconu pour moi et j'apprend. Bon après avoir copier coller et un peux replacé ton script voilà dans le TESC a quoi il ressemble:
scn AAAamalgamAjoutPoints2 short busy short buttonPress short sousmenu
begin OnActivate if busy == 0 playgroup forward 0 set busy to 2 set sousmenu to 0 MessageBox "Dans quel Talent je met 25 points ?", "Talent de combat", "Talent de magie", "Talent de furtivité", "Plus tard"
endif end
begin GameMode if isAnimPlaying == 0 && busy == 1 set busy to 0 endif if busy == 2 set buttonPress to GetButtonPressed if buttonPress > -1 set busy to 3 if buttonPress == 0 set sousmenu to 1 MessageBox "Dans quel Talent je met 25 points ?", "Parade", "Armurerie", "Armure lourde", "Arme contondante", "Athlétisme", "Lame", "Combat à mains nues" endif if buttonPress == 1 set sousmenu to 2 MessageBox "Dans quel Talent je mets 25 points ?", "Destruction","Altération", "Illusion","Invocation", "Mysticisme", "Guérison", "Alchimie" endif if buttonPress == 2 set sousmenu to 3 MessageBox "Dans quel Talent je met 25 points ?", "Sécurité", "Discretion", "Acrobatie", "Armure légère", "Précision", "Marchandage", "Éloquence" endif EndIf EndIf
if busy == 3 ; le deuxième message a été envoyé set buttonPress to GetButtonPressed if buttonPress > -1 if sousmenu = 1 if buttonPress == 0 modpcs Block 25 endif if buttonPress == 1 modpcs Armorer 25 endif if buttonPress == 2 modpcs HeavyArmor 25 endif if buttonPress == 3 modpcs Blunt 25 endif if buttonPress == 4 modpcs Blade 25 endif if buttonPress == 5 modpcs Athletics 25 endif if buttonPress == 6 modpcs HandtoHand 25 endif elseif sousmenu = 2 if buttonPress == 0 modpcs Destruction 25 endif if buttonPress == 1 modpcs Alteration 25 endif if buttonPress == 2 modpcs Illusion 25 endif if buttonPress == 3 modpcs Conjuration 25 endif if buttonPress == 4 modpcs Mysticism 25 endif if buttonPress == 5 modpcs Restoration 25 endif if buttonPress == 6 modpcs Alchemy 25 endif elseif sousmenu = 3 if buttonPress == 0 modpcs Security 25 endif if buttonPress == 1 modpcs Sneak 25 endif if buttonPress == 2 modpcs Acrobatics 25 endif if buttonPress == 3 modpcs LightArmor 25 endif if buttonPress == 4 modpcs Marksman 25 endif if buttonPress == 5 modpcs Mercantile 25 endif if buttonPress == 6 modpcs Speechcraft 25 endif endif Set busy to 1 endif endif end
il semble subsister une petite erreure car TESC me dit: line 42: Expression Error: SYNTAX
????????? Je me repasse le tout et j'arrive vraiment pas a trouver, si tu pouvais encore m'aider ce serais apprécié.
Encore une fois merci pour tout. | |
| | | Mike89 Maître ArchipelModeur
Nombre de messages : 3151 Age : 68 Date d'inscription : 06/03/2007
| Sujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!) Jeu 18 Déc 2008, 07:47 | |
| Ce sont les trois tests "if sousmenu = 1..." et aussi avec = 2... = 3. Il faut mettre des == pour les comparaisons. Je te le redonne avec les indentations (dans un bloc code du wiki). Mais "code" ne permet pas de mettre des couleurs pour mettre en valeur les points importants. Si tu as bien compris, en fait, j'ai utilisé ta variable busy pour indiquer après avoir validé l'étape 2 (reçu bonne valeur de spécialité) que l'on envoie une autre question (quel talent de cette spécialité ?)... étape 3. Busy == 3 signifie que c'est le moment de tester la réponse à la deuxième question, puis retour à busy == 1 pour ne pas toujours reposer la question. Avec 21 talents, il fallait un découpage en trois morceaux pour tomber en dessous de 10... donc pourquoi pas utiliser le découpage en spécialités pour être clair. Mais avec ce principe tu peux utiliser le découpage que tu veux... Tu peux aussi pour plus de 100 variables ajouter un troisième niveau, etc. La limite ultime est la taille du script, car il existe une taille limite qui doit être de 32 K caractères (ou 64 k ?), c'est à dire 500 à 1000 lignes selon la taille des lignes. Mais rien n'interdit de répartir les lignes en plusieurs scripts - Code:
-
scn AAAamalgamAjoutPoints2 short busy short buttonPress short sousmenu
begin OnActivate if busy == 0 playgroup forward 0 set busy to 2 set sousmenu to 0 MessageBox "Dans quel Talent je met 25 points ?", "Talent de combat", "Talent de magie", "Talent de furtivité", "Plus tard" endif end
begin GameMode if isAnimPlaying == 0 && busy == 1 set busy to 0 endif if busy == 2 set buttonPress to GetButtonPressed if buttonPress > -1 set busy to 3 if buttonPress == 0 set sousmenu to 1 MessageBox "Dans quel Talent je met 25 points ?", "Parade", "Armurerie", "Armure lourde", "Arme contondante", "Athlétisme", "Lame", "Combat à mains nues" endif if buttonPress == 1 set sousmenu to 2 MessageBox "Dans quel Talent je mets 25 points ?", "Destruction","Altération", "Illusion","Invocation", "Mysticisme", "Guérison", "Alchimie" endif if buttonPress == 2 set sousmenu to 3 MessageBox "Dans quel Talent je met 25 points ?", "Sécurité", "Discretion", "Acrobatie", "Armure légère", "Précision", "Marchandage", "Éloquence" endif EndIf EndIf
if busy == 3 ; le deuxième message a été envoyé set buttonPress to GetButtonPressed if buttonPress > -1 if sousmenu == 1 if buttonPress == 0 modpcs Block 25 endif if buttonPress == 1 modpcs Armorer 25 endif if buttonPress == 2 modpcs HeavyArmor 25 endif if buttonPress == 3 modpcs Blunt 25 endif if buttonPress == 4 modpcs Blade 25 endif if buttonPress == 5 modpcs Athletics 25 endif if buttonPress == 6 modpcs HandtoHand 25 endif elseif sousmenu == 2 if buttonPress == 0 modpcs Destruction 25 endif if buttonPress == 1 modpcs Alteration 25 endif if buttonPress == 2 modpcs Illusion 25 endif if buttonPress == 3 modpcs Conjuration 25 endif if buttonPress == 4 modpcs Mysticism 25 endif if buttonPress == 5 modpcs Restoration 25 endif if buttonPress == 6 modpcs Alchemy 25 endif elseif sousmenu == 3 if buttonPress == 0 modpcs Security 25 endif if buttonPress == 1 modpcs Sneak 25 endif if buttonPress == 2 modpcs Acrobatics 25 endif if buttonPress == 3 modpcs LightArmor 25 endif if buttonPress == 4 modpcs Marksman 25 endif if buttonPress == 5 modpcs Mercantile 25 endif if buttonPress == 6 modpcs Speechcraft 25 endif endif Set busy to 1 endif endif end Une autre version plus courte en utilisant les ElseIf (qui ici donne le même résultat que les If... else ... EndIf successifs (non imbriqués). Le ElseIf est pratique pour une liste de cas à traiter portant sur la même variable (mais pas seulement...). - Code:
-
scn AAAamalgamAjoutPoints2 short busy short buttonPress short sousmenu
begin OnActivate if busy == 0 playgroup forward 0 set busy to 2 set sousmenu to 0 MessageBox "Dans quel Talent je met 25 points ?", "Talent de combat", "Talent de magie", "Talent de furtivité", "Plus tard"
endif end
begin GameMode if isAnimPlaying == 0 && busy == 1 set busy to 0 endif if busy == 2 set buttonPress to GetButtonPressed if buttonPress > -1 set busy to 3 if buttonPress == 0 set sousmenu to 1 MessageBox "Dans quel Talent je met 25 points ?", "Parade", "Armurerie", "Armure lourde", "Arme contondante", "Athlétisme", "Lame", "Combat à mains nues" elseif buttonPress == 1 set sousmenu to 2 MessageBox "Dans quel Talent je mets 25 points ?", "Destruction","Altération", "Illusion","Invocation", "Mysticisme", "Guérison", "Alchimie" elseif buttonPress == 2 set sousmenu to 3 MessageBox "Dans quel Talent je met 25 points ?", "Sécurité", "Discretion", "Acrobatie", "Armure légère", "Précision", "Marchandage", "Éloquence" endif EndIf EndIf
if busy == 3 ; le deuxième message a été envoyé set buttonPress to GetButtonPressed if buttonPress > -1 if sousmenu == 1 elseif buttonPress == 0 modpcs Block 25 elseif buttonPress == 1 modpcs Armorer 25 elseif buttonPress == 2 modpcs HeavyArmor 25 elseif buttonPress == 3 modpcs Blunt 25 elseif buttonPress == 4 modpcs Blade 25 elseif buttonPress == 5 modpcs Athletics 25 elseif buttonPress == 6 modpcs HandtoHand 25 endif elseif sousmenu == 2 if buttonPress == 0 modpcs Destruction 25 elseif buttonPress == 1 modpcs Alteration 25 elseif buttonPress == 2 modpcs Illusion 25 elseif buttonPress == 3 modpcs Conjuration 25 elseif buttonPress == 4 modpcs Mysticism 25 elseif buttonPress == 5 modpcs Restoration 25 elseif buttonPress == 6 modpcs Alchemy 25 endif elseif sousmenu == 3 if buttonPress == 0 modpcs Security 25 elseif buttonPress == 1 modpcs Sneak 25 elseif buttonPress == 2 modpcs Acrobatics 25 elseif buttonPress == 3 modpcs LightArmor 25 elseif buttonPress == 4 modpcs Marksman 25 elseif buttonPress == 5 modpcs Mercantile 25 elseif buttonPress == 6 modpcs Speechcraft 25 endif endif Set busy to 1 endif endif end | |
| | | Amalgame Moddeur
Nombre de messages : 12 Age : 53 Date d'inscription : 16/12/2008
| Sujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!) Ven 19 Déc 2008, 02:55 | |
| HEURÉKA ca marche, t'est un génie, merci! J'ai essayé les 2, le premier marche mais pas le deuxième (Je vais quand même l'étudier). La semaine prochaine je compte le mettre sur tesnexus, est-ce que je peux te citer comme aide? Je le nomerai Amalgame de triche, j'ai travaillé pas mal fort pour ca....pour un travailleur industriel (sans formation informatique) malgré tout je crois avoir fait du pas pire boulot (pour un premier mod), (dans le but d'impressionner ma fille ). Aussi un peux plus tard pour que tu vois le produit final je te le recolerai encore le fameux script, je l'ai un peux retravailler au niveau présentation. Je te le répête, MERCI! | |
| | | Amalgame Moddeur
Nombre de messages : 12 Age : 53 Date d'inscription : 16/12/2008
| Sujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!) Ven 19 Déc 2008, 05:04 | |
| Salut Mike89, le produit fini donne celà:
scn AAAamalgamAjoutPoints2 short busy short buttonPress short sousmenu
begin OnActivate if busy == 0 playgroup forward 0 set busy to 2 set sousmenu to 0 MessageBox "Dans quel Talent je met 25 points ?", "Talent de combat", "Talent de furtivité et autres", "Talent de magie", "Plus tard" endif end
begin GameMode if isAnimPlaying == 0 && busy == 1 set busy to 0 endif if busy == 2 set buttonPress to GetButtonPressed if buttonPress > -1 set busy to 3 if buttonPress == 0 set sousmenu to 1 MessageBox "Dans quel Talent je met 25 points ?", "Armes lourdes","Armures lourdes","Armurier","Athlétisme","Att. Sans armes","Lame","Parade","Plus tard"
endif if buttonPress == 1 set sousmenu to 2 MessageBox "Dans quel Talent je met 25 points ?", "Acrobatie", "Armures légères", "Discrétion", "Éloquence", "Marchandage", "Précision", "Sécurité", "Plus tard" endif if buttonPress == 2 set sousmenu to 3 MessageBox "Dans quel Talent je mets 25 points ?", "Alchimie", "Altération", "Destruction", "Guérison","Illusion", "Invocation", "Mysticisme", "Plus tard" endif EndIf EndIf
if busy == 3 ; le deuxième message a été envoyé set buttonPress to GetButtonPressed if buttonPress > -1 if sousmenu == 1 if buttonPress == 0 modpcs Blunt 25 endif if buttonPress == 1 modpcs HeavyArmor 25 endif if buttonPress == 2 modpcs Armorer 25 endif if buttonPress == 3 modpcs Athletics 25 endif if buttonPress == 4 modpcs HandtoHand 25 endif if buttonPress == 5 modpcs Blade 25 endif if buttonPress == 6 modpcs Block 25 endif elseif sousmenu == 2 if buttonPress == 0 modpcs Acrobatics 25 endif if buttonPress == 1 modpcs LightArmor 25 endif if buttonPress == 2 modpcs Sneak 25 endif if buttonPress == 3 modpcs Speechcraft 25 endif if buttonPress == 4 modpcs Mercantile 25 endif if buttonPress == 5 modpcs Marksman 25 endif if buttonPress == 6 modpcs Security 25 endif elseif sousmenu == 3 if buttonPress == 0 modpcs Alchemy 25 endif if buttonPress == 1 modpcs Alteration 25 endif if buttonPress == 2 modpcs Destruction 25 endif if buttonPress == 3 modpcs Restoration 25 endif if buttonPress == 4 modpcs Illusion 25 endif if buttonPress == 5 modpcs Conjuration 25 endif if buttonPress == 6 modpcs Mysticism 25 endif endif Set busy to 1 endif endif end
Et encore une fois merci! | |
| | | Contenu sponsorisé
| Sujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!) | |
| |
| | | | Besoin aide pour MessageBox (SOLUTIONNÉ!) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|