CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Forum
  • Accueil
  • Actus
  • Tests
  • Vidéos
  • Images
  • Soluces
  • Forum
Liste des sujets

pb éditeur de modules

ArGeNoS
ArGeNoS
Niveau 5
04 octobre 2002 à 08:09:46

salut je suis en train de faire le tutorial de construction de module de ce site
http://nwn.chez.tiscali.fr/
et j´en suis au chapitre 6 journal et conversation a la partie
Script Wizard

jusqu´a cette partie tout c passé sans ausun problme mas quand je mets un scrit dans la configuration des dialogues comme ils nous l´indiquent et que je sauvegarde j´ai ce message

"sauvergarder fichier dialogue %s?
et j´ai le chois entre cliquer sur yes, no ou cancel

j´ai essayé yes et no mais ca n´a rien changé, quand je vais dans le jeu pour voir si le dialogue de Falstadd marche il ne veut meme plus me parler!!alors qu´il me parlait quand il n´y avait pas les scripts...
est ce que vous savez d´ou ca peut venir? comment resoudre ce problème??

Lady_Blood
Lady_Blood
Niveau 4
04 octobre 2002 à 10:18:30

Salut : D

Drole de probleme que tu as la ; )
Deja va sur les proprietes du perso que tu veux faire parler, puis regarde dans l´onglet "base" tout en bas si un dialogue est selectionné ; )

Si c´est le cas, fait editer pour voir le dialogue qui corresopnd au perso ; )
Si c´est pas vite positionne toi sur le premier texte et voix s´il y a pas un script d´associé dans l´onglet " condition d´execution".

Sans voir c pas evident de repondre ; )

Lady_Blood
Lady_Blood
Niveau 4
04 octobre 2002 à 10:19:47

peut etre mal lu ton message, c un script que tu a placé dans ton dialogue c ca ? ??

tu peux mettre ton script ici si c ca ; )
ca sera plus facile pour trouver le probleme : )

Dalsh
Dalsh
Niveau 4
04 octobre 2002 à 12:47:55

Sauvegarder le dialogue ne suffit pas, il faut aussi sauvegarder le module entier . ..

ArGeNoS
ArGeNoS
Niveau 5
04 octobre 2002 à 18:30:15

en fait c un script que j´ai attribué a une ligne de dialogue...du style, si il y a un anneau dans l´inventaire du perso, dire . .. bonjour . .. etc...et mon module est bien suvegardé...

Lady_Blood
Lady_Blood
Niveau 4
04 octobre 2002 à 18:50:52

Je sais pas mais ton script dois ave cette tete la et etre mis pour les "oncdition d´execution" comme je t´ai expliqué plus haut.

  1. include "nw_i0_tool"

int StartingConditional()
{
// Vérifier que l´objet TagObjet est présent
if(!CheckPartyForItem(GetPCSpeaker(), "TagObjet"))
return FALSE;

return TRUE;
}

si ca marche toujours pas c un autre probleme ! !

ArGeNoS
ArGeNoS
Niveau 5
04 octobre 2002 à 19:46:59

voila a quoi ressemble mon script

//:://////////////////////////////////////////////
/
//:: FileName sc_falstadd01

//:://////////////////////////////////////////////

//:://////////////////////////////////////////////

//:: Created By: Script Wizard
//:: Created On: 03/10/2002 20:54:01

//:://////////////////////////////////////////////

int StartingConditional()
{

// Inspecter variables locales
if(!(GetLocalInt(GetPCSpeaker(), "nFirstTimeTalked") == 1))
return FALSE;

return TRUE;
}

j´ai fé un copier collé c donc l´dentique

ArGeNoS
ArGeNoS
Niveau 5
04 octobre 2002 à 19:48:00

c normal tous ces //////////////////////////
je l´ai fé avec l´assistant des scripts...

ArGeNoS
ArGeNoS
Niveau 5
04 octobre 2002 à 19:49:08

c normal tous ces //////////////////////////
je l´ai fé avec l´assistant des scripts...

quand je dis ca je pose la question bien sur.. ct pas tres clair présenté comme ca ; )

Lady_Blood
Lady_Blood
Niveau 4
04 octobre 2002 à 20:41:29

Pour les ///////// c normal, ca fait parti des commentaire c pour la presentation pour que se soit plus lisible ; )

Ensuite ton script fait la chose suivante :
il verifie que la variable local nFirstTimeTalked est egal a 1, si c le cas tu as le dialogue qui s´effectue ! !
Vu que cette variable ne doit pas etre initialisé ( donc 0 par defaut il me semble ici ) , elle vaut pas 1 donc tu n´as pas de dialogue ; )

mets 0 a la place de 1 ca ira mieux deja tu pourras parler au perso ! ! mais bon ce script utilisé tout seul ne sert a rien ! !

Mais tu voulais savoir si un objet etait ds ton inventaire , c ca ?
Tu recopie mon script ( ou ds l´assisstant de script tu lui dis de verifier l´existance d´un objet ) et met le tag de l´objet que tu veux controler ; )

Lady_Blood
Lady_Blood
Niveau 4
04 octobre 2002 à 20:42:45

Pour les ///////// c normal, ca fait parti des commentaire c pour la presentation pour que se soit plus lisible ; )

Ensuite ton script fait la chose suivante :
il verifie que la variable local nFirstTimeTalked est egal a 1, si c le cas tu as le dialogue qui s´effectue ! !
Vu que cette variable ne doit pas etre initialisé ( donc 0 par defaut il me semble ici ) , elle vaut pas 1 donc tu n´as pas de dialogue ; )

mets 0 a la place de 1 ca ira mieux deja tu pourras parler au perso ! ! mais bon ce script utilisé tout seul ne sert a rien ! !

Mais tu voulais savoir si un objet etait ds ton inventaire , c ca ?
Tu recopie mon script ( ou ds l´assisstant de script tu lui dis de verifier l´existance d´un objet ) et met le tag de l´objet que tu veux controler ; )

ArGeNoS
ArGeNoS
Niveau 5
04 octobre 2002 à 21:27:42

a oui j´ai mis 0 dans le script et ca a marché le personnage m´a parlé et le dialogue s´est bien enchainé...mais bon j´ai suivi le tutorial et je n´ai pas bien compris le principe de fonctionnement:
deja qu´est ce qu´une variable locale? a quoi ca sert?

nFirstTimeTalked doit a mon avis avoir un rapport avec "première fois qu´on parle avec ce perso" ou un truc comme ca...

quant au nombre auquel est égal la variable je ne sais pas ce qque c ni a quoi ca corresdpond..

(mais d´apres ce que g compris est ce que quand je parle a mon perso pour la première fois la variable nfirsttimetalked va se mettre égale a 1 . .. ce qui fait que quand je vais lui parler une 2e fois ca va changer le dialogue?)

au fait je n´utilise pas ce sript tout seul...il y en a un second qui normalement devrai se declencher la seconde fos qe je lui parle... a la seconde ois il y en a un troisième qui controle si j´ai le bon objet dans mon inventaire:
si je l´ai j´ai le choix entre "oui je l´ai"
et "non pas encore"

si je repond "oui je l´ai" un autre script me rejoute de l´xp et m´enlève l´objet de mon inventaire

voila... en tout cas merci de ton aide...t´as l´air de bien t´y connaitre et ca serai sympa que tu reponde a ces qqes questions . .. : )))
a++

ArGeNoS
ArGeNoS
Niveau 5
04 octobre 2002 à 22:01:59

bon le personnage est arrivé a me parler mais j´ai un autre problème :
quand je lui parle une 2e fois il me remet le premier dialogue :
dans le script du premier dialogue j´ai changé le 1 en 0 ce qui a permi au perso de me parler
mais unne fois que je lui ai parlé j´aimerai qu´il m´affiche le 2e dialogue:
script du premier dialogue :

//:://////////////////////////////////////////////
/
//:: FileName at_falstadd01

//:://////////////////////////////////////////////

//:://////////////////////////////////////////////

//:: Created By: Script Wizard
//:: Created On: 04/10/2002 21:35:07

//:://////////////////////////////////////////////

int StartingConditional()
{

// Inspecter variables locales
if(!(GetLocalInt(GetPCSpeaker(), "nFirstTimeTalked") == 0))
return FALSE;

return TRUE;
}

j´ai attribué ce script au dialogue de bienvenu la première fois que le PNJ me voi!

maintenant j´ai attribué un autre script qui devrai permettre d´afficher un dialogue différent la seconde fois que le PNJ me voit :
j´ai mis un script comme ca :

//:://////////////////////////////////////////////
/
//:: FileName sc_falstadd01

//:://////////////////////////////////////////////

//:://////////////////////////////////////////////

//:: Created By: Script Wizard
//:: Created On: 04/10/2002 21:34:00

//:://////////////////////////////////////////////

int StartingConditional()
{

// Inspecter variables locales
if(!(GetLocalInt(GetPCSpeaker(), "nFirstTimeTalked") == 1))
return FALSE;

return TRUE;
}

estce qu´il ne faut pas faire un truc pour qu´une fois que je lui ai parlé une fois la variable se change en 1 et que la fois suivante il m´affiche le 2e dialogue??
merci ++

Lady_Blood
Lady_Blood
Niveau 4
05 octobre 2002 à 00:05:13

une variable local, c´est un fait un endroit ou tu gardes une valeur en memoire, et qui est representer par un mot , ici "nFirstTimeTalked" mais ce mot est totalement arbitraire ! !
Tu pourrait mettre "toto" ca ferrait pareil ; )
MAis un mot parlant c plus simple pour s´y retrouver ; )

Ensuite le nombre qu´on lui attribue, lui aussi est tout a fait arbitraire, tu peux lui mettre, 26 ou 52 ca change rien, ce qui est important c´est que tu saches a quoi correspond ce chiffre ! !
du genre :
si "toto" vaut 1 c´est que le perso m´affiche la 1er phrase
s´il vaut 52 il m´affiche la 2eme phrase etc....

Ensuite pour ton probleme les deux script que ti as mis sont correct ! !
Le 1er dois verfier la valeur 0
le deuxieme la valeur 1 , on est d´accord ! !

ce qui manque c´est a la fin de ton 1er dialogue, quand le dialogue s´arrete donc,
tu te positionnes sur la phrase en question ( genre "fin de dialogue" ) et tu vas sur l´onglet
"action consequente" et la tu mets un script du genres :

void main {

SetLocalInt(GetPcSpeaker(),"nFirstTimeTalked",1);

}

ce qui va enregistrer la valeur 1 dans "nFirstTimeTalked" ; )

donc tu auras la 2eme phrase ; )

SI tu as d´autres probleme hesites pas et puis ca peut servir a d´autre ici present : D

ArGeNoS
ArGeNoS
Niveau 5
05 octobre 2002 à 13:25:39

bon ben merci beaucoup lady_blood le fait de rajouetr une cosequence a mon premier dialogue m´a permi d´enclencher le second...quand on y pense c´est logique mais je n´avais pas tres bien compris cette histoire de variable mais je commence a mieu m´y retrouver : ))
@++

La vidéo du moment