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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Jaheira 007
Seigneur
Inscrit le: 24 Juin 2004
Messages: 223
Répondre en citant
Posté le : 05/07/2004 19:37:00 Sujet du message : Un prêtre qui soigne c'est mieux!

Voilà j'ais crée un prêtre avec les dialogues et tout, je peux lui acheter des trucs, faire des dons d'argent ( pour la réputation ), mais par contre je sais pas comment faire pour qu'il me soigne. Vous savez comme le fait si bien Aribeth au temple de Tyr?

Quel est le script pour faire ça?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Gribouille
Acolyte
Inscrit le: 29 Déc 2003
Messages: 35
Répondre en citant
Posté le : 05/07/2004 19:49:25 Sujet du message :

Tu peux ouvrir le module de la campagne officielle avec l'editeur, regarder les dialogues d'aribeth et ainsi trouver le script qu'elle utilise.

edit : Ah je l'ai trouvé, c'est NW_D1_TEMPLEHEAL.nss

Pour ouvrir un module de la campagne officielle, il faut copier un des fichier du répertoire "nwm" dans "modules" puis changer son extension en ".mod"

tiens le voilà :

NWScript :
//:Confused///////////////////////// /////////////////////
//:: Temple Cast Heal
//:: NW_D1_TEMPLEHEAL.nss
//:: Copyright (c) 2001 Bioware Corp.
//:Confused///////////////////////// ////////////////////
/*
  Fakes the effects of a greater restorations spell on the PC and
  any associates.
*/

//:Confused///////////////////////// ////////////////////
//:: Created By:    Aidan
//:: Created On:    May29,2002
//:Confused///////////////////////// ////////////////////
void FakeRestore(object oTarget);

void main()
{
    object oPC = GetPCSpeaker();
    object oHenchman = GetAssociate(ASSOCIATE_TYPE_HENCHMAN,oPC,1);
    object oHenchman2 = GetAssociate(ASSOCIATE_TYPE_HENCHMAN,oPC,2);
    object oHenchman3 = GetAssociate(ASSOCIATE_TYPE_HENCHMAN,oPC,3);
    object oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION,oPC);
    object oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR,oPC);
    object oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED,oPC);
    object oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED,oPC);
    ActionPauseConversation();
    ActionCastFakeSpellAtObject(SPELL_GREATER_RESTORATION, OBJECT_SELF);
    ActionDoCommand(FakeRestore(oPC));
    if(GetIsObjectValid(oHenchman))
    {
        ActionDoCommand(FakeRestore(oHenchman));
        // checks to see if they have any cure crital wound potions; if not, creates it on them.
        if (!GetIsObjectValid(GetItemPossessedBy(oHenchman,"NW_IT_MPOTION003")))
        {
            CreateItemOnObject("NW_IT_MPOTION003",oHenchman,3);
        }
    }
    if(GetIsObjectValid(oHenchman2))
    {
        ActionDoCommand(FakeRestore(oHenchman2));
        // checks to see if they have any cure crital wound potions; if not, creates it on them.
        if (!GetIsObjectValid(GetItemPossessedBy(oHenchman2,"NW_IT_MPOTION003")))
        {
            CreateItemOnObject("NW_IT_MPOTION003",oHenchman2,3);
        }
    }
    if(GetIsObjectValid(oHenchman3))
    {
        ActionDoCommand(FakeRestore(oHenchman3));
        // checks to see if they have any cure crital wound potions; if not, creates it on them.
        if (!GetIsObjectValid(GetItemPossessedBy(oHenchman3,"NW_IT_MPOTION003")))
        {
            CreateItemOnObject("NW_IT_MPOTION003",oHenchman3,3);
        }
    }
    if(GetIsObjectValid(oAnimal))
    {
        ActionDoCommand(FakeRestore(oAnimal));
    }
    if(GetIsObjectValid(oFamiliar))
    {
        ActionDoCommand(FakeRestore(oFamiliar));
    }
    if(GetIsObjectValid(oDominated))
    {
        ActionDoCommand(FakeRestore(oDominated));
    }
    if(GetIsObjectValid(oSummoned))
    {
        ActionDoCommand(FakeRestore(oSummoned));
    }
    ActionResumeConversation();
}

void FakeRestore(object oTarget)
{
    effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION_GREATER);

    effect eBad = GetFirstEffect(oTarget);
    //Search for negative effects
    while(GetIsEffectValid(eBad))
    {
        if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
            GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
            GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
            GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
            GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
            GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
            GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
            GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
            GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
            GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
            GetEffectType(eBad) == EFFECT_TYPE_CURSE ||
            GetEffectType(eBad) == EFFECT_TYPE_DISEASE ||
            GetEffectType(eBad) == EFFECT_TYPE_POISON ||
            GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
            GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
        {
            //Remove effect if it is negative.
            RemoveEffect(oTarget, eBad);
        }
        eBad = GetNextEffect(oTarget);
    }
    if(GetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
    {
        //Apply the VFX impact and effects
        int nHeal = GetMaxHitPoints(oTarget) - GetCurrentHitPoints(oTarget);
        effect eHeal = EffectHeal(nHeal);
        if (nHeal > 0)
            ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oTarget);
    }
    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oTarget);
}
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
 
Jaheira 007
Seigneur
Inscrit le: 24 Juin 2004
Messages: 223
Répondre en citant
Posté le : 05/07/2004 20:17:36 Sujet du message :

didons lé pas petit ce script!! mais merci bien!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
TulipVorlax
Acolyte
Inscrit le: 02 Juil 2004
Messages: 27
Localisation: Montréal, Québec, Canada, troisième planète
Répondre en citant
Posté le : 06/07/2004 07:40:12 Sujet du message :

Oui vous l'Avez ce script gente dame !

Je l'utilise moi-même dans mon module. Et d'ailleurs, tout le monde a ce merveilleux script conçu par Bioware.

Pour le trouver, tu vas dans le menu de Aurora, dans Outils, Éditeur de scripts.
Là tu cliques sur l'icône en haut qui sert à ouvrir un fichier existant. En bas à gauche tu auras trois choix et tu dois sélectionner "toutes" pour dire d'afficher aussi les choses faites par Bioware.
Te reste juste à trouver le bon fichier...

A+ Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Jaheira 007
Seigneur
Inscrit le: 24 Juin 2004
Messages: 223
Répondre en citant
Posté le : 09/07/2004 22:01:48 Sujet du message :

Voila mon prêtre est presque prés mais... il manque un truc. Comment faire pour qu'il lance un sort?
Par exemple qu'il nous lance un sort de bénédiction quant on lui demande.
_________________
La nature reprendra ses droits ici, aprés notre passage.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dragull Hull
Grand Chevalier
Inscrit le: 23 Déc 2002
Messages: 115
Localisation: Quebec
Répondre en citant
Posté le : 12/07/2004 07:10:49 Sujet du message :

Je te conseille Lilac soul un petit programe vraiment bien qui t'aidera beaucoup pour plusieur script simple de ce genre.

pour plus corriace... ya toujour ici Very Happy
_________________
Puisse Peter Jackson entreprendre le tournage de la Trilogie des Avatars.
Les Montagnes de Nether
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Numéro ICQ Ignorer l'utilisateur
 
Tzeentsh
Ecuyer
Inscrit le: 01 Déc 2002
Messages: 41
Répondre en citant
Posté le : 12/07/2004 08:30:01 Sujet du message :

Bien que beaucoup l'oublient (moi le premier Very Happy), Bioware a mis pas mal de scripts par défaut, ce qui peut faire une grosse économie de scripts.

Tu peux aller dans l'éditeur de scripts => ouvrir un script et sélectionner 'Tous les scripts'. Tu verras la liste de tous les scripts par défaut de Bioware.

Ceux dont le nom commence par nw_d2_, x0_d2_, x2_d2_ sont des scripts de condition pour les dialogues. Leur nom est souvent évocateur : 'x0_d2_isevil' fera que seul un joueur d'alignement mauvais verra le choix de dialogue par exemple.

Ceux dont le nom commence par nw_d1_, x0_d1_, x2_d1_ sont des scripts d'action conséquente pour les dialogues. Parmi ceux-ci on pourra par exemple trouver des scripts faisant lancer des sorts au PNJ (Celui que tu recherches pour bénédiction doit s'y trouver).

Si le nom ne te dit rien tu peux ouvrir le script, un petit commentaire t'indiquera son utilité.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
TulipVorlax
Acolyte
Inscrit le: 02 Juil 2004
Messages: 27
Localisation: Montréal, Québec, Canada, troisième planète
Répondre en citant
Posté le : 12/07/2004 09:04:54 Sujet du message :

J'espère pour toi que Bioware ne modifiera pas trop de choses dans ces scripts-là lors de la mise à jour 1.63 Razz
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tzeentsh
Ecuyer
Inscrit le: 01 Déc 2002
Messages: 41
Répondre en citant
Posté le : 12/07/2004 09:21:44 Sujet du message :

Ceux sont des scripts utilitaires très basiques. Je ne vois pas quels changements ils pourraient faire dans ceux-là (Surtout qu'ils n'ont pas bougés depuis les premières versions Very Happy)
 
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 81.347ms