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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Kl[a]d
Novice
Inscrit le: 21 Juil 2004
Messages: 14
Répondre en citant
Posté le : 21/07/2004 14:22:56 Sujet du message : Novice

Salut je me lance dans le scriptage et je me demandai si vous pouviez me faire le script suivant pour m aider a comprendre le fonctionnement :

J ai fait une premiere zone pour mon module , j ai fai un roi ( deja j aimerai k il s assoi dans son trone ) et des garde
ki des k il voi un joueur arriver lui demande de s' incliner devan le roi , si il ne le fai pas le garde se deplace pour le faire obéir

pouvez vous faire le script et me montrer comment faut il le faire ... car je trouve pas la commande qui va faire voir au garde que le joueur s' est incliné ...
merci d' avance
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 21/07/2004 14:47:38 Sujet du message :


Citation :
J ai fait une premiere zone pour mon module , j ai fai un roi ( deja j aimerai k il s assoi dans son trone ) et des garde
ki des k il voi un joueur arriver lui demande de s' incliner devan le roi , si il ne le fai pas le garde se deplace pour le faire obéir
Merci d'éviter le style SMS ou les fautes d'orthographe. Que, Qui, Qu'il, Qu'elle etc, s'écrivent avec "Qu" et non avec un "k". Si tu as un clavier AZERTY, la touche 4 située au-dessus du E et du R permet de faire une apostrophe permettant d'écrire "j'ai", "j'aimerai" ou "qu'il" sans faute. Les "T" muets à la fin des mots ne sont pas en option ("fait", "voit" ou "devant"). etc...

Cela dit, je m'étonne de voir autant de faute dans ce paragraphe et beaucoup moins dans les autres, ce qui me fait dire que tu sais sûrement faire attention quand il faut Smile .

Pour faire asseoir une créature, il faut que tu t'informes sur l'utilisation de ActionSit. Ce mot-clé devrait te permettre de faire une recherche dans ce forum pour trouver un sujet qui répond à ta question (c'est un sujet assez fréquent).

Pour ta question principale, il s'agit d'un problème délicat. Une commande comme GetCurrentAction pourrait te permettre de voir quelle action est en train de réaliser le PJ, mais l'action de s'incliner est une animation et ce genre d'action animée ne renvoit aucun résultat particulier. De plus, le fait de s'incliner fait parti de l'interface standard du joueur, cet évènement ne peut pas être capté, et ne déclenche aucun script nous permettant de savoir si le joueur l'a ou non activé.
Une alternative pourrait être de déclencher un dialogue avec le PNJ garde qui lui demande, avec le choix de s'incliner ou non, laissant ainsi l'opportunité au PJ de le faire ou non, la seconde hypothèse entrainant une réaction de la part du garde.
_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Kl[a]d
Novice
Inscrit le: 21 Juil 2004
Messages: 14
Répondre en citant
Posté le : 21/07/2004 16:28:58 Sujet du message :

désolé pour les fautes, c' est l'habitude ... sinon est ce qu' il existe un objet du genre chevalet ou on pourrait s'installer pour tirer sa reverance...
Sinon derrière le trone de mon roi j'ai mi des trésors et de la meme manière j' aimerais que les garde s'occupent du joueur.
Il faut mettre le script dans OnPerception ? et comment je fais pour faire reagir le garde quand le joueur click sur le tresor ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Kl[a]d
Novice
Inscrit le: 21 Juil 2004
Messages: 14
Répondre en citant
Posté le : 21/07/2004 23:13:07 Sujet du message :

Code :
//je veux faire le script d' un garde qui demande aux joueur de s' incliner face
//au roi via une decoration sur sol qui fasse quand on clik dessus le joueur
//s' incline et donc faire la variable " si le joueur s' incline rien ne se ,
//passe","sinon le garde attaque le joueur jusqu' a ce qu' il le fasse.

object oVu = GetLastPerceived();
object oDecoration =GetUseableFlag(object oObject=OBJECT_SELF)
void main()
{
ClearAllActions;()
if (GetIsPC(oVu))
{
ActionSpeakString("Incline toi avant de parler au roi!!.");
ActionWait(2.0);
}
if (oDecoration == OBJECT_INVALID)
{
ActionSpeakString("A bon tu ne veux pas t' incliner ?");
ActionAttack(oSeen);
}
}


Donc voila ça marche pas ... logique ^^ y'a jamais rien qui marche enfin ... si quelqun'un aurai l'amabilité de corriger mon script et le detailler pour que je comprennes et ne plus me tromper ... merci d avance
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Klemmth
Seigneur
Inscrit le: 26 Juin 2004
Messages: 176
Localisation: france
Répondre en citant
Posté le : 22/07/2004 09:43:42 Sujet du message :

Bon, je vais essayer de t'aider un peu ( j'ai pas dis que ça allait marcher Very Happy ).

Sur le OnUsed de ton objet :
NWScript :
void main()
{
  object oUser = GetLastUsedBy();

  if ( GetIsPC( oUser ) )
  {
    //le joueur s'incline
    AssignCommand( oUser, ActionPlayAnimation( ANIMATION_FIREFORGET_SALUTE ) );

   
    SetLocalInt( oUser, "incline", 1 );
  }
}
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.


Sur le OnPerception des gardes :
NWScript :
void main()
{
  object oPC = GetLastPerceived();

  if ( GetIsPC( oPC ) )
  {
    ClearAllActions();
    ActionSpeakString( "Incline-toi avant de parler au roi !!", TALKVOLUME_SHOUT );
    ActionWait( 2.0 );

    if ( GetlocalInt( oPC, "incline" ) != 1 )
    {
      ActionSpeakString( "Ah bon tu ne veux pas t'incliner ?" );
      ActionMoveToObject( oPC, FALSE );
      SetIsTemporaryEnemy( oPC, OBJECT_SELF, TRUE, 2.0 ); //le PJ devient un ennemi pour 2 secondes ( le temps qu'il se fasse attaquer )
      ActionAttack( 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.

_________________
...
 
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 46.7ms