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 23/11/2024 22:41:33
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 |
L'Erudit Seigneur Messages: 167 |
Coucou, pour alléger un script, j'aimerais suivre cette syntaxe:
NWScript :
object oPJ = GetPCSpeaker(); object oCompagnonBree_01, oCompagnonBree_02, oCompagnonBree_03; object oCompagnonFornost_01, oCompagnonFornost_02, oCompagnonFornost_03; object oCompagnonGalbigathol_01, oCompagnonGalbigathol_02, oCompagnonGalbigathol_03; object oCompagnonMithlond_01, oCompagnonMithlond_02, oCompagnonMithlond_03; object oCompagnonTharbad_01, oCompagnonTharbad_02, oCompagnonTharbad_03; int nRace = GetRacialType(oPJ); NWScript :
switch (nRace) { // Nain case 0: oCompagnonBree_01, oCompagnonFornost_01, oCompagnonGalbigathol_01, oCompagnonMithlond_01, oCompagnonTharbad_01 = GetNearestObjectByTag("CompagnonNain", oPJ, 1); oCompagnonBree_02, oCompagnonFornost_02, oCompagnonGalbigathol_02, oCompagnonMithlond_02, oCompagnonTharbad_02 = GetNearestObjectByTag("CompagnonNain", oPJ, 2); oCompagnonBree_03, oCompagnonFornost_03, oCompagnonGalbigathol_03, oCompagnonMithlond_03, oCompagnonTharbad_03 = GetNearestObjectByTag("CompagnonNain", oPJ, 3); break; // Elfe case 1: oCompagnonBree_01, oCompagnonFornost_01, oCompagnonGalbigathol_01, oCompagnonMithlond_01, oCompagnonTharbad_01 = GetNearestObjectByTag("CompagnonElfe", oPJ, 1); oCompagnonBree_02, oCompagnonFornost_02, oCompagnonGalbigathol_02, oCompagnonMithlond_02, oCompagnonTharbad_02 = GetNearestObjectByTag("CompagnonElfe", oPJ, 2); oCompagnonBree_03, oCompagnonFornost_03, oCompagnonGalbigathol_03, oCompagnonMithlond_03, oCompagnonTharbad_03 = GetNearestObjectByTag("CompagnonElfe", oPJ, 3); break; // Hobbit case 3: oCompagnonBree_01, oCompagnonFornost_01, oCompagnonGalbigathol_01, oCompagnonMithlond_01, oCompagnonTharbad_01 = GetNearestObjectByTag("CompagnonHobbit", oPJ, 1); oCompagnonBree_02, oCompagnonFornost_02, oCompagnonGalbigathol_02, oCompagnonMithlond_02, oCompagnonTharbad_02 = GetNearestObjectByTag("CompagnonHobbit", oPJ, 2); oCompagnonBree_03, oCompagnonFornost_03, oCompagnonGalbigathol_03, oCompagnonMithlond_03, oCompagnonTharbad_03 = GetNearestObjectByTag("CompagnonHobbit", oPJ, 3); break; // Hildo case 6: oCompagnonBree_01, oCompagnonFornost_01, oCompagnonGalbigathol_01, oCompagnonMithlond_01, oCompagnonTharbad_01 = GetNearestObjectByTag("CompagnonHildo", oPJ, 1); oCompagnonBree_02, oCompagnonFornost_02, oCompagnonGalbigathol_02, oCompagnonMithlond_02, oCompagnonTharbad_02 = GetNearestObjectByTag("CompagnonHildo", oPJ, 2); oCompagnonBree_03, oCompagnonFornost_03, oCompagnonGalbigathol_03, oCompagnonMithlond_03, oCompagnonTharbad_03 = GetNearestObjectByTag("CompagnonHildo", oPJ, 3); break; } Le compilateur refuse cette syntaxe. Or j'aimerais éviter d'avoir à écrire une ligne pour chaque objet, auquel je souhaite donner une même valeur. J'ai bien essayé de mettre des "object" devant, mais impossible d'en mettre pour chacune des "case". Est-il possibledee résoudre ce problème, ou dois-je me résigner à écrire grossièrement? Merci de votrte aide. |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
NWScript :
object oPJ = GetPCSpeaker(); int nRace = GetRacialType(oPJ); string sComp; switch (nRace) { // Nain case 0: sComp = "Nain";break; case 1: sComp = "Elfe";break; case 3: sComp = "Hobbit";break; case 6: sComp = "Hildo";break; } object oCompagnonBree_01, oCompagnonFornost_01, oCompagnonGalbigathol_01, oCompagnonMithlond_01, oCompagnonTharbad_01 = GetNearestObjectByTag("Compagnon"+sComp, oPJ, 1); object oCompagnonBree_02, oCompagnonFornost_02, oCompagnonGalbigathol_02, oCompagnonMithlond_02, oCompagnonTharbad_02 = GetNearestObjectByTag("Compagnon"+sComp, oPJ, 2); object oCompagnonBree_03, oCompagnonFornost_03, oCompagnonGalbigathol_03, oCompagnonMithlond_03, oCompagnonTharbad_03 = GetNearestObjectByTag("Compagnon"+sComp, oPJ, 3); Je pense que ça marche. Mais je saisi pas bien pourquoi utiliser 5 variables pour désigner le même objet. |
Revenir en haut | |
L'Erudit Seigneur Messages: 167 |
Bien trouvé! J'avais opté pour une autre solution, en pensant que c'était impossible à réaliser, mais tu m'as prouvé le contraire.
Ta question est assez pertinente, il est possible que je n'aie finalement pas besoin de définir plusieurs variables, je vais me pencher dessus. Merci encore pour l'aide. |
Revenir en haut | |
lylver Héros Messages: 274 |
o O ca me fait penser à CTM tout ça, que d'excellents souvenirs !
|
Revenir en haut | |
L'Erudit Seigneur Messages: 167 |
Oui, oui c'est bien ça !
|
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