
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 19/04/2025 21:33:06
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 |
gulin cul'sec Grand Chevalier ![]() Messages: 121 Localisation: mon pieu |
![]() Voila il y a peu j'ai demander dans la categorie "contenue personalisable" si il etait possible de creer un rapport de force ou de dexteriter dans les caracteristique d'une arme ou armure, telle que les cep a creer celle concernant les genre "Hommes/Femmes".une reponse ma gentilement etait donner, elle etait de argyl est il me diser que se serait dure a faire et qu'il y avait deja pencer, ensuite il ma donner une 2eme solution:
Argyl a écrit : Une autre qui m'a encore plus séduit (lorsque je l'ai eu quelque saurait il le fair?![]() Pour la première solution, attends une meilleure réponse que la mienne (une avec une solution donc ![]() ![]() _________________ purer j'ai une de ses envies de pionce zzzzzzzZZZZZZzzzzzZZZZZZzz |
Revenir en haut | ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
J'ai du mal a comprendre ta question... Il faut que l'arme/armure fasse quoi exactement ?
|
Revenir en haut | ![]() ![]() ![]() |
gulin cul'sec Grand Chevalier ![]() Messages: 121 Localisation: mon pieu |
voila en resumer, pour porter une arme ou une armure vous n'aurais pas specialement besoin de force de dexteriter ou de constitution cependant un personne qui n'ent a pas s'essouflera plus vite et aura ainsi un malus alor qu'au contraire un personnage qui en aura plus poura la porter sans malus pendant un temps plus long. bon je donne un exemple:
-un roublard qui à peu de force et pas mal de dexterité choisit de prendre le dons "maniment des armes martial" et de pouvoir ainsi se munire d'une epee à deux mains qui necessite une grande force dans les bras, voila il se bat pendant 15 min avec sans se soussier de rien et la! paf il sent des cramp dans sont bras, 5min après il ne peu meme plus la soulever, 5min encore après il lache l'epee extenuée alors que, le guerrier avec un max de force lui se serre de son epee pendant environ une heure 15 minute après une crampe...etc...etc... tout sa pour dire: beaucoup de force ----> un temps long à tenir une arme ou porter une armure avant d'avoir un malus pour cause de fatigue. peu de force----> peu de temps à tenire une arme ou porter une armure avant d'avoir un maluse pour cause de fatigue. _________________ purer j'ai une de ses envies de pionce zzzzzzzZZZZZZzzzzzZZZZZZzz |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Faire un script qui donne des minimums requis pour équiper une arme ou une armure c'est pas impossible, par contre gérer la fatigue ça me semble pas vraiment faisable. J'ai bien eu quelques idées pour le faire, mais aucune qui tienne la route, en gros aucune qui ne foire pas si le joueur déséquipe l'arme pour la rééquiper tout de suite, il peut le faire en plein combat. Ou sinon il faut vraiment des trucs vraiment lourd (mettre quelque chose dans le OnHeartBeat qui vérifie ce qu'il porte en permanence, v'la l'travail....)
Pour faire des minimums je pense à ça : Dans le OnPlayerEquipItem du module : NWScript :
int PeutEquiper(object oPC, object oItem) { int nType = GetBaseItemType(oItem); int MinForce, MinDext , MinConstit = 0; switch (nType) { case BASE_ITEM_BASTARDSWORD : MinForce = 12; MinConstit = 14; break; case BASE_ITEM_CLUB : return TRUE; case BASE_ITEM_DOUBLEAXE : MinForce = 14; MinConstit = 13; break; case BASE_ITEM_DAGGER : MinForce = 20; MinDext = 50; break; return TRUE; } if (GetAbilityScore(oPC,ABILITY_STRENGTH) >= MinForce && GetAbilityScore(oPC,ABILITY_DEXTERITY)>=MinDext && GetAbilityScore(oPC,ABILITY_CONSTITUTION)>=MinConstit) return TRUE; return FALSE; } void main() { object oPlayer = GetPCItemLastEquippedBy(); object oObject = GetPCItemLastEquipped(); if (!PeutEquiper(oPlayer,oObject)) AssignCommand(oPlayer,ActionUnequipItem(oObject)); } Ca marche. Ca se base sur les types prédéfinis donc c'est pas très souple, mais ça peut être fait autrement (en rajoutant des variables locales sur certains items de quete par exemple, si tu veux faire une épée longue qui demande plein de dexterité.) |
Revenir en haut | ![]() ![]() ![]() |
gulin cul'sec Grand Chevalier ![]() Messages: 121 Localisation: mon pieu |
super je te remercie sa me servira tout de meme bien
![]() _________________ purer j'ai une de ses envies de pionce zzzzzzzZZZZZZzzzzzZZZZZZzz |
Revenir en haut | ![]() ![]() ![]() |
gulin cul'sec Grand Chevalier ![]() Messages: 121 Localisation: mon pieu |
parcontre je comprend pas minforce=le minimum de force requie? si oui alors pourquoi dans la ligne:
"case BASE_ITEM_BASTARDSWORD : MinForce = 12; MinConstit = 14; break;" il a juste besoin de 12 de force qu'alor que pour un dague: "case BASE_ITEM_DAGGER : MinForce = 20; MinDext = 50; break;" il aura besoin de 20 en force, ![]() ![]() ![]() ![]() ![]() _________________ purer j'ai une de ses envies de pionce zzzzzzzZZZZZZzzzzzZZZZZZzz |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Oui c'est bien ça. Là c'était un exemple donc il faut l'arranger. La raison c'est que j'ai fait le script et pour tester mon 1er perso c'est un moine, du coup pas trop de chance qu'il puisse se servir d'une batarde, j'ai blindé les mini d'une dague pour les tests (j'y ai été fort c'est vrai
![]() Y a un autre truc que j'ai vu (ce WE j'ai pas mon ordi donc je peux pas trop tester des trucs) c'est que ça plantait au niveau graphique mon perso rangeait la dague, mais on la voyait quand même, je pense qu'il faut mettre un tout petit délai avant de déséquiper (genre 0.1). Je sais pas d'ou ça vient ptet que le visuel se charge trop lentement. J'ai aussi vu ton autre post sur afficher les carac dans la description. Ca c'est lourd (il faut se taper toutes les description wahou), par contre rajouter une ligne qui t'indique les minimums par un message quand tu essaies de l'équiper c'est plus simple. |
Revenir en haut | ![]() ![]() ![]() |
gulin cul'sec Grand Chevalier ![]() Messages: 121 Localisation: mon pieu |
je vois que l'on est à peu pres sur la meme longueur d'onde, tu a bien raison ya un mechant bug qui montre une dague (ou une autre arme ou vous n'avez pas les caracteristik demander)q'alors que l'on en est meme pas equiper
![]() ![]() _________________ purer j'ai une de ses envies de pionce zzzzzzzZZZZZZzzzzzZZZZZZzz |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Essaye ça :
NWScript :
int PeutEquiper(object oPC, object oItem) { int nType = GetBaseItemType(oItem); int MinForce, MinDext , MinConstit = 0; switch (nType) { case BASE_ITEM_BASTARDSWORD : MinForce = 12; MinConstit = 14; break; case BASE_ITEM_CLUB : return TRUE; case BASE_ITEM_DOUBLEAXE : MinForce = 14; MinConstit = 13; break; case BASE_ITEM_DAGGER : MinForce = 20; MinDext = 50; break; return TRUE; } if (GetAbilityScore(oPC,ABILITY_STRENGTH) >= MinForce && GetAbilityScore(oPC,ABILITY_DEXTERITY)>=MinDext && GetAbilityScore(oPC,ABILITY_CONSTITUTION)>=MinConstit) return TRUE; else { string sText = "Vous n'avez pas les minimums requis pour cette arme :"; if (GetAbilityScore(oPC,ABILITY_STRENGTH) < MinForce) sText = sText + " Force : "+IntToString(MinForce); if (GetAbilityScore(oPC,ABILITY_DEXTERITY) < MinDext) sText = sText + ""+IntToString(MinDext); if (GetAbilityScore(oPC,ABILITY_CONSTITUTION) < MinConstit) sText = sText + " Constitution : "+InToString(MinConstit); FloatingTextStringOnCreature(sText,oPC); return FALSE; } } void main() { object oPlayer = GetPCItemLastEquippedBy(); object oObject = GetPCItemLastEquipped(); if (!PeutEquiper(oPlayer,oObject)) DelayCommand(0.1,AssignCommand(oPlayer,ActionUnequipItem(oObject))); //Ca peut resoudre le bug graphique (PEUT ![]() } Ca ne donnera le message, donc les minimums, qu'à un perso qui ne peut pas les porter, ça me semble le plus important, sinon tu peux rajouter à la place du return TRUE; (apres le test) : NWScript :
{ sText = ""+IntToString(MinDext)+" force "+IntToString(MinForce)+" constitution "+IntToString(MinConstit); FloatingTextStringOnCreature(sText,oPC); return TRUE; } La ça enverra un message pour toutes les armes qui ont des minimums. Je peux pas tester donc ptet y a des fautes, mais je pense que ça devrait t'aider quand même. |
Revenir en haut | ![]() ![]() ![]() |
gulin cul'sec Grand Chevalier ![]() Messages: 121 Localisation: mon pieu |
"Cimer walter" comme on direr chez moi
![]() ![]() _________________ purer j'ai une de ses envies de pionce zzzzzzzZZZZZZzzzzzZZZZZZzz |
Revenir en haut | ![]() ![]() ![]() |
gulin cul'sec Grand Chevalier ![]() Messages: 121 Localisation: mon pieu |
bon bah me revoila sa fai un ptit baille que je suis pas venu et bas il y a peu j'ai voulu voir ce post pour voir ce mignon petit script et une fois essayer bas j'ai bien remarquer que sa marchais pas du tout contrairement à l'ancien, c'est pour cela que je te demande si tu n'aurais pas fais une erreur? quand je le compile il me dis qu'il y une erreur mais comment la resoudre?
_________________ purer j'ai une de ses envies de pionce zzzzzzzZZZZZZzzzzzZZZZZZzz |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Yup j'ai oublié une lettre dans cette ligne :
NWScript :
if (GetAbilityScore(oPC,ABILITY_CONSTITUTION) < MinConstit) sText = sText + " Constitution : " +IntToString(MinConstit); La c'est corrigé, ça devrait marcher. |
Revenir en haut | ![]() ![]() ![]() |


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