Oh well it improved a lot since I visited last time, good job

Hovewer I can still find a flaw ^^ Ooops or more than one
-
For each (Integer A) from 1 to Lumber_Integer[Temp_Player], do (Actions)
-

Loop - Actions
-

-------- Places the items on the ground when the unit dies --------
-

Item - Create Lumber at Temp_Loc[2]
-

Item - Change ownership of (Last created item) to (Owner of (Triggering unit)) and Change color
-

For each (Integer A) from 1 to Stone_Integer[Temp_Player], do (Actions)
-

Loop - Actions
-

Item - Create Stone at Temp_Loc[2]
-

Item - Change ownership of (Last created item) to (Owner of (Triggering unit)) and Change color
-

-------- Clearing leaks, Updating Resources variables and Updates the view Resources Systems and also displaying a text message for the player. --------
Use a generic trigger, using create 1 item of ResourceItem[Integer B] It'll make setting up the system a lot easier
-
Multiboard - Set the text for Temp_Multiboard item in column 3, row Temp_Player to ((String(Stone_Integer[Temp_Player])) + (/ + (String(Stone_MaxCap))))
-
Multiboard - Set the text for Temp_Multiboard item in column 5, row Temp_Player to ((String(Lumber_Integer[Temp_Player])) + (/ + (String(Lumber_MaxCap)))
Use a loop to set this, and use variable arrays instead of resource caps and resources-it'll make your code more dynamic. Make a separate Settings trigger, which runs first then runs all the others

It should like this: (only a small part of it xD)
Set ResourceName[1] = "Stone"
Set ResourceCap[1] = something
Set ResourceName[2] = "Lumber"
Set ResourceCap[2] = something
-
Game - Display to Temp_PlayerGroup the text: (You currently have : |c0000ff00 + ((String((Load 0 of (Key (Picked unit)) from Temp_Hashtable))) + /10|r |c00ffff00Stone(s)|r))
-

Game - Display to Temp_PlayerGroup the text: (You currently have : |c0000ff00 + ((String((Load 1 of (Key (Picked unit)) from Temp_Hashtable))) + /10|r |c00ffff00Lumber(s)|r))
Same as above, use concentrate string function to make dynamic coloring

Make a variable "Colorcode[]" and use Colorcode[Integer A]+ResName[Integer A]+"|r"
There are a lot of triggers you have there to apply these on...
Next one the building system:
Use a generic formula, else you have to set the building data copying the trigger always, making a wall of text out of it quickly...
make a hashtable called BuildingData
make one variable array for each resource and load it into the hashtrable
make a variable array for buildings
use the following:
for integer a ---- check resource[a] for player compared to resourceNeed[a] for the specified building
if everything is ok build the specified building
I hope I coudl help making it more efficient, I love spending time with systems :O)