x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[Bug?] Server doesn't get the combo box set in some situations

Hey there,

i have a really odd bug in my marketplace project. The problem is that i can't seem to find why this is happening.

The background story:

Players can pick Characters in the Lobby. When you pick a Character that has already been picked, you get denied and the Picture as well as the Combobox get reset. This is all working for Server and Client except the Situation when the Server picks a Character that has been taken. Then only the Combobox of the others resets.

The event in which the Combobox gets set is 100% called and the reset of the image is working.

2424

It's the upper execution line of the following nodes. I tried getting the Name of the combobox and it is correct. I printed a debug message and the Server calls the line. Also the SetArrayElement at the right end is working for the Server. He just seems to ignore the SetSelectedOption call. Although he does not ignore it if a client picks the already taken character. If it was the Server (so i did a mistake), then the combo box should also not reset on his end. But it is only his own combobox that doesn't work and only if he tries to pick a selected character. Every other solution works. ): Also just added a breakpoint and the SetSelectedOptions really gets called. So i have no idea why he is ignoring the function call. If the whole event wouldn't work, then the print and also the image reset should also not happen.

wewe

Product Version: UE 4.9
Tags:
more ▼

asked Sep 18 '15 at 09:59 PM in Bug Reports

avatar image

eXi
6.9k 333 186 472

avatar image Rudy Q ♦♦ STAFF Sep 21 '15 at 08:33 PM

Hello eXi,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?

  2. If so, could you provide a detailed list of steps to reproduce this issue on our end?

  3. Could you provide additional screen shots of the other blueprints involved with this issue?

avatar image Rudy Q ♦♦ STAFF Sep 24 '15 at 08:58 PM

Hello eXi,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.

Thank you.

avatar image eXi Sep 24 '15 at 09:05 PM

Sorry Rudy, i'm still experiencing this. I just had 0 time the last week to do anything. I will try to recreate this in a new project tomorrow.

avatar image eXi Sep 28 '15 at 02:10 PM

Hey Rudy,

took me quite some time to cut this part out of my project but here you go:

https://www.dropbox.com/s/bdv4coaryamfzzz/ComboboxBugTest.rar?dl=0

Please make sure to read the "ExplainingTheSystem" BP Tutorial file.

I put a lot of information into it. There is also a small text on the Screen when you start the game to guide you how to recreate the issue. It's pretty easy to do so, but the setup took me a while.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hello eXi,

Thank you for going through all of the hard work to reproduce this issue. However, after working I was able to get it working with the following steps. I hope that this helps.

Steps:

  1. Copy the custom event "CheckSelectedCharacterCallback" and everything hooked to it

  2. Rename the copy of the custom event to "CheckSelectedCharacterCallbackServer"

  3. Set "CheckSelectedCharacterCallbackServer" Replication to Multicast

  4. Set "CheckSelectedCharacterCallback" Replication to Run on server

  5. Use "CheckSelectedCharacterCallback" to call "CheckSelectedCharacterCallbackServer"

This will run the events on the server and then replicate them back to all clients.

Image for reference:

alt text

Make it a great day

more ▼

answered Sep 28 '15 at 07:25 PM

avatar image

Rudy Q ♦♦ STAFF
47.2k 545 132 525

avatar image eXi Sep 28 '15 at 08:00 PM

Hey there, thanks for the time, but i don't really get why this is working.

The "CheckSelectedCharacterCallback" is already called on all Players, since i use a Multicast in the GameState in which i get the Controllers and call it.

If there wasn't a multicast already, the whole setup wouldn't work. Also it definitely gets called on all clients (and the listen server) otherwise the Image Color would not get white on reset or the normal selection would not get displayed at all. I mean, it is working, just the Combobox gets skipped in this situation.

Just to get this together:

In my setup we are in the GameState on the Server.Then, in the GameState, the Server calls a Multicast. This multicast is called on the client and the Server. Then, in the multicast, i call the Callback event, which is just a normal event, since we are already on all Clients + ListenHost through the Multicast.

This normal event calls the WidgetFunction.

Then, in the Widget itself, the White Image, as well as the None for the combo box are in the same execution line. And the White image gets set. The combobox is just skipped (but only in this specific situation where the Server picks an already picked character).

I tested this with Print nodes and breakpoints.

In your setup, we go from the Multicast in the GameState to a RunOnServer function in the Server, so we are again on the Server (why?). Then AGAIN we call a Multicast (so we did Server->Multicast->Server->Multicast) and then we call the widget function. So every client leads to a second Multicast call.

First Multicast -> Server and Client

Server -> Just does its stuff

Client -> RunOnServer -> Second Multicast -> Again Server and Client

That results in 2 calls on the Server


I have no idea why this above should be the solution. It sounds more like a workaround and the original problem is still not fixed.

Would you be so kind to explain me the idea behind this and maybe have a second look on it?

avatar image Ben Halliday STAFF Oct 03 '15 at 08:59 PM

Hey eXi,

To clarify, this IS a workaround. We're not sure why it works either, and despite combing through your example project for hours, I couldn't see any reason your setup shouldn't work. I've entered a bug report (UE-21760) for the issue and included your test project so the engineers can look closer. Until then, I hope Rudy's workaround can get you by. Thanks for the project!

avatar image eXi Oct 04 '15 at 12:07 AM

Thanks Ben,

(: That's a good clarification, because i thought i did something wrong and it did not understand why!

Thanks for you time guys. Stay awesome.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question