| Problème crime | |
|
|
Auteur | Message |
---|
Drace Magicien
Nombre de messages : 75 Age : 34 Date d'inscription : 01/08/2008
| Sujet: Problème crime Mar 06 Avr 2010, 22:22 | |
| Bonjour, Un problème résolue, déjà un autre problème :
Un PNJ nous attaque à la fin d'un dialgue avec "ActorId.startcombat player" le problème c'est que les gardes m'attaquent à moi et pas à lui ! Il est de la faction Guard mais même en l'enlevant ca ne marche pas.
Ensuite, quand il est mort mon journal doit être mis à jour mais "ActorID.GetDead" ne marche pas dans son script ...
Merci | |
|
| |
Mike89 Maître ArchipelModeur
Nombre de messages : 3151 Age : 68 Date d'inscription : 06/03/2007
| Sujet: Re: Problème crime Mer 07 Avr 2010, 15:04 | |
| - Drace a écrit:
- Bonjour,
Un problème résolue, déjà un autre problème :
Un PNJ nous attaque à la fin d'un dialgue avec "ActorId.startcombat player" le problème c'est que les gardes m'attaquent à moi et pas à lui ! Il est de la faction Guard mais même en l'enlevant ca ne marche pas.
Ensuite, quand il est mort mon journal doit être mis à jour mais "ActorID.GetDead" ne marche pas dans son script ...
Merci Idée : Normalement l'attaquant est le criminel du point de vue des gardes. Essaie dans l'autre sens : player.startcombat ActorId (pas sûr du sens pour savoir qui est l'attaquant). Si tu veux tester çà : GetCrimepermet de savoir si le pnj est l'attaquant... met un message pour savoir ce que donne le test. | |
|
| |
Drace Magicien
Nombre de messages : 75 Age : 34 Date d'inscription : 01/08/2008
| Sujet: Re: Problème crime Jeu 08 Avr 2010, 14:06 | |
| player.startcombat ActorId ne marche pas. Le NPC était en classe "Guard" c'est pour ca que sa marchait pas -_-' Mais lorsqu'il meurt mon stage n'avance pas alors que j'ai mis ActorID.GetDead dans son scripts. | |
|
| |
Mike89 Maître ArchipelModeur
Nombre de messages : 3151 Age : 68 Date d'inscription : 06/03/2007
| Sujet: Re: Problème crime Jeu 08 Avr 2010, 14:30 | |
| - Drace a écrit:
- player.startcombat ActorId ne marche pas. Le NPC était en classe "Guard" c'est pour ca que sa marchait pas -_-'
Mais lorsqu'il meurt mon stage n'avance pas alors que j'ai mis ActorID.GetDead dans son scripts. Tu peux donner plus de détails : tu utilises bien l'éditorID de la référence comme actorID ? | |
|
| |
Drace Magicien
Nombre de messages : 75 Age : 34 Date d'inscription : 01/08/2008
| Sujet: Re: Problème crime Jeu 08 Avr 2010, 14:51 | |
| Script de personnage : - Spoiler:
Scriptname AAloupebois1MariusVoltar
short Doonce short Doonce1
begin OnPackageEnd point
if ( Doonce == 0 ) set AAloupebois1.TalkOnce to ( AAloupebois1.TalkOnce + 1 ) set Doonce to 1 endif
if ( MariusVoltar.GetDead ) && ( Doonce1 == 0 ) SetStage AAloupebois1 30 set Doonce1 to 1 endif
end
| |
|
| |
Mike89 Maître ArchipelModeur
Nombre de messages : 3151 Age : 68 Date d'inscription : 06/03/2007
| Sujet: Re: Problème crime Dim 11 Avr 2010, 09:45 | |
| - Drace a écrit:
Script de personnage :
- Code:
-
Scriptname AAloupebois1MariusVoltar
short Doonce short Doonce1
begin OnPackageEnd point
.../... if ( MariusVoltar.GetDead ) && ( Doonce1 == 0 ) SetStage AAloupebois1 30 set Doonce1 to 1 endif end C'est bien un script d'objet sur le PNJ (base) MariusVoltar ? Si oui, il suffit de mettre : - Code:
-
if (GetDead ) && ( Doonce1 == 0 ) Sinon, c'est l'editorID de la référence du PNJ qu'il faut mettre, pas l'editorID de la base du PNJ : - Code:
-
if (MariusVoltarRef.GetDead ) && ( Doonce1 == 0 ) MariusVoltarRef (ou ce que tu veux par ex MariusVoltar01 etc.) doit être mis dans le champ EditorId de la fenêtre REFERENCE qui s'ouvre lorsque tu fais un double clic sur MariusVoltar dans la fenêtre de rendu (ou clic-droit Edit sur l'EditorID dans la Cell View)) Il faut distinguer entre l'editorID de la base et celui de l'objet dans le monde. Si dans la Cellview, la reference a le même editorID que sa base, c'est qu'elle n'a pas d'EditorID qui lui est propre... donc la plupart des fonctions de script sur les objets (donc aussi les PNJ) ne marcheront pas. Une autre solution : utiliser un bloc OnDeath - Code:
-
Begin OnDeath SetStage AAloupebois1 30 End
Cela se fera une seule fois, juste lors de la mort du pnj dont c'est le script. Mais cela ne se fera pas au moment de la fin du package... cela dépend de la condition exacte que tu veux mettre le stage à 30. Si tu veux pour çà que le package soit fini et que le pnj soit mort, la solution avec getdead dans le bloc OnPackageEnd est la bonne. | |
|
| |
Drace Magicien
Nombre de messages : 75 Age : 34 Date d'inscription : 01/08/2008
| Sujet: Re: Problème crime Dim 11 Avr 2010, 13:50 | |
| En fait, j'écoute une conversation entre 2 personnage (dont Marius Voltar), et lorsque la conversation se fini (package terminé) ils reprennent leurs quotidien. Là je peut lui parler et décider de le tuer, si je le tue le stage avance a 30, si je le tue pas, le stage avance a 40.
Et oui le script est bien celui du NPC, j'ai déjà essayé juste "getdead) ca ne marche pas donc je vais essayer ton bloc OnDeath. Merci | |
|
| |
Mike89 Maître ArchipelModeur
Nombre de messages : 3151 Age : 68 Date d'inscription : 06/03/2007
| Sujet: Re: Problème crime Dim 11 Avr 2010, 17:24 | |
| - Drace a écrit:
- En fait, j'écoute une conversation entre 2 personnage (dont Marius Voltar), et lorsque la conversation se fini (package terminé) ils reprennent leurs quotidien. Là je peut lui parler et décider de le tuer, si je le tue le stage avance a 30, si je le tue pas, le stage avance a 40.
Et oui le script est bien celui du NPC, j'ai déjà essayé juste "getdead) ca ne marche pas donc je vais essayer ton bloc OnDeath. Merci Tu n'as pas répondu : MariusVoltar est l'éditorID du PNJ de base ou de la référence du PNJ dans le monde ? | |
|
| |
Drace Magicien
Nombre de messages : 75 Age : 34 Date d'inscription : 01/08/2008
| Sujet: Re: Problème crime Dim 11 Avr 2010, 17:36 | |
| C'est l'id du PNJ, sa référence c'est "mariusvoltarref" Mais ce que tu m'a donné marche très bien, merci beaucoup ^^ | |
|
| |
Contenu sponsorisé
| Sujet: Re: Problème crime | |
| |
|
| |
| Problème crime | |
|