Author Topic: Help with visual effect on conversations  (Read 498 times)

Legacy_Wistar

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
Help with visual effect on conversations
« on: August 14, 2010, 08:52:13 pm »


               Hi Everyone.

First of all I´m a newcomer in scripting but i think my question is a little hard.
i´m working in a scholar project with Aurora. I try to study the behavior in a virtual situation so i´ve made a module but i have a few problems.

-- When execute the ActionStartConversation with a NPC or  the PC himself, it always appears a blue circle around the creature who is speaking (In the second case, only qhen the PC is running). I need that this circle never appear when activate a conversation.

-- If the conversation was scripted between a PC and a placeable, the blue circle doesn't appear but the PC turn to face the object which he is speaking with. I need that in any conversation the PC never face the object.

Is it Posible?
I would aprecciate any suggestion or comment.

Thanks.
               
               

               
            

Legacy_420

  • Sr. Member
  • ****
  • Posts: 370
  • Karma: +0/-0
Help with visual effect on conversations
« Reply #1 on: August 15, 2010, 05:54:51 pm »


               Most likely the blue circle is hard coded. But for the second part you can use the GetFacing() function and store the result as a local variable. Then when the conversation starts use SetFacing() to make the PC facing the direction it was in before the conversation started.



-420
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Help with visual effect on conversations
« Reply #2 on: August 15, 2010, 07:05:37 pm »


               Yeah I think the blue circle is really hardcoded, didnt saw the texture in bifs...



For facing I got better idea but its not proofed. I would try telling the PC to converse with himself and then in conversation editor I would set tag of the speaker to who I need to speak. Give it a chance.
               
               

               
            

Legacy_Genisys

  • Hero Member
  • *****
  • Posts: 961
  • Karma: +0/-0
Help with visual effect on conversations
« Reply #3 on: August 17, 2010, 02:40:57 pm »


               The easiest way to handle this would be to give the PC a tagbased item (temporarially), then from the acquire item event, for that item, you would need the following function...  (Change enter_conversation_file_name to the actual name of the conversation file you will be using)

////////////////////////////////////////////////////////////////////
object oPC = GetModuleItemAcquiredBy();

object oItem;
oItem = GetModuleItemAcquired();

if (!GetIsPC(oPC)) return;  //Only for PCs (just in case)

ActionStartConversation(oPC, "enter_conversation_file_name");
/////////////////////////////////////////////////////////////////////
The Item would start the conversation, so give the item the name you wish to appear in the conversation (Whom is talking with the PC?)

You would remove the item in the first line of the conversation (instantaneously) '<img'>

This would have the PC start the conversation with themself.. no blue part or direction changing..

Is this what your looking for?
               
               

               


                     Modifié par Genisys, 17 août 2010 - 01:46 .
                     
                  


            

Legacy_Wistar

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
Help with visual effect on conversations
« Reply #4 on: August 18, 2010, 10:58:59 pm »


               Thanks for Helping me.



Shadow: As you say, I scripted AssignCommand(PC, ActionStartConversation (PC, "conversation_file")); But If the PC is running or walking, the blue circle appear (the first problem).



Genisys: I tried your solution but, unfortunately, I couldn't make it work. It doesn't mean that it is wrong, but I think it's a little advanced to me. I didn't know where to put the function, I couldn't set a ResRef to the item, or maybe is the version (v1.68 in spanish). I think I had to check more the functions related to conversations and module properties.



420: I tried your solution and it, actually, works perfectly, this is the script that i'm using: DelayCommand(0.05, AssignCommand(PC, SetFacing(GetLocalFloat(PC, "local_variable"))))); 'cause it works well only with the delay.



Thanks again. I'm really surprised of the way this forum works.

Congratulations.
               
               

               
            

Legacy_Wistar

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
Help with visual effect on conversations
« Reply #5 on: August 20, 2010, 11:34:48 pm »


               Hello again.



Genisys: I´ve read the "Grimlar - Introduction To Tag Based Scripting", and the "Programming Special Items Using Tag-Based Scripts". and I can tell you that your solution works good. thank you again.



On the other hand, I would like to know if there is a way to finish, or stopping, a conversation. Especifically, when execute AssignCommand(PC, ActionStartConversation(PC, "conversation_file")); I mean a conversation with himself.  In the case that it is a one-liner conversation (the conversation appears like if the PC is thinking), it lasts over his head for 7 seconds. I need that this last for 4 & 5 seconds.



Is it possible?
               
               

               
            

Legacy_420

  • Sr. Member
  • ****
  • Posts: 370
  • Karma: +0/-0
Help with visual effect on conversations
« Reply #6 on: August 22, 2010, 01:46:50 am »


               

Wistar wrote...

On the other hand, I would like to know if there is a way to finish, or stopping, a conversation. Especifically, when execute AssignCommand(PC, ActionStartConversation(PC, "conversation_file")); I mean a conversation with himself.  In the case that it is a one-liner conversation (the conversation appears like if the PC is thinking), it lasts over his head for 7 seconds. I need that this last for 4 & 5 seconds.

Is it possible?

If you want a one liner that only lasts a few seconds use FloatingTextStringOnCreature() instead of a one-liner conversation.

-420
               
               

               
            

Legacy_Wistar

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
Help with visual effect on conversations
« Reply #7 on: August 23, 2010, 04:49:51 pm »


               Ok 420. Thanks.



But actually, I had to use in some areas the next:

- AssignCommand(oPC, SetCameraFacing(-1.0, 7.0, 60.0, CAMERA_TRANSITION_TYPE_SNAP));

Then, the camera is so close to the PC. So, If I use FloatingTextStringOnCreature() the text will appear so quickly that it can´t be read.

I think is better trying to fix the period of ActionStartConversation, but i don´t know if this can be done.

Thanks.