La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 18/05/2024 22:02:46
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
gussometre Ecuyer Messages: 56 Localisation: Petit asteroïde dans le finistére sud |
Bonjour bonsoir
je suis en train de bosser sur un module ou les pj peuvent entrer dans des guildes. Le problemme c'est que j'aimerais que quand le chef meurt c'est le membre de la guilde le plus important qui lui succéde, j'ai pensé a une variable qui augmenterais selon les actions efectués par le joueur(ou peut etre memme par les pnj mais je suis pas encore assez expérimenté pour ca ) mais le problemme c'est que je sais pas comment faire pour determiner qui a la variable la plus haute . Quelqu'un a une idée? Ou bien c'est caremment fientifiquement infeufable? _________________ N'oublions pas le proverbe:quand on a faim il faut manger! Dernière édition par gussometre le 29/03/2006 13:03:32; édité 1 fois
|
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
La vrai question, c'est comment sera augmenté cette variable?
Ce sera fait pas les MD? Par le chef existant de la guilde? Automatiquement dans le jeu par script? Dans le dernier cas : quel type d'action augmentera (ou diminuera) cette variable? Si c'était un module solo, un simple SetLocalInt aurait suffit. Mais j'imagine qu'il système de guilde, c'est plutôt du persistant vous utilisez quoi comme base de donné, celle d'origine de bioware ou une extérieure? (MySQL?) _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
gussometre Ecuyer Messages: 56 Localisation: Petit asteroïde dans le finistére sud |
Ben en fait je le fait plus en monojoueur (Je sais c'est con mais bon ), j'ai pas le niveaux en srcipt pour faire un module persistant(en gros je m'exerce )Pour Faire augmenter la variable donc aucun problemme ,le problemme étant de prendre le membre de la guilde qui a la plus haute variable, et ca je sais pas le faire .
_________________ N'oublions pas le proverbe:quand on a faim il faut manger! |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Il va y avoir une histoire de boucle while.
Donc en fait, si c'est mono joueur, tous les membres de la guilde seront des PNJ (+ éventuellement le joueur ^^) c'est ça? Alors admettons que tu as 10 membres. Admettons qu'il ont une variable d'assignée : SetLocaInt(oPNJ, "Nivo", iN); Avec iN un chiffre variant de 1 à 10, le chef de la guilde ayant 10. Admettons que les membres aient pour tag "mbrgld01", "mbrgld02", "mbrgld03", "mbrgld04", etc, jusqu'à 10. Ton script se lance à la mort du chef de la guilde, donc c'est un script dans son OnDeath. Le chef disparaissant, le rang N°10 devient libre, alors le 9 deviens 10, le 8 deviens 9, etc... Je ferais donc un truc dans ce genre : NWScript :
void main() { int iNbGd = 1; // niveau 1 while (iNbGd <= 9) { object oFirst = GetObjectByTag("mbrgld0"+IntToString(iNbGd)); // le PNJ avec un tag mbrgld0 suivi du niveau iNbGd = iNbGd + 1; //on ajoute 1 SetLocalInt(oFirst, "Nivo", iNbGd); //on l'assigne au PNJ, qui obtient donc un point en plus. } int iPJnv = GetLocalInt(GetLastKiller(), "Nivo"); //le niveau du joueur SetLocalInt(GetLastKiller(), "Nivo", iPJnv+1); // +1 location lDied = GetLocation(OBJECT_SELF); effect eDis = EffectVisualEffect(VFX_FNF_DISPEL_DISJUNCTION); effect eBum = EffectVisualEffect(VFX_FNF_SCREEN_BUMP); effect eKil = EffectVisualEffect(VFX_FNF_PWKILL); ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eDis,lDied); ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eBum,lDied); DelayCommand(3.0,PlaySound("c_elemerth_dead")); DelayCommand(1.0,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eKil,lDied)); //fin des trucs pour faire jolie } Je suis un peu rouillé en script, j'ai pu me gourer quelque part, mais du moins ça compile ^^ _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Perso j'aurai juste fait stocker les membres de la guilde selon des grades en varibles campaign.
Genre "MAITRE_GUILDE_SCHRMOUF" => Joueur 2; "MEMBRE_SUPERIEUR_SCHRMOUF" => Joueur 1; Joueur 5; Après un script sur le OnPlayerDead, si c'est MAITRE_GUILDE_SCHRMOUF qui meurt eh bien tu fais des boucles en sortes de mettre le premier venu MEMBRE_SUPERIEUR_SCHRMOUF à la place. Ou encore plus simple : tu stock comme en mysql par ID et NUMERO Un tableau comme : ID NUMERO 1 1 2 2 3 2 4 3 5 3 6 3 Ou 1 = maître, 2 = membres supérieur, 3 = assistant. Bon faut quand même que tu sois a l'aise sur les boucles et les set...campaign. _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Ups :s
_________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Je vois pas trop l'intérêt de s'embêter avec des campaign si c'est du solo o,O"
Cela dit, j'ai pas tout compris à ta réponse, alors je suis p'tête à coté de la plaque aussi? lol! Utiliser les campaign, tu veux dire simplement changer mes LocalInt par des CampaignInt? Mais tu parle de "stocker les membres de la guilde", alors tu pense peut être plutôt à StoreCampaignObject/RetrieveCampaignObject ??? Oulà, il est temps que j'aille me coucher moi! _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Argyl Grand Sage du Conseil Messages: 704 |
Gussometre pourrais-tu pour me faire plaisir (uniquement et bon facilité aussi les recherches) corriger ton titre comme suit :
Système de guilde / Quand le chef meurt |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Oui kiky c'est à peu près ce que j'aurai faire. Enfaite à chaque joueur on stock un ID (pour le retrouver avec un listing) et un "rang" sous forme de int.
Mais tu vien de dire à quoi servait les données persistantes ? Bah si c'est pas un serveur persistant alors ya pas de maître / membres etc etc :s ? _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
gussometre Ecuyer Messages: 56 Localisation: Petit asteroïde dans le finistére sud |
Bon tout d'abord merci a tous.
Argyl> J'ai édité le titre maintenant ya plus de faute d'ortographe -MeteZ-> Mon module est pas persistant, je parle pas de guilde comme dans wow mais comme la guilde des voleurs de bg2 ou les guildes de marchands du moyen age par exemple. Donc le pj entre dans une guilde de pnj (Si c'était de ca que tu parlais parceque la je suis un peu largué ) Sinon je pense que je vais apliquer le script de kiky avec plus de monde, encore marci _________________ N'oublions pas le proverbe:quand on a faim il faut manger! |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Ah ton module est en mode solo, eh bien alors tout ce simplifie. Tu fais le PNJ maître de la guilde dans une zone, si celui meurt en RP. Alors tu destroyobjet(maitre de la guilde); . Et ensuite stock un INT local qui vérifie que le joueur soit maintenant maître.
Comme ca dans les conditions d'executions des dialogues tu peux vérifier si INT local = TRUE ou FALSE. _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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