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 17:32:40


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Lestael
Novice
Inscrit le: 10 Juil 2007
Messages: 17
Répondre en citant
Posté le : 18/07/2007 19:36:26 Sujet du message : Un PNJ doit liberer le passage

Bonjour...
Voilà, je souahite rendre un endroit accessible uniquement sur paiement à un PNJ, à l'intérieur d'une zone.
J'ai donc délimité la partie de la zone que je veux rendre payante par des barrières, et laissé un espace juste assez grand pour une personne...

Dans cet espace, j'ai mis un "guichetier"
Un point de garde (nommé "PointGardePert")
Et un Waypoint ou le PNJ se replie, pour libérer le passage (nommé "PassagePert")

J'ai lancé un dialogue... Et dans la partie ou le joueur accepte de payer, j'ai mis ça en action taken:
NWScript :
object oCurrent = GetObjectByTag( "Pert" );
void Main()
{
    object oWp = GetObjectByTag( "PassagePert" );
    // Prendre de l'or au joueur
    {
    TakeGoldFromCreature(25, GetPCSpeaker(), TRUE);
    ActionForceMoveToObject( oWp, FALSE );
    ActionWait(6.0);
    }
    object oWp = GetObjectByTag( "PointGardePert" );
    {
    ActionForceMoveToObject( oWp, FALSE );
    }
}
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.


et il ne se passe rien... si ce n'est que mon PJ perd ses 25 Po...
Pouvez vous m'aider?????
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Kamu d'Ishtar
Héros
Inscrit le: 07 Jan 2005
Messages: 281
Localisation: Citée des lumières d'Ishtar, Montagnes de Niork.
Répondre en citant
Posté le : 23/07/2007 12:37:19 Sujet du message :

Hello, j'ai eu un peu le même problème en cherchant sur les mods du jeu j'ai trouvé ça :

NWScript :
void main()
{
    object oExit = GetNearestObjectByTag("SORTIE3");
    ActionForceMoveToObject(oExit, TRUE);
    ActionDoCommand(DestroyObject(OBJECT_SELF, 1.0));
    SetCommandable(FALSE);
    if(GetLocalInt(OBJECT_SELF,"NWL_RewardGiven"))
    {
        GiveXPToCreature(GetPCSpeaker(),50);
        SetLocalInt(OBJECT_SELF,"NWL_RewardGiven",TRUE);
    }
}
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.


J'espère que ça pourra t'aider.
_________________
"Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 23/07/2007 14:13:30 Sujet du message :

Houlalala j'comprends rien à ton script, Lestael lol.

Bon, fesons un petit résumé de ton script:

NWScript :
object oCurrent = GetObjectByTag( "Pert" );
void Main()
{
object oWp = GetObjectByTag( "PassagePert" );
{//*1
TakeGoldFromCreature(25, GetPCSpeaker(), TRUE);
ActionForceMoveToObject( oWp, FALSE );
ActionWait(6.0);
}//*1
object oWp = GetObjectByTag( "PointGardePert" );
{//*2
ActionForceMoveToObject( oWp, FALSE );
}//*2
}
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.


Tu ouvres 2 fois des parenthèses (*1 et *2) le problème c'est qu'elles n'ouvrent rien ! Elles ont aucunes conditions, ce que n'est pas extra Wink

Bon, sinon je pense que le reste peut être bon, voila ce que j'ai fais, j'ai un peu modifié:

NWScript :
void main()
{
object oPC = GetPCSpeaker(); // Le PJ
object oGarde = OBJECT_SELF;
object oWaypStart = GetObjectByTag("PointGardePert"); // L'endroit ou le garde doit se trouver habituellement
object oWaypMove = GetObjectByTag("PassagePert");
int iTakeGold = 25;



//si le joueur n'a pas assez d'argent, je te le mets au cas ou
if(GetGold(oPC) < iTakeGold)
{
AssignCommand(oGarde, SpeakString(""));
}

//si il a assez, alors on bouge le garde et on prend l'argent
else
{
TakeGoldFromCreature(iTakeGold, oPC, TRUE);
AssignCommand(oGarde, ActionForceMoveToObject(oWaypMove, FALSE));
ActionWait(6.0);// On attend 6 secondes
AssignCommand(oGarde, ActionForceMoveToObject(oWaypStart, FALSE));
}

}
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.


Essaie ça, c'est fait sans l'éditeur, au pire du demande compilation et tu me dis d'ou vient l'erreur suaf si tu l'as trouve Very Happy
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lestael
Novice
Inscrit le: 10 Juil 2007
Messages: 17
Répondre en citant
Posté le : 24/07/2007 12:23:21 Sujet du message :

Merci BlackNight....

Merci Kamu d'Ishtar...

Je teste ça dans la semaine (l'un et l'autre script) et je vous dis ce que ça donne!
Merci encore!!!!

En plus, bien commenté, ça m'aide à piger ce qui se passe Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 24/07/2007 13:26:50 Sujet du message :

Par contre, j'ai jamais utilisé ActionWait, alors pour être franc, je sais pas du tout si il va marcher ... À chaque fois que je l'utilisais, ça fesait rien du tout, donc, si ça marche pas, je pense qu'un delaycommand sera bon =)
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lestael
Novice
Inscrit le: 10 Juil 2007
Messages: 17
Répondre en citant
Posté le : 27/07/2007 21:09:41 Sujet du message :

Le test aura lieu demain matin... Je te dirais si c'est ok ^^
 
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 52.967ms