• 🏆 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!

HIVE

Tasyen
Tasyen
I don't know much about advanced vjass features.

It can be normal that they are null. When you try to get the frames before the game created them.
There is a bug with originframes: when you first get them using the frame-child api, then the originframe api returns null, for that specific one.
Some Frames do not exist until the local game requires them.
Dark-Zalor
Dark-Zalor
I really checked when I store the frame they are not null, and after the storing in my struct the variables are not null too, it's really when I try to get the data

Other question: I have desyncs when I display my frames I've checked the code
  • I create the frames and triggers globally for every players the code is not launched in blocks for localPlayers and I hide frames for other players
  • I don't use getChild method of frame (I saw somehere that it may cause desync)
  • But I use getParent method of frame
Have you got other ideas of things that could desync.... ?
I have 2 laptops with only 1 warcrcaft 3/blizzard account so how can I make my desync test locally? Have you got an idea or a tool that can produce the desyncs?

A big thanks for your help man
Tasyen
Tasyen
you can run multiple instances of warcraft 3 in one machine. This 2 instances can play in Lan with each other and can produce most desyncs, It is recommented to play in window mode :) . Complete Command-Line Arguments Guide
In V1.31.1 just start warcraft 3 multiple times. In V1.32+ you need to start Warcraft 3 offline or become offline with the first instance after it started. Than start it again.

Execute trigger as GetLocalPlayer() desyncs.
Create/Destroy in GetLocalPlayer or based on something that is not synced like Is Frame Visible Get Frame Text/Value ...
When a Frame enters the map script inside GetLocalPlayer it desyncs
Top