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 08:12:34


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Ballbreaker1
Chevalier
Inscrit le: 11 Aoû 2006
Messages: 89
Répondre en citant
Posté le : 25/12/2007 18:34:45 Sujet du message : probleme avec le script

bonjour a tous ,voici un script don je ne vois pas ou est le problème et pourtant tout me semble etre bien fais ... merci de bien vuloir m'aider.

NWScript :
// Pierres de rappel
int bHasGoodStone = GetItemPossessedBy(oActivator, "pierre_sacree2") != OBJECT_INVALID;
int bHasEvilStone = GetItemPossessedBy(oActivator, "pierre_mal") != OBJECT_INVALID;
int bHasNeutralStone = GetItemPossessedBy(oActivator, "pierre_univ") != OBJECT_INVALID;
int bhasMenotte = GetItemPossessedBy(oActivator, "menoNODROP") != OBJECT_INVALID;
int bUseGoodStone = sItemTag == "pierre_sacree2";
int bUseEvilStone = sItemTag == "pierre_mal";
int bUseNeutralStone = sItemTag == "pierre_univ";

if (bUseGoodStone || bUseEvilStone || bUseNeutralStone) // Une pierre de rappel a ete utilisee
    {
    string tArea = GetTag(GetArea(oActivator));
    int iArea = StringToInt(GetSubString(tArea, 5, GetStringLength(tArea)-5));
    if (bHasGoodStone + bHasEvilStone + bHasNeutralStone + bhasMenotte == 1) // Il n'en possede bien qu'une
        if ((iArea>=140 && iArea<=179) || (iArea>=190 && iArea<=199))
            {SendMessageToPC(oActivator,"Les puissantes protections magiques de cet endroit empechent votre pierre de fonctionner"); return;}
        else
        {
        location LastRecallUsed; // Set the location variable
        LastRecallUsed = GetLocation(oActivator); // Get the location, fill up the variable
        SetLocalLocation(oActivator,"LastRecallUsed",LastRecallUsed); // Set where the portal jump the player to
        SetLocalInt(oActivator,"HasRecalled",1); // To make the recall poretal tells the player if he want to go back
        ActionCastFakeSpellAtObject ( SPELL_DISMISSAL , oActivator);
        int bFighting = 0;
        int nHD = GetHitDice(oActivator);

        if (GetIsInCombat(oActivator)) bFighting = 1;
        //{SendMessageToPC(oActivator, "Vous n'arrivez pas a vous concentrer suffisamment pendant le combat pour utiliser cette pierre de rappel"); return;}
        int nXP = GetXP(oActivator);
        int nPenalty = 0;
        int nGoldPenalty = nHD * nHD * nHD;
        if (bFighting) nPenalty = nHD*nHD;
        if (bFighting) nGoldPenalty *= 4;
        // * You can not lose a level with this respawning
        int nMin = ((nHD * (nHD - 1)) / 2) * 1000;
        if (GetGold(oActivator)<nGoldPenalty)
            nGoldPenalty = GetGold(oActivator);

        int nNewXP = nXP - nPenalty;
        if (nNewXP < nMin)
            nNewXP = nMin;
        SetXP(oActivator, nNewXP);
        TakeGoldFromCreature(nGoldPenalty, oActivator, TRUE);

        if (bUseGoodStone) AssignCommand(oActivator,JumpToLocation(GetLocation(GetObjectByTag("pierre_sacree2")))); // Get the player to the temple
        if (bUseEvilStone) AssignCommand(oActivator,JumpToLocation(GetLocation(GetObjectByTag("pierre_mal")))); // Get the player to the temple
        if (bUseNeutralStone) AssignCommand(oActivator,JumpToLocation(GetLocation(GetObjectByTag("temple_venus")))); // Get the player to the temple
        }
    return;
    }
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
 
Ballbreaker1
Chevalier
Inscrit le: 11 Aoû 2006
Messages: 89
Répondre en citant
Posté le : 25/12/2007 18:55:01 Sujet du message :

Ah j'oubliais j'ai 2 pierre de rapel sur 3 qui ne veux pas s'activer.
merci de votre aide
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 28/12/2007 11:23:32 Sujet du message :

Ton oActivator tu l'as défini comment, et ton script tu l'as placé où ?
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Ballbreaker1
Chevalier
Inscrit le: 11 Aoû 2006
Messages: 89
Répondre en citant
Posté le : 28/12/2007 23:06:29 Sujet du message :

le script je l'ai placer dans le OnActivateItem ,mais je me demandais si c'étais pas la du pourkoi de mon problème:

NWScript :
SetLocalLocation(oActivator,"LastRecallUsed",LastRecallUsed); // Set where the portal jump the player to
        SetLocalInt(oActivator,"HasRecalled",1); // To make the recall poretal tells the player if he want to go back
        ActionCastFakeSpellAtObject ( SPELL_DISMISSAL , oActivator);
        int bFighting = 0;
        int nHD = GetHitDice(oActivator);
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
 
Ballbreaker1
Chevalier
Inscrit le: 11 Aoû 2006
Messages: 89
Répondre en citant
Posté le : 01/01/2008 20:35:31 Sujet du message :

J'arrive toujours pas a faire fonctionner les 2 autres pierre de rappel, j'ai bien regarder les tag, waypoint , et le script se compile pourtant . Si quelqu'un pourrait bien m'aider a comprendre pourquoi sa fonctionne pas j'en serais ravis merci.
 
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 32.162ms