Download

the "on rep notify" the server notify all the clients? cant we have a "on rep notify others" ?

Hi,

first of all, i dont care about cheating since i do a coop game :o

i want player to control their pawn without feeling “lag”, all the effect (jump, fire, collecting item etc… everything…) the client will be trusted by the server!

so, i am wasting a big time with blueprint, i would need something “on rep notify others” so the server wont notify the client who changed the variable two time…

you know what i mean? :confused: probably not because i sux in english and i cant explain better :mad:

i will try an example of my problem if i use the normal behavior of “on rep notify” variables


Local client 1: **press spacebar**
Local client 1: set variable **Jump**"On rep notify"  to true
Local client 1: execute **Onrep_Jump** function and the pawn JUMP immediatly without lag [good]
Local client 1: send rpc to server in order to set jump to true in the server, so the on rep notify will excute on clients! [good]
Server: receive rpc and set jump"on rep notify" to true [good]
Server: execute the **OnRep_Jump** function and the pawn JUMP [good]
Server: server notify all other clients [bad: i dont want to send it to all clients! i dont care about client1]
Local client 2: receive rpc and execute the OnRep_Jump function and the pawn of the client1 jump [good]
Local client 1:  receive rpc and execute the OnRep_Jump function and the pawn of the client1 jump [bad: the client1 will suffer from a double jump, since he already jumped... why the server should notify him at all? :/]

so i cant use the “on rep notify” thing :frowning: and i am wasting time doing custom events, hey server do this and send this to all but not to me because i already executed it bro !

it would have been easier if we had a “on rep notify others” variable setting available :slight_smile: so any game with client trusted would have simply a client setting a variable and then the server would receive it automaticly, and others clients too

i would have to do only this, i think:


Local client 1: set variable **Jump**'On rep notify others' to true
Local client 1: execute '**OnRepOthers_Jump**' function and the pawn JUMP immediatly without lag [good]
Server: receive rpc and execute the function '**OnRepOthers_Jump**'  and the pawn JUMP [good]
then the server would inform other clients, or if the client1 is trusted we could have the client1 himself to inform other client but you wont allow that right? :(
Local client 2: receive rpc and execute the function '**OnRepOthers_Jump**' and then the pawn JUMP [good]


no double jump ! Yeaa and faster to do in blueprint ! but we cant :frowning:

so, at this time, i have to deal with it? i have to do for every variable change a tons of custom event, rpc, to execute it on the client himself, to inform server, then the server send it to all but NOT the original client?

you probably have better topic in this forum talking about the networking in unreal engine and client/server authorative, delay in inputs/all actions in case of server authorative game, problably you have an easy way to execute all thing in local without delay and then replicating this to others that i never heard !

Could you not just add a condition to the replication?
e.g: Skip Owner, that way it will not replicate to owner (assuming owner is the Player Controller for the client not to recive event.) of that object and then never fire the replication event.
Dont know how you do it in Blueprints but in code you can do.


DOREPLIFETIME_CONDITION(AYourActorOrCharacter, MemberName, COND_SkipOwner);

some images example of the blueprints i would need, compared to what i have at this time:

(dont know why i did this on paint, but you know, i waste time doing blueprint in ue4, i can waste time in paint doing blueprint too :o)

Good scenario i would like

actual blueprint i have, i really hate it but it work, probably no other way

i am overthinking something? :frowning:

Dont know if it’s possible in blueprint, so sad i am stupid with c++, i dont know what to do when i am in front of visual studio, there is so much keyword that i cant found which keyword to write

but yea i am working in Blueprint, its probably easy to fix my problem with some c++ mixed with function called in blueprint but i am really not familiar with ue4 code so i may waste 2-3 week to learn c++ code with problably my project cancelled due to my little motivation when i am stuck with a problem :o

if there is blueprint users reading my topic, i would like to know if they would do the same thing as me, i am okay doing many blueprint events to achieve my game, but if there is a easier way like the “skip owner” ,that you mentionned, possible in blueprint i think it may resolve my problem and the attachment i did below should be possible !

Not sure have you checked out the Blueprint Replication Tutorials from Epic? The links and attachments dont seem to work for me.
Btw what happend to the quote at the bottom there ? :slight_smile: hehe