La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 21:02:59


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Troubadour
Novice
Inscrit le: 15 Sep 2004
Messages: 7
Répondre en citant
Posté le : 20/09/2004 16:20:57 Sujet du message : un item facilite la destruction d'un placeable

Je vous file ce script qui facilite la destruction d'un placeable "utilisable" lorsque un item particulier et équipé et utilisé par un PJ pour attaquer ce placeable.

la mise ne place de ce contenu se fait en deux phases :

- création d'un item équipable à partir des modèles d'arme portant un nom précis (voir aide du script).
- création d'un placeable "utilisable", configuration de ses propriétés (voir aide dans le script), inclusion du script dans le OnPhysicalAttacked, et enregistrement dans la bibliothèque blueprints.

J'ai écrit ce petit script pour intégrer à mon module un système d'exploitation minière.

Le script est attaché à un bloc de roche appelé "filon" qui contient dans son inventaire une gemme. Le bloc de roche est verrouillé, j'ai coché la case "nécessite une clé spécifique" pour empêcher le crochetage... Il faut donc détruire le bloc pour récupérer la gemme. Le bloc a 10000 points de vie, on peut le casser avec des armes normales ou de la magie mais vous comprenez que cela va prendre beaucoup de temps...

Lorsque le PJ utilise l'item approprié (ici une pioche de mineur créée à partir d'un modèle de marteau), le script ajoute 500 dommages par coups du PJ. Il faut environ 20 coups de pioche pour détruire le placeable.

Je conseille d'inclure dans le OnDeath du placeable un script de respawn.

Voilà le script (je sais je suis bavard) :

NWScript :
//script d'exploitation d'un filon minier//

//facilite la destruction d'un placeable lorsque le PJ utilise un item special//

//createur : Le Troubadour//

//A placer dans le OnPhysicalAttacked d'un placeable (ex:bloc de roche)//
//Configurer les proprietes du placeable comme suit : cocher utilisable et inventaire//
//Inclure objet voulu dans inventaire (ex: gemme)//
//Mettre 0 en solidite//
//Mettre 10000 en points de vie//
//Mettre 250 dans chacun des jets de sauvegarde//

//Creer un ou plusieurs outils de prospection a partir de modeles d'armes//
//par ex : piolet cree a partir d'une masse d'arme ou barre a mine a partir de baton//
//mettre en tag de ces outils : Piolet//

//l'utilisation d'un outil de mineur permet d'infliger plus de 500 dommages a chaque coup//
//la magie et les autres armes font des degats normaux, mais ils mettront bien plus de temps a venir a bout du roccher qui a 10000 pv//


void main()
{
object oAggr = GetLastAttacker(OBJECT_SELF);
effect eEffect = EffectDamage(500, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL);

//si le PJ est equipe d'un outil de mineur dont le tag commence par "Piolet"..//
if ((GetSubString(GetTag(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oAggr)),0,6) == "Piolet"))

//alors les messages suivants sont envoyes et le rocher subit 500 dommages par coup//
{
ActionSpeakString("Crrrssh... Crrrssshh", TALKVOLUME_TALK);
SendMessageToPC(oAggr, "Vous creusez encore et encore...");
ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, OBJECT_SELF, 0.0);
}
else

//si le PJ n'a pas d'outil special, le message suivant lui est retourne//
  {
    SendMessageToPC(oAggr, "Vous travaillerez plus efficacement avec un outil de mineur.");
    }
}
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.

_________________
"Oyez, oyez braves gens, etc..."
 
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 44.109ms