Aller au contenu


[Résolu]Faire Un Nouveau Piège Avec Un Movable Static


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

#1 thedocsavage

thedocsavage

Posté 17 avril 2011 - 11:26

Salut à tous, et plus particulièrement aux spécialiste des scripts dont je viens demander l'aide.

Voilà dans le cadre de mon  je voudrais créer une nouvelle sorte de piège  par le biais d'un script mais je sèche.

Je veux utiliser un baril (movable static) qui tombera sur un ou des PNJ et leur causera des dommages lors du contact.

J'avais utilisé le script suivant (qui ne fonctionne absolument pas) :
scn 111bariltombe
ref TrapVictim
Begin Ontrigger
	 Set TrapVictim to GetActionRef
			 TrapVictim.DamageActorValue Health 45
			 TrapVictim.Say Hit
End

[spoiler]Il existe à black Mountain un passage ou lorsque l'on monte cela déclenche la chute d'un énorme rocher  et de pierres (et l'arrivée de mutant lourdement armés). Ces pierres semblent causer quelque petit dégâts mais je n'arrive pas à comprendre comment.
L'énorme pierre ne semble pas en faire vu qu'on passe au travers (bonjour le réalisme au passage).
les objet en question sont appelé BMrock quelque chose et BMboulder dans le GECK, mais aucun script n'y est associé [/spoiler]

Alors voilà ma question :
Est ce que ce que je veux faire est possible
Et si oui comment?

Merci d'avance Image IPB


#2 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 17 avril 2011 - 12:02

Coucou...


Je n'ai pas trop suivit les évolutions dû au GECK, mais...

A priori, les dégâts sont directement calculés par le moteur physique...
Il m’arrive assez fréquemment que moi ou un PNJ bouscule un bidon, qui cogne sur un autre acteur, qui réagit comme s'il était attaqué, hier encore tout l'avant-poste du Mojave de la RNC était en fuite car une brahmine avait fait valser un baril qui a atterrit sur un prospecteur...


Pour le cas de Black Mountain...
A première vue, je dirai que les rochers tombent parce qu'ils sont chargés en mémoire... C'est assez simple à visualiser dans le GECK, lorsque l'on démarre le simulateur Havok, les cailloux chutent tout seul sans action particulière...
En regardant de plus près, l'on se rend compte que ces movable statics sont disable, donc désactivés, ils chutent donc que lorsqu'ils sont activés...

Le système utilisé semble pas mal...
On a des boites de collision, deux activator BMBoulder1PushTrigger et BMBoulder1PushTrigger02, avec leur scripts...
Spoiler
Lorsque le PJ entre dans ces boites de collision, on active les rochers, qui se mettent donc à chuter...
Les "PlayGroup Forward 0" doivent être là pour s'assurer que les rochers chutent bien comme des grands...



Une dernière chose, selon le wiki du GECK, la fonction GetActionRef ne fonctionne pas dans un bloc OnTrigger, voir ici...

#3 thedocsavage

thedocsavage

Posté 17 avril 2011 - 14:06

Merci pour cette première réponse, même si elle n m'aide pas vraiment.

En effet à black mountain le trigger sert à rendre enabe les divers rochers et à placer une fausse explosion sur un marker à proximité pour les faire bouger et ainsi dévaler la pente.

Cependant je n'arrive pas à savoir si on peut faire en sorte que les movable static puissent provoquer des dégât dès qu'on rentre en contacte avec eux.

Il est possible de le faire avec un trigger mais là vu que ces objet sont en mouvement je ne sais pas quelle méthode je peux utiliser.

Tu dis que le havoc provoquerais lui même les dégâts .... peut être mais alors ça à l'air très aléatoire car dans mes test mon PNJ souffre douleur se ramassait un bidon sur la tête et ne brochait pas d'un pouce.

Sinon merci pour le GetActionRef j'avais zapper ça.
Il semble de plus que la fonction OnhitWith ne prenne en compte que les projectile et rien d'autre .

Est ce qu'il existe une fonction avec NVSE que je pourrai utiliser pour détecter quand un movable static entre en colission avec un acteur?

#4 Fang92

Fang92

Posté 17 avril 2011 - 14:32

Dans Oblivion on peut faire tomber des rondins de bois sur ses ennemis a certains moments et il y a même des pièges comme ça, tu pourrais peut-être en reprendre les scripts ?
(Je n'y connais rien en script ^^)

#5 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 17 avril 2011 - 14:38

Hum...

J'ai regardé sur Oblivion comment étaient conçu les pièges...
Se sont des activateurs faits pour, mais ce qui est intéressant est leur script...

scriptName CTrapCaveIn01SCRIPT

; On activation rocks will come tumbling down and do some damage
; Damage stops after 6 seconds

short triggered
float timer
short next
ref mySelf
ref myParent
float fTrapDamage
float fLevelledDamage
float fTrapPushBack
float fTrapMinVelocity
short bTrapContinuous

begin onActivate

	if triggered == 0
		set fTrapDamage to 5
		set fTrapPushBack to 300
		set fLevelledDamage to 1
		set fTrapMinVelocity to 150
		set bTrapContinuous to 0
		playgroup unequip 1
		enableLinkedPathPoints
		set triggered to 1
		set timer to 6
		setDestroyed 1
		triggerHitShader 4
	endif

end

begin gameMode

	;after 1 sec delay, activate parent (for daisy-chaining)
	if triggered == 1 && next == 0 && timer < 5
		set next to 1
		set myParent to getParentRef
		set mySelf to getSelf
		myParent.activate mySelf 1
	endif

	if triggered == 1 && timer <= 0
		set fTrapDamage to 0
		set fTrapPushBack to 0
		set triggered to 2
	endif

	if timer > 0
		set timer to timer - getSecondsPassed
	endif

end

begin onReset

	reset3DState
	set triggered to 0
	setDestroyed 0
	enableLinkedPathPoints
	
end
Une boite de collision active le piège, on entre alors sur le bloc OnActivate, dans ce dernier on voit qu'il y a plusieurs modifications de variables à propos de dommages et de vitesse...
Le bloc GameMode servant uniquement à rendre le piège inerte et inoffensif après un certain temps...

Bref les variables modifiées sont des variables dites spéciales, elles ne fonctionnent que dans certaines situations, ces objets portent en leur sein ces variables avec une valeur par défaut, si l'on veut la modifier, il faut la déclarer dans son script, et la modifier avec des setter...
Par chance, ces variables dédiées aux pièges semblent exister sur Fallout...

Je ne sais pas si l'on peut en tirer quelque chose, mais c'est une piste...
Ces variables ne sont actuellement utilisées que dans un unique script du jeu: TrapMaceSCRIPT
Qui est appliqué à des pièges de type... activator...

#6 thedocsavage

thedocsavage

Posté 17 avril 2011 - 15:15

J'avais déjà regardé sur le piège des Rondins d'Oblivion (AH pourquoi l'on il enlever dans les fallout.....) mais le problème c'est que j'ai l'impression que les variable en question sont en fait liées au modèle 3d ( au nif) directement car en elle même elles ne font rien. Peut être qu'il faut donc bidouiller quelque chose avec nifscope pour faire du baril de base un objet piège qu'on peut alors configuer via ce script,  mais là je n'y connais vraiment rien.

#7 Fang92

Fang92

Posté 18 avril 2011 - 17:35

Là tu m'impressionne Seth, je ne connaissais pas tes talents de scripteurs O_o'

#8 thedocsavage

thedocsavage

Posté 18 avril 2011 - 20:40

Salut et merci de vous intéresser à mon problème.

Pour ce qui est de bidouiller le nif cela ne marche pas le OL_TRAP ne gère que la couleur à mon avis mais rien d'autre, j'ai quand même fait l'éssai mais cela ne donne rien, le bidon même trafiqué ainsi avec le script de mace et un fil déclencheur reste en l'air et ne tombe pas. Je pense qu'il doit y avoir quelque chose lié au havoc et aux animations peut être parce qu'il semble que les pièges de ce type ont une animation enequip.
Comme je l'ai déjà dit je ne connais rien à nifscope et encore moins aux animations 3D alors si quelqu'un pouvait nous éclairer....

Modifié par thedocsavage, 18 avril 2011 - 20:42.


#9 Seth Harzinski

Seth Harzinski

Posté 19 avril 2011 - 04:04

Tu avais raison Doc,  j'ai viré mes explications qui étaient c'est le cas de le dire bidon enfin presque.
Excusez moi. Mais j'ai trouvé  l'astuce pour que le bidon qui nous tombe sur la tete nous fasse du dégat.
Tout se passe dans le nif, il faut juste en fait modifier la masse comme sur le screen ci deussous et c'est tout.
J'ai mis 200 et à l'impact ca retire une quinzaine de pv.

Image IPB

Par contre j'ai essayé de trouvé une astuce , un script pour déclencher  le havok , je n'y suis pas arrivé, donc dans la video ci dessous
j'ai utilisé le piège qui va déclencher le havok des bidons en les touchant. Contrairement à ce que dit fang je suis une bille en script mais je m'y intéresse.
Donc voici une petite video qui démontre qu'un bidon qui nous tombe deussus peut faire des degats.


Et encore désolé pour les posts réponses effacés.

Seth.

Modifié par Seth Harzinski, 19 avril 2011 - 16:11.

Il regarde le monde à travers les yeux d'un enfant, c'est pour ça qu'il ne fait rien.

#10 thedocsavage

thedocsavage

Posté 19 avril 2011 - 19:28

Seth tu veux m'épouser... euh non je m'égare là.

Sans déconner c'est génial ça marche (j'ai fait l'essai avec 4000 en masse le pauvre type n'y a pas survécu)
ça va permettre plein de nouvelle possibilité .
en plus il n'est pas indispensable que le movable static trafiqué soit percuté par un piège pour causer des dégâts: donc une explosion fictive doit suffire à le mettre en mouvement
Ah AH j'en suis tout ému.

Seth tu viens de gagner le droit d'avoir ton propre personnage dans mon mod (enfin si tu veux), sachant que je compte faire un mod doublé.
Bon pour l'instant il est un peu tôt pour vous présenter mon projet, mais là je viens d'avoir un bon coup de pouce pour ce truc qui me tenait à coeur.

#11 Seth Harzinski

Seth Harzinski

Posté 19 avril 2011 - 19:41

Lu" doc,  j'avais pensé aussi, si tu veux,  te faire un nif genre bloc de pierre ou gros rondin de bois. Pour l'exemple pris avec le bidon ce n'est pas très réaliste, une fois  sur le sol le bidon est tellement lourd qu'on ne peux plus le déplacer. Ou bien il m'est possible aussi de faire un nif avec un bidon plein.
Pour mon perso si tu veux,  pourquoi pas. Je suis toujours dans le coin si tu as besoin d'un modèle ou texture. Tu devrais ouvrir un post pour ton mod.
Mon adresse au besoin harzinski@gmail.com

a pluche

Seth.
Il regarde le monde à travers les yeux d'un enfant, c'est pour ça qu'il ne fait rien.

#12 thedocsavage

thedocsavage

Posté 19 avril 2011 - 22:20

Bon sang la solution était si simple.

Pour le modèle merci de la proposition, pour l'instant j'utiliserai les tonneaux en bois de new vegas, et pour l'ultra réalisme , ben tant pis, les bidons roulent quant même un peu et ce n'est qu'a près qu'ils s'arrêtent complètement.
Je viens enfin de concrétiser un piège que j'essaye de faire depuis des semaines . L'idée : un pan incliné (fait avec des camplog)  ou sont rangés les tonneaux, bloqués par une porte (la porte de mobile home ) que je place d'une certaine manière, et un activateur de piège (la plaque de pression), ce dernier étant scripté par mes soins. ensuite on prend un npc, on lui programme une patrouille qui (comme par hasard) passe sous cette construction), et là vous, joueur fourbe et sadique, vous tirez sur l'activateur et oh miracle du scripting la porte s'ouvre, les tonneaux se mettent à rouler et.... non la suite et trop atroce je ne peux pas continuer... pauvre petit NPC.
Le secret du système est de bien placer les tonneaux pour qu'il se touchent les uns les autres (ah les dégueulasses) et que celui qui est placé le plus bas touche légèrement la porte, ainsi quand cette dernière s'ouvre le havoc fait le reste.

Modifié par thedocsavage, 19 avril 2011 - 22:23.





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

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