JeuxOnLineForumsPlusConnectés : 410 (sites) | 769 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
Avatar de Acidamere
Acidamere
Alpha & Oméga
 
Avatar de Acidamere
 

Montreur d'ours

Voilà, l'idée est la suivante : Créer un montreur d'ours (avec son ours bien sur ) qui s'adresse au PC lorsque ce dernier passe dans un trigger. Dans le dialogue (dl_winnie) le PC peut ou non accepter de payer 1po. S'il paye, alors se déclenche un script montrant l'ours parcourir disons... 3 waypoints, et faire une animation (genre se coucher) à chaque arrêt.

J'ai donc commencé par ça :

Code PHP:
void main()
{
object oPC GetEnteringObject();
    if (
GetIsPC(oPC))
    {
    
ActionStartConversation(oPC"dl_winnie",TRUE);
    }

dans le On Enter du trigger.

Mais pour la suite... (pour l'animation, à part lui faire faire le mort et le faire respawner je sèche...)

Zavez une idée de comment boucler ce script ?
Lien direct vers le message - Vieux
Avatar de Acidamere
Acidamere
Alpha & Oméga
 
Avatar de Acidamere
 
Personne n'aime les montreurs d'ours par ici ?

Tant pis, dans le dialogue du NPC je lui ferais summoner un poulet maléfique que l'ours mettra en pièce... ça c'est du spectacle !

Sinon j'ai un autre soucis, dans le script ci-dessus, lorsque le PC entre dans le trigger, la fenêtre de dialogue s'affiche bien, mais disparaît aussitôt et le PC est obligé de relancer la conversation depuis le début en adressant la parole au montreur.

Qu'est-ce que j'ai mal fait dans ce script ?

Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
bien ton script va bien... ca doit merder autre part je pense

pour le premier truc :

au script de déclanchement de la fin de conversation ou le pc dit oui :
Code PHP:
void main()
{
    
object oPC GetPCSpeaker();
    
object oNPC OBJECT_SELF;
    
object oBear GetNearestObjectByTag("TAG_DE_L'OURS");
 
    
TakeGoldToCreature(oPC1);
   
    
AssignCommand(oBearClearAllActions());
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WAYPOINT1"));
    
AssignCommand(oBearActionPlayAnimation(ANIMATION_VOULUE));
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WAYPOINT2"));
    
AssignCommand(oBearActionPlayAnimation(ANIMATION_VOULUE));
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WAYPOINT3"));
    
AssignCommand(oBearActionPlayAnimation(ANIMATION_VOULUE));

Lien direct vers le message - Vieux
Avatar de Acidamere
Acidamere
Alpha & Oméga
 
Avatar de Acidamere
 
Merci.

mais ça compile pas...

Citation:
sc_ours.nss(8): ERREUR : UNKNOWN STATE IN COMPILER
J'ai enlevé la ligne

Code PHP:
TakeGoldToCreature(oPC1); 
car le PNJ prenais déjà la pièce dans un noeud antérieur de la conv', voilà donc ce que ça donne :

Code PHP:
void main()
{
    
object oPC GetPCSpeaker();
    
object oNPC OBJECT_SELF;
    
object oBear GetNearestObjectByTag("winnie");

    
AssignCommand(oBearClearAllActions());
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WP_OURS1"));
    
AssignCommand(oBearActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT));
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WP_OURS2"));
    
AssignCommand(oBearActionPlayAnimation(ACTION_REST));
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WP_OURS3"));
    
AssignCommand(oBearActionPlayAnimation(ACTION_SIT));

J'ai voulu essayé différentes animations pour voir lesquelles fonctionnaient le mieux sur un ours, mais comme c'est la ligne 8 qui coince avec le premier WP...
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
recompte les parenthèse

assign =>1
actin... =>2
getbytag=>3
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
vi j'ai oublié des parenthèses

Code PHP:
void main()
{
    
object oPC GetPCSpeaker();
    
object oNPC OBJECT_SELF;
    
object oBear GetNearestObjectByTag("winnie");

    
AssignCommand(oBearClearAllActions());
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WP_OURS1")));
    
AssignCommand(oBearActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT));
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WP_OURS2")));
    
AssignCommand(oBearActionPlayAnimation(ACTION_REST));
    
AssignCommand(oBearActionMoveToObject(GetObjectByTag("WP_OURS3")));
    
AssignCommand(oBearActionPlayAnimation(ACTION_SIT));

ca devrait aller mieux
Lien direct vers le message - Vieux
Avatar de Acidamere
Acidamere
Alpha & Oméga
 
Avatar de Acidamere
 
Ah vi, merci, j'essaye ce soir.

depuis une semaine je compte les { et les } mais pas les ( ni les ). bref, faut que je compte...



ça marche tip top, et franchement, voir un gros nounours se promener parmis les passants et se rouler par terre c'est délire !

Il faut juste changer les deux dernières anim. La première lui fait faire le mort, et après j'en ai mis une dont je ne me rappelle plus le nom...mais qui le fais se rouler par terre j'éditerai quand je l'aurai retrouvé. Quant à la troisième, je cherche une anim originale, mais Bioware n'a pas prévue de ANIMATION_LOOPING_PLAYWITHBALLS... dommage
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Montreur d'ours
   

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 09h14.
   

© 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