JeuxOnLineForumsPlusConnectés : 148 (sites) | 270 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
riprip
Roi / Reine
 

Waypoints

Voilà voilà j'ai deux problèmes un peu gênants:

En incarnant des pnj en tant que DM, je n'arrive pas à donner des objets aux PJs. J'ai à chaque fois un message du style: impossible de donner à votre familier, ou un truc comme ça, c'est très pénible. Comment dois-je faire ?

Autre chose: Grosse quiche débutant en scripts, je n'arrive pas à faire suivre un pnj par un autre qui bouge de WP en WP (j'ai déjà vu les autres posts à ce sujet, mon cas est désespéré...)

J'ai mis ça dans le onspawn du pnj suiveur:




void main()
oSuivi = GetObjectByTag(sd_01_PNJ1)
{

// suit le PNJ1:


float meters = 3.0;
ActionForceFollowObject(oSuivi, meters);



}

Qu'est-ce qui cloche ?
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Pour les Waypoint, le mieux, c'est que tu mette la fonction WalkWaypoints() au Pnj sur son OnSpawn, et que tu nomme les Waypoint "WP_TAG" avec TAG = le tag de la creature.

C'est la fonction Bioware, et ca marche bien ^^


ce qui cloche dans ton script, c'est :
-Soit l'absence du ';' a la fin du GetObjectByTag,
-Soit le fait que tu ai fait ta declaration au dessus du '{'
(je sais que tu peux declarer en dehors des {, mais je sais pas si le GetObjectByTag fonctionnera, lui...)

Quand a l'incarnation, je crois que ca marche avec une incarnation Full power, et non pas une incarnation normale...

A verifier...
Lien direct vers le message - Vieux
riprip
Roi / Reine
 
heuu... non

j'ai effectivement rajouté le ";" et j'ai mis la ligne dans les {} mais rien: le suiveur reste désespérément immobile...
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
A noter que tu dois pas pouvoir suivre un objet autre qu'une creature...

(a savoir : un WP n'est pas une creature ^^)

Donc, soit tu cree une creature null_human a qui tu donne le tag, soit tu utilise WalkWaypoints )
Lien direct vers le message - Vieux
riprip
Roi / Reine
 
lol, je comprend encore moins là (ça dois venir de mon titre de post qui c'est vrai a pas grand rapport, désolé )

Bon je récapitule : il y a deux pnj avec tag respectifs PNJ1 et PNJ2. Le PNJ1 fait une ronde et suit des waypoints. Le PNJ2 ne fait rien lui, hormis suivre le PNJ1.

J'ai mis le script ci-dessus dans le onspawn du PNJ1 mais ça marche pas...

voilà
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
peutêtre bien à cause du walkwaypoint qui marche parfois TROP bien, il y en a un a la fin du script de onspawn, qui demande au PNJ de suivre son WP, si il y en a pas, de tt facon ca fait clearallaction
donc, ce que tupeu faire, c'est le mettre dans le onheartbeat du PNJ 2 si tu n'as pas peur du onheartbeat ( hu hu hu )
soit euh ... enlever le walkwaypoint
sachant que de toute facon dans ce cas, si tu parle à ton PNJ2, si il se bat, si il a envi d'aller au toilette, si etc., une fois son action finit, il ne rejoindras pas le PNJ1, sauf si dans chaque cas tu place au bon endroit un

oSuivi = GetObjectByTag(sd_01_PNJ1)
float meters = 3.0;
ActionForceFollowObject(oSuivi, meters);

donc bon ... autant mettre direct dans un onheartbeat non ?
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
tu fais un GetObjectByTag(sd_01_PNJ1)


mais tu es sur que le Tag Du Pnj 1 est bien "sd_01_PNJ1" ?

Si tu en es sur (c'est important d'etre precis, ici, quand tu expose un pb : la preuve ^^), alors met des "" autour de sd_01_PNJ1 dans ton script.

Si c'est une valeur que tu recupère, alors il me faut le script entier.

Je veux bien t'aider, mais le pb, dans ce genre de cas, c'est souvent des erreur sur des choses qu'on pense acquise (Attention aux tags...)
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
tiens, c vrai ça, mais ca devrait même pas compiler dans ce cas là, sans les guillemets ... bizarre
Lien direct vers le message - Vieux
riprip
Roi / Reine
 
bhouuuu... je dois être trop nul


j'ai pourtant tout bien refait.

Sachant que le PNJ1 (tag=PNJ1) fait une ronde et suit des waypoints et que le PNJ2 (tag=PNJ2) ne fait rien lui, hormis suivre le PNJ1, j'ai mis ce script dans le onspawn du PNJ2:



void main()
{

oSuivi = GetObjectByTag(PNJ1);


// suit le PNJ1:


float meters = 2.0;
ActionForceFollowObject(oSuivi, meters);



}

Je sens que si je passe trois jours sur des détails comme ça, j'ai pas fini mon module avant 2012 moi
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
le probleme, ce que je ne comprend pas, c'est qu'un TAG c'est une chaine de caractère, une string, donc normalement c'est entre " "
la y en a pas, ca devrait même pas compiler ... tu le compile ton script

sinon remplace
Code PHP:
oSuivi GetObjectByTag(PNJ1); 
par
Code PHP:
oSuivi GetObjectByTag("PNJ1"); 
Lien direct vers le message - Vieux
riprip
Roi / Reine
 
Je l'ai fait: ça donne rien...

bha tant pis, je laisse tomber et je fais des waypoints pour les deux PNJ, en espérant qu'ils resteront ensemble dans leur progression.

En tout cas, si quelqu'un à réussi à faire un script permettant de faire suivre un pnj par un autre, je suis preneur...

merci à tous

Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
bon je vais te filer ce que j'utilise pour mes garde, c'est assez simple
Dans le OnSpawn de ton garde il faut virer les // devant
Code PHP:
SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); 
Code PHP:
void main() 

int nEvent GetUserDefinedEventNumber (); 
if (
nEvent == 1002
  { 
    
object oChef GetObjectByTag("ChefMilice_M_1"); 
      if (!
IsInConversation(OBJECT_SELF)) 
    { 
    
ActionMoveToObject(oChef); 
    } 
  } 

dans le OnConversation du garde tu met ça
Code PHP:
void main() 

    
object oChef GetObjectByTag("ChefMilice_M_1"); 
    
SpeakString ("Adressez vous a mon Chef"); 
    
ClearAllActions (); 
    
ActionMoveToObject(oChef); 

Et tu défini tes waypoints avec ton chef des gardes, ce qui fait que quand ton chef des garde va spawn, les gardes vont le repérer et le suivre automatiquement. Si quelqu'un parle a un de tes gardes, il va l'envoyer parler au chef et reprendre ça marche tout seul.
C'est tout con mais ça marche tout seul, comme je le dis toujours rien ne vaux la simplicité

Jaha Effect
Lien direct vers le message - Vieux
riprip
Roi / Reine
 
ça marche ! merci jaha

Je vais étudier ton oeuvre de près
Lien direct vers le message - Vieux
Avatar de B L I N G !
B L I N G !
Roi
 
Avatar de B L I N G !
 
pour la petite histoire
Code PHP:
object osuivi GetObjectByTag("........"); 
ton script devrait marché aussi quoi
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Waypoints
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 06h11.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite