
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 16/04/2025 14:09:23
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 |
Pof From Hell Ecuyer ![]() Messages: 58 Localisation: Ba ....l'enfer.... |
avis a la population
![]() plusieur questions 1) comment faire pour que un NPC donne le meme object a tous les PC (multijoueur) lors d'une discution avec un seul PC ex:Ya slash chew et moi ,on est les PC ....et dans le jeu le parle a Darky (alors que les 2 autre pc nique du troll...la base) et darky pendant le dialogue il nous file a nous 3 une epee alors que les 2 autre lui ont pas parle..........mouais ..??? est ce possible ...et si oui comment ??? 2)comment faire pour que un >NPC attende que tous les pc du jeu soit dans la piece pour ferme une port ???? 3) comment faire pour teletransporter tous les NPC du jeu a un endroit precis en meme temps ? voila bon courage .....le premier qui trouve aura droit a ........heu on verra .... ![]() merci tcho _________________ I'm a Cowboy From Hell !!! |
Revenir en haut | ![]() ![]() ![]() |
Serguai Grand Chevalier Messages: 104 |
1) Au moment de donner l'épée il faut que tu parcoure la liste des joueurs, en faisant une boucle while et en utilisant GetNextPC()
par exemple: Code : object currentpc = GetFirstPC(); while(currentpc != OBJECT_INVALID){ CreateItemOnObject("templatedetonobjet",currentpc); currentpc = GetNextPC(); } Sauf erreur de ma part, ca doit fonctionner ... 2) C'est facile, mais ca doit se faire en plusieurs étapes. Il te faut deux compteurs, un qui compte les joueurs dans le module(cpt), et un qui compte les joueurs dans ta zone(cptinzone) d'abord initialiser les compteurs dans le onload du module : Code : SetLocalInt("cpt",GetModule(),0); SetLocalInt("cptinzone",GetModule(),0); Ensuite dans le OnClientEnter tu incrémente le premier compteur de 1 : Code : object m = GetModule(); int cpt = GetLocalInt("cpt", m); SetLocalInt("cpt", m, cpt+1); et dans le onclient leave tu décrémentes: Code : object m = GetModule(); int cpt = GetLocalInt("cpt", m); SetLocalInt("cpt", m, cpt-1); Enfin, crée un trigger ou tu veux que tes pc soient et compte le nombre d'entrées et de sorties, OnEnter: Code : if(GetIsPC(GetEnteringObject()){ object m = GetModule(); object door = GetObjectByTag("taporte"); int cpt = GetLocalInt("cpt", m); int cptinzone = GetLocalInt("cptinzone", m); cptinzone++; SetLocalInt("cptinzone", m, cptinzone); if(cptinzone == cpt) AssignCommand(door,ActionCloseDoor(door)); } Si le pc sort de la zone, il n'y a qu'a décrémenter, donc OnExit: Code : if(GetIsPC(GetExitingObject()){ object m = GetModule(); int cptinzone = GetLocalInt("cptinzone", m); SetLocalInt("cptinzone", m, cptinzone-1); } 3) C'est un peu comme le 1) : Code : object currentpc = GetFirstPC(); while(currentpc != OBJECT_INVALID){ AssignCommand(currentpc ,JumpToLocation(GetLocation(GetWaypointByTag("tadestination")))); currentpc = GetNextPC(); } Valà ![]() Il reste peut être quelques petites erreurs mais l'idée y est. Alors c'est quoi mon cado ? |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Pof From Hell Ecuyer ![]() Messages: 58 Localisation: Ba ....l'enfer.... |
tu m'as tordu en 4 !!!!!!!!!!!!!!!!!!!!!!
D'une part je epnsais que ce que je demandais n'etais pas possible d'autre part t'y repond sans pb ![]() je suis sur le cul ...tu peut etre fier tu m'a tordu ....putain ai l'air d'un con ...mais pas con JP (Dany Boon) ![]() merci ...pour les info c'est genial . ![]() ![]() ![]() ![]() heu pour le cado heu ....(putain l'air d'un con encore moi ...) heu a voila mes sincères salutaions distinguées et mon respect contemplatif....f'in une connerie comme ca quoi .. ![]() ![]() non sincerement merci a toi !!!! _________________ I'm a Cowboy From Hell !!! |
Revenir en haut | ![]() ![]() ![]() |
Serguai Grand Chevalier Messages: 104 |
Rien n'est impossible telle est ma devise
![]() C'est vrai que le jeu multiplayer pose pas mal de problème. Pour mon module j'avais un truc bien chaud a faire: Il y'a un endroit spécifique ou les PJ doivent porter des vêtements spécifiques sinon ils se font attaquer. Tout ça était facile à gérer pour un joueur avec le hearbeat de la zone, mais en multi c'était plus coton ![]() Du coup il a fallait que je sache exactement quel joueur est dans la zone pour tester si ce joueur porte les vêtements et pas les autres... tu imagines le casse-tête. Bref j'ai fait un script qui marche a la perfection, et si ça intéresse quelqu'un je peux le poster.... |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Pof From Hell Ecuyer ![]() Messages: 58 Localisation: Ba ....l'enfer.... |
et ouais te chie met le ...mais vois pour le mettre dans la rubrique vos script ....je pense que ca peux interesser plus d'une personne !!!!!
_________________ I'm a Cowboy From Hell !!! |
Revenir en haut | ![]() ![]() ![]() |
Pof From Hell Ecuyer ![]() Messages: 58 Localisation: Ba ....l'enfer.... |
tiens je vais faire le opurd mais
pourrais tu m'expliquer la ligne : while( currentpc ! = OBJECT_INVALID ) donc que fait en general la fonction while (j'ai une tite idee mais j'aimerai etre sure .. c'est " quand" ???) le " ! " ......c'est la negation ...non ?? cad il verifie que ya deja l'object (car ONJECT_INVALID ?? ) OBJECT_INVALID renvoie a quoi ..... l'object que je vais creer ???? _________________ I'm a Cowboy From Hell !!! |
Revenir en haut | ![]() ![]() ![]() |
Serguai Grand Chevalier Messages: 104 |
while n'est pas une fonction mais une boucle.
en gros while( currentpc ! = OBJECT_INVALID ) ca veux dire "Tant que le personnage n'est pas un object invalide (c'est a dire tant qu'il est valide), faire tout ce qui est dans les accolades. Ce qui est dans les accolade se répète jusqu'a ce que la condition currentpc ! = OBJECT_INVALID devienne fausse. Voilà je sais pas si c'est très clair ce que je dis, j'espère que ca répond a ta question ![]() |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Pof From Hell Ecuyer ![]() Messages: 58 Localisation: Ba ....l'enfer.... |
mais c'est parfait !!!!!!!!!
_________________ I'm a Cowboy From Hell !!! |
Revenir en haut | ![]() ![]() ![]() |
Serguai Grand Chevalier Messages: 104 |
J'ai fait le formulaire pour qu'il soit dans les scripts du site. J'attend la validation de l'admin et en principe vous le trouverez sour "divers". J'espère qu'il vous sera utile
![]() |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Serguai Grand Chevalier Messages: 104 |
Ca y'est il est dans la rubrique Divers des script
"Vérification de port d'armure dans une zone en multi". Désolé j'avais pas d'idée pour le titre ![]() |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Pof From Hell Ecuyer ![]() Messages: 58 Localisation: Ba ....l'enfer.... |
c'est parfait !!!!!
merci tcho _________________ I'm a Cowboy From Hell !!! |
Revenir en haut | ![]() ![]() ![]() |
coolstar Grand Chevalier Messages: 148 Localisation: Les Mondes - Chambre 270997 |
Je débarque et j'admire! Bravo Serguai!! et merci aussi pour tes questions fort à propos Pof ...
![]() ... Edit de coolstar: On contrôle le droit à la Couleur ici?? ![]() _________________ ![]() Docteur Cool! Honorable Canard ![]() |
Revenir en haut | ![]() ![]() ![]() ![]() |


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