Sum elements of numeric array(s) for rAthena
//////////////////////////////////////////////////////////////////////////////////
// Sum elements of numeric array(s)
// Example:
// setarray .@array1[0],2,3,1,5;
// setarray .@array2[0],-3,-5,1;
// .@total = callfunc("F_ArraySum",.@array1); // will returns 11
// .@total = callfunc("F_ArraySum",.@array1,.@array2); // will returns 4
//////////////////////////////////////////////////////////////////////////////////
function script F_ArraySum {
.@sum = 0;
for (.@i = 0; .@i < getargcount(); .@i++) {
// TODO: Create command to check var is numeric, then sum it directly
//if (is_number(getarg(.@i))) {
// .@sum += getarg(.@i);
// continue;
//}
for (.@j = 0; .@j < getarraysize(getarg(.@i)); .@j++)
.@sum += getelementofarray(getarg(.@i),.@j);
}
return .@sum;
}