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 27/11/2024 21:51:21
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 |
shan-no Voyageur Messages: 3 |
Bonjour je me presente : Shan-no
Je joue a neverwinter night depuis quelques années sur des serveur RP mais depuis je fait des petits modules(personel) pour le plaisir ou je joue en privée avec des amis. Voila je suis en train de realisé un module basé sur le theme du manga "Full Metal Alchemist". Dans le manga il realise ce qu ils appellent l"alchimie" en fait il realise des transmutation grace a des cercles qu ils activent et les ingredient necessaire pour realisé la chose. je me sert des cercles celtiques du cep2 comme cercles de transmutations, faire qu ils sont actif est facile, faire un script pour qu il realise ce que je veut je pense me debrouillé. En fait j ai appris a scripté sur le tas donc j ai des petits points que je connais vraiment pas. Alors voila mon probleme : Un cercle de transmutation pour creer un mur. pour creer ce mur on a besoin d un objet avec dans son tag "_pr" et un autre objet "_st" dans un rayon de x Metre. En fait creer le mur par le biais du cercle c est facile il suffit juste de creer un placeable, mais pour chercher l objet qui a dans son tag "_pr" et "_st" qui soit dans un rayon de x Metre (il peut etre soit dans un reste dans l inventaire d un pj d un placeable etc.) c est autre chose en fait je ne sais pas comment m y prendre. Voila mon probleme j espere que quelqu un pourrait m aider merci au revoir. |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
NWScript :
void main() { object oCercle = GetObjectByTag("Cercle_de_transmutation"); object oScan = GetFirstObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(oCercle), FALSE, OBJECT_TYPE_ITEM); int i = 0; int j = 0; // Lancement de la boucle pour scanner les objets while(GetIsObjectValid(oScan)) { if(GetTag(oScan) == "TAG_ITEM_1") i = 1; if(GetTag(oScan) == "TAG_ITEM_2") j = 1; if(i == 1 && j == 1) { break; ///////////////// // CODE DE LA TRANSMUTATION ///////////////// } // Sinon, on continue le scan else { oScan = GetNextObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(oCercle), FALSE, OBJECT_TYPE_ITEM); } } } Là j'ai testé directement le tag des objets de la zone, mais tu peux tout autant utiliser la fonction GetSubString() pour tester des bouts de tag. C'est pas testé, donc pas garanti _________________ » 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 | |
Baldurien L'homme qui chutait sur le macadam Messages: 14066 Localisation: Quadran Alpha |
Tss. C'est mieux quand php + short_open_tags = Off!
_________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
C'est justement ce que je me disais au réveil ce matin !
_________________ » 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 | |
shan-no Voyageur Messages: 3 |
Salut merci beaucoup !
J ai une question c est pas plus simple d utiliser FindSubString() pour trouver un morceau de tag? Je viens d essayer ca marche bien merci sauf sur un point en fait j ai remarquer qu il scanne que ce qu il ya au sol. Je voudrais faire en sorte qu il puisse aussi scanner dans les inventaire des placeable et des personnes. Désolé pour cette demande qui parait un peu compliqué. Merci Edit : Non en fait c est bon je viens de saisir comment ca marche je vais utilisé une autre boucle pour voir si la creature dans un rayon de 10 m possede l item avec HasItem(). Merci encore a plus tard |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Il va en effet te falloir faire des boucles à l'intérieur de la boucle. Fais attention au type d'objet cherché par le scan de la zone : dans le script j'ai mis "OBJECT_TYPE_ITEM", mais si tu veux scanner les créatures, il faut mettre "OBJECT_TYPE_CREATURE | OBJECT_TYPE_ITEM" pour signifier "créature OU objet". Ça donnera quelque chose de ce goût-là :
NWScript :
void main() { object oCercle = GetObjectByTag("Cercle_de_transmutation"); object oScan = GetFirstObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(oCercle), FALSE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_ITEM); int i = 0; int j = 0; // Lancement de la boucle pour scanner les objets while(GetIsObjectValid(oScan)) { if(GetObjectType(oScan) == OBJECT_TYPE_CREATURE) { object oObjet = GetFirstItemInInventory(oScan); while(GetIsObjectValid(oObjet)) { if(GetTag(oObjet) == "TAG_ITEM_1") i = 1; if(GetTag(oObjet) == "TAG_ITEM_2") j = 1; if(i == 1 && j == 1) break; // Sinon, on continue le scan else oObjet = GetNextItemInInventory(oScan); } } // sinon c'est un OBJET else { if(GetTag(oScan) == "TAG_ITEM_1") i = 1; if(GetTag(oScan) == "TAG_ITEM_2") j = 1; if(i == 1 && j == 1) break; // Sinon, on continue le scan else oScan = GetNextObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(oCercle), FALSE, OBJECT_TYPE_ITEM); } } if(i == 1 && j == 1) { ///////////////// // CODE DE LA TRANSMUTATION ///////////////// } } Bon, c'est un peu crado comme code, c'est pas optimisé pour un sou, mais sur le principe ça doit ressembler à ça _________________ » 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 | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Et dans la foulée, je fais mon 500ème post.
ENFIN ! Je vais pouvoir jouir d'un forum sans disclaimer, alleluia _________________ » 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 | |
shan-no Voyageur Messages: 3 |
waho he ben merci beaucoup.
C est a peu pret ce que j etait en train de faire sauf que je pensai pas qu on pouvait faire ca OBJECT_TYPE_CREATURE | OBJECT_TYPE_ITEM Enfin merci encore et a bientot! |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
C'est indiqué dans le descriptif de l'éditeur pour la fonction GetFirstObjectInShape(). N'hésite pas à regarder ce descriptif quand tu codes, c'est une inépuisable source d'apprentissage, et surtout de correction d'erreurs
_________________ » 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 | |
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