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

Patch 1.29 And UMSWE legacy Error

Status
Not open for further replies.
Level 5
Joined
Feb 8, 2015
Messages
93
I'm the current editor of Lordaeron: The Foremath, a popular map on B.net hosted at Brigandshaven.Net

I have recently run into a range of problems with the release of Warcraft 3 patch 1.29

EDIT: Using Ladik's MPQ editor I was able to find the malfunction actions, and delete them.
I had, however, run into a new problem: if I try to save the editor now it declares an error and disables ALL triggers. It seems to suddenly think that ALL variables are invalid, somehow.
The error code is "variable no symbol declared (Multiboard Null)"

I can save other maps without error, just this one is acting wierd...


When trying to open the map with patch 1.29 settings, I get the following four errors, before the editor shuts down.
LTFOpening Errors.png

When opening the map with TriggerData and TriggerScripts txt files taken from the old Jass NEWGEN library, I can open the map - but of course it's based on 1.26 support, meaning that I cannot use any of the new triggers, and the trigger editor does not recognize more than 12 players.

I tried identifying the possible scripts/data-lines that could be behind the malfunction, and the plugged those into updated TriggerData.txt and TriggerStrings.txt (newly updated ones from my War3x.mpq).
I think the relevant scripts were these; which I then plugged into the respective txt files in my WC3 UI.

//***************************************************************************
[TriggerTypeDefaults]
// Defines an optional default value for a trigger type used as a global variable
// Key: variable type
// Value 0: script text
// Value 1: display text (if not present, script text will be used)
//
// If a type does not have an entry here, it will be set to null if it is a handle
//

timer=CreateTimer(),WESTRING_TRIGDEFAULT_TIMER


//***************************************************************************
[TriggerActions]
// Defines action functions
// Key: action function name
// Value 0: first game version in which this function is valid
// Value 1+: argument types

// cleanup natives
DialogDestroy=0,dialog
_DialogDestroy_Defaults=_
_DialogDestroy_Category=TC_DIALOG

// Countdown Timer actions
CreateTimerDialogBJ=0,timer,StringExt
_CreateTimerDialogBJ_Defaults=GetLastCreatedTimerBJ,_
_CreateTimerDialogBJ_Category=TC_TIMER

DestroyTimerDialogBJ=0,timerdialog
_DestroyTimerDialogBJ_Defaults=GetLastCreatedTimerDialogBJ
_DestroyTimerDialogBJ_Category=TC_TIMER


//***************************************************************************
[TriggerConditions]
// Defines boolean condition functions
// Key: condition function name
// Value 0: first game version in which this function is valid
// Value 1+: argument types

OperatorCompareInteger=0,integer,ComparisonOperator,integer
_OperatorCompareInteger_Defaults=CountUnitsInGroup,OperatorEqual,0
_OperatorCompareInteger_Category=TC_CONDITION
_OperatorCompareInteger_UseWithAI=1
_OperatorCompareInteger_AIDefaults=0,OperatorEqual,0


//***************************************************************************
[TriggerCalls]

// object creation
CreateTimer=0,1,timer
_CreateTimer_Defaults=
_CreateTimer_Category=TC_TIMER
CreateTimerBJ=0,1,timer,periodicoption,real
_CreateTimerBJ_Defaults=PeriodicOptionOneTime,30
_CreateTimerBJ_Categor=TC_TIMER
//***************************************************************************
[TriggerActionStrings]

// cleanup natives
DestroyTimer="Destroy"
DestroyTimer="Destroy ",~Timer
DestroyTimerHint="Removes a timer from memory. Always destroy no longer needed timers. [UMSWE]"
DialogDestroy="Destroy"
DialogDestroy="Destroy ",~Dialog

// Countdown Timer actions
CreateTimerDialogBJ="Create Timer Window"
CreateTimerDialogBJ="Create a timer window for ",~Timer," with title ",~Title
CreateTimerDialogBJHint="Timer Windows cannot be displayed at map initialization."


//***************************************************************************
[TriggerConditionStrings]

OperatorCompareInteger="Integer Comparison"
OperatorCompareInteger=~Value," ",~Operator," ",~Value
OperatorCompareIntegerHint=


//***************************************************************************
[TriggerCallStrings]
CreateTimer="Create Timer"
CreateTimer="Create Timer"
CreateTimerHint="Use this to initialize timer array items [UMSWE]"
CreateTimerBJ="Create Timer"
CreateTimerBJ="Create a periodic ",~Choose," timer lasting ",~time
CreateTimerBJHint="[UMSWE]"

But after trying to open the map (after adding bits to the 1.29-updated txt files) I errors about mismatched numbers of parameters (I will upload screenshots of these later), after which the world editor crashes (it crashes as soon as it starts ~~loading triggers~~)

Is there any way to open a wall-of-text format of the map's trigger data? That way I could at least Ctrl+F to look for the culprit functions, and then delete them from the map before I save it next time.

EDIT: Using Ladik's MPQ editor I was able to find the malfunction actions, and delete them.
I had, however, run into a new problem: if I try to save the editor now it declares an error and disables ALL triggers. It seems to suddenly think that ALL variables are invalid, somehow.
The error code is "variable no symbol declared (Multiboard Null)"

I can save other maps without error, just this one is acting wierd...
 
Last edited:
Level 1
Joined
Oct 8, 2017
Messages
6
I'm having a very similar problem after the big patch released recently ^^^

All triggers disabled, acts like all variables invalid, or something... ?

It also seems to have an issue with referencing 'last created' anything, in the actions section
 
Last edited:
Status
Not open for further replies.
Top