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 20:54:41
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 |
xelone Acolyte Messages: 39 |
je cherche un systeme qui permettrai de délester la memoire en eliminant les objets encombrants sur le sol tels les sacs ou os!
j'ai déja vu des systemes d'eboueurs ou il fallait mettre un pnj, ou objet, etc... et mettre un script dans le OnHeartBeat or on me dis partout que le OnHeartBeat fait aussi ramer. de plus si je dois mettre un pnj dans chaque zone pour ramasser les objets, ca va faire lourd! alors, existe-t-il un script a mettre dans les propriétés du module ou d'une zone et qui ferai ce travail??? merci |
Revenir en haut | |
DarkWolf(Pg) Acolyte Messages: 33 |
Si tu veux faire un system qui ne rame pas, tu peux faire ton script sur le onLostItem du module, tu recrutes un PNJ (ou n'importe quel creature) tu le fait aller à l'objet, rammasser puis tu le détruit tranquillou. :>>
|
Revenir en haut | |
xelone Acolyte Messages: 39 |
oui mais alors, il faut mettre un pnj dans chaque zone!! dans une zone de combat, ca le fait pas trop :"bonjour je suis l'éboueur!!!"
y a pas moyen de mettre un objet invisible? (je viens d'y penser) et si oui, quel est le script a mettre? |
Revenir en haut | |
DarkWolf(Pg) Acolyte Messages: 33 |
Tu peux créer ton PNJ (CreateObject de mémoire), mais si tu ne veux pas d'animation et simplement que les objets disparaissent encore plus simple.
Sur le onLostItem tu appels un script du style Code : void main(){ DestroyObject(GetModuleItemLost()); } P.S.: j'ai pas testé mais tu as les principales fonctions pour ton scripts N.B.: c'est mon 1er essai avec les balise code esperons que ça marche |
Revenir en haut | |
xelone Acolyte Messages: 39 |
le OnLostItem, il est ou?? zone, moduel, objet? pas vu!!
|
Revenir en haut | |
DarkWolf(Pg) Acolyte Messages: 33 |
Effectivement il n'y a pas de OnLostItem désolé (j'ai mal supposé)
tu mets le script (j'ai testé, il marche) dans OnHeartBeat du module et c'est bon. Un petit conseil met un délai quand même parce sinon tu pose et pfiouttt a plus ^^ |
Revenir en haut | |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
Il n'y a pas de 'OnLostItem' mais par contre, il y a un 'UnAcquireItem' (dans les événements du module) ce qui revient au même.
_________________ ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera. Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera. |
Revenir en haut | |
DarkWolf(Pg) Acolyte Messages: 33 |
Aaaa je savais bien que j'avais pas halluciné^^
juste confondu (bon ok le nom n'a irne à voir) thx Lavok |
Revenir en haut | |
xelone Acolyte Messages: 39 |
Euh Darkwolf, le script, ce sont juste les deux lignes de script? ou il y a plus? (car en fait j'suis nul en script ! donc pour le delai, tu peux me le mettre aussi please)
et est-ce que ca fait disparaitre tous les objets? (je m'explique : j'ai trouvé un script qui faisait disparaitre les objets que les joueurs abandonnaient mais pas ceux que les créatures perdaient a leur mort (os, sacs, ...)) |
Revenir en haut | |
DarkWolf(Pg) Acolyte Messages: 33 |
Voila le script "complet" (on peut pas dire qu'il soit long^^)
Il suffit de le placer dans le UnAquireItem du module :>> Code : void main() { DestroyObject(GetModuleItemLost(), 10.0); } TOUS les objets disparaissent au bout de 10 secondes (meme les récompenses). (Change le 10 en ce que tu veux mais laisse le .0 derriere) |
Revenir en haut | |
xelone Acolyte Messages: 39 |
Merci merci merci!!
mon héros! |
Revenir en haut | |
xelone Acolyte Messages: 39 |
euh hem.. il y a un probleme majeur avec ce script : meme lorsque je prend l'objet dans mon inventaire, il disparait apres le délai (dur dur pour les objets de quetes!!) et meme si des joueurs s'echangent des objets, ils disparaissent aussi.
existe t il une petite correction??? |
Revenir en haut | |
DarkWolf(Pg) Acolyte Messages: 33 |
Mais quelle idée de faire les poubelle aussi ^^
Oui je pense mais ca va rendre le script plus complexe je te pond ça des que j'ai un peu de temps (enfin j'essai) |
Revenir en haut | |
xelone Acolyte Messages: 39 |
merci a toi.
|
Revenir en haut | |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
Je vais précéder DarkWolf...
Le premier script à mettre dans UnAcquireItem du module : Code : object oPerdu = GetModuleItemLost(); DelayCommand(10.0, ExecuteScript("nomdudeuxiemescript", oPerdu)); Et le deuxième à ne mettre... nulle part : Code : if(GetIsPC(GetItemPossessor(OBJECT_SELF))==FALSE) { DestroyObject(OBJECT_SELF); } Je n'ai pas testé (en fait, j'ai écris directement dans le post) mais normalement, ça devrait marcher. _________________ ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera. Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera. |
Revenir en haut | |
xelone Acolyte Messages: 39 |
ok. merci, je vais tester ca!
|
Revenir en haut | |
xelone Acolyte Messages: 39 |
ca fonctionne nickel chrome!! merci les gars
|
Revenir en haut | |
DarkWolf(Pg) Acolyte Messages: 33 |
Heureusement que je suis passé voir si quelqu'un avait donnée une solution parce que je pensais à un truc beaucoup plus compliqué (j'aurais peut être vu apres comment simplifier mais les trucs tordus ça me connait^^).
Bien joué Lavok :>> |
Revenir en haut | |
xelone Acolyte Messages: 39 |
Est-il possible que ce script "bouffe" mes déclencheurs de passages de zones???
en fait, dans une zone, je suis arrivé ce matin et il n'y avait plus de déclencheurs de passage a terre !!!! est ce que quelqu'un a deja eu ce probleme? edit : ca va j'ai trouvé mon erreur : le deuxieme script écrasais un script que j'avais mis sur des déclencheurs. ce qui fait que si je n'utilisais pas ces déclencheurs 30 sec apres l'avoir utilisé, il disparaissait! pas cool ! |
Revenir en haut | |
fredboisselier Acolyte Messages: 23 Localisation: lyon/france |
Euh, excuser moi d etre une quiche, mais, quand vous dites 2e script a mettre nulle part.... vous pourriez etre plus clair....
merci de votre aide... |
Revenir en haut | |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
D'habitude, on déclenche un script à un événement (par exemple le script dans le 'OnPlayerDeath' du module est exécuté à chaque mort de joueur).
Grâce à la fonction 'ExecuteScript()', tu peux déclencher un script à partir d'un autre, ce que j'ai fait d'ailleurs. Bref, il suffit de créer le 2ème script et de faire correspondre son nom à celui noté dans l'ExecuteScript() du premier (càd par défaut 'nomdudeuxiemescript'). _________________ ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera. Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera. |
Revenir en haut | |
Dragull Hull Grand Chevalier Messages: 115 Localisation: Quebec |
ca serais possible de metre le premier script dan UnUnAquireIteme du Module ?
C que jai plein dautre chose dans mon UnAquireIteme. Code : #include "nw_i0_plotwizard" void main() { // PLOT WIZARD MANAGED CODE BEGINS PWSetMinLocalIntAndJournalForItemAcquired("p002state", "p002", 2, "Peauderat", 0); PWSetMinLocalIntAndJournalForItemAcquired("p013state", "p013", 2, "AmuletteduClanBarbare", 0); PWSetMinLocalIntAndJournalForItemAcquired("p011state", "p011", 2, "TetedeLorthalaeShamraas", 0); PWSetMinLocalIntAndJournalForItemAcquired("p009state", "p009", 2, "corpdumoinequidnaper", 0); PWSetMinLocalIntAndJournalForItemAcquired("p008state", "p008", 3, "Anneaudufermier", 0); PWSetMinLocalIntAndJournalForItemAcquired("p007state", "p007", 2, "FillondAdamentite", 0); PWSetMinLocalIntAndJournalForItemAcquired("p005state", "p005", 2, "GanteletdeGeantdeFroid", 0); PWSetMinLocalIntAndJournalForItemAcquired("p003state", "p003", 2, "LanneaudeKilika", 0); PWSetMinLocalIntAndJournalForItemAcquired("p006state", "p006", 2, "ArmureduPaladinDechue", 0); PWSetMinLocalIntAndJournalForItemAcquired("p004state", "p004", 2, "PeaudeLoup", 0); // PLOT WIZARD MANAGED CODE ENDS } sa vien du Plot Wizard, L'editeur de quetes. si ya moyen de metre les 2 ensemble ok ... si oui pouriez vous le metre moi jai peut de tout chamboule si je tente de metre les 2 scripts ensemble. mais se serais plus facile dans le UnUnaquireIteme .. jai rien la. _________________ Puisse Peter Jackson entreprendre le tournage de la Trilogie des Avatars. Les Montagnes de Nether [http] |
Revenir en haut | |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
C'est plutôt OnUnAcquireItem...
Mon script se met dans le OnUnAcquireItem et le tien dans le OnAcquireItem (si j'ai bien compris). Mais fusionner ces deux script n'aurait vraiment posé AUCUN problème : Code : #include "nw_i0_plotwizard"
void main() { // PLOT WIZARD MANAGED CODE BEGINS PWSetMinLocalIntAndJournalForItemAcquired("p002state", "p002", 2, "Peauderat", 0); PWSetMinLocalIntAndJournalForItemAcquired("p013state", "p013", 2, "AmuletteduClanBarbare", 0); PWSetMinLocalIntAndJournalForItemAcquired("p011state", "p011", 2, "TetedeLorthalaeShamraas", 0); PWSetMinLocalIntAndJournalForItemAcquired("p009state", "p009", 2, "corpdumoinequidnaper", 0); PWSetMinLocalIntAndJournalForItemAcquired("p008state", "p008", 3, "Anneaudufermier", 0); PWSetMinLocalIntAndJournalForItemAcquired("p007state", "p007", 2, "FillondAdamentite", 0); PWSetMinLocalIntAndJournalForItemAcquired("p005state", "p005", 2, "GanteletdeGeantdeFroid", 0); PWSetMinLocalIntAndJournalForItemAcquired("p003state", "p003", 2, "LanneaudeKilika", 0); PWSetMinLocalIntAndJournalForItemAcquired("p006state", "p006", 2, "ArmureduPaladinDechue", 0); PWSetMinLocalIntAndJournalForItemAcquired("p004state", "p004", 2, "PeaudeLoup", 0); // PLOT WIZARD MANAGED CODE ENDS object oPerdu = GetModuleItemLost(); DelayCommand(10.0, ExecuteScript("nomdudeuxiemescript", oPerdu)); } _________________ ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera. Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera. |
Revenir en haut | |
Dragull Hull Grand Chevalier Messages: 115 Localisation: Quebec |
bon jai assayer de metre
Code : if(GetIsPC(GetItemPossessor(OBJECT_SELF))==FALSE) { DestroyObject(OBJECT_SELF); } dans OnUnaquireIteme et quand jai voulue compiler sa ma dit Error. 'eboueur01' did not compile eboueur01.nss(1): ERROR: INVALID DECLARATION TYPE sur la ligne 1 ya kekchose qui ne fonctione pas. Desoler, je suis con... javais oublie de laisser void { } _________________ Puisse Peter Jackson entreprendre le tournage de la Trilogie des Avatars. Les Montagnes de Nether [http] |
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