Aller au contenu


Question Programmation


  • Veuillez vous connecter pour répondre
7 réponses à ce sujet

#1 frjover

frjover

Posté 02 avril 2006 - 18:34

Salut,

Je voudrais faire des petits script mais je ne vois pas comment l'écrire

Voila ce que je veux

afficher un message avec une question et deux choix ok et annuler
si je clique sur ok alors j'affiche une truc (ca je me débrouille)
fin

merci d'avance

ps : en quel language sont les scripts ???

Modifié par frjover, 02 avril 2006 - 18:35.


#2 Nenfëa

Nenfëa

    Le poisson bavard de Kalendaar


Posté 02 avril 2006 - 18:47

Quand veux tu afficher ton message ? Comme ça, dans le vide, au lancement du mod ? Quand le joueur s'approche d'un objet/PNJ ? Quand une quête est validée ? Après un dialogue ?
Ca change la manière d'implanter ton choix ! ;)

Pour le langage de script du TESC, regarde ce sujet...
Nenfëa

- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!

Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!

Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !

#3 frjover

frjover

Posté 02 avril 2006 - 19:19

je veux poser cette question au moment ou un lieu est débloqué dans une quete (en parlant avec un PJN)

Modifié par frjover, 02 avril 2006 - 19:29.


#4 Nenfëa

Nenfëa

    Le poisson bavard de Kalendaar


Posté 02 avril 2006 - 19:33

Tu peux surement faire un script de quête dans ce cas :

ScriptName TonScript

short doOnce
short button

Begin GameMode

	if ( doOnce == 2 )
		Return
	endif

	if ( ( GetStageDone QuestID StageIndex == 1 ) && ( doOnce == 0 ) )
		MessageBox "Blablabla" "Oui, je le veux !" "Et pis quoi encore..."
		Set doOnce to 1
	endif

	if ( doOnce == 1 )
		set button to GetButtonPressed
		if ( button == 0 )
		  ; On a répondu oui
			Set doOnce to 2
		elseif ( button == 1 )
		  ; On a répondu non
			Set doOnce to 0
		endif
	endif

End

Edit : petit oubli, le messageBox se serait affiché en permanence ! ;)

Modifié par Nenfëa, 02 avril 2006 - 19:44.

Nenfëa

- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!

Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!

Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !

#5 frjover

frjover

Posté 02 avril 2006 - 20:01

merci beaucoup, je vais regarder ca

En fait ce code ne correspond pas je vais t'expliquer mieux ou je veux le mettre :

Menu : Character
Option : quest
Tu prend la MS16A par exemple
Onglet : Quest stages
Index 18
Et la dans le champ de saisie "result script" on débloque le lieu sur la carte
et donc moi je veux poser une question a ce niveau pour que le joueur est le choix de le débloquer ou pas

Quel code je dois écrire ??

Merci par avance

Modifié par frjover, 02 avril 2006 - 20:22.


#6 Nenfëa

Nenfëa

    Le poisson bavard de Kalendaar


Posté 03 avril 2006 - 07:02

Aucun soucis : il te suffit de remplacer dans le script la ligne...
if ( ( GetStageDone QuestID StageIndex == 1 ) && ( doOnce == 0 ) )
... par :
if ( ( GetStageDone MS16A 18 == 1 ) && ( doOnce == 0 ) )
... puis que tu rendes l'endroit accessible dans le cas où le joueur répond oui.

Et bien sur, il faut que tu associes le script à la quête !
Nenfëa

- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!

Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!

Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !

#7 frjover

frjover

Posté 03 avril 2006 - 19:58

VOILA LE CODE QUE J'ECRIS :

MessageBox"Voulez-vous afficher le nouveau lieu sur la carte ?","OUI","NON"

short button
set button to getbuttonpressed
if button == 0
      Message "C'était le choix 1"
      showmap WeatherleahMapMarker
elseif button == 1
      Message "C'était le choix 2"
elseif button > 0
      Message "C'était le choix superieur"
elseif button < 0
      Message "C'était le choix inferieur"
endif

ET LA VALEUR DE BUTTON RETOURNEE EST TOUJOURS < à 0

POURQUOI ?

Modifié par frjover, 03 avril 2006 - 20:02.


#8 Squallynou

Squallynou

Posté 03 avril 2006 - 20:05

Salut, pense à mettre ton code entre les balises BBCode : "Code", c'est plus lisible et ça garde l'indentation.

MessageBox"Voulez-vous afficher le nouveau lieu sur la carte ?","OUI","NON"

short button
set button to getbuttonpressed

if button == 0
  Message "C'était le choix 1"
  showmap WeatherleahMapMarker
 elseif button == 1
  Message "C'était le choix 2"
 elseif button > 0
  Message "C'était le choix superieur"
 elseif button < 0
  Message "C'était le choix inferieur"
endif

Est ce là ton code entier ???? Il manque très certainement des bouts ^^, sinon pour l'utilisation du messagebox y'a un exemple tout simple mais fonctionel sur le cs.elderscrolls : http://cs.elderscrol...etButtonPressed

En fait ça te mets toujours le choix -1 car le bouton n'est pas recalculé. Il est en fait recalculé à la frame suivante, et toi il est calculé sur la même frame.
Donc en résumé, tu dois séparer ton messageBox de ton choix de bouton afin qu'ils ne s'executent pas en même temps
*la mort est un réel manque de savoir vivre*




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)