La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 07/05/2024 13:51:33


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 30/08/2007 22:19:49 Sujet du message : Ajouter un ingrédient

Salut

Bon, avouez tout de suite, combien se sont dit "oh non, encore lui et ses idées trop lourdes" ? Very Happy

Allez, cette fois l'idée saugrenue qui m'est venue doit déjà avoir été traitée puisqu'elle n'est pas vraiment innovante, mais je n'ai rien trouvé avec la recherche (mauvais mot-clé ?).
BREF, je voudrais faire en sorte que lorsqu'un joueur possède un ingrédient spécial (chaque ingrédient possible doit donc être défini, et les effets qui vont avec idem), par exemple "feuille de Khazad", "Poudre de Carmine", etc, il puisse l'utiliser avec une boisson de son inventaire.

Il faut donc que :
- La boisson ne soit pas groupée dans l'inventaire
- Rien ne se passe si l'ingrédient est inéfficace (non défini donc)
- L'ingrédient disparaisse de l'inventaire

Et que, si possible :
- Ajouter un système de temps de retardement pour les effets (delaycommand donc, mais à voir si c'est possible dans ces conditions)

Voilà. Je requier donc votre aide, pour avoir piste, idées, suggestions, ou même aide (Razz).

A mon avis, cela devrait toucher au OnActivateItem du mod, non ?
Je n'ai à vrai dire, aucune idée de par où commencer.

Merci d'avance ^^
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 30/08/2007 23:02:19 Sujet du message :

Moi je dirais plutot ... j'en sais rien enfaite. Je sais trop ce que tu demandes.

D'après ce que j'ai compris, tu voudrais qu'on puisse boire des ingrédients ? Razz

Ce que tu peux faire, c'est rendre l'ingrédient utilisable, que celui-ci doit être utilisé sur un objet de tag "Boisson" et ensuite que cette boisson est acquis des variables qui permettrons de déclencher les effets.

Un petit schéma:

NWScript :
void main()
{
object oPC = GetItemActivator();
object oTarget = GetItemActivatedTarget();
object oItem = GetItemActivated();
string sTag = GetTag(oItem);

    if(sTag == "INGREDIENT_1")
    {
   
        if(GetObjectType(oTarget) == OBJECT_TYPE_ITEM && GetTag(oTarget) == "Bouteille")
        {
        //On cree une bouteille qui devient donc usee (on a mit un truc dedans)
        object oNewBouteille = CreateItemOnObject("bouteilleusee", oPC, 1);
        //Ensuite, la il faut appliquer les effets que la bouteille donnera, a savoir que ; il faudrait dire le nombre d'effet qu'il y aura, et autant d'effet (je sais pas si tu suis Razz)
        SetLocalInt(oNewBouteille, "NumEffect", 2);//On va appliquer des effets visuels.
        SetLocalInt(oNewBouteille, "Effect_1", VFX_IMP_DEATH_WARD);
        SetLocalInt(oNewBouteille, "Effect_2", VFX_IMP_ELEMENTAL_PROTECTION);
        //On renomme la bouteille par exemple (si on veut)
        SetName(oNewBouteille, GetName(oNewBouteille)+" remplis de "+GetName(oItem));
        //On detruit l'ingredient
        DestroyObject(oItem);
        //On detruit une bouteille vide
        DestroyObject(GetItemPossessedBy(oPC, "Bouteille"));
        }
        else
        {
        SendMessageToPC(oPC, "Cette ingredient doit etre mit dans une bouteille vide !");
        }
    }
}
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.


Ca, c'est pour appliqué les fonctions à la bouteille. Ensuite, il suffit de rechercher le nombre d'effet (là, j'te montre un peu, et tu te débrouilles) :

NWScript :
int iMaxEffet = GetLocalInt(oItem, "NumEffect");
int i = 1;
while(i <= iMaxEffect)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(GetLocalInt(oItem, "Effect_"+IntToString(i))), oPC);
i++;
}
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.


Bon c'est rapide, mais c'est tjrs mieux que rien. Avec ça tu peux faire plein de truc (tu peux aussi règler le temps, etc..). Par contre pour faire des effets (genre rapidité) là, il faut des plus gros scripts. Il n'y a pas de SetLocalEffect Razz
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 30/08/2007 23:04:14 Sujet du message :

Pas vraiment "boire" les ingrédients, mais les ajouter à une boisson que le joueur à en sa possession. Afin que par exemple, il puisse donner un alcool à un joueur, histoire de trinquer, alors qu'il a en fait mis un poison violent dedans avant de la lui tendre, ceci pour X raison.

Ton idée de la bouteille vide est pas mal non plus, il faudra pouvoir utiliser les deux systèmes (vides et pleines).

Je vais voir avec les scripts que tu m'a proposé, merci à toi Wink
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
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 45.545ms