Its because locals are only used within the function. Since "Items" is a local in setup01, it wont work in function "actions". You can just put the actions inside the "setup01" as long as all variables are at the top of the function. Or else you can use globals. If you download newgen you can do:
as a quick summary of locals and globals:
locals can only be used inside the function
globals can be used anywhere (but they are slower, so locals are prefered when possible)
if you dont use newgen and you want globals, you can go to the variable editor in World Editor and add the variables there, then set them in your trigger.
Nope, an item array stores a physical item in game which a hero can pick up. You must use an integer array to store an item type as all raw codes are integers. This means ability ID's, unit ID's, item ID's, and upgrade ID's must be stored in an integer array.
I think CreateItem() if that's what you want to do, takes an integer anyway so passing an item in would just give a syntax error.
I'm on a page about incorrect corrections, and spent the better part of like two hours trying to get someone to understand that -5^2 = -25, not 25, and then that post had comments get reposted because that group is self sustaining, and that person was in turn trying to explain what I just explained to them. And I'm taking that as a victory