GFreak45
I didnt slap you, i high 5'd your face.
- Reaction score
- 130
GUI - Triggering for Dummies (records)
Prerequisits:
Alright, in this brief tutorial i will explain records. Essentially a record is a way to store many variables under 1 variable type with 1 index. In WC3 Jass these are called structs. In order to create one you right click the left column for triggers and go down to new -> new record. When you select the record it will have 1 option, variables. It can store as many variables as you want, you dont want to have these variables as arrays because that takes up a lot more data and they will have arrays in the record.
Now once the record is created if you select a trigger, create a local variable a and set the variable type to record, then you will have a pulldown menu for your records, this will be grayed out if you only have one. create a new action: Set Variable, then select the local variable you created named a, you will get something like this: Set a.Member = value
now if you select the Member part of the action you will be able to set any of the variables inside the record to the member and then you will be able to set the value based on that variables type. This was just the demonstration now well get into real uses.
Now create a new record called Hero Data, put whatever variables you want in it including a Unit, this is great for creating custom data for heroes, (ie: Attributes, Stats, Talent Tree Info, w/e u can think of). Now create a new variable and name it Hero Something (data, info, who cares) set the type to the record: Hero Data and set the max array to 15 (max players +1 for 0) Now from here on you can save Hero Data[Player number of Owner].Your variables = whatever you want and access that easily
These can be used to store MASSIVE ammounts of info, the limits in wc3 were 8190 indexes or max array but i am not sure about sc2. They are great for organizing information and saving it for every object in game if not almost every object. Make sure to clear any data that you are no longer going to be using though because it will take up ram if not cleared before it is recycled.
This goes on to:
Prerequisits:
Alright, in this brief tutorial i will explain records. Essentially a record is a way to store many variables under 1 variable type with 1 index. In WC3 Jass these are called structs. In order to create one you right click the left column for triggers and go down to new -> new record. When you select the record it will have 1 option, variables. It can store as many variables as you want, you dont want to have these variables as arrays because that takes up a lot more data and they will have arrays in the record.
Now once the record is created if you select a trigger, create a local variable a and set the variable type to record, then you will have a pulldown menu for your records, this will be grayed out if you only have one. create a new action: Set Variable, then select the local variable you created named a, you will get something like this: Set a.Member = value
now if you select the Member part of the action you will be able to set any of the variables inside the record to the member and then you will be able to set the value based on that variables type. This was just the demonstration now well get into real uses.
Now create a new record called Hero Data, put whatever variables you want in it including a Unit, this is great for creating custom data for heroes, (ie: Attributes, Stats, Talent Tree Info, w/e u can think of). Now create a new variable and name it Hero Something (data, info, who cares) set the type to the record: Hero Data and set the max array to 15 (max players +1 for 0) Now from here on you can save Hero Data[Player number of Owner].Your variables = whatever you want and access that easily
These can be used to store MASSIVE ammounts of info, the limits in wc3 were 8190 indexes or max array but i am not sure about sc2. They are great for organizing information and saving it for every object in game if not almost every object. Make sure to clear any data that you are no longer going to be using though because it will take up ram if not cleared before it is recycled.
This goes on to:
- WIP