La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 00:30:29


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Panda Fou
Grand Chevalier
Inscrit le: 15 Nov 2003
Messages: 101
Localisation: Qui me parle ?
Répondre en citant
Posté le : 18/04/2004 22:13:56 Sujet du message : Cutscene Hard

Voilà, j'ai voulu créer un cutscene, mais je crois que je me suis sur-estimé... Voilà la bête ('fin pour moi en tout cas !):
NWScript :
void main()
{
object oPC=GetEnteringObject();
object oFlagelleur1 = GetObjectByTag("flagelleur1");
object oFlagelleur2=GetObjectByTag("flagelleur2");
object oLocation1=GetWaypointByTag("location1");
object oLocation2=GetWaypointByTag("location2");
object oArrive1=GetWaypointByTag("appear1");
object oArrive2=GetWaypointByTag("appear2");
object oArrive3=GetWaypointByTag("appear3");
object oArrive4=GetWaypointByTag("appear4");

if(GetIsPC(oPC))
{

SetCutsceneMode(oPC, TRUE);
AssignCommand(oPC, ActionMoveToObject(oLocation1,FALSE));
DelayCommand( 3.0, AssignCommand(oPC, ActionSpeakString("")));
DelayCommand( 3.5, AssignCommand(oPC, ActionMoveToObject(oLocation2,TRUE)));
DelayCommand( 4.0, AssignCommand(oPC, ActionSpeakString("Le bruit se fait de plus en plus fort.")));
DelayCommand(4.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_ELECTRIC_EXPLOSION),oArrive1));
DelayCommand(4.5, CreateObject (OBJECT_TYPE_CREATURE, oFlagelleur1,oArrive1, TRUE));
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_ELECTRIC_EXPLOSION),oArrive2));
DelayCommand(5.0, CreateObject (OBJECT_TYPE_CREATURE, oFlagelleur2,oArrive2, TRUE));
DelayCommand(5.5,
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_ELECTRIC_EXPLOSION), oArrive3));
DelayCommand(5.5, CreateObject (OBJECT_TYPE_CREATURE, oFlagelleur2,oArrive3, TRUE));
DelayCommand(6.0,
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_ELECTRIC_EXPLOSION), oArrive4));
DelayCommand(6.0, CreateObject (OBJECT_TYPE_CREATURE, oFlagelleur2,oArrive4, TRUE));
DelayCommand( 6.5,SetCutsceneMode(oPC, FALSE));
}
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


En fait, le PJ doit avancer jusqu'au différent Waypoint en ayant le speakString, jusque là, ça marche, c'est après que ça se gâte... Pour la création des illithids, Ca bug ! J'comprends pas. Mad
_________________
Suis-je fou ?
-Panda Fou-
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 18/04/2004 22:29:32 Sujet du message :

Hum, hum...


CreateObject n'est pas une action pour arriver "retarder" la création des suceurs de cerveaux... perso, j'utilise ExecuteScript

Exemple...
Au lieu de
NWScript :
DelayCommand(5.0, CreateObject (OBJECT_TYPE_CREATURE, oFlagelleur2,oArrive2, TRUE));
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Je te propose
NWScript :
DelayCommand(5.0, ExecuteScript("cr_flageller01", oPC));
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


et donc il faut écrire un autre script (juste pour créer la créature)
NWScript :
void main()
{
location lLoc = GetLocation (GetWaypointByTag("appear1"));
CreateObject (OBJECT_TYPE_CREATURE, "resref de la creature",lLoc, TRUE);
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Je sais c'est lourd mais c'est une solution qui fonctionne... Bon courage..
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Panda Fou
Grand Chevalier
Inscrit le: 15 Nov 2003
Messages: 101
Localisation: Qui me parle ?
Répondre en citant
Posté le : 19/04/2004 10:31:02 Sujet du message :


Longbow a écrit :
Je te propose
NWScript :
DelayCommand(5.0, ExecuteScript("cr_flageller01", oPC));
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


et donc il faut écrire un autre script (juste pour créer la créature)
NWScript :
void main()
{
location lLoc = GetLocation (GetWaypointByTag("appear1"));
CreateObject (OBJECT_TYPE_CREATURE, "resref de la creature",lLoc, TRUE);
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Je comprends pas bien pourquoi tu as mis un oPC après le string du script... C'est censé représenté la cible du script non ? Il faut pas mettre le WP d'arrivée plutôt... Surprised
_________________
Suis-je fou ?
-Panda Fou-
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 19/04/2004 12:54:27 Sujet du message :

Hum, hum...

oPC est l'objet qui lance le script... Or un WP ne peut pas lancer le script à mon sens (tu peux essayer mais...)
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
julia
Novice
Inscrit le: 14 Avr 2004
Messages: 6
Répondre en citant
Posté le : 19/04/2004 14:01:05 Sujet du message : Menu du jour :cut scene

bonjour,

En effet les DelayCommand ne marchent pas avec CreateObject
il y a une autre solution(pas necessairement meilleur) plutot que d appeller un script avec ExecuteScript.

NWScript :

//declaration des prototypes des fonctions de ma lib cut scene
[...]
void CallCreateObject(int iType,string sBlueRef,string sTagLoc,string

sTagPNJ);
void CutCreateObject(float fDelay,int iType,string sBlueRef,string

sTagLoc,string sTagPNJ);
[...]
//fonctions de la lib pour les cut scenes
[etc...]
void CallCreateObject(int iType,string sBlueRef,string sTagLoc,string

sTagPNJ){

location lLoc = GetLocation(GetObjectByTag( sTagLoc ));
  CreateObject(iType,sBlueRef,lLoc,FALSE,sTagPNJ);
}

void CutCreateObject(float fDelay,int iType,string sBlueRef,string

sTagLoc,string sTagPNJ){


DelayCommand(fDelay,CallCreateObject(iType,sBlueRef,sTagLoc,sTagPNJ));
}
[etc...]
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.



Cependant j adhère de plus en plus a ce qu a dis lendrate au sujet des DelayCommand...et,preferer la queue d action semble assez judicieux!

ps: je me suis attardée a faire une petite lib vraiment tres simple pour les cut scenes,elle ressemble a ce qu on trouve dans les fichiers x1/x2 inc cut scene de chez bioware mais sans delaycommand en preferant ActionWait.Je pourrais eventuellement poster ce travail si cela interesse quelqu un.je precise en outre, qu icelui n a rien d extraordinaire,cela prends juste du temps pour ecrire les fonctions qui sont en quelque sorte plus
des "macros" qu autre chose. voila.

J.
Dernière édition par julia le 19/04/2004 14:15:57; édité 3 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


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


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 62.714ms