Aller au contenu


[Ressource] Hummer De La Confrérie De L'Acier


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

#1 Ridiane

Ridiane

Posté 19 octobre 2010 - 10:08

Hummer de la confrérie de l'Acier

par Lord Inquisitor, Weijiesen et Ridiane

Download - Mise à Jour

Les deux fichiers sont nécessaires.


-- CECI N'EST QU'UNE VERSION RESSOURCE, POUR EN FAIRE UNE VERSION COMPLÈTE VOIR PLUS BAS. --



Image IPB





- Description :

Ce mod ajout un Magnifique Hummer de la confrérie de l'Acier, fait par Lord Inquisitor et Weijiesen, issu de Fallout Tactics. Le Hummer ce trouve à Springvale.

L'archive a été corrigée :

- Ajout de la meshe du siège que j'avais oubliée.
- Correction des scripts.


- Fonctionnement :

Pour l'utiliser :
* Mettez vous à cotés du hummer, du cotés conducteur
* Ouvrez votre Pip-boy et utilisez la clés du Hummer. Elle a été ajoutée automatiquement dans votre inventaire.
* Choisissez "démarrer" dans le menu qui s'affiche
* une fois dans le hummer, ouvrez votre Pip-boy et effectuez un Fast Travel.

Pour le moment seules les destinations suivantes sont disponibles :
* Springvale
* l'Abri 101
* BigTown

Voyager vers une autre destinations ne feras rien.



- Ajouter une nouvelle destination :

Etant donné que je ne poursuivrais pas ce mod sur Fallout 3 si quelqu'un souhaite le reprendre, voici la méthode pour ajouter des destinations au Hummer :

- Placer un nouveau Hummer. Il s'agit d'un static ayant l'ID BOSHummer . Le mettre en Persistant Reference, pour qu'il puisse être utilisé dans un script et en Initialy Disabled. Lui donner une référence. Par exemple BOSCitadelHummerREF.

- Placer un nouveau siège de conducteur dans le Hummer. Il s'agit d'une furniture ayant l'ID BOSChair Il faut le placer de façon a ce qu'il soit sur le siège conducteur du Hummer. Sa meshe est invisible, le joueur ne le verra donc pas. Comme pour le Hummer, il faudra le mettre en Persistant Reference et en Initialy Disabled. Lui donner une référence. Par exemple BOSCitadelChairREF.

- Placer un nouveau Trigger. Il s'agit d'un activator ayant pour ID BOSTrigger. Il faut que le Trigger englobe tout le Hummer ainsi que le marqueur d'arrivée du joueur aprés un Fast Travel. Le mettre en Persistant Reference, et surtout le laisser activer par defaut : NE COCHEZ PAS INITIALY DISABLED. Lui donner une référence. Par exemple BOSCitadelTriggerREF.

- Notez la référence du marqueur d'arrivé pour cette destination.

- Un fois tout ceci fait, ouvrir le script ayant l'ID BOSRefScript. Vous devriez avoir ceci :

scn BOSRefScript
	
ref Trig	; Actual trigger's reference


Begin GameMode

	if Trig == BOSTriggerSpringvaleREF						; Springvale
		set BOSHummerQuest.Hummer to BOSHummerSpringvaleREF
		set BOSHummerQuest.Chair to BOSChairSpringvaleREF
   	set BOSHummerQuest.Marker to SpringvaleMapMarker

	elseif Trig == BOSTriggerVault101REF						; Vault101
		set BOSHummerQuest.Hummer to BOSHummerVault101REF
		set BOSHummerQuest.Chair to BOSChairVault101REF
   	set BOSHummerQuest.Marker to Vault101Marker

	elseif Trig == BOSTriggerBigTownREF						; BigTown
		set BOSHummerQuest.Hummer to BOSHummerBigTownREF
		set BOSHummerQuest.Chair to BOSChairBigTownREF
		set BOSHummerQuest.Marker to BigTownMapMarkerREF

	endif

End

Pour ajouter la destination il faut ajouter une condition au bloc if/else de cette façon :

	elseif Trig == ;Reference du Trigger de la nouvelle destination
		set BOSHummerQuest.Hummer to ;Reference du Hummer de cette destination
		set BOSHummerQuest.Chair to ;Reference du siège de cette destination
		set BOSHummerQuest.Marker to ; Reference du MapMarker utilisé pour cette destination

Par exemple pour les références que j'ai pris ci-dessus, cela doit donner :

scn BOSRefScript
	
ref Trig	; Actual trigger's reference


Begin GameMode

	if Trig == BOSTriggerSpringvaleREF						; Springvale
		set BOSHummerQuest.Hummer to BOSHummerSpringvaleREF
		set BOSHummerQuest.Chair to BOSChairSpringvaleREF
		set BOSHummerQuest.Marker to SpringvaleMapMarker

	elseif Trig == BOSTriggerVault101REF						; Vault101
		set BOSHummerQuest.Hummer to BOSHummerVault101REF
		set BOSHummerQuest.Chair to BOSChairVault101REF
		set BOSHummerQuest.Marker to Vault101Marker

	elseif Trig == BOSTriggerBigTownREF						; BigTown
		set BOSHummerQuest.Hummer to BOSHummerBigTownREF
		set BOSHummerQuest.Chair to BOSChairBigTownREF
   	set BOSHummerQuest.Marker to BigTownMapMarkerREF

	; Nouvelle destination ajoutée :
	elseif Trig == BOSCitadelTriggerREF						; BOS Citadel
		set BOSHummerQuest.Hummer to BOSCitadelHummerREF
		set BOSHummerQuest.Chair to BOSCitadelChairREF
		set BOSHummerQuest.Marker to CitadelMapMarker

	endif

End

Voilà, il suffit d'enregistrer le tout et de faire fonctionner le Hummer dans le jeu comme expliqué plus haut, en choisissant comme la nouvelle destination lors du Fast Travel.




- Amélioration possibles :

- Utiliser le système de parents du GECK.
- Utiliser des Marqueurs de carte spécifique au Hummer plutôt que de déplacer ceux du jeux de base lorsque cela est nécessaire.
- Permettre au compagnon de s’asseoir avec le PJ dans le Hummer.



- Version différente :

Un mod reprenant la même idée, mais utilisant une méthode différente est disponible en anglais sur les forum Fallout 3 de Bethesda. Mais vu que je n'aime pas la méthode que l'auteur a utilisé, j'ai préféré faire ma propre version.



- Bugs connus :

- Aucun



- Utilisations :


- Les Meshes et Textures du Hummer sont des ressources libre faites par Lord Inquisitor et Weijiesen, vous êtes donc libre de les utiliser.


- Pour le code :

N'utilisez pas cette ressource sur New Vegas ! Je suis en train d'en faire un portage plus complet sur celui ci.
Dans tous les autres cas de figure utilisez ce mod comme bon vous semble à partir du moment ou je figure dans vos crédits.

Modifié par Ridiane, 01 novembre 2010 - 17:19.


#2 Ridiane

Ridiane

Posté 01 novembre 2010 - 11:29

v. 1.0 :
- Passage en ressource.
- Ajout des explications pour ajouter une destination.
- Correction de l'archive.

#3 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 01 novembre 2010 - 11:56

*pouf*


Désolée de n'y répondre que maintenant...

Voir le messageRidiane, le 19 octobre 2010 - 10:08, dit :

- Placer un nouveau Hummer. Il s'agit d'un static ayant l'ID BOSHummer . Le mettre en Persistant Reference, pour qu'il puisse être utilisé dans un script et en Initialy Disabled. Lui donner une référence. Par exemple BOSCitadelHummerREF.

- Placer un nouveau siège de conducteur dans le Hummer. Il s'agit d'une furniture ayant l'ID BOSChair Il faut le placer de façon a ce qu'il soit sur le siège conducteur du Hummer. Sa meshe est invisible, le joueur ne le verra donc pas. Comme pour le Hummer, il faudra le mettre en Persistant Reference et en Initialy Disabled. Lui donner une référence. Par exemple BOSCitadelChairREF.
				OldHummer.Disable										; Disable old hummer
				OldChair.Disable

				Hummer.Enable											; Enable new hummer
				Chair.Enable

Je ratiocine, mais pourquoi ne pas utiliser le système de parent ?

wiwiki dit :

Enable Parent: Une référence peut avoir une référence parente, qui est renseignée dans cet onglet. Quand un parent est enabled ou disabled, ses références enfants le sont également. Si l'indicateur Set Enable State to Opposite of Parent est cochée, alors la référence est enabled lorsque le parent est disabled et vice versa. La fonction de script GetParentRef permet par script de déterminer le parent d'une référence, et de créer des scripts généraux utilisant des variables de référence au lieu de constantes.
(c'est un onglet dans la feuille d'édition de la référence)
Ça permet de diviser par deux le nombre de références persistantes, et accessoirement réduire le nombre de lignes de code dans les scripts, économiser deux variables...



Voir le messageRidiane, le 19 octobre 2010 - 10:08, dit :

Bugs connus :

* Je n'ai pas encore testé d'utiliser le Hummer avec des compagnons
Hum...une fois que je suis assise sur un siège quelconque, en utilisant les touches directionnelles, je me lève du siège.

Ici, on peut faire pareil avec le hummer, mais ça provoque des bogues de collision et surtout rend l'écran tout noir pendant un bon moment probablement à cause des dits problèmes de collision...

Je ne sais pas trop comment empêcher les mouvements du joueur sans lui empêcher l'accès à l'inventaire...peut-être SetRestrained...mais son fonctionnement n'était déjà pas très très heureux sur Oblivion avec des acteurs, alors sur le PJ je ne sais pas bien ce que ça peut donner...

#4 Ridiane

Ridiane

Posté 01 novembre 2010 - 12:09

Voir le messageShadow she-wolf, le 01 novembre 2010 - 11:56, dit :

*pouf*


Désolée de n'y répondre que maintenant...

Voir le messageRidiane, le 19 octobre 2010 - 10:08, dit :

- Placer un nouveau Hummer. Il s'agit d'un static ayant l'ID BOSHummer . Le mettre en Persistant Reference, pour qu'il puisse être utilisé dans un script et en Initialy Disabled. Lui donner une référence. Par exemple BOSCitadelHummerREF.

- Placer un nouveau siège de conducteur dans le Hummer. Il s'agit d'une furniture ayant l'ID BOSChair Il faut le placer de façon a ce qu'il soit sur le siège conducteur du Hummer. Sa meshe est invisible, le joueur ne le verra donc pas. Comme pour le Hummer, il faudra le mettre en Persistant Reference et en Initialy Disabled. Lui donner une référence. Par exemple BOSCitadelChairREF.
				OldHummer.Disable										; Disable old hummer
				OldChair.Disable

				Hummer.Enable											; Enable new hummer
				Chair.Enable

Je ratiocine, mais pourquoi ne pas utiliser le système de parent ?

Citation

Enable Parent: Une référence peut avoir une référence parente, qui est renseignée dans cet onglet. Quand un parent est enabled ou disabled, ses références enfants le sont également. Si l'indicateur Set Enable State to Opposite of Parent est cochée, alors la référence est enabled lorsque le parent est disabled et vice versa. La fonction de script GetParentRef permet par script de déterminer le parent d'une référence, et de créer des scripts généraux utilisant des variables de référence au lieu de constantes.
(c'est un onglet dans la feuille d'édition de la référence)
Ça permet de diviser par deux le nombre de références persistantes, et accessoirement réduire le nombre de lignes de code dans les scripts, économiser deux variables...

Parce que je ne connaissais pas cette fonctionnalités du GECK Image IPB.

Citation

Voir le messageRidiane, le 19 octobre 2010 - 10:08, dit :

Bugs connus :

* Je n'ai pas encore testé d'utiliser le Hummer avec des compagnons
Hum...une fois que je suis assise sur un siège quelconque, en utilisant les touches directionnelles, je me lève du siège.

Ici, on peut faire pareil avec le hummer, mais ça provoque des bogues de collision et surtout rend l'écran tout noir pendant un bon moment probablement à cause des dits problèmes de collision...

Je ne sais pas trop comment empêcher les mouvements du joueur sans lui empêcher l'accès à l'inventaire...peut-être SetRestrained...mais son fonctionnement n'était déjà pas très très heureux sur Oblivion avec des acteurs, alors sur le PJ je ne sais pas bien ce que ça peut donner...
L'écran tout noir pendant un moment , c'est un imagespace que j'ai crée qui est la justement pour essayer de cacher les problèmes de collisions dans ce cas. Mais c'est du bricolage :/ .

Empêcher le joueur de ce lever du siège n'est pas un problème, lorsque l'on ajoute un script avec un bloc onactivate sur un siège le joueur ne s'assis plus sur le dit siège et de même pour ce lever. J'ai du ajouter la ligne mySelf.Activate player pour lui laisser la possibilité de ce lever. Le Truc c'est qu'il ne faut pas empêcher le joueur de quitter le siège sans voyager. Sinon il sort comment du Hummer ?

Un moyen de corriger ça pourrait être de créer un marqueur juste à coté du Hummer et lorsque le joueur ce lève le déplacer sur ce marqueur. A voir si ça ne pose pas des problème avec le système que j'ai utiliser pour détecter que le joueur fait un Fast Travel.



EDIT :
J'ai testé ça sur New Vegas en utilisant carrément le MapMarker vu qu'il est à cotés et ça fonctionne. Du coup je vais porter ça sur cette version. Après si quelqu'un a la foi de placer des Hummers dans toutes les Terres désolées, bon courage Image IPB.

Le truc qui me fait surtout peur avec la méthode générale qui est utilisé c'est que le MapMarker doit être à coté du Hummer du coup il faut parfois le déplacer. Ce qui pour éviter les conflits n'est pas ce qu'il y'a de mieux Image IPB.
A la limite il faudrait créer des MapMarkers spécifique pour le Hummer, je pense que je ferais ça pour New Vegas une fois que le système sera bien en place.

Modifié par Ridiane, 01 novembre 2010 - 14:51.





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

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