Déclencheur et Cutscene :

Répondre
Partager Rechercher
J'ai un nouveau problème (enfin, deux en fait ) :

D'une je n'arrive à peindre aucun déclencheur sur mon module. Je trace la zone, puis ensuite, rien à faire. J'ai beau appuyer sur entrée, clic gauche, clic droit, espace, escape... Rien qui ne rende ma zone effective... J'ai du passer à coté de quelque chose... ^^'

Et je voudrais créer une cutscene pendant laquelle le joueur ne peut rien faire. J'ai tenté de faire mon script en zieutant un script plus ou moins similaire sur un autre module, mais il ne veut pas se compiler, étant donné que c'est mon premier script, il doit surement comporter des erreurs... Mais je ne les trouve pas.

Le Script en question :

Code PHP:

void main ()

{
//les acteurs de ma cutscene
object oPC=GetEnteringObject ()
object oNPC1=GetObjectByTag("Bandit1")
object oNPC2=GetObjectByTag("Richard")
object oNPC3=GetObjectByTag("Alia")
object oNPC4=GetObjectByTag("Bandit2")
object oNPC5=GetObjectByTag("Bandit3")
object oNPC6=GetObjectByTag("Chien_Bandit"

if(
GetIsPC(oPC))
{

//Bidouillage pour ne jouer la cutscene qu'une seule fois
if (GetLocalInt(oPC,"scene1") !=1)
{

SetLocalInt(oPC,"scene1"1)

DelayCommand (0.5SetCutseneMode(oPC,TRUE));
DelayCommand (0.5,AssignCommand(oPCSpeakString("Des maraudeurs viennent de tomber sur deux voyageurs...")));
DelayCommand (4.0,AssignCommand(oNPC1SpeakString("Allez, on est sympa ! Si tu nous laissez jouer avec ta copine, tu peux partir en vie...")));
DelayCommand (11.0,AssignCommand(oNPC3Speakstring("Fais bien attention à ce que tu vas répondre Richard...")));
DelayCommand (15.0,AssignCommand(oNPC2Speakstring("Allez vous faire foutre !")));
DelayCommand (18.0,AssignCommand(oNPC3Speakstring("Bien dit !!!")));
DelayCommand (21.0,AssignCommand(oNPC1Speakstring("Tans pis pour toi...")));

DelayCommand (23.0,ChangeFaction(oNPC1GetObjectByTag("Hostile")));
DelayCommand (23.0,ChangeFaction(oNPC4GetObjectByTag("Hostile")));
DelayCommand (23.0,ChangeFaction(oNPC5GetObjectByTag("Hostile")));
DelayCommand (23.0,ChangeFaction(oNPC6GetObjectByTag("Hostile")));
DelayCommand(23.0AssignCommand(oNPC3DetermineCombatRound()));
DelayCommand(20.0SetCutseneMode(oPC,False));

J'ai laissé quelques secondes avant le changement de faction pour que le joueur ai le temps de réagir. (en théorie les "gentils" battent les "méchants" dans 80% des cas, mais ça serai mieux que le PJ ai le temps de foncer dans le tas pour se sentir utile xD)
Pour le déclencheur, c'est bizarre. As-tu essayé de faire clic-droit non pas sur l'objet lui-même, mais sur le nom (dans la fenêtre de gauche qui contient les zones et leur contenu).
Pour le script, déjà, il manque les ";" à la fin des lignes de définition des acteurs de la cutscene. Il est aussi absent après le SetLocalInt(oPC,"scene1", 1)
Une fois cela corrigé, essaie de compiler et s'il y a encore des erreurs, donne nous les lignes concernées et le message (en cas d'erreur de compilation, la ligne et le type d'erreur sont indiqués dans le panneau en bas).
J'ai réussit à compiler mon script, merci. (y'avait d'autres erreurs mais elles étaient simples à corriger)

J'arrive toujours pas à peindre de déclencheur en revanche. xd
Y'a pas un truc que tout le monde est sensé savoir ou qui est hyper intuitif et qui me serait pas venu à l'esprit les concernant ? ^^'
Citation :
Publié par Jaërdhill
JJ'arrive toujours pas à peindre de déclencheur en revanche. xd
Y'a pas un truc que tout le monde est sensé savoir ou qui est hyper intuitif et qui me serait pas venu à l'esprit les concernant ? ^^'
Comment fais-tu précisément pour peindre ton déclencheur ? Réussis-tu à peindre des zones de transition ?
Alors, j'ouvre ma zone, je vais dans "peindre générique", j'en choisis un (dans mon cas c'était un "Nouveau générique", le truc basique, mais j'ai essayé avec d'autres, ça ne marche pas mieux.).

Ensuite je trace la forme voulue au sol, un bête rectangle. J'essaie de faire en sorte que ça soit une forme fermée (j'ai essayé en étant hyper pointilleux, ou en croisant deux traits). Puis après j'essaie tout et n'importe quoi pour que ma forme soit "validée".

A noter que tant que ma forme est en cours de création, elle s'affiche dans la barre de gauche, je peux aller dans ses propriétés pour y mettre un script, pour ajuster sa position, etc... Mais je n'ai rien vu pour le valider...

Du coup je teste jusqu'à ce qu'un de mes tests ne fassent disparaitre mon déclencheur. ><

Ca ne marche pas non plus pour les zones de transitions.
Code PHP:

void main ()

{
//les acteurs de ma cutscene
object oPC=GetEnteringObject ();
object oNPC1=GetObjectByTag("Bandit1");
object oNPC2=GetObjectByTag("Richard");
object oNPC3=GetObjectByTag("Alia");
object oNPC4=GetObjectByTag("Bandit2");
object oNPC5=GetObjectByTag("Bandit3");
object oNPC6=GetObjectByTag("BANDIT4");
object oNPC7=GetObjectByTag("BANDIT5");
object oNPC8=GetObjectByTag("Chien_Bandit");
object WP1=GetObjectByTag("WP_PJ");

if(
GetIsPC(oPC))
{

//Bidouillage pour ne jouer la cutscene qu'une seule fois
if (GetLocalInt(oPC,"scene1") !=1)
{

SetLocalInt(oPC,"scene1"1);
AssignCommand(oPC,ActionForceMoveToObject(WP1));
SetCameraFacing(0.0f,-1.0f,-1.0,CAMERA_TRANSITION_TYPE_SNAP);
DelayCommand (0.5SetCutsceneMode(oPC,TRUE));
DelayCommand (0.5,AssignCommand(oPCSpeakString("Des maraudeurs viennent de tomber sur deux voyageurs...")));
DelayCommand (4.0,AssignCommand(oNPC1SpeakString("Allez, on est sympa ! Si tu nous laissez jouer avec ta copine, tu peux partir en vie...")));
DelayCommand (11.0,AssignCommand(oNPC3SpeakString("Fais bien attention à ce que tu vas répondre Richard...")));
DelayCommand (15.0,AssignCommand(oNPC2SpeakString("Allez vous faire foutre !")));
DelayCommand (18.0,AssignCommand(oNPC3SpeakString("Bien dit !!!")));
DelayCommand (21.0,AssignCommand(oNPC1SpeakString("Tans pis pour toi...")));

DelayCommand (23.0,ChangeToStandardFaction(oNPC1,STANDARD_FACTION_HOSTILE));
DelayCommand (23.0,ChangeToStandardFaction(oNPC4,STANDARD_FACTION_HOSTILE));
DelayCommand (23.0,ChangeToStandardFaction(oNPC5,STANDARD_FACTION_HOSTILE));
DelayCommand (23.0,ChangeToStandardFaction(oNPC6,STANDARD_FACTION_HOSTILE));
DelayCommand (23.0,ChangeToStandardFaction(oNPC7,STANDARD_FACTION_HOSTILE));
DelayCommand (23.0,ChangeToStandardFaction(oNPC8,STANDARD_FACTION_HOSTILE));
DelayCommand(23.0AssignCommand(oNPC1ActionAttack(oNPC2)));
DelayCommand(20.0SetCutsceneMode(oPC,FALSE));
}
}

Toujours pour le même programme : Ma cutscene se déroule comme je le souhaite à un détail près, la caméra est souvent mal orientée.

Citation :
object WP1=GetObjectByTag("WP_PJ");
AssignCommand(oPC,ActionForceMoveToObject(WP1));
SetCameraFacing(0.0f,-1.0f,-1.0,CAMERA_TRANSITION_TYPE_SNAP);
J'ai donc rajouté quelques lignes pour résoudre le problème.
Je veux que le PJ aille à un point donné (waypoint) et que la caméra braque plein Est.

Ce que j'ai fait ne fonctionne ni pour l'une ni pour l'autre des actions...

Comment puis-je faire ?

Merci d'avance pour vos aides.
La commande ActionForceMoveToObject devrait fonctionner, es-tu certain d'avoir donné le bon TAG à ton point de passage ?


Pour orienter la caméra tu devrais essayer :

AssignCommand(oPC,SetCameraFacing(0.0f,-1.0f,-1.0,CAMERA_TRANSITION_TYPE_SNAP));
Ca marche pour la caméra, pas pour le point de passage, mais c'est pas très grave, en adaptant ta fonction, j'ai réussit à trouver un angle assez large qui devrait bien cadrer dans 3/4 des cas. ^^

Par contre j'ai pas trop comprit comment régler l'angle de caméra (à part la direction...), tu saurais m'expliquer ? (j'ai fait un peu au pif)
D'après le lexicon ...

Citation :

fDirection
degrees of rotation from East (0.0f).

fDistance
Distance (zoom) of the camera (Default: -1.0)

fPitch
Pitch (angle) of the camera (Default: -1.0)

nTransitionType
Determines how smoothly the transition occurs (one of the CAMERA_TRANSITION_TYPE_* constants) (Default: CAMERA_TRANSITION_TYPE_SNAP)
J'aurai du mal à faire plus clair
Répondre

Connectés sur ce fil

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