Bon, pour récapituler (tu as du faire comme ça, en tout cas moi j'aurais tenté ça comme ça ) :
Script sur l'établi :
Code : Tout sélectionner
Begin OnActivate
if ( IsActionRef player == 1 )
set FirstPressedButton to -1
ShowMessage SchematicsWorkbenchMsg ; Affiche le menu de fabrication général de l'établi
endif
End
Begin GameMode
if ( FirstPressedButton == -1 )
set FirstPressedButton to GetButtonPressed
set weaponCondition to (player.getAV repair)/100 ; L'état de l'arme dépends du pourcentage de la compétence réparation du joueur
if FirstPressedButton == 1 ; ammo
set Button2 to -1
ShowMessage SchematicsWorkbenchAmmoMsg <= ICI tu ajoutes un Activate vers un activateur en enlevant ce "ShowMessage"
return
elseif FirstPressedButton == 2 ; armor
set Button3 to -1
ShowMessage SchematicsWorkbenchArmorMsg <= ICI aussi, et ainsi de suite...
return
elseif FirstPressedButton == 3 ; big guns
set Button4 to -1
ShowMessage SchematicsWorkbenchBigGunMsg
return
elseif FirstPressedButton == 4 ; energy weapons
set Button5 to -1
ShowMessage SchematicsWorkbenchEnWeapMsg
return
elseif FirstPressedButton == 5 ; explosives
set Button6 to -1
ShowMessage SchematicsWorkbenchExplosiveMsg
return
elseif FirstPressedButton == 6 ; hand to hand weapons
set Button7 to -1
ShowMessage SchematicsWorkbenchBrawlMsg
return
elseif FirstPressedButton == 7 ; melee weapons
set Button8 to -1
ShowMessage SchematicsWorkbenchMeleeMsg
return
elseif FirstPressedButton == 8 ; small guns
set Button9 to -1
ShowMessage SchematicsWorkbenchSmGunMsg
return
endif
endif
Code : Tout sélectionner
Begin OnActivate
..........ShowMessage menusouhaité
........
End
Begin GameMode
instructions
.....
End
Ensuite, en fonction, il fera ce qui est dans son bloc "GameMode", et c'est là qu'il effectuera les réparations.
Tu peux avoir besoin de variables pour passer du bloc "Begin OnActivate" à celui "GameMode" comme par exemple un short busy ou active qui prennent des valeurs binaires et bloquent une autre activation tant que l'action n'est pas terminée (valeur réinitialisée à 0 à la fin du bloc GameMode; passée à 1 dans le bloc OnActivate pour que le GameMode puisse s'exécuter. Tu saisis le concept ?)
Si tu veux passer des valeurs d'un script à un autre, là, il te suffira d'utiliser des variables globales. C'est le seul moyen.
Donc tu as ;Etabli est activé par le joueur => Son script se lance (c'est dingue) => J' appuis sur le premier bouton de la boite de message qui s'est affichée => Ca DEVRAIT appeller l'Activateur du Bouton 01 à s'activer => L'activateur du bouton 01 est scripté et affiche un message une fois qu'il a été activé par l'établi.
- Un établi activateur, OK
- Le premier bouton de la boite de dialogue exécute un "ACTIVATE" sur la Référence Editeur d'un activateur dans la même cell ?
- L'activateur a un script attaché comprenant un bloc "Begin onActivate" et un bloc "Begin GameMode" ?
Si c'est ce que tu as fait, que ça ne fonctionne pas comme tu voudrais, dis moi ce qu'il en est.
Si tu veux aussi, tu peux m'envoyer le plugin sur lequel tu fais tes tests d'activateurs, ce sera peut etre plus facile pour avoir une vision complète.
Aucun danger pour ça, on fait vraiment tout ce que l'on veut avec les quêtes. Mais c'est vrai que ce n'est pas spécialement fait pour (sur le TESCS surtout, dans le GECK, le système de quête est assez différent et plus modulaire, donc il peut servir à beaucoup plus de choses.)J'espère que les quête m'apporteront satisfaction (j'ai peur de me retrouver avec des boite de conversation plutôt que de message)
Les références liées servent par exemple au contrôle des tourelles ou des portes par les terminaux... le script du terminal s'exécute sur la ref liée. Ou encore pour les chemins des patrouilles par exemple.J'ai trouvé dans les propriétés des activator des onglets sur: Linked Ref/ Active Parent / Enable Parent. Mais je peine à les utiliser comme tout nouveau truc que je découvre. Et puis Active parent a pas l'air de fonctionner correctement. Rien ne s'affiche dans la liste.
Les parents sont utilisées pour définir plusieurs objets (lit, chaise, tabouret, bouteille...) dans une sorte de groupe : on "enable" le chef de goupe (le parent) et les autres s' "enable" aussi, et vice-versa.