Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Script qui ne marche pas ! Help ! :(
Script qui ne marche pas ! Help ! :(
Par Zandramas le 27/1/2003 à 9:49:43 (#3108960)
void main()
{
object oPc=GetEnteringObject();
object oObject=GetNearestObjectByTag(sTag="ann_haute_sorcellerie", oTarget=oPc);
if (oObject==GetObjectByTag("ann_haute_sorcellerie"))
{
location lDestination = "WP_entree_tour";
ActionMoveToLocation (lDestination, bRun=FALSE);
}
else
{
location lDestination = "WP_entree_foret";
ActionMoveToLocation (lDestination, bRun=FALSE);
}
}
Je l'est placer su le onEnter d'un triger ! :)
:( Quesque j'ai oublier ? Ou mal fait ? Parceque la j'ai chercher toute la matinée et j'ai rien vu ! :'(
Par Archamedes_Fr le 27/1/2003 à 12:43:32 (#3110163)
J'ai changé deux trois lignes.
Dans ton code, tu ne définissais ni sTag, ni oObject.
De plus, je ne suis pas très sur de cette ligne:location lDestination = "WP_entree_tour";
Pour un téléportation, ActionJumpToObject me paraît plus adapté qu'un ActionMoveToLocation
Voilà ma proposition. Comme dit, je n'ai malheureusement pas eu la possibilité de tester. Désolé.
void main()
{
string sTag="ann_haute_sorcellerie";
object oPc=GetEnteringObject();
object oTarget=oPC;
object oObject=GetNearestObjectByTag(sTag, oTarget);
if (oObject==GetObjectByTag("ann_haute_sorcellerie"))
{
object oWP = GetObjectByTag("WP_entree_tour");
AssignCommand(oPC, ActionJumpToObject(oWP));
}
else
{
object oWP = GetObjectByTag("WP_entree_foret");
AssignCommand(oPC, ActionJumpToObject(oWP));
}
}
Par Prophetia Astrae le 27/1/2003 à 13:47:38 (#3110619)
location lDestination = "WP_entree_tour";
Ceci ne fonctionnera pas.
Il faut récupérer une location:location lDestination = GetObjectLoction(GetObjectByTag("WP_entree_tour"));
Je suis pas sur de la fonction GetObjectLocation, j'ai pas Aurora avec moi là, mais c'est quelque chose dans le genre
Par sounéva le 27/1/2003 à 13:51:47 (#3110646)
object oObject=GetNearestObjectByTag("ann_haute_sorcellerie", oPc);
ca sera mieux
Par Zandramas le 27/1/2003 à 19:06:21 (#3113142)
Merciiiiii !
Zan'
Par Zandramas le 27/1/2003 à 19:20:32 (#3113267)
object oTarget=oPC;
Sinon la fonction
GetObjectLocation ();
Je l'est pas trouver ds Aurora :((
Par Prophetia Astrae le 27/1/2003 à 20:15:16 (#3113695)
Provient du message de Zandramas
J'ai esseiller avec le script d'Archamedes_Fr mais il me veut pas compiler a :
object oTarget=oPC;
(réédition pour diree qu'en effet la variable oPC n'existe pas car non déclarée, cf le post suivant)
Sinon la fonction
GetObjectLocation ();
Je l'est pas trouver ds Aurora :((
oui, autant pour moi, la fonction c'est GetLocation(), mais c'est pas dit que ça marche, dans ce cas utilise ceci:object wpSpawn = GetWaypointByTag("WP_entree_tour");
voila, j'espere que ça ira :)
location lDestination = GetLocation(wpSpawn);
Par Prophetia Astrae le 27/1/2003 à 20:29:53 (#3113827)
Bon je m'explique, dans la ligne de déclaration de oPC, on a:object oPc=GetEnteringObject();
ensuite tu fais une affectation en utilisant :object oTarget=oPC;
or oPc est different de oPC, car comme bcp de langage, le langage utilisé pour les script nwn est case sensitive, en gros il fait la difference entre les majuscule et les minucules...
C'est le truc bête qu'on met souvent longtemps a trouver :)
Bonne chance pour la suite
Prophetia
Par Zandramas le 27/1/2003 à 21:43:28 (#3114371)
Oui j'avoue j'ai copier coller ! C'est plus rapide ;)
Merci ! :)
Par sounéva le 28/1/2003 à 0:45:37 (#3115310)
Provient du message de Archamedes_Fr
void main()
{
string sTag="ann_haute_sorcellerie";
object oPC=GetEnteringObject();
object oObject=GetNearestObjectByTag(sTag, oPC);
if (oObject==GetObjectByTag("ann_haute_sorcellerie"))
{
object oWP = GetObjectByTag("WP_entree_tour");
AssignCommand(oPC, ActionJumpToObject(oWP));
}
else
{
object oWP = GetObjectByTag("WP_entree_foret");
AssignCommand(oPC, ActionJumpToObject(oWP));
}
}
pourquoi redéfinir un objet oTarget ? = a oPC
autant mettre directement le oPC dans le GetNearestObjectByTag(sTag, oPC);.........:lit:
Par Archamedes_Fr le 28/1/2003 à 12:20:06 (#3117383)
Arg juste une majuscule !!
Argll, désolé. J'ai écris trop vite. :Dpourquoi redéfinir un objet oTarget ? = a oPC
autant mettre directement le oPC dans le GetNearestObjectByTag(sTag, oPC);.........
Heu... :doute: très franchement... je sais pas à quoi je pensais... :eek:
* cherche son bonnet d'âne *
Merci pour ta correction Sounéva.
JOL Archives 1.0.1
@ JOL / JeuxOnLine