La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 02/05/2024 04:54:50


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
durandil
Voyageur
Inscrit le: 21 Juil 2007
Messages: 2
Répondre en citant
Posté le : 21/07/2007 20:06:11 Sujet du message : comprend rien pour l'xp !!!!!!!!!

voila en fait je veux cree un petit cenario pour mais pote mais je ne comrend pas comment donner du l'xp pour les mini-quete et les quete donc si vous pouvier m'explique comment en fait car j'y comprend rien (je vien selement de me desider a faire sa)
 
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 : 21/07/2007 22:13:47 Sujet du message :

Ca serait bien que tu essaies de te relire, et de corriger tes fautes Confused J'ai eu du mal à comprendre la première phrase :s ("pour mais" c'est "mes").

Bref, passons à ta demande, qui je pense, irait plus dans la section "script".

Il faut savoir, si possible, gérer les locals (Set/Get.Local.Int/String/Float/Object). Grâce à eux tu vas pouvoir savoir si le joueur a accompli une quête ou pas, exemple:

Tout joueur avec une local (n'importe laquel, tant qu'on la modifie pas) débute à 0 ou a "" (c'est à dire rien) ou à 0.0 ou a OBJECT_INVALID.

On va dire, que, un paysan donne une quete au joueur (ramener une pomme). On applique une variable. Déjà on choisis la "spécificité" de la local, c'est à dire INT, STRING, FLOAT ou OBJECT. Je te conseil INT, c'est plus pratique, et tu t'y repere mieux, m'enfin, chacun sa façon.

Bon, le joueur, si tu m'as suivi, commence donc avec une local "Pomme" (on va l'appelé comme ça) qui a comme valeur INT = 0.

En script:

NWScript :
void main()
{
SendMessageToPC(OBJECT_SELF, "Valeur INT de la local POMME : "+IntToString(GetLocalInt(OBJECT_SELF, "Pomme")));
}
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.


Ici, on envoit un message qui dira, si tu n'as pas touché à la local :

"Valeur INT de la local POMME : 0" car GetLocalInt(OBJECT_SELF, "Pomme") recherche la valeur de la local POMME sur OBJECT_SELF.

Dès que le paysan donne la quête, on va changer cette local pour dire que le joueur est déjà passé, et a bien pris la quête. On va la passer de 0 à 1, exemple:

NWScript :
void main()
{
SetLocalInt(OBJECT_SELF, "Pomme", 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.


(Tu mets, en exemple ce script dans le ACTION CONSEQUENCE du dialogue, au moment ou le joueur accepte la quête. Attention, n'oublie pas de désigné le joueur, OBJECT_SELF ne désignera pas le joueur, mais le PNJ, et ce n'est pas le but recherché)

Maintenant, le joueur a sa local à 1, donc il a pris la quête. Dans le dialogue tu fais une petite recherche, pour voir si il a bien pris la quête, exemple:

NWScript :
void main()
{
int iLocal = GetLocalInt(OBJECT_SELF, "Pomme")
if(iLocal == 1)
{
return TRUE;//alors on va sur cette phrase du dialogue
}
return FALSE;//non, donc on regarde les prochaines phrases du dialogue
}
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.


(Ce script tu peux le mettre en CONDITION de la phrase qui dit par exemple "Alors, avez vous ma pomme" (cette phrase doit être toujours au dessus de celle qui va donné la quête, sinon ce sera l'autre qui sera prioritaire, et tu retourneras toujours au début. Attention à OBJECT_SELF, comme je t'ais dit plus haut)

Ensuite, tu peux faire ce que tu veux avec ces locals. Exemple, tu l'as passe à 2 pour dire qu'il a eu la récompense, et ça lui permet d'acceder à une nouvelle phrase du dialogue, 3 pour dire qu'il a fini la prochaine mission, et passer à une autre, etc...).

N'oublie pas que:
- La phrase "condition" doit se trouver au dessus de la précedente local en terme de logique. Exemple:


Citation :
-Local = 2 : on a récompenser le joueur, on peut ici, donner une autre quête
-Local = 1 : on demande au joueur si il a la pomme
-Local = 0 : on lui confit la quête
Les locals sont dans l'ordre, du plus grand au plus petit (c'pour ça que j't'ais dit que la local INT est, pour moi, la meilleur solution aux quêtes, pour les débutants) et NWN regardera en premier la première phrase, ensuite la deuxième, ensuite la troisième etc... Il faut avoir un peu de logique Wink

-N'oublie pas de nommer tes locals de cette façon: Set/GetLocalInt(A, B, C);
A = L'objet qui va recevoir la local, ici c'était OBJECT_SELF, ça peut très bien être le joueur (dans un dialogue ça sera GetPCSpeaker())
B = Le nom de cette local, ici c'est "Pomme"
C = La valeur de la local (0, ensuite on passe à 1, ensuite à 2, et tu peux même faire passer directement à 4). Attention, le C n'existe pas avec un GETLocal...

-Si t'es vraiment débutant, alors faut que tu saches que SET dans une fonction de script veut dire "Définir une valeur exact" (et non pas AJOUTER, ce n'est pas du tout ça) et que GET dans une fonction veut dire "Rechercher la valeur definit de cette fonction" (C'est une sorte de recherche)

NWScript :
SetLocalInt(oPC, "Pomme", 5)
GetLocalInt(oPC, "Pomme")
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.


- Dernièrement, vu que tu n'as pas très explicite dans ta demande, j'prefere quand même te les donner d'avance, les fonctions pour l'xp sont :

GiveXPToCreature(); = AJOUTE une somme d'xp
GiveGoldToCreature(); = AJOUTE une somme d'or

Voila, j'espère que ça t'aidera un peu plus, si tu as des questions, j'peux y répondre si tu fais un effort sur ton écriture =)
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 22/07/2007 03:06:30 Sujet du message :

Je déplace dans le forum "script", et je confirme les propos de Black Knight : essaye de faire un effort en orthographe, on te comprendra mieux. Je confirme également l'existence d'une batterie de symboles qu'on nomme "ponctuation", et qui — dans le langage écrit français comme dans d'autres — est fort utile à la compréhension du texte.

Merci Very Happy
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
durandil
Voyageur
Inscrit le: 21 Juil 2007
Messages: 2
Répondre en citant
Posté le : 22/07/2007 10:02:06 Sujet du message :

merci pour votre aide et je suis desoler pour mon orthographe.
 
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 39.306ms