Playmaker Forum
Bug Reporting => PlayMaker Bug Reporting => Topic started by: SergioM on July 21, 2022, 09:33:29 AM
-
ConditionalExpression parse error in Turkish language
1) What happened
When system language is set to Turkish, ConditionalExpression throws an error if variable name contains letter "I"
2) How can we reproduce it
1.- Set your windows language to Turkish
2.- Create a PlayMakerFSM in a scene with a state that has a ConditionalExpression instruction
3.- In this FSM create a variable named ISPLAYERDEAD
4.- Evaluate this variable in the ConditionalExpression (Expression: ISPLAYERDEAD)
5.- Notice the error message "Invalid character "I" encountered whilst attempting to parse expression." It happens both in editor and runtime
We have already released the game and updating PlayMaker would be quite risky, so we would thank you a lot if you could send us a ConditionalExpression.dll library with the problem fixed if possible.
IMPORTANT INFORAMATION.
After docompiling the dll we think that the problem could be on this line of the Tokenizer.cs
_tokenDictionary[type] = new Regex(@"\G(" + regex + ")", RegexOptions.IgnoreCase)
we think you the RegexOptions RegexOptions.CultureInvariant is missing
_tokenDictionary[type] = new Regex(@"\G(" + regex + ")", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)
Regards and Thanks a lot!
-
Thanks for reporting this, and investigating a potential fix! I'll take a look at this and try to get it into an update asap.
-
Hello could we have a hot fix time estimation? Our product is live right now and people from Turkey is having big crashes on the app due to this problem
Regards and thank you in advance
-
Can you try the attached dll.