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 23:26:18
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 |
Jaheira 007 Seigneur Messages: 223 |
J'aimerai créer un objet à usage unique ( un livre ici ) qui augmente d'un point une caractéristique de façon permanente.
En fait c'est un livre quant on l'utilise, il disparait et hop on a gagné un point de sagesse ( et en même temps un petit effet special comme celui de la potion "bénédiction" pourquoi pas? Un cercle de lumière et hop 1 point de sagesse, ça le fait non? ). Je sais que sa ne doit pas être trés différent des scripts pour les objets genre potion de force du taureau mais... je sais pas comment faire. Quelqu'un peu m'aider? _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
La solution passe par un objet porté par le PJ mais invisible (les objets de créatures de type griffe, cuir, etc...). Regarde ce script-ci (© Cassin) qui détaille la méthode utilisée, même s'il s'en sert pour un script de respawn, le principe est le même et facilement transposable pour ta question
_________________ » 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 | |
Jaheira 007 Seigneur Messages: 223 |
Je vois ce que tu veux dire mais le probléme c'est que mes objets doivent être visibles: des livres que l'on trouve dans des coffres, différents livres, certains qui augmente de un point la force, d'autre la constitution, d'autres la dexterité ect...
De plus je n'ai aucune notion en scriptage et quant j'essaye d'en modifier un tout simple c'est déjà l'échec donc, celui ci c'est mission impossible pour moi... _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Konrad Grand Maître Chanteur du Conseil Messages: 1258 Localisation: Empire d'Halöven |
Ce que tu demandes n'est pas possible sant faire de script.
Le plus simple est de créé un livre qui lancera le script qui créera l'objet invisible dont parle finipe avant de disparaitre. L'objet invisible se chargera d'augmenter la carac du PJ. Ce n'est pas un script très compliquer. Là, j'ai pas trop le temps de la faire mais je suis sur que quelqu'un pourra s'en charger. _________________ Le site du Module Dragon Noir Le groupe du Module L5A - L'ombre et la Lumière Crimson Skies |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Ok je veux peut-être faire trop compliqué. Donc j'ai une autre idée? Au lieu de s'embéter avec un objet dans l'inventaire, j'ai crée un piedestale avec un dialogue. Jusque là c'est facile je l'ai fait!
Ensuite j'ai crée un objet de créature de type: peau,cuir qui a pour faculter d'augmenter d'un 1 point la consitution: Son ResRef est : constit Voilà où je veux en venir, dans le dialogue avec le piedestale, dans une action conséquente, quel doit être le script pour cet objet ( cuir ), soit placé dans l'inventaire? Et en même temps y ajouter un petit effet spécial comme le halo d'une bénédiction ( si c'est pas trop vous demander ). _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Heu... ça devrait ressembler à ça :
NWScript :
void main() { object oPJ = GetPCSpeaker(); object oPeau = CreateItemOnObject( "constit", oPJ ); effect eBene = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_YELLOW); DestroyObject( GetItemInSlot( INVENTORY_SLOT_CARMOUR, oPJ ) ); AssignCommand( oPJ, ActionEquipItem( oPeau, INVENTORY_SLOT_CARMOUR ) ); ApplyEffectToObject(DURATION_TYPE_INSTANT, eBene, oPJ); } (je ne suis pas sur que l'effet soit exactement celui que tu voulais, désolé ) _________________ 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 | |
Jaheira 007 Seigneur Messages: 223 |
Hum apparement il y a deux erreurs dans le script selon mon éditeur. A la ligne 5 et à la ligne 8. J'ai donc supprimé c'est 2 lignes et sa marche sauf que je n'ai pas d'effets spéciaux bien entendu.
_________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
J'ai compris pourquoi! Dans ma liste de constantes je n'ai pas le fameux "VFX_DUR_GLOW_LIGHT_YELLOW" donc sa ne peut marcher!
_________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Voilà j'ai un peu modifier le script, j'ai copier l'effet visuel, le même effet qui se produit quant Aribeth nous soigne:
NWScript :
void main() { object oPJ = GetPCSpeaker(); object oPeau = CreateItemOnObject( "constit", oPJ ); DestroyObject( GetItemInSlot( INVENTORY_SLOT_CARMOUR, oPJ ) ); AssignCommand( oPJ, ActionEquipItem( oPeau, INVENTORY_SLOT_CARMOUR ) ); effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION_GREATER); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, GetLocation(OBJECT_SELF)); } edit de finipe : pense à utiliser les supeeeeeerbes balises [ nwscript] et [ /nwscript] (sans les espaces) quand tu mets du code Le probléme c'est que l'effet se produit sur le piédestal et non sur le PJ. Comment modifier celui ci pour que l'effet se fasse sur le PJ? _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
Dans la dernière ligne de ton script :
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, GetLocation(OBJECT_SELF)); la fonction 'ApplyEffectAtLocation' s'applique à la location de l'appelant du script (OBJECT_SELF), c'est à dire le piédestal (d'après ce que j'ai compris). Il est donc normal que l'effet se voit SUR le piédestal et non pas sur ton PJ Pour faire que l'effet visuel soit sur le PJ, t'as qu'à changer le 'OBJECT_SELF' en oPC, qui est ton personnage joueur. Dans ce cas l'effet visuel s'appliquera sur le lieu où se trouve ton PJ, et non plus sur l'endroit où se trouve le piédestal. En fait il faut comprendre la synthaxe générale des scripts et tu pourra faire tout ce que tu voudras! (enfin presque) Ton nouveau script est : NWScript : void main() { object oPJ = GetPCSpeaker(); object oPeau = CreateItemOnObject( "constit", oPJ ); DestroyObject( GetItemInSlot( INVENTORY_SLOT_CARMOUR, oPJ ) ); AssignCommand( oPJ, ActionEquipItem( oPeau, INVENTORY_SLOT_CARMOUR ) ); effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION_GREATER); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, GetLocation(oPC)); } |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Jaheira 007 a écrit : je n'ai pas le fameux "VFX_DUR_GLOW_LIGHT_YELLOW" ça doit être parce que j'ai HoU, désolé! _________________ 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 | |
Jaheira 007 Seigneur Messages: 223 |
Non désolé Tuyen sa ne marche pas il y un faute à la ligne 9:
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, GetLocation(oPC)); Apparement ce n'est pas ça... _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Remplace son oPC par oPJ p'tête! lol!
_________________ 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 | |
Jaheira 007 Seigneur Messages: 223 |
Oups! Ben oui c'était bien ça... Pour quoi je vais passer moi maintenant!
_________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Fantome Ecuyer Messages: 63 |
Hello,
si ton module est un module multijoueur tu devrais normalement perdre ton effet 'constit' lors de la déco de ton pj. Car sauf erreur de ma part, il y a pas de sauvegarde des slots cachés des pjs. Je me trompe ? La solution serait d'attribuer une variable à ton pj lorsque tu lui remets l'effet 'constit' et ensuite dans le OnEnter du module tester cete variable sur ton pj et lui ré-attribuer l'effet 'constit'. Si quelqu'un à une autre solution, je suis preneur. Merci. a+ |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Hum mon objet n'a rien d'un objet caché. C'est une "peau" qui est équipé automatiquement dans l'inventaire. Mais vu que dans le jeu on a pas accé à ces emplacements, voilà le secret de la magie! ( en fait ya rien de magique c'est du bidouillage ).
De + j'ai testé, j'ai récupéré l'objet en question, j'ai sauvegarder mon personnage et j'ai déconnecté. Ensuite en j'ai repris ce personnage dans une nouvelle partie et le bonus de constit était toujours présent (normal c'est fait expré ). Ca répond à ta question? Au passage pour ceux que sa interesse, j'ai crée 4 piédestaux. J'explique le système: pour chaque piedestal il y a un dialogue différent. Quant on touche le piédestal, une forme gazeuse apparait et nous parle. La forme gazeuse nous fait passer une épreuve ( énigme, combat ect... ). En fait on ne peux utilisé les piédestaux que dans un certain ordre. Au 1er on gagne une "peau" qui augmente de 1 la constitution, au 2eme la, la 1ere "peau" est remplacé par une nouvelle qui augmente la constitution ET la force. Ainsi de suite jusqu'au dernier piédestal qui augmente la constit, force, sagesse, et dext. Bien sur les 4 piédestaux sont dissimulés aux 4 coin du monde ( de module quoi! ). _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Fantome Ecuyer Messages: 63 |
Citation : j'ai sauvegarder mon personnage et j'ai déconnecté. ca c'est en local ? ou en mode multijoueurs avec sauvegarde dans une bdd ?
Si je te pose ces questions c'est parceque je me suis heurté à ce pb : lorsque j'attribuais une peau (ou autre) sur les slots cachés du pj en local sur une simple partie pas de souci les effet restaient apres sauvegarde. Par contre en déco/reco en mode multijoueur géré par la bdd de bioware, plus rien à la déco. Alors j'ai cherché pour finalement tomber sur une info qui disait qu'il était pas prévu de sauvegardé ces fameux emplacement et qu'il fallait donc recourir à une variable et re-équiper le joueur à son arriver sur le module dans le OnEnter. voilà c'est tout, mais bon si tu dis que ca fonctionne pour toi alors tant mieux. Par contre je veux bien savoir comment tu t'y prends pour sauvegarder ca dans ta bdd car je suis tres intéressé. Merci. a+ ps : j'ai pas parlé d'objet caché, mais de slots cachés. _________________ Arcantia |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Oups! Je me suis un peu précipité! En multijoueur online, et bien l'effet de la "peau" s'applique sur le pj. Par contre en quittant le jeu et en lançant une nouvelle partie, oui c'est vrai l'objet a disparu...
Pour ce qui est de script dans le OnEnter je ne saurais te répondre. _________________ La nature reprendra ses droits ici, aprés notre passage. |
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