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 23/11/2024 16:29:13
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 |
Morcar Ecuyer Messages: 42 Localisation: Vannes |
J'ai besoin (pour l'instant ) 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 | |
Longbow Grand Sage du Conseil Messages: 638 Localisation: Orléans |
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 | |
Mars Seigneur Messages: 199 |
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 | |
S@ntoS Seigneur Messages: 169 Localisation: J'aimerais bien le savoir. |
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. 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); } _________________ L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Le RP, cé vrémant tro z'injuste ! |
Revenir en haut | |
S@ntoS Seigneur Messages: 169 Localisation: J'aimerais bien le savoir. |
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. NWScript : #include "nw_i0_plot" void main () { object oPC = GetNearestPC(); object oCompagnon = GetObjectByTag("Tag de ton PNJ"); AssignCommand(oCompagnon,ActionForceFollowObject(oPC,2.5)); } _________________ L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Le RP, cé vrémant tro z'injuste ! |
Revenir en haut | |
S@ntoS Seigneur Messages: 169 Localisation: J'aimerais bien le savoir. |
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. Le RP, cé vrémant tro z'injuste ! |
Revenir en haut | |
tails_2 Acolyte Messages: 33 Localisation: A gauche après le rond point (Lyon) |
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); } _________________ AH AH AH Je reigne sur tout !! Merde où sont mes clefs ?????? [http] |
Revenir en haut | |
Athanor salamander Légende vivante Messages: 306 Localisation: Ecole du Script |
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.
_________________ Atha, Artisan Scripteur. meet the most beautiful woman in the world |
Revenir en haut | |
Morcar Ecuyer Messages: 42 Localisation: Vannes |
Merci pour toutes vos réponses,
avec ça, je devrais pouvoir faire quelque chose (ou alors le problème vient de moi ) Le lexicon en anglais... je suis niveau - 12 en anglais, d'où le fait que je viens poser mes questions ici 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 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 | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
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.
_________________ 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 | |
Aldigo Chevalier Messages: 70 |
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 | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
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 | |
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