Aller au contenu

[Script] comment déplacer un objet dans le jeu ?


shrapnel

Messages recommandés

bonsoir à tous,Je débute dans le modding de F3, je connais bien le logiciel (mais pas du point de vue script, dialogues etc .. :/ ) J'aimerais créer un script attaché à un objet particulier pour que ce dernier se déplace dans le jeu, une fois actionné par le joueur.exemple : Créer une sorte de passage secret, qui se dévoilerai par le déplacement latéral d'un objet .. Est ce possible ? De quelles façons sont codées les déplacements des portes ? (je pense aux portes animées comme celle des abris ) C'est inclus dans un script ? Finalement je ne comprend pas comment sont gérées ces animations ...Merci

Lien vers le commentaire
Partager sur d’autres sites

Tu reponds dans ton post a ta propre question... ^^Il n'y a aucun script qui gere les deplacements des portes lorsque tu les ouvres (si ce n'est dans le code source). C'est juste une ANIMATION, créée avec les logiciels adequates, ce que tu ne peux pas faire avec le GECK.Par contre, tu peux effectivement deplacer un objet dans l'espace grace a un script (faire un ascenseur par exemple). Mais c'est trop long a expliquer du debut a la fin, alors je vais te poster un code que j'avais fait il y a quelques temps pour creer un ascenseur basique, dirigé (haut ou bas), par une console. (l'ascenseur en lui-meme doit etre un Activateur, et non un Static, sinon il ne bougera pas !).En gros, c'est juste un truc de positions dans l'espace (X,Y,Z) que tu modifie dans le temps.Dans mon script, tu t'apercevra que je fais bouger le player en meme temps(sinon il ne bougera pas, meme sil se met sur l'ascenseur et qu'il le fait monter).Voila le code:

scn ADCKLiftTestScriptref linkedRefshort posZshort playerPosZshort newPosZshort playerNewPosZshort doOnceshort startfloat timershort etat 	; 0 en bas		; 1 en hautshort enMarcheBEGIN OnActivate		if (enMarche == 0)		set linkedRef to GetLinkedRef		set posZ to linkedRef.GetPos Z		set playerPosZ to player.GetPos Z		set timer to 0		if ( etat == 0)			DisablePlayerControls 1 0 1			set newPosZ to (posZ + 10)			set playerNewPosZ to (playerPosZ + 10)			set start to 1			set enMarche to 1		elseif (etat == 1)			DisablePlayerControls 1 0 1			ColMarkREF.Disable			set newPosZ to (posZ - 10)			set playerNewPosZ to (playerPosZ - 10)			set start to 1			set enMarche to 1		endif	endifENDBEGIN GameMode	if (start == 1)		if (etat == 0)			if ( newPosZ < (posZ + 500))				if timer < .1		      		set timer to timer + GetSecondsPassed		  		else					if (doOnce == 0)						linkedRef.setPos Z newPosZ						player.setPos Z playerNewPosZ		      			set timer to 0						set doOnce to 1					else						set newPosZ to (newPosZ + 10)						set playerNewPosZ to (playerNewPosZ + 10)						linkedRef.setPos Z newPosZ						player.setPos Z playerNewPosZ						set timer to 0					endif				endif			else				set start to 2				set enMarche to 0				set etat to 1				set doOnce to 0				ColMarkREF.enable				EnablePlayerControls			endif		elseif (etat == 1)			if ( newPosZ > (posZ - 500))				if timer < .1		      		set timer to timer + GetSecondsPassed		  		else					if (doOnce == 0)						linkedRef.setPos Z newPosZ						player.setPos Z playerNewPosZ		      			set timer to 0						set doOnce to 1					else						set newPosZ to (newPosZ - 10)						set playerNewPosZ to (playerNewPosZ - 10)						linkedRef.setPos Z newPosZ						player.setPos Z playerNewPosZ						set timer to 0					endif				endif			else				set start to 2				set enMarche to 0				set etat to 0				set doOnce to 0				EnablePlayerControls			endif		endif	endifEND
C'est pas tres complique une fois que tu comprends le principe.Si tu as des questions sur le code ousur quelque chose de precis, je te repondrai! Mais je n'ai ni le temps ni l'envie(surtout en periode d'exams) de faire un tutorial ou une explication complete, desole ^^.Bonne chance!

Mes Mods terminés:
- Fallout 3:
Bear Trap

-Fallout New Vegas:
Gameplay Revised
Bear Trap

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...