PNJ qui reste assis

Répondre
Partager Rechercher
salut la compagnie

j'ai une question :

j'ai un pnj qui est assis devant une table avec ce script :

Code PHP:

script original de nwn nw_c2_sitting 

et un autre script le fais rester assis pendant la conversation :
Code PHP:

 void main()
{
    if(
GetCommandable(OBJECT_SELF)){
    {
        
BeginConversation();
        }
    
ClearAllActions();
    
int nChair 1;
    
object oChair;
    
oChair GetNearestObjectByTag("Chaise"OBJECT_SELFnChair);
    
ActionSit(oChair);
    }

mais a la fin de la conversation il se lève et je voudrais qu'il reste assis comment faire !

Merci
c'est une bonne question! je n'y suis jamais arrivé...

moi j'ai :

- il se leve pour la conversation...
- ou il s'assoie pour la conversation...

mais bon, ça ne me tracasse pas plus que ça
Pour faire asseoir un PJ on used de la chaise, ou objet invisible
Code:

Code PHP:

void main() 

object oPlayer GetLastUsedBy (); 
object oTarget OBJECT_SELF
if (
GetIsPC (oPlayer)) 

if (
GetIsObjectValid(oTarget) && !GetIsObjectValid (GetSittingCreature (oTarget))) 

AssignCommand (oPlayerActionSit (oTarget)); 




Pour faire asseoir un pnj on used de la chaise

Code:
Code PHP:

void main() 

object oChair OBJECT_SELF;  if(!GetIsObjectValid(GetSittingCreature(oChair))) 

AssignCommand(GetLastUsedBy(), ActionSit(oChair)); 



on Spawn PNJ (mettre Tag de la chaise):

Code:
Code PHP:

void main() 

object oChaise
int nChaise 1
oChaise GetNearestObjectByTag("chaise"OBJECT_SELFnChaise); 
ClearAllActions(); 
ActionSit(oChaise); 



on Conversation PNJ. Mettre Tag chaise(pour qu'il reste assis quand tu lui parle) :

Code:
Code PHP:

void main() 

    if(
GetCommandable(OBJECT_SELF)){ 
    { 
        
BeginConversation(); 
        } 
    
ClearAllActions(); 
    
int nChaise 1
    
object oChaise
    
oChaiseGetNearestObjectByTag("chaise"OBJECT_SELFnChaise); 
    
ActionSit(oChaise); 
    } 



Faut enlever ds le dialogue du PNJ, à la rubrique Fichier actuel, les deux zones de marqué : Abandon et Normale (nw_walk_wp) Faut supprimer tout ça, et là ca devrait marcher
J'ai deja vue cette question quelque part....

pourquoi taper du code alors que Biobio le fait pour nous. Je pense qu'une meilleure connaissance des scripts de Bio repondrait aux besoins des scripteurs debutants. Ici, sur le OnHeartBeat, mettre le nw_c2_sitting.

Prince Nexus.
Ah tiens c'est intéressant ça, je connaissais pas ce script. Il remplace quoi exactement dans mes scripts ?
Sinon le HearthBeat n'est il pas légerement déconseillé, si d'autres méthodes existent ?

Personnellement j'utilise ces trois scripts qui il est vrais font utilisé deux fois le même tag, mais bon ça marche bien et sans Hearth Beat . Jamais eu de probleme avec. Le plus important c'est de pas oublié les fichiers dans le dialogue.
Voili voila salut^^
Celui que je te propose est plus leger que celui qu a mis Bioware par defaut. Et puis, le OnHeartBeat n'est pas si terrible que ca : il est franchement bien utile souvent. Et puis, je vois pas pourquoi vous vous prenez la tete sur une simple histoire de PNJ qui doit rester assis tout le temps. Je crois qu'il y a franchement bien plus important dans un module. Surtout que lorsque le PJ commence une conversation, son oeil se dirige vers le cadre superieur gauche et ne vois donc pas le PNJ se lever (et puis meme s'il le voit, il s'en fout, ca montre que le PNJ est poli !)

Voili voilou, morale, laissez tomber ce probleme et mettez le nw_c2_sitting .

Prince Nexus.

P.S. ; comme son nom l'indique, le sitting permet de faire rester assis le PNJ, et meme s'il se leve, 6s apres, il se rassoit. attention, la chaise doit avoir pour Tag NW_CHAIR, sinon, ca ne marche pas.
Ok j'vais essayer ton script pour des personnages banals, comme dans une taverne par exemple ou ailleurs, mais je persiste à dire qu'un barons, un seigneur ou je ne sais quoi d'autres de personnages importants, personnellement j'aime mieux quand ils restent assis sur leur trône devant un simple manant de PJ

Mais j'avoue que je connaissais pas ce script nw_ , donc j'vais moins me prendre la tête avec les petits PNJ.
@ Damonya : C c'est vrai que moi aussi je veux que l'autorité soit maintenu ! un :bouffon: :bouffon: du roi doit se mettre a genou devant sa majesté et elle doit resté assise !

Sinon pour les scripts je pense que j'ai ce qu'il faut avec tous les scripts que vous m'avez fourni !

@ Prince Nexus : J'avais déjà vu sur un autre site le script de bio nw_c2_sitting et je l'ai mi dans le on spwan je crois et lorsque l'on rentre dans la pièce le pnj est bien assis sur sa chaise

Donc je vais me demerder avec tous ces scripts !

Mici a tous pour les renseignements

@ ++ tt le monde
sa peu pet t'aider :
( dans le on active conversation )

Code PHP:



void main
()
{
    if(
GetCommandable(OBJECT_SELF)){
    {
        
BeginConversation();
        }
    
ClearAllActions();
    
int nChair 1;
    
object oChair;
    
oChair GetNearestObjectByTag("chaise_"OBJECT_SELFnChair);
    
ActionSit(oChair);
    }

Répondre

Connectés sur ce fil

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