Aller au contenu

Photo

Annoying item activation bug


  • Veuillez vous connecter pour répondre
7 réponses à ce sujet

#1
AaronH

AaronH
  • Members
  • 115 messages

I have a script which activates a convo when an item is used by pulling the convo name from the items variables.

 

It works perfectly, but one annoying bug is;

 

When activated, my character says "Good on ye, hello" (example). Which at first, is odd but only happens once and goes away.

 

But unfortunately it doesn't. After activating any item, my character starts stuttering the line again "Good on ye, hello" every now and then, repeating the line at around 10 times a second. It interrupts everything I do, including movement. 

 

I thought I could remove the VO on the conversation but it didn't work, so I'm curious what else could be the problem?



#2
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages
Hi AaronH,

If you are using the following function to start your conversation, then it gives a "PlayHello" by default. You need to pass the FALSE parameter when calling this function to stop any "hello" like comments.

EDIT: I am not sure why it would be "repeating", but that may be another issue. (Post your script?)

Cheers,
Lance.

// Starts a conversation with oObjectToConverseWith - this will cause their
// OnDialog event to fire.
// - oObjectToConverseWith
// - sDialogResRef: If this is blank, the creature's own dialogue file will be used
// - bPrivateConversation
// Turn off bPlayHello if you don't want the initial greeting to play
void ActionStartConversation(object oObjectToConverseWith, string sDialogResRef="", int bPrivateConversation=FALSE, int bPlayHello=TRUE, int bIgnoreStartDistance=FALSE, int bDisableCutsceneBars=FALSE);

#3
AaronH

AaronH
  • Members
  • 115 messages
//Script to have items call convos
void main()
{
 //Get the PC!
 object oPC = GetItemActivator();
 //Takes the convo as a variable called "convo" from the item
 string convo = GetLocalString(OBJECT_SELF, "convo");
 
 //Tell the PC to start a conversation
 AssignCommand(oPC, ActionStartConversation(oPC, convo));
}


#4
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

//Script to have items call convos
void main()
{
 //Get the PC!
 object oPC = GetItemActivator();
 //Takes the convo as a variable called "convo" from the item
 string convo = GetLocalString(OBJECT_SELF, "convo");
 
 //Tell the PC to start a conversation
 AssignCommand(oPC, ActionStartConversation(oPC, convo));
}


Hi AaronH,

I would say that is your problem then. Try this instead:-
 
void main()
{
//Get the PC!
object oPC = GetItemActivator();
//Takes the convo as a variable called "convo" from the item
string convo = GetLocalString(OBJECT_SELF, "convo");

//Tell the PC to start a conversation
AssignCommand(oPC, ActionStartConversation(oPC, convo, TRUE, FALSE));
}
Note that it is the fourth parameter (the one that defaults to PlayHello=TRUE that you are changing to FALSE. This will stop the PC from saying their greeting each time you activate the item with the conversation.

EDIT: Note also, in the above I have also changed bPrivateConversation to TRUE.

Cheers,
Lance.

#5
AaronH

AaronH
  • Members
  • 115 messages

Thanks a lot :)

I'm a bit confused though, do I need to edit anything on it? (I have little to no knowledge on scripting lol)

 

--

 

Side note, when would you like me to test btw, I haven't seen an email from you since the confirmation, so I was just wondering if you still needed me, or that I might of missed an email.



#6
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

Thanks a lot :)

I'm a bit confused though, do I need to edit anything on it? (I have little to no knowledge on scripting lol)
 
--
 
Side note, when would you like me to test btw, I haven't seen an email from you since the confirmation, so I was just wondering if you still needed me, or that I might of missed an email.


Hi ????,

Now you confuse me ... who are you? Do you also post on these boards under a different name, as I have no record of anyone by the name of "AaronH" requesting BETA testing? :o Now worries though. If you are interested, there is still time to request.

Anyway, to answer your post, did you not see the difference?

YOU HAVE: AssignCommand(oPC, ActionStartConversation(oPC, convo));
I POSTED: AssignCommand(oPC, ActionStartConversation(oPC, convo, TRUE, FALSE));

And as I first explained, if you don't specify the parameters, then you will use the default ones with the function, which would mean your version is actually saying:- AssignCommand(oPC, ActionStartConversation(oPC, convo, FALSE, TRUE));

Now do you see it?

Cheers,
Lance.



#7
AaronH

AaronH
  • Members
  • 115 messages

Ok thanks, I understand now ^_^

I'm Koss/Kossith.

 

For some reason, everytime I log on these forums, it puts me on this account. About 90% of the time I can't be bothered to log out, find my other acc details, log onto that xD



#8
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

Ok thanks, I understand now ^_^

I'm Koss/Kossith.
 
For some reason, everytime I log on these forums, it puts me on this account. About 90% of the time I can't be bothered to log out, find my other acc details, log onto that xD


Hi,

I have you as "K Kin" in my Beta testing list of contacts. ;) Don't worry, I still have you as a tester ... I have to finish my alpha testing first.

Cheers,
Lance.
  • AaronH aime ceci