Aller au contenu


Script Aparaitre Objet


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

#1 magenarius

magenarius

Posté 09 janvier 2006 - 17:30

bonjours

dans mon mod je voudrais faire apparaitre a un endroit precis une lumiere, en appuyant sur un levier ou bouton.
sauf je trouve pas de script pour
bin j'vais asseiller mais sa n'a pas marcher j'avais attribuer a :

l'objet une version du script strong1 modifier .. le script marche avec la valeur de la global attribuer a l'objet si il est de 1 il apparait sinon il disparait

alors j'avais attribuer au bouton un script qui devais changer la valeur de lobjet

mais bon sa na pas vraiment marcher.
alors j'espere que vous saurez m'aider

merci

#2 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 09 janvier 2006 - 17:44

Pour faire apparaître une lampe, l'idéal est de modifier sa valeur en Z, car si on la fait disparaître et apparaître en utilisant Disable/Enable, elle continue malgré tout d'éclairer alentour.

Voyons, voyons, le script devrait être à peu près comme ça, sauf erreur de ma part.

Le script doit être attaché au levier. La lumière doit avoir une ID unique et être enfoncée sous le sol. Supposons que sa coordonnée Z soit de -5000 quand elle est cachée, et qu'elle doivent être placée à Z 200 quand elle est enclenchée.

Begin ScriptLight

Short LevierActive

if ( MenuMode == 1 )
   Return
endif

if ( OnActivate == 1 )
   if ( LevierActive == 0 )
	  "IDdeLaLumière"->SetPos, Z, 200; pouf! ça allume la lumière
	  Set LevierActive to 1
   else
	  "IDdeLaLumière"->SetPos, Z, -5000; pouf! ça éteint la lumière
	  Set LevierActive to 0
   endif
endif

End ScriptLight

J'ai un petit doute. Est-ce que ça bouclerait ou est-ce que le Else permet de l'éviter? ;)

Modifié par Not Quite Dead, 09 janvier 2006 - 17:45.

« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV

#3 magenarius

magenarius

Posté 09 janvier 2006 - 20:06

sa marche pas y disse que l'objet Nariuslumiere ( l'ID de ma lumiere ) est on persitent in game et la le tcse ferme....

pouver vous me dire mon erreur?

#4 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 09 janvier 2006 - 23:02

Tu as essayé en cochant l'option reference persist de Nariuslumiere? :oops:
« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV

#5 magenarius

magenarius

Posté 10 janvier 2006 - 22:36

oui je vien de le faire et la y a pas davertissement sauf sa marche pas...

jai creer ma lumiere nommer Nariuslumiere je l'ai placer jai relever sa hauteur et je lai mit dans le script
jai mit le cript a un levier ... mais rien ne se passe .. devrais-je faire une global ou autre chose voici mon script :

Begin ScriptLight

Short LevierActive

if ( MenuMode == 1 )
Return
endif

if ( OnActivate == 1 )
if ( LevierActive == 0 )
"Nariuslumiere"->SetPos, Z, 4150.644;
Set LevierActive to 1
else
"Nariuslumiere"->SetPos, Z, -5000;
endif
endif

End ScriptLight




et si je veux rajouter un son ... comme moi je voudrais le son qui est emit lorsque quelque est frasper par un eclair ou une amgie electrique comment on fait ?

#6 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 10 janvier 2006 - 22:52

:huhu: Alalala... le souci c'est que je n'ai pas le TESCS sous la main avant le weekend et que je ne peux donc pas faire de test pour voir ce qui foire dans mon script (qui est fait de tête uniquement).

Si tu as le temps d'attendre et si personne ne poste de réponse d'ici là, je veux bien y jeter un coup d'oeil (d'autant plus que j'avais fait un script du style pour mon mod et que ça marchait)...

Pour ajouter le son, il faut employer la fonction

PlaySound, "IDduson"
Les sons du jeu de base se trouvent dans le menu gameplay, puis sounds.

Tu voudrais que les sons interviennent à quel moment? Lorsque la lumière s'éteint ou lorsqu'elle s'allume?
« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV

#7 magenarius

magenarius

Posté 10 janvier 2006 - 22:56

j'ai retoucher et ok la sa marche

mais j'ai une deuxieme question... de un je me dissait tant qua la mettre sur la hauteur -5000 on serait pa mieux de le mettre su la hauteur A vue que la hauteur A est inexistante il mettrai la lumiere nulle part ?enfin je sais pas si sa se fait...


et en deuxieme.. moi mon but etait.. que je metait construit une sorte de tour surmonter d'un crystal et je voulais quand appuyant sur mon levier le scrystal emette une lumiere capable d'ilumine toute mon chateau comme durant le jour

    - 1 - comment avoir un lumiere qui est constante et qui ne vassille pas comme une chandelle

    - 2 -  je ne sais pas pourquoi mais ma lumiere est la mais on ne vois pas dou elle vient.. et jaimerais
            que le crystal dans lequel elle soit s'illumine pour quon est l'impression que cest le crystal qui   ilumine tout

    - 3 -  comment faire pour avoir une lumiere asser puissant qui faire que sa illuminerais le  chateau comme en plein jour ?

    - 4 - puis-je faire monter plus d'un objet ... ( plus dune lumiere )

    - 5 - et comment rattacher un son a tout sa ?

    - 6 - et connaisser vous des effect lumineux.. moi j'ai mit les portails d'homlamaren pour leur beaux jet de magie mais sinon exist-il d'autre truc de se genre ?

merci beaucoup  pour tous pour le script pour fermer la lumiere je presume que je nest qua faire l'inverse et sa va faire....

merci

#8 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 10 janvier 2006 - 23:28

Est-ce que tu pourrais copier/coller le script qui fonctionne pour que l'on puisse greffer dessus la commande du son (et accessoirement que je puisse voir où était mon erreur pour ne plus la refaire :huhu: ) ?

Je vais essayer de répondre aux autres questions:

Citation

de un je me dissait tant qua la mettre sur la hauteur -5000 on serait pa mieux de le mettre su la hauteur A vue que la hauteur A est inexistante il mettrai la lumiere nulle part ?enfin je sais pas si sa se fait...
:lol: Je ne sais pas si j'ai bien compris ta suggestion, mais:
Tu ne peux assigner des coordonnées qu'à X, Y, et Z. X et Y représentant les horizontales (longueur et profondeur pour ainsi dire) et Z la hauteur. Quand tu déplaces un objet dans l'espace, il se déplace forcément sur un ou plusieurs de ces axes. Il n'existe pas de 4e dimension (A) dans laquelle il pourrait disparaître.

Citation

comment avoir un lumiere qui est constante et qui ne vassille pas comme une chandelle
Quand tu double-cliques sur ton objet "light", une fenêtre s'ouvre qui comporte plusieurs options pour l'animation de la lumière: (je ne me les rappelle pas de tête mais il doit y avoir "flicker", "pulse" et "none". Si tu emploies "none", la lumière ne vacille pas mais reste constante (comme celle d'un néon); "flicker donne des mouvements comparables à ceux d'une flamme; "pulse" de lents clignotements comme le battement d'un coeur.

Citation

je ne sais pas pourquoi mais ma lumiere est la mais on ne vois pas dou elle vient.. et jaimerais
que le crystal dans lequel elle soit s'illumine pour quon est l'impression que cest le crystal qui ilumine tout
Si ta lumière est représentée dans le TESCS comme une ampoule, elle sera invisible ingame. Il s'agit simplement d'une source de lumière invisible. Si tu souhaites que la source soit visible, il faut prendre une "light" représentant un objet (une bougie, par exemple). Je ne sais pas s'il existe des cristaux qui font office de lumière dans le jeu de base. ;)

Citation

comment faire pour avoir une lumiere asser puissant qui faire que sa illuminerais le chateau comme en plein jour ?

Tu peux régler la portée de ta lumière en modifiant dans la fenêtre de l'objet "light" l'option radius. Pour obtenir une plus grande force, tu peux superposer plusieurs lumières de même radius.
:grin: Si tu veux qu'elles se déplacent dans le script, il te faut créer chaque fois une lumière ayant une ID différente (Nariuslumiere01; Nariuslumiere02, etc.)

Citation

puis-je faire monter plus d'un objet ... ( plus dune lumiere )

Oui. Il te suffit de placer dans la cell d'autres lumières ayant une ID unique et d'ajouter dans le script, en dessous de la commande qui fait déjà monter ta lumière:

"Nariuslumiere"->SetPos, Z, 4150.644
"Nariuslumiere02"->SetPos, Z, 4150.644
"Nariuslumiere03"->SetPos, Z, 4150.644


Citation

comment rattacher un son a tout sa ?
En employant la commande PlaySound: si tu veux faire jouer ton son quand la lumière s'allume, il te faut l'ajouter après

"Nariuslumiere"->SetPos, Z, 4150.644
PlaySound, "IDduson"

Citation

et connaisser vous des effect lumineux.. moi j'ai mit les portails d'homlamaren pour leur beaux jet de magie mais sinon exist-il d'autre truc de se genre ?
Il y avait des flammes et des trucs comme ça chez lady eternity, mais je ne retrouve plus le site ni le lien dans la rubrique modèles et textures de wiwiland... :D

Citation

pour fermer la lumiere je presume que je nest qua faire l'inverse et sa va faire....

Théoriquement, le script que j'avais écrit était censé allumer la lumière la première fois qu'on appuyait sur le levier et l'éteindre la seconde fois qu'on activait le levier, et ainsi de suite. :lol:
« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV

#9 magenarius

magenarius

Posté 11 janvier 2006 - 03:28

pour le A tu a mal compris, j'aurais du etre plus clair... je dissais que si tu mettait n'importe quoi sauf un chiffre a Z  et bien vue que la hauteur n'existe pas l'objet ne serait pas present.. au lieu de mettre  z =-5000 on mettrai z = a
enfin cest une idée comme les autres

ensuite le script le voici.. je crois qu'il marchait sauf que j'oubliait de mettre lalumiere a -5000 donc elle etait deja a la valeur voulu...
mais le voici

Begin ScriptLight

Short LevierActive

if ( MenuMode == 1 )
Return
endif

if ( OnActivate == 1 )
if ( LevierActive == 0 )
"Nariuslumiere"->SetPos, Z, 4150.644;
Set LevierActive to 1
else
"Nariuslumiere"->SetPos, Z, -5000;
endif
endif

End ScriptLight

#10 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 11 janvier 2006 - 07:54

Citation

pour le A tu a mal compris, j'aurais du etre plus clair... je dissais que si tu mettait n'importe quoi sauf un chiffre a Z et bien vue que la hauteur n'existe pas l'objet ne serait pas present.. au lieu de mettre z =-5000 on mettrai z = a
D'accord. C'est malheureusement impossible également: tu ne peux pas mettre d'inconnue à la place d'un nombre. ;) Remarque que si la hauteur -5000 ne te convient pas et qu'elle te gêne dans ta cell, rien ne t'empêche de mettre une valeur encore plus basse (-10000).

Begin ScriptLight

Short LevierActive

if ( MenuMode == 1 )
   Return
endif

if ( OnActivate == 1 )
   if ( LevierActive == 0 )
	  "Nariuslumiere"->SetPos, Z, 4150.644
	  "Nariuslumiere02"->SetPos, Z, 4150.644; tu peux insérer à la suite d'autres objets que
					  ; tu veux faire bouger quand on active le levier.
	  PlaySound, "IDDuSon"; pour le son quand tu allumes le cristal
	  Set LevierActive to 1
   else
	  "Nariuslumiere"->SetPos, Z, -5000 
	  "Nariuslumiere02"->SetPos, Z, -5000; (etc.) pour faire redescendre les autres objets
	  PlaySound, "IDDuSon"; pour le son quand tu éteins le cristal
	  Set LevierActive to 0; tu as oublié de recopier cette commande qui est censée permettre
					  ; au script d'allumer puis d'éteindre la lumière à chaque fois qu'on
					  ; active le levier
   endif
endif

End ScriptLight

Théoriquement, lorsque tu appuyes sur le levier une première fois, il devrait allumer/faire monter le cristal, lorsque tu l'active une seconde fois, il devrait l'éteindre, une troisième fois le rallumer, etc.

J'espère que tout fonctionne comme il faut à présent.

Modifié par Not Quite Dead, 11 janvier 2006 - 07:55.

« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV

#11 magenarius

magenarius

Posté 11 janvier 2006 - 20:50

il marche mais pour 1 fois seulement je vais asseiller ton new script

#12 MysticalShadow

MysticalShadow

Posté 11 janvier 2006 - 21:39

Il me semble que le script est légèrement optimisable.

Citation

Begin ScriptLight

Short LevierActive

if ( OnActivate == 0 )
   Return
endif

if ( LevierActive == 0 )
   "Nariuslumiere"->SetPos, Z, 4150.644
   "Nariuslumiere02"->SetPos, Z, 4150.644; tu peux insérer à la suite d'autres objets que
                      ; tu veux faire bouger quand on active le levier.
   PlaySound, "IDDuSon"; pour le son quand tu allumes le cristal
   Set LevierActive to 1
else
   "Nariuslumiere"->SetPos, Z, -5000
   "Nariuslumiere02"->SetPos, Z, -5000; (etc.) pour faire redescendre les autres objets
   PlaySound, "IDDuSon"; pour le son quand tu éteins le cristal
   Set LevierActive to 0; tu as oublié de recopier cette commande qui est censée permettre
                      ; au script d'allumer puis d'éteindre la lumière à chaque fois qu'on
                      ; active le levier
endif

End ScriptLight


#13 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 12 janvier 2006 - 10:18

En effet. :lol:

Bizarre que le script ne fonctionne que pour allumer et pas pour éteindre... :grin:
« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV

#14 magenarius

magenarius

Posté 12 janvier 2006 - 20:44

j'ai placer la ligne que j'avais oublier et la sa marche a merveille
sauf que je reussi pas encore a optenir l'effect de lumiere du jour desirer... sa eclair mais... pas autant et aussi puissament que je l'aurait desirer... jai penser a peut etre mettre des lumieres un peu partout pour optimiser la lumiere mais bon pas sur encore....

#15 Angora

Angora

    Danse avec les bugs


Posté 12 janvier 2006 - 21:42

Voir le messagemagenarius, le 12.01.2006 à 20:44, dit :

j'ai placer la ligne que j'avais oublier et la sa marche a merveille
sauf que je reussi pas encore a optenir l'effect de lumiere du jour desirer... sa eclair mais... pas autant et aussi puissament que je l'aurait desirer... jai penser a peut etre mettre des lumieres un peu partout pour optimiser la lumiere mais bon pas sur encore....

Met un rayon ("radius") plus grand (allez, 2048, yahou !) et augmente ses trois composantes de luminosité (mets-les à 255 toutes) et ça va beaucoup plus éclairer...
Le saviez-vous ?

En français, il n'y a jamais, jamais, JAMAIS, J-A-M-A-I-S, de cédille à un 'c' devant un 'e', un 'i' ou un 'y'. Jamais. Sans aucune exception. Pas la moindre. Zéro. Cédille devant e, i ou y = faute. Un point, c'est tout, c'est comme ça, ça a toujours été comme ça, et ça le sera toujours.

#16 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 13 janvier 2006 - 00:28

Voir le messagemagenarius, le 12.01.2006 à 20:44, dit :

j'ai placer la ligne que j'avais oublier et la sa marche a merveille
Cool. :D

J'espère que tu vas pouvoir obtenir la luminosité désirée grâce aux conseils d'Angora. (J'en prends d'ailleurs bonne note pour mon compte personnel.)
« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV




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

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