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:00:07
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 |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Voila j'ai fait dans mon mod un truc de pénalité.
Et ce script ne veut pas ajouté les pénalité que je demende. NWScript :
#include "x2_inc_itemprop" void main() { object oPC = GetPCLevellingUp(); int iDDR = GetLevelByClass(CLASS_TYPE_DRAGONDISCIPLE, oPC); int iPM = GetLevelByClass(CLASS_TYPE_PALEMASTER, oPC); if(GetHitDice(oPC) > 28) { SpeakString(GetName(oPC)+" vien d'avoir un level. Il maintenant level : "+IntToString(GetHitDice(oPC))+". Felicitation!", TALKVOLUME_SHOUT); } if(iDDR == 1) { if(iPM == 1) { AssignCommand(oPC, IPSafeAddItemProperty(GetObjectByTag("PeauPenalite"),ItemPropertyDecreaseAC(IP_CONST_ACMODIFIERTYPE_NATURAL, 4), 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING)); SendMessageToPC(oPC, "Vous avez une penalite de -4 a votre CA du a la Classe DDR/MP"); } else { AssignCommand(oPC, IPSafeAddItemProperty(GetObjectByTag("PeauPenalite"),ItemPropertyDecreaseAC(IP_CONST_ACMODIFIERTYPE_NATURAL, 2), 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING)); SendMessageToPC(oPC, "Vous avez une penalite de -2 a votre CA du a la Classe DDR"); } } if(iPM == 1) { if(iDDR == 1) { AssignCommand(oPC, IPSafeAddItemProperty(GetObjectByTag("PeauPenalite"),ItemPropertyDecreaseAC(IP_CONST_ACMODIFIERTYPE_NATURAL, 4), 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING)); SendMessageToPC(oPC, "Vous avez une penalite de -4 a votre CA du a la Classe DDR/MP"); } else { AssignCommand(oPC, IPSafeAddItemProperty(GetObjectByTag("PeauPenalite"),ItemPropertyDecreaseAC(IP_CONST_ACMODIFIERTYPE_NATURAL, 2), 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING)); SendMessageToPC(oPC, "Vous avez une penalite de -2 a votre CA du a la Classe MP"); } } if(iDDR == 0 || iPM == 0) { AssignCommand(oPC, IPRemoveAllItemProperties(GetObjectByTag("PeauPenalite"),DURATION_TYPE_TEMPORARY)); AssignCommand(oPC, IPRemoveAllItemProperties(GetObjectByTag("PeauPenalite"),DURATION_TYPE_INSTANT)); AssignCommand(oPC, IPRemoveAllItemProperties(GetObjectByTag("PeauPenalite"),DURATION_TYPE_PERMANENT)); } } Voila normalement les pénalités s'ajoute sur l'objet "PeauPenalite" (une peau de créature) que le joueur recoit en quand il entre dans le serv, mais... Les penalités ne ce mettent pas. La peau est equipé a l'endroit ou elle doit etre. Je voulais savoir ou est mon bug... Merci _________________ [http] |
Revenir en haut | |
Starkanas Grand Chevalier Messages: 110 |
Pourquoi tu n'utilises pas AddItemProperty() ?
De plus, je ne comprend pas bien tes conditions, elles ne marchent que quand le PJ n'a qu'un seul level dans la classe demandée ? Car sinon il faudrait plus utilisé un "<= 1" . _________________ LSDA 3ème Âge : Serveur RôlePlay basé sur les écrits de J.R.R.Tolkien ... |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
C'est simple si le joueur a 1 en classe de DDR il vas recevoir la penalité pas besoin de dire si il a 2, 3, 4, etc... De plus je sais pas pourquoi j'ai pas utilisé AddItemPropr, mais je pense pas que sa changerais grand chose...
si ? _________________ [http] |
Revenir en haut | |
lylver Héros Messages: 274 |
Le GetObjectByTag fait une recherche sur l'ensemble du module, pas spécifiquement sur le joueur.
Le AssignCommand ne sert pas Tu peux utiliser AddItemProperty mais sur cet objet (cf script), sinon tu risques de modifier la peau de quelqu'un d'autre. NWScript : object oHide = GetItemInSlot(INVENTORY_SLOT_CARMOUR,oPC) ; itemproperty ipProp = ItemPropertyDecreaseAC(IP_CONST_ACMODIFIERTYPE_NATURAL, 4) ;// par exemple AddItemProperty(DURATION_TYPE_PERMANENT, ipProp, oHide) ; |
Revenir en haut | |
BenGorre Légende vivante Messages: 301 |
Bonjour Bonjour,
à la place de tes NWScript :
GetObjectByTag("PeauPenalite") je te conseil de mettre 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. Comme ca ca ne cherchera que sur le PJ qui monte de niveau. Et pourquoi mettre ca? NWScript :
if(iDDR == 1) { if(iPM == 1) { /* warning: 2 unclosed block {} */ met plutôt NWScript : if(iDDR==1&&iPM==1){
/* warning: 1 unclosed block {} */ _________________ La mort n'est rien seul le fait de mourir est terrible Henry Fielding 1745 Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2. Dernière édition par BenGorre le 11/01/2006 22:59:13; édité 1 fois
|
Revenir en haut | |
BenGorre Légende vivante Messages: 301 |
Bonjour Bonjour,
Et oui encore moi. J'ai relu ta phrase: Citation : C'est simple si le joueur a 1 en classe de DDR il vas recevoir la penalité pas besoin de dire si il a 2, 3, 4, etc... Tu pense que comme avant d'être 2,3,4, ect... il faut être passé par le niveau 1 c'est inutile? Et bien dans ton script C'est dit que tu applique les pénalité que si le joueur a plus de 28 niveaux au total, donc quand il passe niveau 29, le PJ peut avoir 2 niveaux en DDR et voila il a pas de penalités. Je te conseilo de mettre:NWScript : au lieu du test à un.
if(iDDR&&iPM){
/* warning: 1 unclosed block {} */ PS: dsl javais mal lu ça à cause de la mise en page _________________ La mort n'est rien seul le fait de mourir est terrible Henry Fielding 1745 Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2. |
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