try change
if ( countitem(getarg(0)) < getarg(1) ){
to
if ( getd(getarg(0)) < getarg(1) ){
then....change....
delitem getarg(0),getarg(1);
to
set getd( getarg(0) ), getd( getarg(0) ) - getarg(1);
then....change....
callsub DynamicShop,7720,250,20596,1,10;
to
callsub DynamicShop,"#CASHPOINTS",250,20596,1,10;