Aller au contenu


[Résolu]Script De L'Ascenseur À Multi-Étages


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

#1 - Plik -

- Plik -

Posté 05 juillet 2011 - 18:48

Bonjour tout le monde, tout est dis dans le titre. Je cherche un script pour faire un ascenseur avec plusieurs étages  :pensif: comme celui du GOMORRAH ou du LUCKY 38...
Si un moddeur connaît ce script et si il veut le faire passer se serai super cool  :top:
Vous pouvez aussi retrouver tout les scripts que je modifie à ma guise, tout est expliqué  :P
--> MasterMind --> SCRIPTS <--

Merci à ceux qui prendront le temps de me répondre  :bye:



-PLIK-

Modifié par sucresalesucre, 28 octobre 2011 - 16:43.


For you I would have done whatever,
And I just can't believe we ain't together.

Nouveau Site: ROBCO INDUSTRIE


#2 Ridiane

Ridiane

Posté 05 juillet 2011 - 19:26

Salut,

Je pige pas... Pourquoi tu ne reprend pas celui de l'ascenseur du Gomorrah ou du L38, pour le réarranger à ta sauce... ? Surtout que ce n'est pas bien compliqué à faire comme script.

#3 - Plik -

- Plik -

Posté 05 juillet 2011 - 20:23

Salut

J'ai trouvé !
Au début j'ai pris celui du Gomorrah, mais il y avait des trucs dans le script qui était un peu bizarre, donc au lieu de tout déchiqueté dans le script, un pote de la Confrérie m'a filé le script qu'il a fait :)
Voilà, pour ceux qu'il le veulent il sera sur mon site que je l'aurai testé :)
Apluche


-Plik-

For you I would have done whatever,
And I just can't believe we ain't together.

Nouveau Site: ROBCO INDUSTRIE


#4 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 05 juillet 2011 - 20:34

Le script de T!TER ne fonctionnera pas...
Déjà, il fait tout dans un bloc OnActivate, donc ça part mal, très mal...


Qu'est-ce que tu ne comprends pas avec le script du Gomorrah plutôt...?
Car c'est très exactement ce genre de script qu'il faut faire... faire autre chose, c'est au mieux de l'usine à gaz...

#5 - Plik -

- Plik -

Posté 05 juillet 2011 - 21:52

En effet ça n'a pas fonctionné :'(
Ce que je ne comprends pas c'est ça:

Ce qui est en gras & italique.
scn GomorrahElevatorDoorScript

int Button

begin OnActivate
	ref reffer
	set reffer to GetActionRef
	if GetActionRef == player
		showmessage GomorraElevatorMessage
	else
		if reffer.GetPlayerTeammate == 1
			reffer.moveto player
		endif
	endif
end

begin GameMode
	set Button to GetButtonPressed
	ref rMarker
	if Button == 1
		player.MoveTo GomorrahLLMarker
		set rMarker to GomorrahLLMarker
		Autosave
	elseif Button == 2
		player.MoveTo Gomorrah1stMarker
		set rMarker to Gomorrah1stMarker
		Autosave
	elseif Button == 3
		player.MoveTo Gomorrah3rdMarker
		set rMarker to Gomorrah3rdMarker
		Autosave
	elseif Button == 4
		player.MoveTo GomorrahTopMarker
		set rMarker to GomorrahTopMarker
		Autosave
	endif
   [i][b] if (Button == 1 || Button == 2 || Button == 3 || Button == 4)
		if (VNPCFollowers.bBooneHired) && (CraigBooneREF.Waiting != 1)
			CraigBooneREF.MoveTo rMarker;
		endif
		if (VNPCFollowers.bCassHired) && (RoseofSharonCassidyREF.Waiting != 1)
			RoseofSharonCassidyREF.MoveTo rMarker;
		endif		
		if (VNPCFollowers.bVeronicaHired) && (VeronicaREF.Waiting != 1)
			VeronicaREF.MoveTo rMarker;
		endif
		if (VNPCFollowers.bLilyHired) && (LilyREF.Waiting != 1)
			LilyREF.MoveTo rMarker;
		endif
		if (VNPCFollowers.RaulHired) && (RaulREF.Waiting != 1)
			RaulREF.MoveTo rMarker;
		endif
		if (VNPCFollowers.ArcadeHired) && (ArcadeREF.Waiting != 1)
			ArcadeREF.MoveTo rMarker;
		endif
		if (VNPCFollowers.bEDEHired) && (EDE1REF.Waiting != 1)
			if EDE1Ref.GetDisabled == 0
				EDE1Ref.MoveTo rMarker
			elseif EDE2Ref.GetDisabled == 0
				EDE2Ref.MoveTo rMarker
			elseif EDE3Ref.GetDisabled == 0
				EDE3Ref.MoveTo rMarker
			endif
		endif
		if (VNPCFollowers.RexHired) && (RexREF.Waiting != 1)
			RexREF.MoveTo rMarker;
		endif	
	endif
end[/b][/i]

Merci :)


-Plik-

For you I would have done whatever,
And I just can't believe we ain't together.

Nouveau Site: ROBCO INDUSTRIE


#6 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 05 juillet 2011 - 22:10

Coucou...

En fait, ce que tu as mit en gras et italique...
C'est la gestion des compagnons du jeu de base...

		set Button to GetButtonPressed
		ref rMarker
		if Button == 1
				player.MoveTo GomorrahLLMarker
				set rMarker to GomorrahLLMarker
				Autosave
		elseif Button == 2
				player.MoveTo Gomorrah1stMarker
				set rMarker to Gomorrah1stMarker
				Autosave
		elseif Button == 3
				player.MoveTo Gomorrah3rdMarker
				set rMarker to Gomorrah3rdMarker
				Autosave
		elseif Button == 4
				player.MoveTo GomorrahTopMarker
				set rMarker to GomorrahTopMarker
				Autosave
		endif
Là on récupère sur quel bouton a appuyé le joueur, puis on le téléporte au marqueur qui correspond au bon bouton...
On conserve et le bouton, et le marqueur où on a téléporté le joueur...
Pour la seconde partie qui te pose problème...
if (Button == 1 || Button == 2 || Button == 3 || Button == 4)
				if (VNPCFollowers.bBooneHired) && (CraigBooneREF.Waiting != 1)
						CraigBooneREF.MoveTo rMarker;
				endif
				if (VNPCFollowers.bCassHired) && (RoseofSharonCassidyREF.Waiting != 1)
						RoseofSharonCassidyREF.MoveTo rMarker;
				endif		   
				if (VNPCFollowers.bVeronicaHired) && (VeronicaREF.Waiting != 1)
						VeronicaREF.MoveTo rMarker;
				endif
				if (VNPCFollowers.bLilyHired) && (LilyREF.Waiting != 1)
						LilyREF.MoveTo rMarker;
				endif
				if (VNPCFollowers.RaulHired) && (RaulREF.Waiting != 1)
						RaulREF.MoveTo rMarker;
				endif
				if (VNPCFollowers.ArcadeHired) && (ArcadeREF.Waiting != 1)
						ArcadeREF.MoveTo rMarker;
				endif
				if (VNPCFollowers.bEDEHired) && (EDE1REF.Waiting != 1)
						if EDE1Ref.GetDisabled == 0
								EDE1Ref.MoveTo rMarker
						elseif EDE2Ref.GetDisabled == 0
								EDE2Ref.MoveTo rMarker
						elseif EDE3Ref.GetDisabled == 0
								EDE3Ref.MoveTo rMarker
						endif
				endif
				if (VNPCFollowers.RexHired) && (RexREF.Waiting != 1)
						RexREF.MoveTo rMarker;
				endif   
		endif
On vérifie d'abord que le joueur a bien appuyé sur un bouton qui téléporte...
if (Button == 1 || Button == 2 || Button == 3 || Button == 4)
Si oui, on regarde si le compagnon untel suit actuellement le joueur...
if (VNPCFollowers.RexHired) && (RexREF.Waiting != 1)
La première variable demande si le compagnon Rex est "hired", donc a été recruté par le joueur, tandis que la seconde variable regarde si Rex n'est pas en train d'attendre (quand on demande au compagnon de nous attendre sur place)...
Si ces deux conditions sont remplies, on téléporte le compagnon au marqueur lui aussi, car il faut bien qu'il nous suive...

Bref, ça c'est à laisser tel quel, car c'est mieux pour éviter de perdre les compagnons... :)
Cette gestion des compagnons est optionnelle je crois, mais préférable... le jeu a toujours un petit peu de mal pour gérer correctement les compagnons, ça s'est amélioré depuis Morrowind, mais tout de même...


J'en profite pour expliquer pourquoi le script de T!TER ne fonctionne pas...
Spoiler
Outre la non-gestion des compagnons, comme je l'ai dit le  gros truc qui ne va pas, c'est le fait que tout se passe dans le bloc OnActivate...
Ce bloc est évènementiel, il n'est joué que pendant la seule et unique frame où le jeu détecte que l'objet a été activé...
Il va sans dire que lorsque l'on fait apparaitre un menu, et que l'on attend que le joueur réponde, un bon millier de frames se sont déjà déroulées...
La succession de if retournera donc quoi qu'il arrive la valeur fausse...



Il faut faire attention car il y a un piège, quand on affiche une MessageBox, le jeu est en MenuMode... La première réaction -logique- est donc d'exécuter le code de la sélection de bouton dans un bloc MenuMode...
Sauf que la fonction GetButtonPressed prend plusieurs frames pour retourner son résultat, or le jeu quitte le MenuMode pour passer en GameMode à la frame suivant l'appui sur le bouton...
Il faut donc faire exécuter le code des bouton dans un GameMode...
C'est contre-intuitif, mais bon...

#7 - Plik -

- Plik -

Posté 05 juillet 2011 - 23:24

D'accord  :umnik:
Je viens de comprendre son erreur :huhu:
Merci bien :)

EDIT: ça fonctionne nikel !! Merci Shadows :oops:



-Plik-

For you I would have done whatever,
And I just can't believe we ain't together.

Nouveau Site: ROBCO INDUSTRIE


#8 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 06 juillet 2011 - 07:43

De rien... :)

J'avais oublié, le sujet est mal placé, je déplace dans la bonne section...




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

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