same for me on deDE...
Well I can imagine that they added this menu and forgot that we don't have all locales by default. Pretty stupid, but I guess we will need to manually add other locales like we used to do -> manually copy pasted in the map file with a mpq editor.
Yep that's how I managed to make my stuff bug free again. But I didn't think that the event "button Xpressed" ever could occur twice when the action is "hide button X".
I'm feeling pretty stupid, but I can't find the layout files :O
They are supposed to be in the map file, right? But I can't find any with ladiks mpq editor.
Hi guys.
My problem is not how to create and use them... it's more that I discovered a bug which is pretty dangerous for the gameplay if you don't pay attention in your triggers.
Note that the problem did not occur while testing the map solo (aka not over battle.net)! Everything worked fine then.
So I have a simple trigger, firing when a dialog control is pressed. A condition filters out all events so that it only fires when this one button is pressed.
The actions are then to increase a integer variable by 1, to hide (and deactivate) the button. Then a function is run the update the UI, this function will only activate and show the button again if the player has enough minerals. All of these actions are run in the same thread.
So, the problem is that this will be buggy when playing on battle.net when the player clicks the button fast! I'm not meaning that you have to click like hell, but only quite fast. The problem seems to be that the button isn't hidden instantaneously, but with a pretty high delay.
Well, this post is mainly to warn those like me, that mainly do local testing and think that triggers will be as fast (and save) as they are when hitting "test map". ;)
So, when you have a dialog event, often this will be a button that is pressed, make sure that you set your conditions and filters at the start of the trigger and always keep in mind that the event might occur even though you think that the button should not even be visible/activated!
I already thought about something like forcing all players to type each players' names, hoping they don't lie ... would be
great.... if it wasn't totally stupid xD
We would only need some information about the map and about the player.
So a player name as a string and maybe a unique id for the map (the id it is stored on the battle.net servers or whatever) and everything is fine.
Even librarys can be hacked "easily". It wil be harder of course, especially when it produceses keys and values which can't be read by humans. But since you can open any map you can look at the galaxy code and copy the encryption and decryption routines in a new map and then let it decode the bank file and encode a new one.
This could once again get harder if the encryption systems is split up in the galaxy script and if function names are unreadable, but never impossible :D
I personally think that the player name as string together with the character key is all we need. In TestMap you are always called sth like LocalPlayer and on battle net you have your own unique name (+key) so you couldn't create fake maps.
I just don't get why they wouldn't give us this function... Do they fear some sort of discrimination/ban lists/ *insert crazy stuff here* ?
I don't get it why the "Create" and "Join" layouts for custom gamers differ so extremly.
I mean, we isn't it possible to join recently played games, why isn't it possible to search and join games,
Anyways, just another post which will never get to the right people.
But can you tell me if the "hours played" resets sometimes? SOTIS is no.1 here in eu with nearly 8000 hours played.
It is impossible for all times to convert text to string since texts can and will be locally different (different client languages)
Though I read in one of the QA in the forum that they might consider adding a function that returns the player name as a string. The problem is on one side that computer players will have different names (based on the local language), so they would have to think about how to solve that.
And I am also not sure if they fear we might insert some sort of ban lists or other stuff restricting players.
Also, the bank protection they implemented doesn't really make the banks save. So you could create a map which edits said bank and the signature would still be intact. We would need ways to implement the player name and some sort of link to our map name/author name/map version.
@BorgDragon: I love your quote! Abraham Lincoln is such a genius! xD
@BudSMoken: I'll describe how the high templar effect works. (All done inside the unit's main actor under events)
The event UnitMovementUpdate.Walk will fire when the unit starts moving. So this activates a timer which will expire and on expire create the effect model you want. Look at some fire or smoke doodad models, maybe you can you use them (adjust size, orientation,...)
Also on timer expiration you will need to restart the timer (there is no periodic timer in actors).
Finally, when the UnitMovementUpdate updates to "stand" you will need to kill the timer or the effect won't stop.
This is the easiest way of doing it. Another possibilty would be to create a behavior which periodically activates an effect. This effect creation could also be used to create an effect (=model actor). But keeping track of movement is still required in the actor.
They fixed the "bug" in the forEach loops that implemented the sub functions twice.
And they also fixed the signal actor event allowing us to type in a subname!
Edit: Can anyone tell me how the locale management is supposed to work? The only thing I can do there is activate or deactivate my default language (which is german deDE)
Actions and functions are pretty much the same thing. The major difference is how the GUI treats them. You won't find functions in the "General" function list when you create a new line in your trigger/whatever.
To find a function that returns an int, you will for example need to
MyIntVar = MyFunctionThatReturnsInt("whatever",42)
0
same for me on deDE...
Well I can imagine that they added this menu and forgot that we don't have all locales by default. Pretty stupid, but I guess we will need to manually add other locales like we used to do -> manually copy pasted in the map file with a mpq editor.
0
Yep that's how I managed to make my stuff bug free again. But I didn't think that the event "button Xpressed" ever could occur twice when the action is "hide button X".
0
I'm feeling pretty stupid, but I can't find the layout files :O
They are supposed to be in the map file, right? But I can't find any with ladiks mpq editor.
0
Hi guys.
My problem is not how to create and use them... it's more that I discovered a bug which is pretty dangerous for the gameplay if you don't pay attention in your triggers.
Note that the problem did not occur while testing the map solo (aka not over battle.net)! Everything worked fine then.
So I have a simple trigger, firing when a dialog control is pressed. A condition filters out all events so that it only fires when this one button is pressed.
The actions are then to increase a integer variable by 1, to hide (and deactivate) the button. Then a function is run the update the UI, this function will only activate and show the button again if the player has enough minerals. All of these actions are run in the same thread.
So, the problem is that this will be buggy when playing on battle.net when the player clicks the button fast! I'm not meaning that you have to click like hell, but only quite fast. The problem seems to be that the button isn't hidden instantaneously, but with a pretty high delay.
Well, this post is mainly to warn those like me, that mainly do local testing and think that triggers will be as fast (and save) as they are when hitting "test map". ;)
So, when you have a dialog event, often this will be a button that is pressed, make sure that you set your conditions and filters at the start of the trigger and always keep in mind that the event might occur even though you think that the button should not even be visible/activated!
0
How would I start when I only want to change the position of the hero icon?
0
I already thought about something like forcing all players to type each players' names, hoping they don't lie ... would be
great.... if it wasn't totally stupid xD
0
You take this "Learn 2 advertise" pretty serious, don't you? :D
0
We would only need some information about the map and about the player.
So a player name as a string and maybe a unique id for the map (the id it is stored on the battle.net servers or whatever) and everything is fine.
Even librarys can be hacked "easily". It wil be harder of course, especially when it produceses keys and values which can't be read by humans. But since you can open any map you can look at the galaxy code and copy the encryption and decryption routines in a new map and then let it decode the bank file and encode a new one.
This could once again get harder if the encryption systems is split up in the galaxy script and if function names are unreadable, but never impossible :D
I personally think that the player name as string together with the character key is all we need. In TestMap you are always called sth like LocalPlayer and on battle net you have your own unique name (+key) so you couldn't create fake maps.
I just don't get why they wouldn't give us this function... Do they fear some sort of discrimination/ban lists/ *insert crazy stuff here* ?
greetz :D
0
Another vital than energy, life or shield? I guess no. There is a custom resource which isn't used in the standard game, but no custom vital.
If you really need 4 vitals (and can't use minerals, gas,custom) then you will need to create your own system.
0
I don't get it why the "Create" and "Join" layouts for custom gamers differ so extremly.
I mean, we isn't it possible to join recently played games, why isn't it possible to search and join games,
Anyways, just another post which will never get to the right people.
But can you tell me if the "hours played" resets sometimes? SOTIS is no.1 here in eu with nearly 8000 hours played.
0
It is impossible for all times to convert text to string since texts can and will be locally different (different client languages)
Though I read in one of the QA in the forum that they might consider adding a function that returns the player name as a string. The problem is on one side that computer players will have different names (based on the local language), so they would have to think about how to solve that.
And I am also not sure if they fear we might insert some sort of ban lists or other stuff restricting players.
Also, the bank protection they implemented doesn't really make the banks save. So you could create a map which edits said bank and the signature would still be intact. We would need ways to implement the player name and some sort of link to our map name/author name/map version.
0
I think I saw something at the upgrades. Add an upgrade-effect and see if you can change a unit's inner radius there.
0
@BorgDragon: I love your quote! Abraham Lincoln is such a genius! xD
@BudSMoken: I'll describe how the high templar effect works. (All done inside the unit's main actor under events)
The event UnitMovementUpdate.Walk will fire when the unit starts moving. So this activates a timer which will expire and on expire create the effect model you want. Look at some fire or smoke doodad models, maybe you can you use them (adjust size, orientation,...) Also on timer expiration you will need to restart the timer (there is no periodic timer in actors). Finally, when the UnitMovementUpdate updates to "stand" you will need to kill the timer or the effect won't stop.
This is the easiest way of doing it. Another possibilty would be to create a behavior which periodically activates an effect. This effect creation could also be used to create an effect (=model actor). But keeping track of movement is still required in the actor.
0
They fixed the "bug" in the forEach loops that implemented the sub functions twice.
And they also fixed the signal actor event allowing us to type in a subname!
Edit: Can anyone tell me how the locale management is supposed to work? The only thing I can do there is activate or deactivate my default language (which is german deDE)
0
Actions and functions are pretty much the same thing. The major difference is how the GUI treats them. You won't find functions in the "General" function list when you create a new line in your trigger/whatever.
To find a function that returns an int, you will for example need to
MyIntVar = MyFunctionThatReturnsInt("whatever",42)