La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 18/05/2024 10:37:07


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 25/10/2006 13:11:50 Sujet du message : Appliquer des bonus a des objets créer... problème

Bonjour!

Voila j'améliore mon marchand qui crée nos propres items, et j'ai commencé à mettre la création de munition. J'ai cru avoir trouvé la solution pour appliquer les bonus aux munitions, qui était celle-ci:

1-On stock la CONSTANT des degat élementaire sur une local appelé "DAMAGE" qui est sur l'item
2-On stock la CONSTANT du nombre de dégat sur une local appelé "DEGAT" qui est sur l'item
3-on stock le type de munition sur la local "TYPE" qui est sur l'item

Aprés avoir stocker toutes ces informations sur l'item, on fait une copy de celui-ci et on le met dans l'inventaire du joueur, jusque la aucun probleme. Normalement mon système aurait dû marché. Mais le problème survient quand je vais dans les propriétées du module, plus précisement dans OnActivatedItem :

L'objet reçu est un simple objet de type medium objet divers qui est utilisable et qui donne le type de munition demandé, grâce a la local "TYPE".... Mais le problème est comment mettre les bonus sur CHAQUE flèche donné (qui est de 5 paquets par utilisation...) ?

j'ai commencé le script :

NWScript :
if(sTag == "Munition")
{
int iDamage = GetLocalInt(oItem, "DAMAGE");
int iDegat = GetLocalInt(oItem, "DEGAT");
string sType = GetLocalString(oItem, "TYPE");
int sRegen = GetLocalInt(oItem, "REGEN");
if(sType == "Fleche")
{
CreateItemOnObject("fleche_mun", oPC, 99*5);
}
else if(sType == "Carreau")
{
CreateItemOnObject("carreau_mun", oPC, 99*5);
}
else if(sType == "Bille")
{
CreateItemOnObject("bille_mun", oPC, 99*5);
}
if(sRegen > 0)
{
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyVampiricRegeneration(sRegen), oItem);
}
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageBonus(iDamage, iDegat), oItem);
}
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.


Les deux dernières fonctions sont celles qui doivent être changées, car je ne veux pas appliqué mes bonus sur oItem mais sur les munitions données qui ont comme ref "fleche_mun", "carreau_mun", "bille_mun".

Comme je ne sais pas comment reconnaitre la fleche donné ou le carreau donné ou la bille donné par une local ou une fonction, je ne vois aucune solution... Pourtant il y en a une, puisque j'essaye de recopier le systeme de BoW (Bastions of War) pour son systeme de flèche.

Merci

EDIT : peut être en regardant le tag des flèches, mais on ne saurait alors quel son les bonus... Confused ou alors stocker les variables sur le module, et les reprendre, mais bon... ça va faire lourd je pense? Enfin, si c'est la seul solution... bon bein voila ^^
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Amphiprion
Ecuyer
Inscrit le: 28 Juil 2005
Messages: 56
Répondre en citant
Posté le : 25/10/2006 13:37:05 Sujet du message :

la fonction CreateItemOnObject retourne l'objet cree

object oCree = CreateItemOnObject(blabla);

et tu ajoute les effet sur oCree et non oItem
en clair:

NWScript :
if(sTag == "Munition")
{
  int iDamage = GetLocalInt(oItem, "DAMAGE");
  int iDegat = GetLocalInt(oItem, "DEGAT");
  string sType = GetLocalString(oItem, "TYPE");
  int sRegen = GetLocalInt(oItem, "REGEN");
  object oCree;
  if(sType == "Fleche") {
    oCree = CreateItemOnObject("fleche_mun", oPC, 99*5);
  } else if(sType == "Carreau") {
    oCree = CreateItemOnObject("carreau_mun", oPC, 99*5);
  } else if(sType == "Bille") {
    oCree = CreateItemOnObject("bille_mun", oPC, 99*5);
  }
  if(sRegen > 0) {
    AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyVampiricRegeneration(sRegen), oCree);
  }
  AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageBonus(iDamage, iDegat), oCree);
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 25/10/2006 14:30:56 Sujet du message :

Oh tient ! Tu m'apprends un truc dit donc, j'avais jamais remarqué que c'était marque "object" je croiyais que c'était "void" >.<

Merci pour cette info, je vous en dis des nouvelles dès que j'ai tester ! Ci-mer Very Happy
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 25/10/2006 15:13:48 Sujet du message :

Ha parfait, sa fonctionne impec! Grand merci à toi Very Happy
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 36.405ms