La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 21/05/2024 08:40:16


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Morcar
Ecuyer
Inscrit le: 16 Sep 2004
Messages: 42
Localisation: Vannes
Répondre en citant
Posté le : 18/01/2005 22:42:21 Sujet du message : Quatre questions

J'ai besoin (pour l'instant Very Happy ) de savoir quatre choses. Si quelqu'un peut m'aider, je le remercierai de tout coeur :
- comment faire pour qu'un personnage (un prêtre d'un temple) soigne le personnage principal ?
- comment faire pour qu'un PNJ s'enfuie en courant ?
- comment faire pour qu'un PNJ s'en aille tranquilement (et disparaisse) ? Par exemple quand on a libéré quelqu'un.
- comment faire pour qu'un personnage se joigne au groupe et devienne un membre ?

Merci d'avance pour vos réponses qui m'aideront beaucoup.
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 18/01/2005 23:16:02 Sujet du message :

Hum, hum...

D'un point de vue général, je pense que l'utilisation du
lexicon t'aiderait grandement...


Citation :
comment faire pour qu'un PNJ s'en aille tranquilement (et disparaisse) ? Par exemple quand on a libéré quelqu'un.
Il me semble que la fonction EscapeArea(TRUE, "WP_EXIT"); est faite pour cela, tu lances (à la fin d'un dialogue par exemple) un script dans Action COnséquentes. Tu peux choisir de courir ou non (TRUE pour courir ou FALSE pour marcher) et le point de destination dans mon exemple un waypoint (ou un objet dans le Tag serait WP_EXIT
Voila bon courage.
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Mars
Seigneur
Inscrit le: 31 Mar 2004
Messages: 199
Répondre en citant
Posté le : 19/01/2005 01:14:59 Sujet du message : Re: Quatre questions


Morcar a écrit :
- comment faire pour qu'un personnage (un prêtre d'un temple) soigne le personnage principal ?
Pour ça tu peux regarder le script curatif d'Aribeth que tu trouvera dans la campagne, je sais plus laquelle mais je regarderais si tu ne trouve pas.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 19/01/2005 01:31:13 Sujet du message :

Salut,

Pour la restauration du PJ, de ses éventuels compagnons, familiers et autres créatures suivantes. A placer dans le « actions conséquentes d'un dialogue ». Ce script n'est pas de moi.

@+.f€r. Surprised

NWScript :
#include "nw_i0_generic"
void FakeRestore(object oTarget);

void main()
{
        object oPC = GetPCSpeaker();
        object oHenchman = GetAssociate(ASSOCIATE_TYPE_HENCHMAN,oPC);
        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);

        //restauration
        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(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.

_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 19/01/2005 01:48:03 Sujet du message :

Pour que un PNJ se joigne au groupe et devienne un compagnon. A placer dans le « actions conséquentes » d'un dialogue. Tu devras convenablement configurer la faction de ton PNJ. Si tu veux une plus grande interactivité, tu devras lui attribuer le set de script que possèdes les compagnons de la campagne HOU. Il y a un sujet abordant cet aspect dans les forums de ce site, cherche un peu.
@+.f€r. Surprised

NWScript :
#include "nw_i0_plot"
void main ()
{

object oPC = GetNearestPC();
object oCompagnon = GetObjectByTag("Tag de ton PNJ");
AssignCommand(oCompagnon,ActionForceFollowObject(oPC,2.5));
}
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.

_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
S@ntoS
Seigneur
Inscrit le: 12 Déc 2004
Messages: 169
Localisation: J'aimerais bien le savoir.
Répondre en citant
Posté le : 19/01/2005 01:54:24 Sujet du message :

Ah au fait,
Longbow à raison. Le lexicon est très utile (j'étais septique au début, j'ai changé d'avis depuis). Même s'il est en anglais, il rend beaucoup de services car il est très bien fait.
Bon courage pour la suite.
_________________
L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Surprised
Le RP, cé vrémant tro z'injuste !Calimero
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
tails_2
Acolyte
Inscrit le: 18 Mar 2004
Messages: 33
Localisation: A gauche après le rond point (Lyon)
Répondre en citant
Posté le : 19/01/2005 07:38:27 Sujet du message :

Le script de soin c'est celui-la, à placer dans Action conséquante :

NWScript :
void FakeRestore(object oTarget);

void main()
{

        object oPC = GetPCSpeaker();
        object oHenchman = GetAssociate(ASSOCIATE_TYPE_HENCHMAN,oPC);
        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));
               
                if (!GetIsObjectValid(GetItemPossessedBy(oHenchman,"NW_IT_MPOTION003")))
                {
                        CreateItemOnObject("NW_IT_MPOTION003",oHenchman,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)
                {
                        //Et annulation de ceux-ci.
                        RemoveEffect(oTarget, eBad);
                }
                eBad = GetNextEffect(oTarget);
        }
        if(GetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
        {
                //Applique les effets
                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.

_________________
AH AH AH Je reigne sur tout !! Merde où sont mes clefs ??????
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Athanor salamander
Légende vivante
Inscrit le: 01 Avr 2003
Messages: 306
Localisation: Ecole du Script
Répondre en citant
Posté le : 19/01/2005 09:48:15 Sujet du message :

Sans vouloir vraiment emmerder le monde, je crois que à la vue des questions, tu as non pas grandement besoin de scripts, mais plus d'un scripteur qui puisse t'épauler dans tes projets.Smile
_________________
Atha, Artisan Scripteur.
meet the most beautiful woman in the world
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Morcar
Ecuyer
Inscrit le: 16 Sep 2004
Messages: 42
Localisation: Vannes
Répondre en citant
Posté le : 24/01/2005 22:41:55 Sujet du message :

Merci pour toutes vos réponses,
avec ça, je devrais pouvoir faire quelque chose (ou alors le problème vient de moi Very Happy )

Le lexicon en anglais... je suis niveau - 12 en anglais, d'où le fait que je viens poser mes questions ici Laughing s'il y avait un lexicon en français, ce serait cool, mais je n'en ai trouvé nul part...

Sinon, pour ce qui est du scripteur, je voudrais bien, mais ils sont rares Smile
Et puis là, c'est simplement que je "débute", j'espère arriver à me débrouiller ensuite. Mais comme il n'y a aucun manuel du Aurora Toolset avec NwN, forcément...
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 25/01/2005 10:04:43 Sujet du message :

Si il y a un début de Lexicon en français, je crois qu'on peut trouver le lien en post-it sur ce forum. Mais il est beaucoup moins complèt que the Lexicon.Very Happy
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Aldigo
Chevalier
Inscrit le: 23 Jan 2005
Messages: 70
Répondre en citant
Posté le : 25/01/2005 11:36:21 Sujet du message :

Si tu cherches des manuels complets sur l'éditeur, je te propose ces deux liens ( en anglais mais très bien foutus ) :
http://nwvault.ign.com/Files/other/data/1095552276000.shtml
http://nwvault.ign.com/Files/other/data/1084584456000.shtml
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 25/01/2005 13:01:15 Sujet du message :

Un bout de lexicon français :
[http]
_________________
» 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 50.739ms