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 22/11/2024 22:38:03
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 |
Salut salut.
Bon voila, la plus par des joueurs font defois, meme presque tout le temps, des personnages GB (gros bill)... Alors je voulais savoir comment donne des penalites si par exemple le joueur est Maitre Pale... ou DDR. Aussi je voudrais savoir si le joueur possede 2 classe qu'il ai une penalite. Mes penalite sera soit la baisse de CA, BA, ou alors avec les sorts, enfin vous voyez quoi lol. Donc si vous pouviez m'aidé sa serait cool (je pense que le script doit ce mettre dans le OnLevel, sauf que j'avais deja teste un truc comme sa, mais des que le joueur refesait un level et qu'il n'avait plus la classe, bein il perdait pas la penalite...) Merci _________________ [http] |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
j'avais un peu de temps , alors je t'ai fait le script , et en même temps ça me permet de ne pas rouiller !
C'est a mettre dans le " onplayerlevelup " , ça te permet d'infliger -2 points de pénalité permanents sur la force du joueur si il se biclasse. Et si il se tri classe , ça lui inflige - 4 points suplémentaires , soit -6 points en tout ! Aussi , le script est fait pour toutes les classes de : nwn + SoU + HotU NWScript : void main() { object oPC = GetPCLevellingUp(); int niveau = GetHitDice(oPC); int comptage_classes; int lv_classe_01 = GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC); int lv_classe_02 = GetLevelByClass(CLASS_TYPE_BARD,oPC); int lv_classe_03 = GetLevelByClass(CLASS_TYPE_CLERIC,oPC); int lv_classe_04 = GetLevelByClass(CLASS_TYPE_DRUID,oPC); int lv_classe_05 = GetLevelByClass(CLASS_TYPE_FIGHTER,oPC); int lv_classe_06 = GetLevelByClass(CLASS_TYPE_MONK,oPC); int lv_classe_07 = GetLevelByClass(CLASS_TYPE_PALADIN,oPC); int lv_classe_08 = GetLevelByClass(CLASS_TYPE_RANGER,oPC); int lv_classe_09 = GetLevelByClass(CLASS_TYPE_ROGUE,oPC); int lv_classe_10 = GetLevelByClass(CLASS_TYPE_SORCERER,oPC); int lv_classe_11 = GetLevelByClass(CLASS_TYPE_WIZARD,oPC); int lv_classe_12 = GetLevelByClass(CLASS_TYPE_ARCANE_ARCHER,oPC); int lv_classe_13 = GetLevelByClass(CLASS_TYPE_ASSASSIN,oPC); int lv_classe_14 = GetLevelByClass(CLASS_TYPE_BLACKGUARD,oPC); int lv_classe_15 = GetLevelByClass(CLASS_TYPE_SHADOWDANCER,oPC); int lv_classe_16 = GetLevelByClass(CLASS_TYPE_HARPER,oPC); int lv_classe_17 = GetLevelByClass(CLASS_TYPE_DRAGON_DISCIPLE,oPC); int lv_classe_18 = GetLevelByClass(CLASS_TYPE_DRAGONDISCIPLE,oPC); int lv_classe_19 = GetLevelByClass(CLASS_TYPE_DWARVEN_DEFENDER,oPC); int lv_classe_20 = GetLevelByClass(CLASS_TYPE_DWARVENDEFENDER,oPC); int lv_classe_21 = GetLevelByClass(CLASS_TYPE_PALE_MASTER,oPC); int lv_classe_22 = GetLevelByClass(CLASS_TYPE_PALEMASTER,oPC); int lv_classe_23 = GetLevelByClass(CLASS_TYPE_DIVINE_CHAMPION,oPC); int lv_classe_24 = GetLevelByClass(CLASS_TYPE_DIVINECHAMPION,oPC); int lv_classe_25 = GetLevelByClass(CLASS_TYPE_WEAPON_MASTER,oPC); int lv_classe_26 = GetLevelByClass(CLASS_TYPE_SHIFTER,oPC); if(lv_classe_01 > 0) { comptage_classes++; } if(lv_classe_02 > 0) { comptage_classes++; } if(lv_classe_03 > 0) { comptage_classes++; } if(lv_classe_04 > 0) { comptage_classes++; } if(lv_classe_05 > 0) { comptage_classes++; } if(lv_classe_06 > 0) { comptage_classes++; } if(lv_classe_07 > 0) { comptage_classes++; } if(lv_classe_08 > 0) { comptage_classes++; } if(lv_classe_09 > 0) { comptage_classes++; } if(lv_classe_10 > 0) { comptage_classes++; } if(lv_classe_11 > 0) { comptage_classes++; } if(lv_classe_12 > 0) { comptage_classes++; } if(lv_classe_13 > 0) { comptage_classes++; } if(lv_classe_14 > 0) { comptage_classes++; } if(lv_classe_15 > 0) { comptage_classes++; } if(lv_classe_16 > 0) { comptage_classes++; } if(lv_classe_17 > 0) { comptage_classes++; } if(lv_classe_18 > 0) { comptage_classes++; } if(lv_classe_19 > 0) { comptage_classes++; } if(lv_classe_20 > 0) { comptage_classes++; } if(lv_classe_21 > 0) { comptage_classes++; } if(lv_classe_22 > 0) { comptage_classes++; } if(lv_classe_23 > 0) { comptage_classes++; } if(lv_classe_24 > 0) { comptage_classes++; } if(lv_classe_25 > 0) { comptage_classes++; } if(lv_classe_26 > 0) { comptage_classes++; } int balise_bi_classe = GetCampaignInt("nom_de_ton_mod","balise_perso_bi_classe",oPC); int balise_tri_classe = GetCampaignInt("nom_de_ton_mod","balise_perso_tri_classe",oPC); if ( comptage_classes == 2 ) if ( balise_bi_classe == FALSE ) { // Penalite permanente de -2 points en force si le perso se bi-classe ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectAbilityDecrease(ABILITY_STRENGTH,2),oPC); SetCampaignInt("nom_de_ton_mod","balise_perso_bi_classe",TRUE,oPC); } if ( comptage_classes == 3 ) if ( balise_tri_classe == FALSE ) { // Penalite permanente de -4 points suplementaires en force si le perso se tri-classe ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectAbilityDecrease(ABILITY_STRENGTH,4),oPC); SetCampaignInt("nom_de_ton_mod","balise_perso_tri_classe",TRUE,oPC); } } _________________ " 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 | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Et si il refait un level, tu crois que sa vas aps lui laissé les penalite ? ...
_________________ [http] |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
Avec ce script , si il bi classe il perds 2 points de force de maniére permanente , qu'il soit " barde lv1 , roub lv1 " ou bien " barde lv20 , roub lv 20 ".
Si il tri classe il perds 6 points de maniére permanente , qu'il soit " barde lv1 , roub lv1 " ou bien " barde lv20 , roub lv 20 ". La seule chose prise en compte sur ce script est le " bi classage " et le " tri classage ". Par contre je viens de pense qu'il faudra aussi mettre ce script dans le " onplayerrest " , et a l'entrée du mod pour garantir que les pénalités restent permanentes , car sinon , elles disparaissent aprés le repos ou en revenant sur le mod. Ne pas oublier de l'adapter en remplacant la ligne object oPC = GetPCLevellingUp(); par object oPC = GetLastPlayerRest(); et object oPC = GetEnteringObject(); _________________ " 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 |
Le problème de ce genre de pénalités c'est qu'elles restent soumises aux sorts de restauration, et que je suis pas sur qu'elles partent pas avec un poison par exemple.
Il y a le coup du 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. Ca t'évite déjà qu'elles partent lors du repos. (Mais restent sensibles à restauration suprême). En passant par un objet de créature ça peut pas marcher sinon ? |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Bas voila si vous pouviez me fere cette exemple :
.BK est niveau 15 de Barde... Bon pour l'instant tou vas bien, mais la il part faire un level de Maitre Pale, donc des qu'il a finit, le OnPLayerLevelUp s'active et je voudrais qu'il se passe sa : Il recoit une peau, ou quelque chose que les creature on, et qu'il s'equipe, sans qu'il puissent l'enleve. Mais BK c'est trompe alors il enleve un level et sa lui donne 15 de Barde et donc la peau s'enleve et tac il n'a plus de penalite. Par contre faut pas oublié qu'il suprime l'ancienne peau et remette une nouvelle pour evite qu'il est 10mille peau dans son inventaire et, je pense que la il n'y aura pas besoin de mettre quelque chose dans le OnPLayerRest et Enter. Voila ma petite aide _________________ [http] |
Revenir en haut | |
Yoyo Seigneur Messages: 223 |
Et comment il va faire pour s'enlever le lvl ??
_________________ BOUH! (je vous ai fait peur ??) désolé Vive moi Pas vive Securom |
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 | |
Semcatala Grand Sage du Conseil Messages: 951 |
ben en sachant ça les choses sont différentes , car j'étais resté dans la vieille optique du :
" une fois que tu as fait ton perso tu te le garde , et si tu te plante tant pis , t'avais qu'a faire des essais avant sur module XP ! ". Je vais regarder a modifier un peu le script pour l'adapter. _________________ " 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 |
En passant y a un autre truc à verifier c'est si sur ton module un PJ peut perdre un niveau en perdant de l'XP, il faudra verifier qu'il perd pas son multiclassage à chaque fois aussi. Donc verifier le OnDeath, les baguettes de DM et j'en passe.
|
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 | |
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