Forum WTeam

Le site des moddeurs 100% francophone.
 
AccueilPortailGalerieFAQRechercherS'enregistrerConnexion

Partagez | 
 

 Besoin aide pour MessageBox (SOLUTIONNÉ!)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Amalgame
Marraud
avatar

Masculin Nombre de messages : 12
Age : 46
Date d'inscription : 16/12/2008

MessageSujet: Besoin aide pour MessageBox (SOLUTIONNÉ!)   Mar 16 Déc 2008, 08: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, 04:57, édité 1 fois
Revenir en haut Aller en bas
Waylander
Chaman
avatar

Masculin Nombre de messages : 58
Age : 24
Date d'inscription : 02/09/2008

MessageSujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!)   Mer 17 Déc 2008, 23: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. fier
Revenir en haut Aller en bas
Mike89
Maître ArchipelModeur
Maître ArchipelModeur
avatar

Masculin Nombre de messages : 3130
Age : 61
Date d'inscription : 06/03/2007

MessageSujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!)   Jeu 18 Déc 2008, 01: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 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

Et voilà. Je n'ai pas testé mais la méthode est là. passer par 2 menus successifs pour répartir les questions...

_________________
A question précise, réponse précise... et en plus cela m'évite d'écrire un roman sur votre problème.
Angamandon avance... vers la v0.16 en juillet ? Faut finir avant 111111 non ?
Revenir en haut Aller en bas
Amalgame
Marraud
avatar

Masculin Nombre de messages : 12
Age : 46
Date d'inscription : 16/12/2008

MessageSujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!)   Jeu 18 Déc 2008, 03: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.
Revenir en haut Aller en bas
Mike89
Maître ArchipelModeur
Maître ArchipelModeur
avatar

Masculin Nombre de messages : 3130
Age : 61
Date d'inscription : 06/03/2007

MessageSujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!)   Jeu 18 Déc 2008, 09: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

_________________
A question précise, réponse précise... et en plus cela m'évite d'écrire un roman sur votre problème.
Angamandon avance... vers la v0.16 en juillet ? Faut finir avant 111111 non ?
Revenir en haut Aller en bas
Amalgame
Marraud
avatar

Masculin Nombre de messages : 12
Age : 46
Date d'inscription : 16/12/2008

MessageSujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!)   Ven 19 Déc 2008, 04: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 Content).
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!
Revenir en haut Aller en bas
Amalgame
Marraud
avatar

Masculin Nombre de messages : 12
Age : 46
Date d'inscription : 16/12/2008

MessageSujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!)   Ven 19 Déc 2008, 07: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!
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Besoin aide pour MessageBox (SOLUTIONNÉ!)   

Revenir en haut Aller en bas
 
Besoin aide pour MessageBox (SOLUTIONNÉ!)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Besoin d'aide pour un cosplay!
» Besoin d'aide pour monter mon allosson niveau 32
» Besoin d'aide pour l'ouverture d'un kralamoure géant!
» Besoin d'aide pour test de projet
» besoin d'aide pour une armure

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum WTeam :: Public :: Tutos TESCS2 Oblivion :: Les bases du construction set.-
Sauter vers: