Caméra et prise de tête

Répondre
Partager Rechercher
J'en ai marre !!
Depuis hier je me casse les... heu la tête pour faire un truc tout simple :
D'abord un premier dialogue.
A la fin du dial, je bloque le PJ
Là je fais tourner la camera, face au sud-ouest
La porte fait toc!toc!toc! ,le pnj MERE fait "entrez" et quelqu'un entre.
Je débloque le PJ.

Si le Pj vient du nord, ouest, ou nord-ouest tout se passe bien
Si le Pj vient plutôt du Sud (de la porte qui fait toc!toc!toc!) cette salo... heu, facécieuse caméra refuse de rotationner ! Pas même d'un degré !!! par contre le reste se passe bien.

POURQUOI ??
Est-ce les camera mode ?
Ou les deux autres params de SetCameraFacing que j'ai laissé à -1.0 ??

Voilà le script qui se déclanche à la fin du dial :
Code PHP:

void main()
{
DelayCommand(0.01,SetCommandable(FALSE,GetFirstPC()));
DelayCommand(1.0,SetCameraFacing(225.0,-1.0,-1.0,CAMERA_TRANSITION_TYPE_FAST));
DelayCommand(4.0,AssignCommand(GetObjectByTag("pcdensint"),ActionSpeakString("toc toc toc")));
DelayCommand(5.0,ActionStartConversation(GetObjectByTag("MERE"),"mensonge01",FALSE));
DelayCommand(7.0,SetCommandable(TRUE,GetFirstPC()));

Alors maintenant je prie pour que quelqu'un ait déjà eu ce prob, et sutout qu'il l'ait résolu...
Ah, et puis qu'il fréquente ce forum, aussi...
Ach, j'ai trouvé.
En fait il faut laisser le temps à la caméra de dézoomer après le dialogue avec un DelayCommand de 2.0
De plus, il faut faire un AssignCommand au PJ concerné par la rotation de la camera, ce qui après coup me semble assez logique.
Voilà le script qui marche :
Code PHP:

void main()
{
object opc=GetFirstPC();
DelayCommand(0.01,SetCommandable(FALSE,opc));
DelayCommand(2.0,AssignCommand(opc,SetCameraFacing(225.0,-1.0,-1.0,CAMERA_TRANSITION_TYPE_FAST)));
DelayCommand(4.0,AssignCommand(GetObjectByTag("tag_de_la_porte"),ActionSpeakString("toc toc toc")));
DelayCommand(5.0,ActionStartConversation(GetObjectByTag("tag_du_pnj"),"dialogue",FALSE));
DelayCommand(5.5,AssignCommand(GetObjectByTag("tag_de_la_porte"),ActionOpenDoor(OBJECT_SELF)));
DelayCommand(7.0,SetCommandable(TRUE,opc));

Voilà, à moi les jolies petites cinématiques à la BG...
Je me sens calme, serein. C'est digue comme ce truc m'a empêché de dormir et pourtant c'était pas grand chose...
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés