@Shogun: Depends how you want to do it... if you can edit the script directly, @unloadnpcfile/@loadnpc would do it, otherwise you can add an OnWhisperGlobal label (or menu option, if you want):
// Whisper to WOE_CONTROL:
// itemID:amount{:itemID:amount{:...}}
OnWhisperGlobal:
if (getgmlevel() < .GMAccess) end;
dispbottom " ";
dispbottom "Current rewards:";
for(set .@i,0; .@i<getarraysize(.Reward); set .@i,.@i+2)
dispbottom " > "+.Reward[.@i+1]+"x "+getitemname(.Reward[.@i]);
dispbottom "------------------------------------";
dispbottom "New rewards:";
explode(.@j$,@whispervar0$,":");
for(set .@i,0; .@i<getarraysize(.@j$); set .@i,.@i+2) {
if (getitemname(atoi(.@j$[.@i])) == "" || getitemname(atoi(.@j$[.@i])) == "null" || .@j$[.@i+1] == "" || atoi(.@j$[.@i+1]) == 0) {
dispbottom "**** Invalid parameters "+.@j$[.@i]+":"+.@j$[.@i+1]+" ****";
end;
}
dispbottom " > "+.@j$[.@i+1]+"x "+getitemname(atoi(.@j$[.@i]));
setarray .@k[getarraysize(.@k)],atoi(.@j$[.@i]),atoi(.@j$[.@i+1]);
}
if(select(" > ^0055FFConfirm...^000000: > ^777777Cancel^000000") == 1) {
deletearray .Reward[0],getarraysize(.Reward);
copyarray .Reward[0],.@k[0],getarraysize(.@k);
dispbottom "Done.";
}
close;