Create new Task User Fields, which sums up the volume as per the different available Resource Status -
Installed - SUM(RESOURCE[STATUS_SET_NAME("Civil Works")=="Concrete slabs" AND STATUS_NAME("Civil Works")=="Installed"].UFV("Volume")))
Poured - SUM(RESOURCE[STATUS_SET_NAME("Civil Works")=="Concrete slabs" AND STATUS_NAME("Civil Works")=="Poured"].UFV("Volume")))
Reinforced - SUM(RESOURCE[STATUS_SET_NAME("Civil Works")=="Concrete slabs" AND STATUS_NAME("Civil Works")=="Reinforced"].UFV("Volume")))
Then run the following script, multiplying the required weighted % complete, e.g. Poured is 20%, Reinforced is 40% and Installed is 100% complete -
TASK SET_PROPERTY(PERCENT_COMPLETE, ( (UFV("Poured")*0.2) + (UFV("Reinforced")*0.4) + (UFV("Installed")*1) ) / SUM(RESOURCE.UFV("Volume") ) *100 )