Montreur d'ours

Répondre
Partager Rechercher
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 ?
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 ?

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));

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...
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
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
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés