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 01/11/2024 06:33:19
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 |
Vinc0013 Chevalier Messages: 71 |
Bonjour c'est encore et toujours moi!
J'ai encore une question! (ne vous étonnez pas des réponses bizard qu'il y a après car c'était un message que j'avais écrit et que je regrette franchement d'avoir écrit). Voila donc ce que je voudrai savoir: Dans mon module; quand on arrive pour la première fois le gars du temple vient, et il nous donne une clef qui permet d'ouvrir un coffre a vetement, j''usque la ca va, ensuite quand on va au coffre il doit choisir UN vetement! Et j'aimerai que quand il le prenne, le vetement qu'il a choisi revienne automatiquement et que le coffre se referme et bien sur la clef est détruite après utilisation. Comment faire? Et sinon j'hésite entre 2 choses est-ce que ca vaut le coup de faire le coffre et tout? ou il vaudrai mieu que le gars lui donne tout les vetement et comme ca il peut mettre celui qu'il veut? Si vous trouvez que le coffre est mieu dites moi comment faire! Si vous préfrez plein de vetement... Dite moi simplement ca et le reste je sais le faire... Merci -- Vincent Dernière édition par Vinc0013 le 01/04/2006 09:43:13; édité 1 fois
|
Revenir en haut | |
gussometre Ecuyer Messages: 56 Localisation: Petit asteroïde dans le finistére sud |
salut vinc. Je serai incapable de t'aprendre a scripter mais je te recommande vivement certains tutoriaux, voici l'adresse:
[http] je pense que t'y aprendra baucoup _________________ N'oublions pas le proverbe:quand on a faim il faut manger! |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Il y a pas mal de bons tutos simple sur internet, il doit il y avoir des liens qui traînent partout (en plus du tutos sur ce site).
Soit patient et prend le temps de comprendre, il ne faut pas croire qu'au début on arrive a faire ce que l'on veux. Trouve des tutos sur la base du c ou va lire celui du site, ça te donnera un bonne base pour continuer. PS : Que tu est 11 ans on s'en fou un peu, tu sais lire à ton âge donc tu as la base pour apprendre. Le plus important c'est d'y passer un minimum de temps, et j'en connait plusieurs qui on commencé (la "prog") à 10ans aussi donc... _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Personne ne peut prendre en charge quelqu'un pour lui apprendre à scripter par internet. Ca serait trop simple tu aurais juste à attendre des cours privé de quelqu'un, ya pas de "challenge".
Mais je me souviens qu'il y a quelques années, alors que je voulais me lancer dans 3 600 languages de programmation et design 3D 2D (enfin tout ce qu'on peut imaginer), j'aurai bien voulu que quelqu'un me prenne en charge et me mâche tout ! Parce que je comprenais strictement rien mais aujourd'hui je suis celui qui serait en mesure de donner des cours et le fait que j'ai recherché sur le net ce que je sais aujourd'hui me rend fort et fier de ce que je fait. _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
L'Erudit Seigneur Messages: 167 |
Non, non et non. Regarde les liens que j'ai donné dans le Sujet en Post-It.
Il y a de nombreux tutoriels, très accessibles. C'est justement fait pour les débutants. Ensuite, j'ai l'impression que tu n'as pas pris le temps d'essayer de comprendre. Tu dois être patient, si tu veux apprendre à scripter. |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Je confirme que le lien de Gussometre est génial, c'est avec les tutoriaux de ce site
que j'ai moi même fait mes premiers scripts. _________________ 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 | |
Vinc0013 Chevalier Messages: 71 |
Ok! dsl ca va!!! J'y suis allé un peut (meme beaucoup) trop fort!!!
Meme dans les forums je suis con!!! et a l'école j'ai jamais d'ami!!!! Je pens que je devrai tourner 7 fois mon doigt autour du clavier avant d'écrire (ben on peut pas parler sur internet alors je peut pas dire tourner 7 bouches dans ma langues euh.. non... C'est tourner 7langues fois la dans bouches euh... non.. enfin vous comprenez!) Ouiiin!!! je suis une merde!!! |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
|
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Inutile d'en rajouter Black Knight : Vinc' a déjà fait de gros efforts par rapport aux petites choses qu'on avait pu souligner dans ses précédents messages. D'autant que tu n'es pas une référence en matière d'efforts d'orthographe ou d'expression, si je puis me permettre
_________________ » 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 | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Quoi qu'il en soit les titre des sujets n'ont pas évolués
_________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
Vinc0013> Les tutoriaux indiqués sont géniaux ! Lis les et tu apprendra pleins de trucs , ce sont ces tutoriaux qui m'ont appris a commencer à scripter et ils sont super bien faits !
A la base je cherchais " le tutorial de nw script pour les nuls " et c'étais exactement ce qu'il me fallais vu que je n'y comprenais rien ! Mais en aucun cas on ne peux te donner de cours privés , car faute de temps , faute d'envie , faute de capacité a " former " les autres , etc etc etc Et puis ..... si déja a la base tu as la flemme de lire et de suivre un simple tutorial , comment éspére tu avoir le courage et l'envie de réussir a faire un script seul par la suite ?! Donc voici mon conseil , pour commencer tu suis ces tutoriaux , et comme diraient les militaires , tu te sors les doigts du c.. , tu fais ce qui est indiqué , et si VRAIMENT , des trucs t'échapent , tu pose des questions en indiquant là ou ça coince , et on te répondra pour t'aider ! Et sinon , NON , on ne peux pas te préparer un " résumé " des tutoriaux ( je précise a l'avance on sait jamais ... ! ) ! Allez , va y , tu PEUX le faire ! Si on y est arrivé , tu y arrivera aussi ! _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Moi je veux bien te donner des cours.
Pour seulement 20€ net de l'heure, avec 10 semaines de congés payés, heures supplémentaires majorées de 25%, café à volonté et tickets restaurants. |
Revenir en haut | |
L'Erudit Seigneur Messages: 167 |
Si seulement c'était possible !
|
Revenir en haut | |
Vinc0013 Chevalier Messages: 71 |
Ok! Je suivrai vos conseils (et je pense que je rééditerai mon message si j'ai une question comme ca je "supprimerai" mon message et j'en crérai un autre!
|
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Voilà pour ton script pour prendre qu'un objet dans un coffre.
OnClose du contenant. NWScript :
//:///////////////////////// //////////////////// //:: Name Ne prenez qu'un objet /// //:: Filename on_close_obj /// //:: Created By: -MeteZ- /// ////////////////////////////// //////////////////// /* Mets le script dans le OnClose du contenant magique Changer les declarations initiales pour l'adapter a votre contenant */ #include "nw_i0_plot" void main() { object oContenant = OBJECT_SELF; if(GetHasInventory(oContenant) == TRUE) // Si il y a bien un inventaire a l'objet { int iNombreObjInitiale = 3; string sObjContenu1 = "X0_ARMHE016"; int iObjContenu1 = GetNumItems(oContenant,sObjContenu1); string sObjContenu2 = "NW_WPLSC001"; int iObjContenu2 = GetNumItems(oContenant,sObjContenu2); string sObjContenu3 = "X2_WSWMKA005"; int iObjContenu3 = GetNumItems(oContenant,sObjContenu3); // Les "sObjContenu" sont les TAGS des objets contenus // Si l'objet n'a pas encore ete choisi if(GetLocalInt(oContenant, "OBJET_CHOISI_OK") != TRUE) { /*ActionSpeakString("Il reste " + IntToString(iObjContenu1) + " objet 1, " + IntToString(iObjContenu2) + " objet 2, " + IntToString(iObjContenu3) + " objet 3 !");*/ // Phrase de verification : on peut l'enlever effect eVisuel = EffectVisualEffect(EFFECT_TYPE_SANCTUARY, FALSE); ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisuel, oContenant, 2.0); int iNombreObjRestants = (iObjContenu1 + iObjContenu2 + iObjContenu3); // Le nombre d'objets restants lorsqu'on ferme le contenant if(iNombreObjRestants == (iNombreObjInitiale - 1)) { ActionSpeakString("Vous avez choisi votre objet."); object oInventaire = GetFirstItemInInventory(oContenant); SetLocalInt(oContenant, "OBJET_CHOISI_OK", TRUE); while(oInventaire != OBJECT_INVALID) { SetIdentified(oInventaire, FALSE); DestroyObject(oInventaire); oInventaire = GetNextItemInInventory(oContenant); } // Le joueur a choisi UN objet, tous les objets du coffre sont detruits } else if(iNombreObjRestants == iNombreObjInitiale) { ActionSpeakString("Vous n'avez pas choisi votre objet."); } else{ ActionSpeakString("Vous avez pris plus qu'un objet. Reposez les objets et choississez-en un seul."); } } } } J'ai testé avec 3 objets et j'ai fait en sorte que même si ont met 4 objets ce soit ok sans trop de modifications. Juste voilà ce que tu dois changer pour l'adapter à ton module. NWScript :
int iNombreObjInitiale = 3; string sObjContenu1 = "X0_ARMHE016"; int iObjContenu1 = GetNumItems(oContenant,sObjContenu1); string sObjContenu2 = "NW_WPLSC001"; int iObjContenu2 = GetNumItems(oContenant,sObjContenu2); string sObjContenu3 = "X2_WSWMKA005"; int iObjContenu3 = GetNumItems(oContenant,sObjContenu3); // Les "sObjContenu" sont les TAGS des objets contenus Les string sont les TAGS de tes objets. Le int placé en haut est le nombre d'objets (dans l'exemple il y a 3 objets donc l'int = 3). Change aussi la ligne : NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. En déclarant bien tous les objets à additioner. EXEMPLE de quelqu'un qui utilise le script pour un contenant à 5 objets. NWScript :
int iNombreObjInitiale = 5; string sObjContenu1 = "TAG_de_LOBJET1"; int iObjContenu1 = GetNumItems(oContenant,sObjContenu1); string sObjContenu2 = "NW_TAG2"; int iObjContenu2 = GetNumItems(oContenant,sObjContenu2); string sObjContenu3 = "TAG_OBJ3"; int iObjContenu3 = GetNumItems(oContenant,sObjContenu3); string sObjContenu4 = "TAG_OBJET4"; int iObjContenu4 = GetNumItems(oContenant,sObjContenu4); string sObjContenu5 = "5TAG"; int iObjContenu5 = GetNumItems(oContenant,sObjContenu5); // Les "sObjContenu" sont les TAGS des objets contenus Et la ligne d'addition. NWScript :
int iNombreObjRestants = (iObjContenu1 + iObjContenu2 + iObjContenu3 + iObjContenu4 + iObjContenu5); Là dans le script le contenant dit juste lorsque la personne a choisi aucun ou trop d'objets mais vous pouvez rajouter des choses. Par exemple lorsque le joueur a pris bien qu'UN seul objet, une porte se déverouille. _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
C'pas un peu compliqué ?
NWScript :
//a mettre dans le OnDisturbed du coffre void main() { object oItem = GetInventoryDisturbItem(); int nEvent = GetInventoryDisturbType(); string sResRef = GetResRef(oItem); object oPC = GetLastDisturbed(); if (nEvent == INVENTORY_DISTURB_TYPE_REMOVED || nEvent == INVENTORY_DISTURB_TYPE_STOLEN) { AssignCommand(oPC,ClearAllActions()); AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE)); SetLocked(OBJECT_SELF,TRUE); CreateItemOnObject(sResRef); } else if (nEvent == INVENTORY_DISTURB_TYPE_ADDED) { CopyItem(oItem,oPC,TRUE); DestroyObject(oItem); } } J'ai pas essayé, donc je suis pas completement sur que ça marche, surtout le coup de est-ce que ça se referme bien assez vite pour pas qu'on puisse en prendre plusieurs. Bon c'est valable bien évidement que si la clef est détruite après l'ouverture. |
Revenir en haut | |
-MeteZ- Seigneur Messages: 205 Localisation: Région Parisienne (95) |
Sith Vicious > Ton code est bien mieux que le mien .
Enfaite tu vien de me faire découvrir qu'on peut travailler sur l'inventaire avec un évenement GetInventoryDisturbType(); . Merci ^^ Ca fait quelques semaines que j'ai commencer à scripter nwn. (Mais bon avec un niveau en C c'est déjà plus simple .) et je connais pas bien toutes les fonctions. _________________ "Ne dit pas affronter les ténèbres celui qui n'a jamais connu la tombée de la nuit." |
Revenir en haut | |
Vinc0013 Chevalier Messages: 71 |
Euh...Ca marche mais pas tout a fait.... quand on ouvre le coffre on peut prendre 1 vetement et le coffre se referme, mais l'inventaire reste ouvert et je peut plus le fermer (ca dit verrouillé) et je peut prendre un infinité de vetement (ils se recréé! Heureusement!)
|
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Arf.
Bon je regarde ça ^^ Bon au moins c'est drole |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Ben y a des fois faut pas chercher, faut y aller comme un bourrin :
NWScript : //a mettre dans le OnDisturbed du coffre void main() { object oItem = GetInventoryDisturbItem(); int nEvent = GetInventoryDisturbType(); string sResRef = GetResRef(oItem); object oPC = GetLastDisturbed(); if (nEvent == INVENTORY_DISTURB_TYPE_REMOVED || nEvent == INVENTORY_DISTURB_TYPE_STOLEN) { //AssignCommand(oPC,ClearAllAc tions()); OpenInventory(oPC,oPC); OpenInventory(oPC,oPC); AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE)); SetLocked(OBJECT_SELF,TRUE); CreateItemOnObject(sResRef); } else if (nEvent == INVENTORY_DISTURB_TYPE_ADDED) { CopyItem(oItem,oPC,TRUE); DestroyObject(oItem); } } |
Revenir en haut | |
Vinc0013 Chevalier Messages: 71 |
|
Revenir en haut | |
edisnotdead Grand Chevalier Messages: 132 |
le plus important en script c est de savoir fair les algo ( la facon de raisonner )
pour ce script ca a donné ca je pense dans la tete de la personne qui la fai NWScript :
debut //on presente les variable oItem est l item pri ou volé ou mi nEvent est le type de pertubation sResref est les resref de oItem OPC est celui qui prend l objet si nEvent = INVENTORY_DISTURB_TYPE_REMOVED ou INVENTORY_DISTURB_TYPE_STOLEN ouvrir inventaire de OPC pour OPC ouvrir inventaire de OPC pour OPC //a prirori ca ferme la fenetre si on l ouvre une seconde fois assigner une commande a object_self commande:jouer l animation de fermeture d objet //object self etant l objet qui execute le script verouyer = vrai //setlocked etant un boolean on ne peu lui donner la valeur que vrai ou faux créer objet qui a pour resref sResRef dans object_self //il est vrai qu on ne voit pas object_self //mais on n aurait pu ecrire ca ligne comme ca : CreateItemOnObject(sResRef,OBJ ECT_SELF); autrement si nEvent = INVENTORY_DISTURB_TYPE_ADDED copié oItem dans opc detruire oitem finsi fin donc si tu a envi d apprendre a scripté ou programmer dans un premier temp met tes algo comme je l ai fai et ensuite ton debut de script meme si il ne marche pas ensuite on pourra te convertir ca en script et te montré d autre facon de procédé si ton algo n optimise pas les parenthese ou les mettre est tou ca c est une chose mais l important c est le raisonnement de ton script |
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