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 01/11/2024 16:39:37
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 |
Tzar Voyageur Messages: 3 |
En lisant certain post j'ais vu qu'il y avait des personnes qui rencontaient des problèmes pour avoir un script de PJ mourant. Donc voila celui que j'utilise pour ceux qui veulent.
Dans le cadre de mon module il convient bien : Les Pjs n'ont qu'une seule vie. Ce script fait : - Pj est mourrant règle façon D&D à la différence que j'ai augmenté les chance de stabilisation à 20% et que le Pj perd 1Pv toutes les 15 secondes (vu qu'il n'y a qu'une seule vie il faut laisser plus de chance aux joueurs). - Dès que le PJ est mourant il perd 50 xp par niveau. - Dès que le Pj est mourrant toutes les créatures arrêtent de l'attaquer. Tous ces paramètres sont modifiables. Voilà le script à mettre dans le Onplayerdying du module : ........................................................................................... NWScript : void bleed(object oPC, effect eDamage) { //checks to be sure the PC is between -1 and -9 hit points if (oPC != OBJECT_INVALID && GetCurrentHitPoints(oPC) < 0 && GetCurrentHitPoints(oPC) > -10){ //actually applies the damage ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oPC); int hp = GetCurrentHitPoints(oPC); int nResult = d100(1); //words that are spoken when character stabilizes string sStabilized = "Etat stable"; //creates words over the PC's head that tells those around //him/her what current HP levels are string sDying = GetName(oPC) + " succombe " + IntToString(hp)+ " points de vie"; AssignCommand(oPC,FloatingTextStringOnCreature(sDying, oPC)); //checks for self recovery if (nResult <= 20){ //if successful, tells the PC they've recovered and exits //out of the function AssignCommand(oPC,FloatingTextStringOnCreature(sStabilized, oPC)); } else { //recursive statement to continue the loop until -10 hit //points or recovery is attained DelayCommand(15.0, bleed(oPC, eDamage)); } } } void main() { object oPlayerDying = GetLastPlayerDying(); int nXP = GetXP(oPlayerDying); int nPenalty = 50 * GetHitDice(oPlayerDying); int nHD = GetHitDice(oPlayerDying); // * You can not lose a level with this respawning int nMin = ((nHD * (nHD - 1)) / 2) * 1000; int nNewXP = nXP - nPenalty; if (nNewXP < nMin) nNewXP = nMin; SetXP(oPlayerDying, nNewXP); object oAttacker = GetLastAttacker(oPlayerDying); int iHPs = GetCurrentHitPoints(oPlayerDying); effect eSanctuary = EffectSanctuary(99); //grabs the player character that is dying object oPC = GetLastPlayerDying(); effect eDamage = EffectDamage(1, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_PLUS_FIVE); DelayCommand(15.0, bleed(oPC, eDamage)); if (iHPs >= -9) { SetPCLike(oPlayerDying, oAttacker); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSanctuary, oPlayerDying, 10.0); } } |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Même chose que pour PinMaster l'autre fois, n'hésite pas à mettre ce topic à la suite du post-it Vos scripts, sinon ton post va descendre dans les limbes du forum et il sera impossible de retrouver l'info ensuite.
_________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII |
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