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 20:28:55


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
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 : 25/09/2005 12:02:58 Sujet du message : Respawn en fonction de l'inventaire

Voila, j'ai une question qi doit etre toute simple je pense. Je voudrais qu'un pj respawn pas au même endroit si il a un objet spécial. Es-ce faisable ?
Merci d'avance.
_________________
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
 
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 : 26/09/2005 15:09:36 Sujet du message :

Ahh personne ne serait faire ça !! J'ai peut être demander trop facile Very Happy

(ps je ne m'énerve pas la !)
_________________
AH AH AH Je reigne sur tout !! Merde où sont mes clefs ??????
[http]
Dernière édition par tails_2 le 26/09/2005 15:19:25; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 26/09/2005 15:16:43 Sujet du message :

faut etre un peu patient, tout le monde n'est pas un pro du script comme toi.
Ah bon! T'en est pas un ?
Qu'est ce que tu attend alors ? que de g***** pensent pour toi ??
Utilise t'as tete est ton clavier, et quand je serais calmé, tu auras peut etre une reponse...
_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
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 : 26/09/2005 15:18:57 Sujet du message :

Oula désoler. mais je m'énerve pas du tout, désoler si c'est l impréssion. C'était juste histoire de lever le challenge. Mais tu as raison je vais continuer de chercher par moi même.
_________________
AH AH AH Je reigne sur tout !! Merde où sont mes clefs ??????
[http]
Dernière édition par tails_2 le 26/09/2005 15:34:42; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 26/09/2005 15:20:15 Sujet du message :

une voila une idée qu'elle est bonne, y'a que comme ca qu'on progresse.

et au fait ? C'EST QUOI NOTRE METIER ??
_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
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 : 26/09/2005 15:34:24 Sujet du message :

TUER TUER UTER !!!!! ^^

Mais sinon je pense qu'il faut partir avec le script de bas du respawn du module et y ajouter une condition qui verifi l'inventaire ca je peu le faire enfin je pense ca devrait donner un truc du genre

NWScript :
if(!HasItem, "")
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.


Mais pour ajouter une ligne disant teleporte toi au point 2 la je vois pas
_________________
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
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 26/09/2005 15:47:01 Sujet du message :

Je pense qu'un :
NWScript :

AssignCommand(oPc, ActionJumpToObject(GetObjectByTag"TAG_DU_WP));
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.



devrais faire l'affaire.

Mias je ne me suis pas encore penché sur le script du respawn donc je ne peux pas vraiment t'éclairer.

J'ai néamoins vu dans ce forum des scripts de respawn assez sympatique dont tu pourrais t'inspirer
Dernière édition par Ailesnoires le 26/09/2005 15:55:03; édité 1 fois
 
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 : 26/09/2005 15:48:34 Sujet du message :

Je vais me pencher dessus merci Very Happy
Ouais pourquoi pas ne pas ajouter ceci a la fin du script de respawn ?

NWScript :

void main()
{
if(GetTag(oObjet) == "objetspecial")

AssignCommand(oPc, ActionJumpToObject(GetObjectByTag"endroit2"));
}
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.


arff ca marche pas. J'ai une autre idee sinon. Je pourrais prendre le meme script que celui de base et rajouter une deuxieme partie qui est exactement la meme mais qui s'enclenche qu'avec l'objet et qui teleporte a l'endroit 2 donc un truc comme ca :

NWScript :
void main()
{
    object oRespawner = GetLastRespawnButtonPresser();
    ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
    ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
    RemoveEffects(oRespawner);
    //* Return PC to temple



    string sDestTag = "endroit1";
    string sArea = GetTag(GetArea(oRespawner));
    /*
      CHAPTER 1 SPECIAL CASE
    */

    if (sArea == "MAP_M1S3B")
    {
        sDestTag = "M1_WIZSPAWN";
    }
    else
    if (sArea == "Map_M1S4E" || sArea == "Map_M1S4C" || sArea == "Map_M1S4D" || sArea == "Map_M1S4F")
    {
        sDestTag = "M1_FIGSPAWN";
        ClearArena(oRespawner,sArea);
    }
    else
    /*
      CHAPTER 2 SPECIAL CASE
    */

/*
    if (sArea == "MAP_M2Q2F2" && GetDistanceBetweenLocations(Ge tLocation(GetObjectByTag(" ; ;M2Q2F2_M2Q2G")), GetLocation(oRespawner)) < 5.0 && GetLocalInt(GetModule()," NW_M2Q2E_WoodsFreed") == 0)
    {

      sDestTag = "WP_M2Q2GtoM2Q2F";
    }
    else
*/

    // * Druid Match
    if (sArea == "MAP_M2Q2E2")
    {
      sDestTag = "WP_M2Q2E_ENDDCC";
      DestroyObject(GetObjectByTag("M2Q2EWELCARFT"));
      DestroyObject(GetObjectByTag("M2Q2EHENNAFT"));
      DestroyObject(GetObjectByTag("M2Q2EJANKENFT"));
      DestroyObject(GetObjectByTag("M2Q2EELGARFT"));
      // * June 2002: Destroy pets as well
      DestroyObject(GetObjectByTag("M2Q2EWELCARFTPET"));
        DestroyObject(GetObjectByTag("M2Q2EHENNAFTPET"));
        DestroyObject(GetObjectByTag("M2Q2EJANKENFTPET"));
        DestroyObject(GetObjectByTag("M2Q2EELGARFTPET"));


      SetLocalInt(GetObjectByTag("M2Q2EJAER"),"NW_M2Q2E_LFIGHT",FALSE);
    }
    /*
      CHAPTER 3 SPECIAL CASE
    */

    else
    // * time travel dungeon past - Dungeon
    if (sArea == "M3Q2G")
    {
        sDestTag = "WP_ALTERNATE_SPWN";
    }
    // * time travel dungeon past - Grove
    else
    if (sArea == "M3Q2I")
    {
        sDestTag = "WP_ALTERNATE_SPWN";
    }
    if (GetIsObjectValid(GetObjectByTag(sDestTag)))
    {

        if (sDestTag == "endroit1")
        {
            object oPriest = GetObjectByTag("endroit1");
            //SetLocalInt(oPriest, "NW_L_SAYONELINER", 10);

            //AssignCommand(oPriest, DelayCommand(3.0,ActionStartCo nversation(oRespawner)));
            AssignCommand(oPriest, DelayCommand(2.1, PlayVoiceChat(VOICE_CHAT_TALKTOME, oPriest)));

            SetLocalLocation(oRespawner, "NW_L_I_DIED_HERE", GetLocation(GetLastRespawnButtonPresser()));
            SetLocalInt(oRespawner, "NW_L_I_DIED", 1);
            SetLocalObject(oPriest, "NW_L_LASTDIED", GetLastRespawnButtonPresser());
            // * April 2002: Moved penalty here, only when going back to the death temple
            ApplyPenalty(oRespawner);
        }
        object oSpawnPoint = GetObjectByTag(sDestTag);
        AssignCommand(oRespawner,JumpToLocation(GetLocation(oSpawnPoint)));
        // * mak
    }
    else
    {
        // * do nothing, just 'res where you are.
    }
}

////////////////////////////// ////////////////////////////// //////////////////

    if(GetTag(oObjet) == "objetspecial")
    {
    object oRespawner = GetLastRespawnButtonPresser();
    ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
    ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
    RemoveEffects(oRespawner);
    //* Return PC to temple



    string sDestTag = "endroit2";
    string sArea = GetTag(GetArea(oRespawner));
    /*
      CHAPTER 1 SPECIAL CASE
    */

    if (sArea == "MAP_M1S3B")
    {
        sDestTag = "M1_WIZSPAWN";
    }
    else
    if (sArea == "Map_M1S4E" || sArea == "Map_M1S4C" || sArea == "Map_M1S4D" || sArea == "Map_M1S4F")
    {
        sDestTag = "M1_FIGSPAWN";
        ClearArena(oRespawner,sArea);
    }
    else
    /*
      CHAPTER 2 SPECIAL CASE
    */

/*
    if (sArea == "MAP_M2Q2F2" && GetDistanceBetweenLocations(Ge tLocation(GetObjectByTag(" ; ;M2Q2F2_M2Q2G")), GetLocation(oRespawner)) < 5.0 && GetLocalInt(GetModule()," NW_M2Q2E_WoodsFreed") == 0)
    {

      sDestTag = "WP_M2Q2GtoM2Q2F";
    }
    else
*/

    // * Druid Match
    if (sArea == "MAP_M2Q2E2")
    {
      sDestTag = "WP_M2Q2E_ENDDCC";
      DestroyObject(GetObjectByTag("M2Q2EWELCARFT"));
      DestroyObject(GetObjectByTag("M2Q2EHENNAFT"));
      DestroyObject(GetObjectByTag("M2Q2EJANKENFT"));
      DestroyObject(GetObjectByTag("M2Q2EELGARFT"));
      // * June 2002: Destroy pets as well
      DestroyObject(GetObjectByTag("M2Q2EWELCARFTPET"));
        DestroyObject(GetObjectByTag("M2Q2EHENNAFTPET"));
        DestroyObject(GetObjectByTag("M2Q2EJANKENFTPET"));
        DestroyObject(GetObjectByTag("M2Q2EELGARFTPET"));


      SetLocalInt(GetObjectByTag("M2Q2EJAER"),"NW_M2Q2E_LFIGHT",FALSE);
    }
    /*
      CHAPTER 3 SPECIAL CASE
    */

    else
    // * time travel dungeon past - Dungeon
    if (sArea == "M3Q2G")
    {
        sDestTag = "WP_ALTERNATE_SPWN";
    }
    // * time travel dungeon past - Grove
    else
    if (sArea == "M3Q2I")
    {
        sDestTag = "WP_ALTERNATE_SPWN";
    }
    if (GetIsObjectValid(GetObjectByTag(sDestTag)))
    {

        if (sDestTag == "endroit2")
        {
            object oPriest = GetObjectByTag("endroit2");
            //SetLocalInt(oPriest, "NW_L_SAYONELINER", 10);

            //AssignCommand(oPriest, DelayCommand(3.0,ActionStartCo nversation(oRespawner)));
            AssignCommand(oPriest, DelayCommand(2.1, PlayVoiceChat(VOICE_CHAT_TALKTOME, oPriest)));

            SetLocalLocation(oRespawner, "NW_L_I_DIED_HERE", GetLocation(GetLastRespawnButtonPresser()));
            SetLocalInt(oRespawner, "NW_L_I_DIED", 1);
            SetLocalObject(oPriest, "NW_L_LASTDIED", GetLastRespawnButtonPresser());
            // * April 2002: Moved penalty here, only when going back to the death temple
            ApplyPenalty(oRespawner);
        }
        object oSpawnPoint = GetObjectByTag(sDestTag);
        AssignCommand(oRespawner,JumpToLocation(GetLocation(oSpawnPoint)));
        // * mak
    }
    else
    {
        // * do nothing, just 'res where you are.
    }}
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
 
trenim
Ecuyer
Inscrit le: 24 Aoû 2005
Messages: 64
Localisation: DANS TON C** !!!!
Répondre en citant
Posté le : 26/09/2005 17:16:33 Sujet du message :

Bon, avec ca, on ne devrais pas etre tres loin.

NWScript :
void main()
{
object oObject = GetObjectByTag("TagdelObjet");
object oPC = OBJECT_SELF;
object oWP = GetWaypointByTag("TagduWPdel'Objet");
if(GetHasInventory(oObject))
  {
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oPC, ActionJumpToObject(oWP));
  }
}
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.

_________________
ON EST DES MARINES !!
ON EST NAIT POUR TUER !!

C'EST QUOI NOTRE METIER ?
TUER TUER TUER !!!
 
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 : 27/09/2005 12:14:40 Sujet du message :

Arff ça ne marche pas c'est dommage mais en me creusant la cervelle j'ai trouver le moyen de ne pas me servir de script pour le respawn. Mais en tout cas merci pour l'aide c'est sympa Very Happy
_________________
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
 
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 63.157ms