Hors-sujet
Demande à Inny par MP le statut de moddeur en herbe que Paneb puisse ensuite déplacer le sujet dans la Forge, à sa place. La Forge est le sous-forum dédié au modding du site et il est inaccessible aux simples confrères. Il y a d'ailleurs une catégorie Scripts dédiée à ce genre de question.
Tant qu'à être ici, en guise de cadeau de future bienvenue dans la Forge, une petite réponse :
Donc, si j'ai bien compris ton sort, tu as un marqueur situé dans un manoir (AdsMark002 au début).
Quand tu te téléporte, tu places AdsMark001 à l'emplacement initial du joueur pour pouvoir revenir et tu envois le joueur au manoir. Pour le retour, tu veux le renvoyer là où il était. C'est ça?
Tout d'abord, est-ce que tes propriétés sont remplies? (double-clic sur le nom du script dans la fenêtre d'édition de l'effet magique pour vérifier et éventuellement les remplir).
Pour pouvoir utiliser la variable globale, il faut l'avoir également créé dans le CK. Les variables globales sont des objets présents dans l'esp au même titre que les race, cell, weapons, armors, armor addon...etc... Donc as-tu créé la variable globale? (dans l'explorateur d'objets, sous miscellaneous pour vérifier). Elle ne doit surtout pas avoir la case "constant" de cochée sinon le script ne pourra pas agir dessus.
Autre petit truc, pour être sûr de ne pas se mélanger entre les variables globales qui doivent être des entiers et celles qui sont de type float, il est mieux d'utiliser getvalueint() et setvalueint() pour les entiers et getvalue() et setvalue() pour les float afin de mieux les repérer dans les scripts.
► Afficher le texte
ScriptName AdsScriptTeleportation Extends activemagiceffect
{Sort de téléportation au manoir}
Actor Property PlayerREF Auto
ObjectReference Property AdsMark001 Auto
ObjectReference Property AdsMark002 Auto
GlobalVariable Property AdsVarTele Auto
Event OnEffectStart(Actor akTarget, Actor akCaster)
If AdsVarTele.GetValueint() == 0
AdsMark001.MoveTo(PlayerREF)
PlayerREF.MoveTo(AdsMark002)
AdsVarTele.SetValueInt(1)
ElseIf AdsVarTele.GetValueint() == 1
PlayerREF.MoveTo(AdsMark001)
AdsMark001.MoveTo(AdsMark002)
AdsVarTele.SetValueInt(0)
EndIf
EndEvent
A mon avis, tu n'as pas besoin de renvoyer ton marqueur n°1 dans le manoir à l'issue du retour vers le 1er emplacement de téléportation vu qu'il est censé être placé au niveau du joueur lors de l'utilisation suivante... donc, tu dois pouvoir retirer la ligne soulignée.
Ensuite, le soucis est que si tu te barres du manoir sans utiliser le sort de téléportation pour le retour, la prochaine utilisation de celui-ci te renverra à l'emplacement de la précédente téléportation et non au manoir... Il faudrait peut-être prévoir la possibilité de remettre la variable globale AdsVarTele à 0 si le joueur change de cell par exemple (quitte le manoir ou ses environs)...
Si jamais les vérifications faites et la très légère modification de script n'ont rien donné, poste plus de détails afin que nous puissions trouver rapidement la solution.
Hors-sujet
N'oublies pas de demander le statut de moddeur en herbe à Inny surtout, que ce sujet puisse rejoindre sa place...