Adventure Craft

Statut
N'est pas ouverte pour d'autres réponses.

Gouloudrouioul

Architecte en herbe
2 Juillet 2011
275
18
124
http://adventurecraft.wikkii.com/wiki/Interactable_Dialogue

Je sais pas pourquoi, ça veut pas marcher. J'ai pourtant tout essayé, mais à chaque fois que je clique sur le NPC, rien ne se passe (et je veux dire rien, aucun message dans le tchat, aucun message d'erreur, nada).
J'ai essayé d'utiliser l'exemple donné en changeant les trucs nécessaire pour voir si c'était ma syntaxe qui n'allait pas, mais pas du tout car j'ai le même problème.
Quelqu'un saurait d'où ça vient et comment faire marcher ce fucking script ?

EDIT : J'ai un deuxième problème relatif aux NPC's. J'ai envie de faire en sorte que l'un des NPC's se déplace d'une direction à une autre infiniment, afin de donner une impression de mouvement continu.
Voici le script que j'ai utilisé :

Code:
if (etat_pecno == 1)
{
entity.pathToBlock(-2, 43, -7)
etat_pecno = 2
}

if (etat_pecno == 2)
{
entity.pathToBlock(3, 43, -7)
etat_pecno = 1
}

Sachant que j'ai un autre script sur OnNewSave indiquant :

Code:
etat_pecno = 1;

Bon. Très logiquement, avec ce script, le NPC est censé se déplacer à la location donnée et changer son état 1 en état 2 une fois arrivé. Ensuite, le fait qu'il soit en état 2 est censé le faire se déplacer à l'autre location, et changer son état 2 en état 1... Et ainsi de suite.
Sauf qu'il ne fait qu'une fois l'aller retour, puis plus rien... Je ne comprends pas comment régler ça, peut être qu'un pro du script pourrait m'éclairer (ptibiscuit :D ?).
 

etienne520

Aventurier
15 Mai 2011
93
1
3
Version mise à jour ? Des nouveautés ? De nouvelles astuces ? Ptibiscuit, j'attends ta réponse. Merci de ta compréhension en espérant que tu remets tes petite jambes sur ce sujet.
 

Ptibiscuit

Modérateur sucre vanillé
11 Mars 2011
620
25
13
http://adventurecraft.wikkii.com/wiki/Interactable_Dialogue

Je sais pas pourquoi, ça veut pas marcher. J'ai pourtant tout essayé, mais à chaque fois que je clique sur le NPC, rien ne se passe (et je veux dire rien, aucun message dans le tchat, aucun message d'erreur, nada).
J'ai essayé d'utiliser l'exemple donné en changeant les trucs nécessaire pour voir si c'était ma syntaxe qui n'allait pas, mais pas du tout car j'ai le même problème.
Quelqu'un saurait d'où ça vient et comment faire marcher ce fucking script ?

EDIT : J'ai un deuxième problème relatif aux NPC's. J'ai envie de faire en sorte que l'un des NPC's se déplace d'une direction à une autre infiniment, afin de donner une impression de mouvement continu.
Voici le script que j'ai utilisé :

Code:
if (etat_pecno == 1)
{
entity.pathToBlock(-2, 43, -7)
etat_pecno = 2
}

if (etat_pecno == 2)
{
entity.pathToBlock(3, 43, -7)
etat_pecno = 1
}

Sachant que j'ai un autre script sur OnNewSave indiquant :

Code:
etat_pecno = 1;

Bon. Très logiquement, avec ce script, le NPC est censé se déplacer à la location donnée et changer son état 1 en état 2 une fois arrivé. Ensuite, le fait qu'il soit en état 2 est censé le faire se déplacer à l'autre location, et changer son état 2 en état 1... Et ainsi de suite.
Sauf qu'il ne fait qu'une fois l'aller retour, puis plus rien... Je ne comprends pas comment régler ça, peut être qu'un pro du script pourrait m'éclairer (ptibiscuit :D ?).
Il faut que tu mettes des ; en fin d’instruction. Ca devient donc:
if (etat_pecno == 1)
{
entity.pathToBlock(-2, 43, -7);
etat_pecno = 2;
}

if (etat_pecno == 2)
{
entity.pathToBlock(3, 43, -7);
etat_pecno = 1;
}
Par contre, au lieu de mettre des valeurs absolues comme valeur (3, 43, -7), tu peux essayer d'utiliser sa position actuelle, en gros, ça donnerais:
entity.pathToBlock(entity.x + 1, entity.y, entity.z);
Ainsi, tu peux utiliser ton script sur n'importe quel personne.
Concernant ton problème, dans quel évènement places-tu ton script ?
 

Gouloudrouioul

Architecte en herbe
2 Juillet 2011
275
18
124
Merci d'essayer de m'aider :)
Par contre ça ne marche toujours pas, si je fais ce que tu me dis le pnj reste immobile (sans qu'il y ait pour autant de message d'erreur), comme avant.
J'ai peut être trouvé d'où ça venait : vu que le pnj change directement son état à chaque fois qu'il... change son état, il y a un conflit. Du coup j'ai essayé de corriger le script comme ça :

Code:
if (etat_pecno == 1)
{
entity.pathToBlock(-77, 71, 27);
}

if entity.haspath(-77, 71, 27);
{
etat_pecno = 2;
}

if (etat_pecno == 2)
{
entity.pathToBlock(-81, 71, 27);
}

if entity.haspath(-81, 71, 27);
{
etat_pecno = 1;
}

Là en revanche il y a un message d'erreur, et je n'arrive pas à comprendre d'où ça vient.
Par contre j'ai pas compris quand tu dis que je peux le remplacer par ça : entity.pathToBlock(entity.x + 1, entity.y, entity.z); . Je remplace quoi par quoi où ça :D ?

Pour l'autre problème, je veux en fait faire un dialogue interactif tout simple, avec oui et non comme choix possible.
Je sais que ce n'est pas mon script le problème car 1/ je l'ai montré à d'autres personnes et elles n'ont rien vu qui clochait et 2/je l'ai testé sur une autre carte et ça marchait parfaitement. Ce serait donc un autre script qui rentrerait en conflit avec celui-ci, mais comme je suis une bille en script je n'arrive pas à savoir lequel. Tu ne saurais pas quel genre de script pourrait être susceptible de l'annuler ?
 
Statut
N'est pas ouverte pour d'autres réponses.