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:28:10


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Kamu d'Ishtar
Héros
Inscrit le: 07 Jan 2005
Messages: 281
Localisation: Citée des lumières d'Ishtar, Montagnes de Niork.
Répondre en citant
Posté le : 09/08/2007 11:17:50 Sujet du message : Retour à son point de départ avec une pierre de rappel.

Hello voilà ce qui ce passe, j'ai créé une pierre de rappel pour retourner à mon poinr de départ.

Et je voudrais pouvoir, après avoir utilisé un téléporteur retouner d'où je viens.

J'ai trouvé ce script dans le chapitre1 :

Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.
Spoiler :
NWScript :
int CanAffordIt()
{
    string sTag = GetTag(GetModule());
    int nCost = 0;
    if (sTag == "Chapter1" || sTag =="ENDMODULE1")
    {
        nCost = 50;
    }
    else
    if (sTag == "Chapter2" || sTag =="ENDMODULE2")
    {
        nCost = 150;
    }
    else
    if (sTag == "Chapter3" || sTag =="ENDMODULE3")
    {
        nCost = 400;
    }
    // * remove the gold from the player
    // * I'm having the player remove it from himself
    // * but since I'm also destroying it, this will work
    if (GetGold(GetPCSpeaker()) >= nCost)
    {
        TakeGold(nCost, GetPCSpeaker());
        return TRUE;
    }
    return FALSE;
}

void main()
{
  CanAffordIt();
  location lLoc = GetLocalLocation(GetPCSpeaker(), "NW_L_LOC_RECALL");
  // * Portal stores last location to jump to for future players
  SetLocalInt(OBJECT_SELF, "NW_L_LOC_EVERUSED", 1);
  SetLocalLocation(OBJECT_SELF, "NW_L_LOC_LAST_RECALL", lLoc);
  ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_UNSUMMON), lLoc);
  AssignCommand(GetPCSpeaker(), JumpToLocation(lLoc));
}
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.


Qu'est-ce qu'il faut que je change pour que ça marche ?

Merci d'avance.
_________________
"Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Mythyzyn
Héros
Inscrit le: 23 Jan 2005
Messages: 292
Localisation: Lyncya
Répondre en citant
Posté le : 09/08/2007 12:53:44 Sujet du message :

Qu'appelles tu "ton point de départ" ?

Si c'est en endroit fixe référencé par un WP, c'est très simple.

Sinon il faut stocker la localisation de départ sur le PJ et c'est légérement plus complexe.
_________________
NwN2 - Lyncya 3 - La Guerre du Crystium
 
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 : 09/08/2007 13:32:27 Sujet du message :

NWScript :
void main()
{
object oPC = GetLastUsedBy();
object oWP = GetObjectByTag("WP_DE_DEPART");
location lWP = GetLocation(oWP);
AssignCommand(oPC, JumpToLocation(lWP));
}
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.


Celui la, pour aller directement à un WP

NWScript :
void main()
{
object oPC = GetLastUsedBy();
location lWP = GetCampaignLocation("WP_DEPART", GetName(oPC)+"_"+GetPCPlayerName(oPC), oPC);
AssignCommand(oPC, JumpToLocation(lWP));
}
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.


La j'ai mit une variable persistente, car une local, tu risques pas de retrouver ton point après un crash. Par contre, faut faire gaffe de pas trop avoir de variable persistente avec celle de NWN, car tu risques d'avoir du lag vu que ces persistentes sont très lourde ! Vaut mieux utiliser une base de donnée =)
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Kamu d'Ishtar
Héros
Inscrit le: 07 Jan 2005
Messages: 281
Localisation: Citée des lumières d'Ishtar, Montagnes de Niork.
Répondre en citant
Posté le : 09/08/2007 16:19:18 Sujet du message :

Attends j'ai pas tout compris là !

Tu peux m'expliquer ce que tu entends par :
Citation :
La j'ai mit une variable persistente, car une local, tu risques pas de retrouver ton point après un crash. Par contre, faut faire gaffe de pas trop avoir de variable persistente avec celle de NWN, car tu risques d'avoir du lag vu que ces persistentes sont très lourde ! Vaut mieux utiliser une base de donnée =)
Merci !
_________________
"Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Kamu d'Ishtar
Héros
Inscrit le: 07 Jan 2005
Messages: 281
Localisation: Citée des lumières d'Ishtar, Montagnes de Niork.
Répondre en citant
Posté le : 14/08/2007 11:08:42 Sujet du message :

Hello je relance mon post, je m'explique plus clairement. Sad

J'ai créé un donjon énorme avec plusieurs niveau (environ une trentaine), et quand j'utilise ma pierre de rappel, je me retrouve à l'entrée de mon donjon (où il y à les compagnons d'armes, les vendeurs...).

Et le problème c'est que je voudrais (après avoir passé le portail où je suis arrivé), retourner à l'endroit d'où je suis partit.

Je voudrais faire ce qu'on fait dans les mods officiels (on utilise la pierre, on se retrouve au temple, on reprends le portail, on retourne en plein combat).

J'espère que je me suis mieux expliqué ! Very Happy

Merci d'avance.
_________________
"Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 : 14/08/2007 13:48:07 Sujet du message :

Quand le joueur utilise la pierre, juste avant la téléportation, tu mets sa position sur une variable :

SetLocalLocation(oPC, "Location_Donjon", GetLocation(oPC));

(heu par contre, si ton donjon est répartie en plusieurs maps, faudra surement prendre le tag de la carte)

Et ensuite, tu teleportes le joueur grâce à ses informations. Si tu comprends pas, j'te fais le script quand j'serais sur l'éditeur, surement ce soir.

Sbizz
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Anthraxcite
Légende vivante
Inscrit le: 12 Juin 2004
Messages: 372
Localisation: Belgique
Répondre en citant
Posté le : 14/08/2007 13:50:22 Sujet du message :


Black Knight a écrit :
Quand le joueur utilise la pierre, juste avant la téléportation, tu mets sa position sur une variable :

SetLocalLocation(oPC, "Location_Donjon", GetLocation(oPC));

(heu par contre, si ton donjon est répartie en plusieurs maps, faudra surement prendre le tag de la carte)
Le type location contient le Tag de la map ainsi que le vector pour la position, nulle besoin de sauvegarder le tag à part.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger 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 : 14/08/2007 13:51:53 Sujet du message :

Autant pour moi Embarassed

J'ai jamais utilisé cette variable Razz
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Kamu d'Ishtar
Héros
Inscrit le: 07 Jan 2005
Messages: 281
Localisation: Citée des lumières d'Ishtar, Montagnes de Niork.
Répondre en citant
Posté le : 14/08/2007 21:55:20 Sujet du message :

Ben si possible, pourrais-tu me le faire car j'essai mais j'arrive à rien de concluant.

Merci d'avance.
_________________
"Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 : 15/08/2007 13:22:48 Sujet du message :

Juste avant sa téléportation, tu fais ça :

NWScript :
SetLocalLocation(oPC, "Loc_donjon", GetLocation(oPC));
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.


et quand le mec utilise le portail, tu mets ça :

NWScript :
void main()
{
object oPC = GetLastUsedBy();
location lLoc = GetLocalLocation(oPC, "Loc_donjon");
AssignCommand(oPC, JumpToLocation(lLoc));
}
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.


De rien =)

BK
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Kamu d'Ishtar
Héros
Inscrit le: 07 Jan 2005
Messages: 281
Localisation: Citée des lumières d'Ishtar, Montagnes de Niork.
Répondre en citant
Posté le : 15/08/2007 18:58:22 Sujet du message :

Ok, et ben je te remercie je vais essayer ça dès ce soir !
_________________
"Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar."
 
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 59.214ms