• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Desync

Status
Not open for further replies.
Level 5
Joined
Oct 14, 2010
Messages
100
Hi,

Since my map is not near completion at all, I don't really have any opportunities of testing it online.
And neither do I want to spend an aweful lot of time on features that won't actually work in multiplayer either.
I'm looking for a list of problems that cause desynchronisation, more specifically related to programming.
Now, I've searched for this and I've only found very specific problems.
There are, of course, obvious problems such as creating units locally, but there are still plenty of things not entirely clear to me.

If you don't want or can't give me a list, then please provide an answer to these more specific questions:
- Quests? Can they be created / updated locally? I.e. unique quests for specific players. If this causes desync, would it be a possible solution to create quests globally, but enable them only for 1 player?
- Preload functions? More specifically preloading local files, if local files are enabled
- AddSpecialEffectOnUnit ? I'd say this shouldn't cause any problems because it has no effect on gameplay?
 
Level 24
Joined
Jul 9, 2009
Messages
4,097
This is how you create a quest.
  • Quest
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • Quest - Create a Optional, undiscovered quest titled <title> with the description <description>, using icon path ReplaceableTextures\CommandButtons\BTNAmbush.blp
 
Level 5
Joined
Oct 14, 2010
Messages
100
Thanks but that's not the question.

My question is whether following code would cause desynchronisation problems:
JASS:
if (GetLocalPlayer() == Player(0)) then
    set q = CreateQuest()
    call QuestSetTitle(q, "blah")
    // etc.
endif

Same for preload functions on local files, and special effects...
 
Level 12
Joined
Jan 30, 2009
Messages
1,067
I'm bumping my own topic because nobody replies. If that's all you have to contribute to this thread, you better just stay silent.

Forum rules state you should wait 2 days to bump your post. Else it's a double-post, which is against the rules.
EDIT: I stand corrected. I checked the guidelines for this section, and it indeed does say 24 hours. Which you were very punctual on. My apologies.

Also, keep in mind, as is ALSO in the stickies, nobody is REQUIRED to respond. We do it because we like to.

Furthermore, it seems to me that your issue is solvable with a simple test run, which is probably why nobody is trying to help you.

Try it. You're wasting everyone's time. And if not, then, rephrase your question to "How do I make it not <do the bad things it's doing>?" and you may receive help then.

Not trying to be rude, just trying to help.
 
Last edited:
Level 5
Joined
Oct 14, 2010
Messages
100
Forum rules state you should wait 2 days to bump your post. Else it's a double-post, which is against the rules.
EDIT: I stand corrected. I checked the guidelines for this section, and it indeed does say 24 hours. Which you were very punctual on. My apologies.

Also, keep in mind, as is ALSO in the stickies, nobody is REQUIRED to respond. We do it because we like to.
So what? I'm bumping until I get an answer. If this community isn't helpful then at least don't tell me I'm spamming in my own thread. Especially when I'm not.

Furthermore, it seems to me that your issue is solvable with a simple test run, which is probably why nobody is trying to help you.
Actually my entire point is that I can't test it. If I could, I would, rather than waiting for an answer from a dead, or otherwise rude community.
The issue is desyncs, which involves *multiple* players. I can't test that in single player. Not only can I not host online (my router is configured but my isp blocks the ports), I don't have a map to test it with and I don't know any people who will test a non-playable map.

Try it. You're wasting everyone's time. And if not, then, rephrase your question to "How do I make it not <do the bad things it's doing>?" and you may receive help then.
People who read this obviously have time to waste. Besides, how is my question not worded well enough? What the fuck is the difference between asking if local quests desync or asking "how do I make quests not desync". Big difference...

Not trying to be rude, just trying to help.
Well, good job. Let's hope I won't meet you again when you're actually trying to be rude.

So, anyone else here on the forums that have nothing to contribute to this thread but carry on anyway?
 
Level 21
Joined
Mar 19, 2009
Messages
444
- Quests? Can they be created / updated locally? I.e. unique quests for specific players. If this causes desync, would it be a possible solution to create quests globally, but enable them only for 1 player?
Quests are not makable locally. Player quests are only triggered, but the quest menu is a global thing.
- Preload functions? More specifically preloading local files, if local files are enabled
Preload functions do sucks (I mean natives). Only ability preload is usefull for spells added during a game. And more, it's not a thing to do locally.
- AddSpecialEffectOnUnit ? I'd say this shouldn't cause any problems because it has no effect on gameplay?
It has. Never create local effects.

Generally, the only things you are allowed to do locally (and, warn, sometimes you are allowed to do local things but with restrictions etc):

-Display/hide things on the interface (boards, filters, cameras)
-Change minor skins things (terrain def)
-Play sounds

A last thing:

Always remember a local action is, in most case, only the fact to display/play or hide something for a player. IT IS NEVER possible to CREATE/DESTROY things locally.

(Play a sound but no create it, display a filter but not create it, display a board but not create it etc...)
 
Level 5
Joined
Oct 14, 2010
Messages
100
Always remember a local action is, in most case, only the fact to display/play or hide something for a player. IT IS NEVER possible to CREATE/DESTROY things locally.

(Play a sound but no create it, display a filter but not create it, display a board but not create it etc...)

Okay, thanks a lot.
So let's say I create my quest globally. Can I hide it from players by using QuestSetEnabled(quest, true)? Or would that, too, cause desyncs...
 
Level 21
Joined
Mar 19, 2009
Messages
444
Quest is one thing you should never use locally.

To sum up, at least, make your classic quest and display in its description "available for PLayer XXX" since this is possible (change the description ingame).

Then, the other things can be triggered trough variables. But quest (anything using quest variables) are not makable through local things.
 
Level 12
Joined
Jan 30, 2009
Messages
1,067
So what? I'm bumping until I get an answer. If this community isn't helpful then at least don't tell me I'm spamming in my own thread. Especially when I'm not.
1. I corrected myself. I checked the guidelines, you weren't double posting. That's directed at the wrong person, buddy.

Actually my entire point is that I can't test it. If I could, I would, rather than waiting for an answer from a dead, or otherwise rude community.
The issue is desyncs, which involves *multiple* players. I can't test that in single player. Not only can I not host online (my router is configured but my isp blocks the ports), I don't have a map to test it with and I don't know any people who will test a non-playable map.
2. Not once do you say in your post you're unable to test it. You say you "don't have the opportunity" to test it. I've had many people test an unplayable map on wc3 simply because I tell them it'll only take a minute. Also, I have friends with the game who will test stuff for me. The fact you can't host, however, would make it a tad more difficult. A tip would be to get your head out of your ass and make friends with someone who can host instead of attacking everyone who doesn't have a clear concise answer within 30 seconds of your asking.

People who read this obviously have time to waste. Besides, how is my question not worded well enough? What the fuck is the difference between asking if local quests desync or asking "how do I make quests not desync". Big difference...
3. Read those two parts together and you will get the answer to this. I said TEST IT, THEN reword it, if necessary. Again, moot since you can't host, and apparently are so hostile towards others that they don't want anything to do with you. Try reading it this way
Furthermore, it seems to me that your issue is solvable with a simple test run, which is probably why nobody is trying to help you.

Try it.[...]
If I'm the only one who saw the correlation here between the two sentences, then perhaps I need to pay more attention to whom I type things out to.

Well, good job. Let's hope I won't meet you again when you're actually trying to be rude.

So, anyone else here on the forums that have nothing to contribute to this thread but carry on anyway?
4. No, you don't want to see me when I'm rude. Cause I'm still not trying to be rude. If you saw me when I was trying to be rude, I'd get perma-banned on this site instantly. I'm not a pleasant person to anger.

TO SUM UP: Be patient. Be NICE. Be detailed in your posts. And don't attack people.

Maybe in the future your question will be answered more quickly. When I first checked this thread, the way you attacked that guy, even though he was erroneous, made me unwilling to answer you. Not that I know JASS, but reading that, I was 90% sure I knew the answer to your problem and jk2pach proved my assumption right.

If this community isn't helpful[...] rather than waiting for an answer from a dead, or otherwise rude community.
Community is far from dead. And who's rude, me? Not everyone is online 24/7 like I am. And I choose whom I help, based on how I feel at the time. Sorry you feel this way. Sounds like a personal problem that should be addressed off the forums.
 
Status
Not open for further replies.
Top