[Résolu] Script pour un menu qui change de version d'arme

Vous trouverez ici les tutoriels et l'entraide sur les outils et techniques de modding spécifiques à Fallout 3.
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024
Contact :

Script pour un menu qui change de version d'arme

Message par Corax »

Bon voilà je bosse sur un mod qui permet d'alterner entre différentes versions d'une arme via un petit menu qui apparaitrait quand on s'équipe de l'arme, mais le problème c'est que je bloque sur le script (la fenêtre du message est bien paramétré).

Je sais que le script doit donner un truc du genre:
scn nomduscript

float weaponCondition
short needequip
short button

begin OnEquip
ShowMessage bidule
endif
endif
Je suis sur que j'oublie un truc....
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Avatar du membre
Sylom
Légende de la Confrérie
Légende de la Confrérie
Messages : 10085

Re: Aide pour un script

Message par Sylom »

Bien que je ne sois pas un dieu niveau script, je vais quand même essayé de te mettre sur la bonne voie.
Pour commencer, il y a 2 variables en plus que tu dois définir :

Code : Tout sélectionner

int ChangeModeArme
short checkButtons
Pourquoi ? C'est assez simple en fait. Lorsqu'un message s'affiche, tu as les différentes options (appelées boutons) qui sont sélectionnables. Aux yeux de l'utilisateur lambda, ce sont des phrases.
Mais pour le moddeur et le jeu, ce sont des numéros. Ainsi, si tes options sont par exemple :
- Prendre la version avec lunette
- Ranger l'arme
- Lâcher une caisse
pour le jeu, la première option sera 0, la 2ème 1, etc... Il te faut donc un indicateur pour capturer ce nombre (aka le stocker une fois que l'utilisateur a cliqué pour choisir ou par erreur).

Ensuite après ton bloc OnEquip, on va rajouter un nouveau bloc : GameMode (en gros, ce qui se passe ingame... enfin je suis pas sûr, mais bon).

Code : Tout sélectionner

begin GameMode
if (checkButtons == 1)
	set ChangeModeArme to GetButtonPressed
ici, le jeu va stocker l'entier représentant le bouton activé dans ta variable ChangeModeArme. Cela va nous servir par la suite.
(Note importante : tu peux appeler la variable ChangeModeArme comme tu veux. Mais checkButtons, il est recommandé de le laisser tel quel.)
Une fois le bouton identifié, on va dire au jeu ce qu'il doit faire via des conditions "if ... else" (un peu comme en C, en Caml, etc...)

Code : Tout sélectionner

	if ChangeModeArme == 0 
		Instructions pour bouton 1
	elseif ChangeModeArme == 1
		Instructions pour bouton 2
	elseif ChangeModeArme == 2
		Instructions pour bouton 3
 etc... selon le nombre de boutons
	endif
set checkButtons to 0
endif
end
ça, c'est pour un script prédéfini pour une seule arme, en gros il n'est pas "universel" (pas applicable à toutes les versions de l'arme : il te faudra faire un clone en changeant les instructions).

Voilà, fin du script. Compile, reçois une erreur de la part du Geck, puis reviens me tirer les oreilles.
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024
Contact :

Re: Aide pour un script

Message par Corax »

Je me suis peut être mal expliqué, voilà ce que j'ai créé pour le moment:
Weapons:
WeapVSSRifle => Fusil de sniper silencieux VSS "Vintorez" Action Razor
WeapVSSRifleassault => Fusil de sniper silencieux VSS "Vintorez" Action Razor (Mode assaut)


Message:
ID: VSSvintorezselectionMSG
Title: VSS Vintorez
Message Text: Sélection du type de fusil:

Et voici les captures de la fenêtre pour chaque bouton:
0:
Image
1:
Image
2:
Image

Donc en gros il faut juste que la boite de message s'ouvre lorsqu'on sélectionne l'arme (et qu'on s'en équipe).
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Avatar du membre
Sylom
Légende de la Confrérie
Légende de la Confrérie
Messages : 10085

Re: Aide pour un script

Message par Sylom »

Je ne suis pas sûr d'avoir saisi le problème, parce qu'à vue d'oeil, ton message devrait s'afficher si tu as bien appliqué le script à ton arme.
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024
Contact :

Re: Aide pour un script

Message par Corax »

....J'ai rien compris aux scripts....

Si j'ai suivi je dois avoir ça:

scn vssscriptselection

float weaponCondition
int ChangeModeArme
short checkButtons
short needequip
short button

begin OnEquip
ShowMessage VSSvintorezselectionMSG
begin GameMode
if (checkButtons == 1)
set ChangeModeArme to GetButtonPressed
if ChangeModeArme == 0
elseif ChangeModeArme == 1
elseif ChangeModeArme == 2
endif
set checkButtons to 0
endif
end
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Avatar du membre
Sylom
Légende de la Confrérie
Légende de la Confrérie
Messages : 10085

Re: Aide pour un script

Message par Sylom »

Niet :

Code : Tout sélectionner

scn vssscriptselection

float weaponCondition
int ChangeModeArme
short checkButtons
short needequip
short button

begin OnEquip /*Ce qu'il doit faire quand tu équipes l'arme*/
ShowMessage bidule
end

begin GameMode /*Les instructions pour le message, donc pour le changement d'arme ou non */
               if (checkButtons == 1)
                  set ChangeModeArme to GetButtonPressed
                  if ChangeModeArme == 0 
              /*Et là tu remplaces par les instructions à faire si le bouton sélectionné est le 0*/
                  elseif ChangeModeArme == 1
              /*Idem mais ce coup-ci avec le bouton 1/
                 elseif ChangeModeArme == 2
           /*Bon là je suppose que tu as capté le truc */
                 endif
set checkButtons to 0
endif
end
And now ?
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024
Contact :

Re: Aide pour un script

Message par Corax »

Bon voilà le script final:

Code : Tout sélectionner

scn vssscriptselection

float weaponCondition
int ChangeModeArme
short checkButtons
short needequip
short button
short hasWeapVSSRifle
short hasWeapVSSRifleassault


begin OnEquip
	if IsActionRef player == 1
		if (player.GetItemCount WeapVSSRifle > 0)
			set hasWeapVSSRifle to 1
			else set hasWeapVSSRifle to 0
		endif

		if (player.GetItemCount WeapVSSRifleassault > 0)
			set hasWeapVSSRifleassault to 1
			else set hasWeapVSSRifleassault to 0
		endif
	 	set checkButtons to 1
		ShowMessage VSSvintorezselectionMSG
	endif
end

begin GameMode
	if (checkButtons == 1)
		set ChangeModeArme to GetButtonPressed
		if ChangeModeArme == 0 
			if hasWeapVSSRifle == 0
			player.additem WeapVSSRifle 1
			player.removeitem WeapVSSRifleassault 1
			endif
		elseif ChangeModeArme == 1
			if hasWeapVSSRifleassault == 0
			player.additem WeapVSSRifleassault 1
			player.removeitem WeapVSSRifle 1
			endif
		endif
	set checkButtons to 0
	endif
end
Le problème est que cela ne marche toujours pas!
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024
Contact :

Re: Aide pour un script

Message par Corax »

Bon finalement j'ai reussi à creer le scrip en me basant sur le mod carabine tau de Daishun. Merci à sylom pour son aide.
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Avatar du membre
alexh1
Traducteur vétéran | Moddeur en herbe
Traducteur vétéran | Moddeur en herbe
Messages : 2332

Re: Aide pour un script

Message par alexh1 »

*Regarde les précédent posts...*

Arf... J'sais pas comment vous faites pour vous y retrouver... Content que ton problème soit réglé Corax. C'est pour quel mod?
Actus sur mes traductions, mods et autre.
Je ne prendrai de repos que lorsque j'aurai vidé la section Traduction de Fallout 3...
Avatar du membre
Corax
Légende de la Confrérie
Légende de la Confrérie
Messages : 13024
Contact :

Re: Aide pour un script

Message par Corax »

Armes Spetnaz - VSS & VAL
Plus de détails lundi.
Corax, Maître de la Raven Guard.
Vinctorus aut Mortis - Credo de la Raven Guard

Image

Tuto installation mods Fallout 3/NV
Tuto installation mods Skyrim
Répondre

Retourner vers « Modder Fallout 3 »