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 13:15:39


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Shamrodia
Novice
Inscrit le: 22 Avr 2006
Messages: 13
Répondre en citant
Posté le : 11/05/2006 19:17:44 Sujet du message : [Résolu] [Classes] Limiter l'accès à une classe

Bonjour,

J'ai un souci pour lequel je n'ai pas trouvé de solution, même en utilisant la fonction "Rechercher" de ce merveilleux forum Wink

J'aimerais restreindre l'accès à certaines classes (notamment de prestige). Le joueur serait incapable de sélectionner les classes en question, même s'il a les prérequis (classes "grisées" dans la liste des classes au passage de niveau).

Est-ce possible, ou dois-je me rabattre sur une solution de "zone de transition" où je vérifie les classes du joueur ?

Merci d'avance ! Smile
_________________
Shamrodia, scripteuse un peu folle.
Dernière édition par Shamrodia le 17/05/2006 04:06:24; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Argyl
Grand Sage du Conseil
Inscrit le: 09 Fév 2005
Messages: 704
Répondre en citant
Posté le : 11/05/2006 19:43:13 Sujet du message :

Tu n'exposes pas correctement ton problème, d'un coté tu parles de limiter de l'autre d'interdire.

Suivant le cas, le plus simple est de modifier le classes.2da, ou les 2da des prérequis pour obtenir la classe.

Je te conseille de lire le tut sur les classes de Leviathan ici

Si tu as la flemme, expose de manière plus complète ta demande dans le forum à coté "Contenu personnalisable"
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Shamrodia
Novice
Inscrit le: 22 Avr 2006
Messages: 13
Répondre en citant
Posté le : 11/05/2006 19:48:48 Sujet du message :

Oui je suis désolée, le titre ne colle pas avec mon explication.

Je parlais de "limiter" car je pensais permettre ensuite ces classes "restreintes" si le personnages possède un objet particulier (donné si le background de son personnage a été validé Wink).

Pour ce qui est de modifier les classes via les fichiers .2DA, c'est ce que je voulais éviter justement. Je travaille sur un serveur qui n'utilise pas de hakpak.

Sinon pour le tutorial de Léviathan, je connaissais, et d'ailleurs je vous recommande son forum, on y apprend énormément de choses *fan*.

En tout cas, merci pour ta réponse, Argyl.

D'autres suggestions, même détournées (i.e. "bidouilles") ?
_________________
Shamrodia, scripteuse un peu folle.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
-MeteZ-
Seigneur
Inscrit le: 19 Mar 2006
Messages: 205
Localisation: Région Parisienne (95)
Répondre en citant
Posté le : 11/05/2006 20:31:48 Sujet du message :

Les fichiers .2da modifié dans le override du serveur n'ont pas besoins d'être téléchargé par les clients.
_________________
"Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Argyl
Grand Sage du Conseil
Inscrit le: 09 Fév 2005
Messages: 704
Répondre en citant
Posté le : 11/05/2006 20:49:29 Sujet du message :

C'est vrai, mais c'est sale Very Happy , enfin tant que cela n'empoisonne que l'override du serveur Wink

Sinon, tu peux toujours, dans ce cas, bidouiller le bic du joueur, c'est limite encore plus sale Embarassed mais c'est une bidouille possible.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 11/05/2006 20:51:08 Sujet du message :

Chaque classes a une variable qui lui correspont, selon si tu lui met à 0 ou 1 la classe est grisée ou non.

Code :
/*=======================================*\
||Classe------------------|Variable------||
||=======================================||
||(SoU)-------------------|--------------||
||Archer-Mage-------------|X1_AllowArcher||
||Assassin----------------|X1_AllowAsasin||
||Chevalier Noir----------|X1_AllowBlkGrd||
||Eclaireur Ménestrel-----|X1_AllowHarper||
||Maître des Ombres-------|X1_AllowShadow||
||------------------------|--------------||
||(HotU)------------------|--------------||
||Disciple Dragon Rouge---|X1_AllowDrDis-||
||Protecteur Nain---------|X1_AllowDwDef-||
||------------------------|--------------||
||Champion de Torm--------|X2_AllowDivcha||
||Maître Blême------------|X2_AllowPalema||
||Maître d'arme-----------|X2_AllowWM----||
||Métamorphe--------------|X2_AllowShiftr||
\*=======================================*/

_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Shamrodia
Novice
Inscrit le: 22 Avr 2006
Messages: 13
Répondre en citant
Posté le : 11/05/2006 21:30:54 Sujet du message :

Merci pour vos différentes réponses Smile Je ne savais pas du tout pour les 2DA dans l'override... Oui c'est sale, mais miam Very Happy


Ivellios a écrit :
Chaque classes a une variable qui lui correspont, selon si tu lui met à 0 ou 1 la classe est grisée ou non.
En fait, je ne cherche pas à globalement désactiver une classe, mais à l'interdire à un joueur tant qu'il ne possède pas un objet particulier.
_________________
Shamrodia, scripteuse un peu folle.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 12/05/2006 10:55:18 Sujet du message :

Je ne sais pas si j'arrive après la bataille, mais dans le module, il y a un "event onlevelup" (ou approchant) il te suffit d'y ajouter l'ensemble des tests qui t'interesse dans le genre:

NWScript :

if()
{
  if(/*test pour savoir si c'est la classe 1*/)
  {
    if()
    {
      /**/
    }
    else
    {}
  }
  else if(/*test classe 2*/)
  //ect..
}
//Corps du onlevelup original
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.


Navré je n'ai pas le temps de me pencher sur plus long que l'algo de la fonction, j'espère que cela te sera tout de même d'un quelconque secours
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lylver
Héros
Inscrit le: 08 Avr 2005
Messages: 274
Répondre en citant
Posté le : 12/05/2006 12:25:42 Sujet du message :


-MeteZ- a écrit :
Les fichiers .2da modifié dans le override du serveur n'ont pas besoins d'être téléchargé par les clients.
Ca c'est pour garder éternellement un module en beta

Sur un module en ligne, une seule politique : override client et server doivent rester vide => faites des hak-pack c'est fait pour ca et surtout arrêter de distribuer des merdes (pack de têtes ou autres) qui polluent les autres serveurs quand les joueurs se balladent ailleurs.
 
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 : 12/05/2006 16:55:56 Sujet du message :

Hmm ta fonction m'interesse bien, pour mettre les classes en grise, peux-tu me faire voir un exemple? Moi ça serait pour MDO, j'aurais voulu savoir si en métant le script dans le OnModuleLoad ça irait? ou faut attribuer a tous les joueurs?

Black
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 12/05/2006 20:32:39 Sujet du message :


Shamrodia a écrit :

Ivellios a écrit :
Chaque classes a une variable qui lui correspont, selon si tu lui met à 0 ou 1 la classe est grisée ou non.
En fait, je ne cherche pas à globalement désactiver une classe, mais à l'interdire à un joueur tant qu'il ne possède pas un objet particulier.
Justement quand il récupère l'objet tu dégrise la case (avec els variable sur joueur plus haut), si il ne l'a pas tu la grise. (par .2da je sais pas si tu peux inclure un item en condition)
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Seth de Sombrelune
Seigneur
Inscrit le: 10 Jan 2005
Messages: 156
Répondre en citant
Posté le : 12/05/2006 21:32:19 Sujet du message :

En fait il existe une variable pour chauqe classe qui, si elle est sur la bonne valeur, permet de valider l'acces aux differente classe lors du level UP. Lors de la création du perso, on a donc acces à toute les classe sauf celle de prestige. Travailler sur cette variable sur le "OnEnter" d'un module peut aisement permettre de debloquer les classe de prestige (pourquoi pas un MDO dés le lv 2 ! Very Happy) ou de bloquer des classe basique selons la classe de base/ un item/des caracs, bref ce que votre imagination débridée vous laissera imaginée (par exemple, pour moi les classe Barbare/ paladin doivent être developpée dés le lv 1, je ne conçois pas un barbare ou un palouf uniquement au lv2, mais c'est personnel Very Happy) ou si vous desirez eviter certains multiclassage fumeux...

Bon pour les infos cela se passe sur un autre forum, je me permet de metre le lien du thread
Ici

Voilà Very Happy
_________________
De Tenebris Lumen Fulget.......
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Shamrodia
Novice
Inscrit le: 22 Avr 2006
Messages: 13
Répondre en citant
Posté le : 13/05/2006 07:17:19 Sujet du message :


Ivellios a écrit :
avec els variable sur joueur plus haut
Ah, donc ce sont des variables propres à chaque joueur Smile Merci pour l'info !
_________________
Shamrodia, scripteuse un peu folle.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Léviathan
Grand Sage du Conseil
Inscrit le: 11 Mar 2003
Messages: 671
Localisation: Sigil
Répondre en citant
Posté le : 14/05/2006 00:31:17 Sujet du message :

Tiens, j'étais passé à côté de ce suejt...

Shamrodia :

Si la variable de ta classe se nomme "x_nomdeclasse" par exemple, il te suffit de la faire apsser à 1 via un SetLocalInt(oPC,"x_nomdeclasse",1) au début du module, puis, une fois que le PJ a accompli l'action que tu attends de lui (quête) ou a trouvé le bon objet, refait passer par script la variable à 0 via un SetLocalInt(oPC,"x_nomdeclasse",0);

A titre d'exemple, c'est ainsi que j'ia pu faire en sorte de désactiver le barde athasien et le roi des rats dans le jeu des Puisssances, puis de les rerendre active en cours de partie, réciproquement en suivant les enseignements d'un autre barde athasien et en se faisant mordre volontairement par un rat-garou.
_________________
Forum Planescape NWN
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger 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 48.954ms