Fan_Rod27
Inscrit le: 10 Sep 2008
Messages: 45
Localisation: Loin, loin...
Posté le: 10/01/2009 22:38 Sujet du message: Grimper à une corde
Bonsoir,
Dans le cadre d'un village suspendu, j'aurais besoin de créer un chemin d'accès qui aurait la forme d'une corde qu'on utiliserait pour nous conduire dans les arbres.
Pour ce faire, j'ai choisis le placeable corde, que j'ai mis comme je voulais, je l'ai rendu utilisable, mais le problème est que je ne sais pas comment faire pour que lorsque je clique dessus, le Pj soit transporté directement en haut... je suppose que c'est un script, mais lequel
Vu que je m'y connais pas du tout, je prefère vous demander.
En vous remerciant d'avance,
Fan_Rod
Argyl
Inscrit le: 26 Juil 2006
Messages: 347
Posté le: 11/01/2009 12:47 Sujet du message:
Un truc dans les scripts dans les JumpToLocation quelque chose placé dans le OnUsed de la corde.
Laban
Modérateur
Inscrit le: 03 Juin 2007
Messages: 103
Posté le: 11/01/2009 21:58 Sujet du message:
Je te passe demain le script complet. Mais Argyl a décrit la chose.
En gros, tu as les éléments suivants :
# ton placeable interactif, sur lequel tu ajoutes une variable STRING avec le tag du waypoint où tu veux téléporter le joueur. Par ex : "wp_monWayPoint"
# un script placé sur l'événement onUsed de ton placeable.
Quand tu utilises le placeable, le script lit le tag, récupère le waypoint et te téléporte. Hop.
PS : pense à passer tes placeables en indestructible / Plot.
Laban
Modérateur
Inscrit le: 03 Juin 2007
Messages: 103
Posté le: 12/01/2009 9:24 Sujet du message:
Voici le code. Tu places sur l'échelle comme convenu le script et les variables suivantes :
JUMP_TARGET (string) : le tag (unique) du waypoint de destination
EFFECT (int) : placé à 0, ne joue pas un effet visuel de téléportation
Code: |
// e_ou_generic_portal
// copyright (C) 2006 khalidine.com
// Description: Jumps the user to the waypoint specified by string variable JUMP_TARGET
// Place this in the "on used" event of a placeable
// Prereqs: The portal must have a string variable named "JUMP_TARGET"
// which contains the name of a target waypoint.
// If the local int variable NO_EFFECT is set, the visual effect will not be displayed
void main()
{
object oPC = GetLastUsedBy();
string tag = GetLocalString(OBJECT_SELF, "JUMP_TARGET");
object target = GetObjectByTag(tag);
if (!GetIsObjectValid(target)) {
// debug; will be deleted in final version.
SendMessageToPC(oPC, "ERROR: Invalid JUMP_TARGET: " + tag);
return;
}
string sEffect = GetLocalString(OBJECT_SELF, "EFFECT");
location loc = GetLocation(target);
AssignCommand(oPC, ClearAllActions(TRUE));
if (sEffect == "") {
AssignCommand(oPC, ActionJumpToLocation(loc));
} else {
// This particular visual effect may not work in NWN2.
// If not, we'll find something suitable
effect vfx = EffectVisualEffect(VFX_HIT_AOE_ABJURATION); // may not work.
ApplyEffectToObject(DURATION_TYPE_INSTANT, vfx, oPC);
DelayCommand(1.5, AssignCommand(oPC, ActionJumpToLocation(loc)));
}
}
|
Fan_Rod27
Inscrit le: 10 Sep 2008
Messages: 45
Localisation: Loin, loin...
Posté le: 12/01/2009 17:30 Sujet du message:
Ok je teste ça.
J'avais déjà testé avec un autre script, mais je crois que ça ne marchait pas car le waypoint était en hauteur
En gros le Pj arrivait à l'endroit même où le wp se trouvait, mais en contrebas... vous auriez une idée de solution si ça le refait?
Encore merci d'avance
Argyl
Inscrit le: 26 Juil 2006
Messages: 347
Posté le: 12/01/2009 18:22 Sujet du message:
Place le WP légèrement au dessus du plan où il doit atterrir, il se dépose sur le walkmesh tout seul (c'est instantané).
Fan_Rod27
Inscrit le: 10 Sep 2008
Messages: 45
Localisation: Loin, loin...
Posté le: 12/01/2009 18:31 Sujet du message:
Petit problème, lorsque j'utilise la corde, ça me met: error jump_target...
Qu'est-ce qui ne va pas? Je pense avoir fait tout comme laban m'a dit, bien que visiblement ce ne soit pas le cas...