if(CallLocalFunction(ocmdStr,"ds",playerid,cmdtext[i+1])) return 1;
CallLocalFunction kann kein einzelnes NULL-Byte als String übermitteln.
Also schreibe es mal so:
if(CallLocalFunction(ocmdStr,"ds",playerid,((cmdtext[i+1] == '\0')?(" "):(cmdtext[i+1])))) return 1;
mfg.