La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 06/05/2024 09:22:03


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Phoelis
Novice
Inscrit le: 24 Aoû 2003
Messages: 18
Répondre en citant
Posté le : 12/09/2003 01:05:39 Sujet du message : creer un set d armure et le faire reconnaitre a la D2

bonjour a vous tous

alors voila j ai cree un script qui me permet, lorsque l on tue un big boss de laisser tomber un objet aleatoire d un set d armure, soit un casque, une arme, un bouclier, bottes amulet ... le script fonctionne.

j ai aussi reussi via un autre script de reconnaitre si le joueur possede les 5 items de l armure ou non sur lui (je dois encore verifier qu ils les equippes)

mais la ou je me pose la question est comment faire pour que le set complet donne un avantage autre que XP ou OR ... genre + 5 en dext ou force ?

voila un grand merci a ceux qui repondront.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 12/09/2003 07:26:35 Sujet du message :

Tiens c'est drôle j'ai un projet de ce genre aussi dans mon module en cours, une armure à reconstituer Very Happy


Bon, je n'en suis pas encore là donc je n'ai pas de solution toute prête, mais je pense à un script sur le OnEquipItem qui vérifie, à chaque fois que le joueur s'équipe de quelque chose, s'il porte bien l'équipement nécessaire (donc différents tests sur les différents slots d'équipement), et s'il porte bien tous les morceaux de l'armure, tu lui rajoutes un objet de créature (donc invisible dans l'inventaire) qui lui donne les propriétés supplémentaires (et tu lui enlèves s'il enlève un morceau de l'armure). Ca serait totalement transparent pour le joueur...

Enfin bon, comme je le disais, je n'ai pas encore attaqué cette partie de mon module donc c'est juste une idée comme ça, mais je pense que ça devrait marcher... Wink
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
DarkWolf(Pg)
Acolyte
Inscrit le: 20 Aoû 2003
Messages: 33
Répondre en citant
Posté le : 12/09/2003 12:14:22 Sujet du message :

J'ai également eu cette idée (pas encore implémanté :>Dark Smile, je pense qu'il faut faire une fonction (qui renvoie un booléen enfin un entier par exemple pour indiquer si le Pj est équipé d'un set) ou procédure à part qui teste tous les emplacements des objets potentiel de set, qui ajoute des effets magiques s'ils sont là (et les enlèves sinon).
Cette fonction devra être appelée chaque fois qu'on ajoute un item (même si l'objet ne fait pas partie du set, en effet il n'y a pas de OnUnequipObject donc la seule façon d'enlever un objet de set et de le remplacer par un objet qui n'est pas un objet de set).
Je pense que c'est la façon la moins couteuse (on pourrait tester dans le onheartbeat mais ça ralentirait beaucoup pour pas grancd chose
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
nunch
Grand Sage du Conseil
Inscrit le: 23 Mai 2003
Messages: 966
Localisation: Dans la gueule du Lyon
Répondre en citant
Posté le : 12/09/2003 15:12:29 Sujet du message :

L'événement OnEquipItem vous le sortez d'où, de votre chapeau magique ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 12/09/2003 15:20:55 Sujet du message :


nunch a écrit :
L'événement OnEquipItem vous le sortez d'où, de votre chapeau magique ?
OnEquipItem et OnUnequipItem n'ont pas encore été mis en service par Bioware. Ils devraient voir le jour avec la seconde extension si j'ai bien suivi toutes les annonces de Bioware. Donc, l'utilisation de ces évènements pour les scripts est une très sérieuse anticipation sur les évolutions de NWN Mr. Green
_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Phoelis
Novice
Inscrit le: 24 Aoû 2003
Messages: 18
Répondre en citant
Posté le : 12/09/2003 16:12:20 Sujet du message :

re a vous tous

alors pour ma part j ai deja creer le script qui me permet de verifier si le joueur possede les 5 items du set, et cela fonctionne.

Pour cela j ai fait appel a l evenement OnACquireItem du module, qui verifie si l objet fait pris fait partie du set ou pas. puis verification si il possede les 4 autres et voila.

Cassin tu parles d un objet de creature transparent pour le joueur, peux tu svp m eclairer la dessus. Car cela me semble une tres bonne soluce.



pour le onheartbeat n y pensez meme pas ca met le processeur sur les rotules.

merci
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 12/09/2003 22:34:24 Sujet du message :

Ah bon, y'a pas encore de OnEquipItem ??? Bah merde, je suis vraiment en avance sur mon temps moi alors ! Very Happy Laughing




Phoelis a écrit :
Cassin tu parles d un objet de creature transparent pour le joueur, peux tu svp m eclairer la dessus. Car cela me semble une tres bonne soluce.
Oui, regarde dans le topic "Vos Scripts" dans les sujets persistants au-dessus, j'y ai posté un script de respawn qui retire 1 pt de Constit' et qui utilise des Objets de Créature pour ce faire, tout y est expliqué Wink
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 12/09/2003 23:07:48 Sujet du message :

Ceci dit cela peut se vérifier à chaque OnEnter d'une zone non ? Ou plutôt avec l'événement OnUserDefined ? Y a pas un truc pour chopper quand l'inventaire est dérangé ? je sais que c'est possible sur les créatures banales, donc pourquoi pas sur un PC ?
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Phoelis
Novice
Inscrit le: 24 Aoû 2003
Messages: 18
Répondre en citant
Posté le : 13/09/2003 12:09:06 Sujet du message :


Baldurien a écrit :
Ceci dit cela peut se vérifier à chaque OnEnter d'une zone non ?
bah c est un peu lourd non de le verifier a chaque fois ? enfin je pense


Baldurien a écrit :
Y a pas un truc pour chopper quand l'inventaire est dérangé ?
bah vi c est pour cela que j utilise OnACquireItem du module.

voila
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Phoelis
Novice
Inscrit le: 24 Aoû 2003
Messages: 18
Répondre en citant
Posté le : 13/09/2003 15:48:56 Sujet du message :


Cassin a écrit :

Oui, regarde dans le topic "Vos Scripts" dans les sujets persistants au-dessus, j'y ai posté un script de respawn qui retire 1 pt de Constit' et qui utilise des Objets de Créature pour ce faire, tout y est expliqué Wink
j ai ete voir et un grand merci j ai appris qques trucs interessant.

par contre je ne sais pas encore pq mais la fonction CreateItemOnObject() bloque le jeu completement lorsque je recuper le set complet ? (sans doute un bug avec le OnAcquiredItem du module) ... vais devoir me renseigner

phoelis
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 13/09/2003 16:36:46 Sujet du message :

Mmm, est-ce que tu utilises un DelayCommand avec ton Create ? Parce que ça a tendance à ne pas marcher, il faut en fait créer un autre void qui créé l'objet en question (Item, Creature, etc...) et l'appeler dans le DelayCommand...
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Phoelis
Novice
Inscrit le: 24 Aoû 2003
Messages: 18
Répondre en citant
Posté le : 13/09/2003 18:14:05 Sujet du message :

bah non pas de delaycommand, c est etrange qd meme.

j ai fais un test tres simple ou j ai seulement mis dans le OnacquiredItem du module un script

pour cela j ai creer un item boots au resref : bonuschance (j ai aussi essaye via le tag mais non fonctionne pas)

Code :

void main()
{
// script a effectue seulement si il sagit d un PC
object oPC=GetModuleItemAcquiredBy();

if (GetIsPC(oPC))
           {
            string sBonus = "bonuschance";
            object oBonus = CreateItemOnObject(sBonus,oPC);
            }
        else
            {
            SendMessageToPC (oPC,"invalid");
            }

} // fin du if


la compilation passe mais le lancement dans le jeu bloque ??? si j enleve la ligne
Code :

object oBonus = CreateItemOnObject(sBonus,oPC);


ca passe...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 13/09/2003 18:19:40 Sujet du message :


Phoelis a écrit :
Code :

void main()
{
// script a effectue seulement si il sagit d un PC
object oPC=GetModuleItemAcquiredBy();

if (GetIsPC(oPC))
           {
            string sBonus = "bonuschance";
            object oBonus = CreateItemOnObject(sBonus,oPC);
            }
        else
            {
            SendMessageToPC (oPC,"invalid");
            }

} // fin du if

Le jeu bloque mais continue à tourner en fait. Tu lui fait faire une boucle infinie. Car le fait de créer un objet par un CreateItemOnObject provoque l'évènement OnAcquireItem. Comme la seule condition de ton code pour refaire un CreateItemOnObject est un GetIsPC de celui qui reçois l'objet, tu reprovoque un autre OnAcquireItem à nouveau et ainsi de suite indéfiniment. En principe, ton personnage devrais de retrouver rapidement avec un inventaire plein, et les objets doivent déborder de son sac. Mais cela n'empêche pas l'évènement OnAcquireItem de se déclencher.
Je pense donc qu'il te faut revoir ton test. En l'occurrence je te conseille de tester la nature de l'objet acquis et pas seulement la nature de l'acquereur.
_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Phoelis
Novice
Inscrit le: 24 Aoû 2003
Messages: 18
Répondre en citant
Posté le : 13/09/2003 18:40:57 Sujet du message :

Landraste je dis respect !!!!!

un grand merci, car j avoue que j etais face un mur.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Phoelis
Novice
Inscrit le: 24 Aoû 2003
Messages: 18
Répondre en citant
Posté le : 18/09/2003 15:17:46 Sujet du message :

bob beh je tiens a remercier tous ceux qui m ont aider car mon script fonctionne.

mais je reste limité par le fait que le OnEquippedItem n existe pas (une prochaine version, mon optimisme naturel me faisait meme penser a la v 1.32 ... mais non).

en fait c est débile mais vu que j emploie le OnAcquiredItem du module il faut que le PC ramasse un objet en plus pour que tout soit validé...

la je vais essayer de contourner le problème, j ai deja ma petite idée

(to be continued)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14064
Localisation: Quadran Alpha
Répondre en citant
Posté le : 18/09/2003 16:12:01 Sujet du message :

Au pire, un OnHeartbeat, sinon le mieux reste un OnEnter. Cela ne sera pas trop lourd si tu vérifie qu'il s'agit du PC, et que tu ne crée que des effets, pas des créatures
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
lanowar
Acolyte
Inscrit le: 26 Nov 2003
Messages: 22
Localisation: Sur la route d'Athkatla
Répondre en citant
Posté le : 05/12/2003 21:00:52 Sujet du message :

euh .... Es ce que je pourai avoir le script ... Car je suis vraimment nul en scripts, et je suis en train de faire les objets merveuilleux du livre du maitre de D&D 3° Edition !!
( Avec ce script, je voudrai faire l'armure démoniaque !! ) Voila
Merci
_________________
La sagesse appartient aux plus instruits ...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM MSN Messenger Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 05/12/2003 22:55:11 Sujet du message :

Vu l'ancienneté du sujet (3 mois) je doute que quelqu'un ait encore la réponse complète sous la main. Evite de remonter des vieux sujets incomplets. Il vaux mieux poser une question complète dans un nouveau sujet. Car il y a déjà quelques scripts ici et on voit mal ce qui peut te manquer en réalité.
A noter d'ailleurs que la solution inscrite ici risque d'être obsolète dans peu de temps, car les nouvelles fonctions introduites dans l'extension Hordes of the Underdark permettent de faire tout cela bien plus aisément.
_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
lanowar
Acolyte
Inscrit le: 26 Nov 2003
Messages: 22
Localisation: Sur la route d'Athkatla
Répondre en citant
Posté le : 06/12/2003 14:19:41 Sujet du message :

Bien alors je vais passianté !!
Merci quand même, et dsl pour avoir remonté ce message Embarassed
_________________
La sagesse appartient aux plus instruits ...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM MSN Messenger Ignorer l'utilisateur
 
Zanon-blood
Acolyte
Inscrit le: 25 Jan 2005
Messages: 38
Répondre en citant
Posté le : 25/02/2005 07:19:46 Sujet du message :

salut a tous voila je suis nouveau et en faite cette juste pour savoir si tu pourait mettre les scripte que tu a fait car je suis une qiche moi merci Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Léviathan
Grand Sage du Conseil
Inscrit le: 11 Mar 2003
Messages: 671
Localisation: Sigil
Répondre en citant
Posté le : 25/02/2005 19:53:39 Sujet du message :

Je doute qu'on te réponde, tu as remonté un sujet datant de 2003 !
_________________
Forum Planescape NWN
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
alokhan
Grand Chevalier
Inscrit le: 16 Mai 2004
Messages: 102
Localisation: Belgique, Nivelles
Répondre en citant
Posté le : 25/02/2005 20:03:02 Sujet du message :

Salut,

Lol je vais essayer car sa m'interresse si j'y arrive je vous le dit Smile
_________________
Alokhan
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Montrer les messages depuis :
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


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 27.03ms