Les forums de Captain Alban    - Index du Forum Les forums de Captain Alban
Discussions sur Tomb Raider et Lara Croft Le site de Captain Alban
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

* Portes fermées façon TR6

 
Poster un nouveau sujet   Répondre au sujet    Les forums de Captain Alban - Index du Forum -> Editeur de niveaux
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Adëlann
Raider de 2nde classe
Raider de 2nde classe


Inscrit(e) le: 12 Avr 2016
Messages: 19
Localisation: Bretagne

MessagePosté le: Mar 28 Juin 2016, 20:09    Sujet du message: * Portes fermées façon TR6 Répondre en citant

Holà happy

Alors voilà je travaille actuellement sur une université* et dans un endroit comme ça il y a tellement de pièces que je ne me vois pas toutes les faire une par une, surtout si elles ne sont pas importantes. J'aimerais donc mettre des portes en tant que simple déco pour ne pas faire un bâtiment trop vide ;

D'où ma question : existe-t-il un moyen de faire interagir Lara avec une porte (type push/pull) qu'elle essaye d'ouvrir (en vain) (sans que la porte ne s'ouvre dans le vide), à la manière TR6 dans Paris ?

Et encore mieux si c'est faisable : est-il possible de le faire avec un porte que l'on pourra ultérieurement ouvrir ?! Surprised

Pour ma première question je pense que mettre la porte en anigmating est une bonne idée pour que la porte ne s'ouvre pas dans le vide mais je ne sais pas comment faire interagir Lara avec un simple objet..

Alors voilà vos idées sont les bienvenues (et les solutions aussi ahah Laughing)
Merci d'avance Very Happy

*(D'ailleurs je ne trouve pas de scénario, j'aimerais faire qqch de glauque et de nuit mais je sèche.. Là aussi les idées sont les bienvenues ^^')
Revenir en haut de page
Offline Voir le profil de l'utilisateur Envoyer un message privé
Joey
Adjudant-Chef Raider
Adjudant-Chef Raider


Inscrit(e) le: 28 Mai 2008
Messages: 3305
Localisation: Vous voyez Amiens ? Un p'tit village à côté ? C'est pas là du tout.

MessagePosté le: Jeu 30 Juin 2016, 01:54    Sujet du message: Répondre en citant

J'ai une solution, qui évidemment est un palliatif et pas une solution à proprement parler (avec TRLE, c'est presque normal Laughing), et ça serait bien en utilisant un Animating... mais aussi la Push/Pull Door.

En fait il y aurait à la fois la porte, et l'Animating. L'Animating, invisible, viendrait se placer juuuste devant la porte, afin que Lara interagisse avec lui et pas la porte.
Ensuite, une fois que tu as décidé que la porte pouvait être ouverte, tu peux enlever l'Animating avec un trigger, comme ça c'est la vraie porte qui sera accessible par Lara, et elle pourra donc l'ouvrir sans problème.

Pour parler de choses plus techniques : pour l'animation de Lara qui ne peut pas ouvrir la porte, il suffirait d'une commande Animation=. Je sais pas si tu t'en es déjà servi, mais en gros c'est utilisé pour faire jouer une animation quand certaines conditions sont remplies.
Là, on aurait besoin d'une condition qui testera la position de Lara par rapport à l'Animating, donc il faudra utiliser une commande TestPosition= qui est faite exprès pour ça.

Là ça peut paraître un peu long à faire si tu n'as jamais fait, mais au final, ça te fera écrire 2 lignes dans ton script. Laughing

Le projet d'exemple Animation with TRNG montre comment fonctionnent les commandes Animation= et TestPosition=. Tu peux commencer à les regarder si tu veux essayer seul, mais si ça te fait peur tu peux demander évidemment, personne ne devrait te mordre. mrgreen

EDIT: Ah, et pour répondre à tes questions... oui, c'est possible. Mais tu l'avais compris. mrgreen
_________________
Revenir en haut de page
Offline Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Adëlann
Raider de 2nde classe
Raider de 2nde classe


Inscrit(e) le: 12 Avr 2016
Messages: 19
Localisation: Bretagne

MessagePosté le: Lun 11 Juil 2016, 18:05    Sujet du message: Répondre en citant

Hello happy

Merci pour ta réponse (& désolée pour le temps de réponse ^^')

J'ai essayé le tuto que tu m'a recommandé mais ça n'a pas vraiment été concluant (honnêtement j'ai failli pleurer quand j'ai vu le script Confused Laughing )
Je ne suis vraiment pas à l'aise en ce qui concerne le script, je me suis quand même prêtée au jeu en copiant-collant les lignes qui m’intéressaient (celui avec le portail et "diagnostic") et en remplaçant le nom des moveables par les miens; mais je n'ai pas réussi à faire apparaître "Anim-1=YES" au lieu de "Anim-1=no" quand je m'approchait de la porte en question..
Enfin bref je suis un peu perdue et je ne comprend pas vraiment ce dans quoi je m'aventure, mais ça m'intrigue

Merci de ton aide Wink
Revenir en haut de page
Offline Voir le profil de l'utilisateur Envoyer un message privé
Joey
Adjudant-Chef Raider
Adjudant-Chef Raider


Inscrit(e) le: 28 Mai 2008
Messages: 3305
Localisation: Vous voyez Amiens ? Un p'tit village à côté ? C'est pas là du tout.

MessagePosté le: Sam 16 Juil 2016, 15:43    Sujet du message: Répondre en citant

Hum, honnêtement j'ai un peu de mal à voir par où commencer pour t'aider... est-ce que tu peux expliquer ce que tu as essayé de faire, et comment ? happy

Bon, de toutes façons les scripts, ce n'est rien de plus que des commandes à chaque fois, qui ont toutes un but bien précis. Il faut donc bien imaginer d'abord dans sa tête comment le système fonctionne, de façon claire, en séparant bien chaque étape.
Là, pour ce système, d'abord on a une fausse porte, un Animating, qui bloque l'accès à la vraie porte.
Lorsque Lara se trouve en face (TestPosition=), on veut jouer une Animation (Animation=, et éventuellement MultEnvCondition= si on a plus d'une condition environnementale à tester). L'animation qu'on va jouer, ça va être l'animation où Lara essaye d'ouvrir la porte.
Ensuite, autre chose : dans le jeu, à un moment donné, on enlève l'Animating qui bloque la porte (Trigger spécifique). Et là, la vraie porte pourra être ouverte de façon normale, et là c'est pas nous qui gérons.

En fait la première chose à gérer, c'est le fait de pouvoir enlever l'Animating lorsqu'on n'en veut plus. C'est le principal. Je veux dire, si ça ne fonctionne pas, alors ça casse le jeu, alors que si l'effet porte fermée ne fonctionne pas, à la limite comme c'est qu'un effet c'est pas grave, ça affectera pas le jeu.
Donc pour ça y a plusieurs solutions, la plus commune c'est de le déplacer et le cacher loooiiiin au-dessus de Lara, dans le plafond, ou alors dans le sol, au choix... enfin en gros on s'en débarrasse, et on se fiche un peu d'où il se trouve une fois qu'on en a plus besoin. Laughing
Suffit d'aller voir dans NGLE, sélectionner ton Animating. Tu ouvres ensuite la fenêtre de Trigger. Dans la liste Trigger, au lieu d'Object, tu sélectionnes Action.
Dans le champ Parameter (Timer), tu choisis "Move. Move ****** <#> animating for (E) clicks", et tu le places où tu veux dans ta map.
Essaies de faire fonctionner cette partie avant tout, comme ça ton niveau fonctionnera comme il faut déjà.

Après, l'effet porte fermée est un poil plus compliqué à mettre en place, mais c'est pas impossible. Razz

----------------------------

Déjà, ce qu'il faut savoir, au cas où ce n'est pas bien clair :
Animation= permet de faire jouer une animation à Lara quand un set de conditions sont remplies.
Si on suit la syntaxe, on regarde quelles touches sont enclenchées, on peut ajouter un comportement spécial (les FAN_ ne sont pas des conditions), on peut regarder des conditions spécifiques sur l'environnement, et ensuite pendant quelles animations Lara peut jouer cette animation.

MultEnvCondition=, c'est juste là parce que dans la commande Animation=, on ne peut mettre qu'une condition d'environnement. Cette commande sert donc à en mettre plusieurs. Chaque condition d'environnement est un ensemble de trois paramètres. Bon, pour certaines conditions, seul un argument est nécessaire, mais comme on doit respecter la syntaxe qui impose 3 arguments, histoire que NG Center s'y retrouve, on les met. Mais on met IGNORE là où il n'y a besoin de rien.

TestPosition=, c'est aussi des conditions sur l'environnement, mais par rapport à un objet.

Il faut respecter les syntaxes évidemment, mais pour essayer de faire marcher tout un système, il faut y aller étape par étape, avec d'abord le moins de conditions possibles. Par exemple, tu peux te contenter d'utiliser juste une commande Animation= sans conditions sur l'environnement, juste sur les touches, et à la limite sur les animations. En gros faut que ça se déclenche seulement pendant que Lara est en train de jouer l'animation 103 (debout sans bouger), ou alors n'importe quelle animation ayant le StateID 2, au choix. Et seulement quand tu appuies sur Action.
Si tu arrives à faire fonctionner ça, alors tu peux commencer à rajouter des conditions.

Par contre évidemment, quand tu passes au conditions sur le TestPosition (donc par rapport à la porte), le tutoriel mentionne bien qu'il faut récupérer les coordonnées de l'objet avant, parce que c'est pas facile de les deviner toutes seules. Une fois que c'est noté, tu rentres ces coordonnées dans le TestPosition et tu donnes une certaine marge de tolérance, histoire que Lara n'ait pas à s'y tenir au pixel près.
_________________
Revenir en haut de page
Offline Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Quasar
Sergent Raider
Sergent Raider


Inscrit(e) le: 04 Juil 2010
Messages: 312

MessagePosté le: Lun 18 Juil 2016, 19:04    Sujet du message: Répondre en citant

Salut !

De manière générale, quand on veut créer une interaction entre Lara et un objet qui n'est pas gérée directement par le moteur, il faut :

1) Avoir l'objet en question dans un slot ANIMATING.

2) Créer l'animation de Lara qui représente l'interaction. Joey l'a dit, ça se fait avec une commande Animation. Ici, dans un premier temps, on va faire simple, on va admettre que la porte reste toujours fermée. On a donc deux conditions pour cette animation :

- Le joueur appuie sur la touche [Action] pour tenter d'ouvrir la porte.
- Lara est placée correctement par rapport à la porte (qui est en réalité un ANIMATING, je le rappelle).

La première condition est facile, la commande Animation la gère directement.
La deuxième est beaucoup moins facile. Enfin, ça dépend. Avant de s'attaquer directement au TestPosition (comme l'a aussi dit Joey (^^)), on peut essayer d'utiliser la constante ENV_ITEM_EXTRA_IN_FRONT dans la commande Animation. Cette constante peut tester la présence d'un objet d'un slot donné, à une distance donnée, face à Lara. Ca tombe bien, notre porte, elle doit se trouver face à Lara quand elle tente de l'ouvrir. ^^ Même si ça n'est pas aussi précis qu'un TestPosition, ça peut valoir le coup, et c'est surtout beaucoup plus simple.

Si cette constante ne convient pas, je reviendrai déballer un pavé sur le TestPosition, la commande casse-tête de TRNG. ^^


EDIT : J'oubliais l'étape 3), gérer l'éventuelle animation de la porte. Laughing Mais on verra ça quand l'étape 2) sera réussie...
Revenir en haut de page
Offline Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Les forums de Captain Alban - Index du Forum -> Editeur de niveaux Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Votez pour le site !
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com