strtok(const string[],&index,some_char = ' ') { new length = strlen(string); while ((index < length) && (string[index] <= some_char) && (string[index] > '\r')) { index++; } new offset = index; new result[30]; while ((index < length) && (string[index] > some_char) && ((index - offset) < (sizeof(result) - 1)) && (string[index] > '\r')) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } // OnPlayerCommandText: new cmd[256], idx; cmd = strtok(cmdtext,idx); if(!strcmp(cmd,"/cmd",true)) { new tmp[256]; tmp = strtok(cmdtext,idx,' '); if(!strlen(tmp)) { SendClientMessage(playerid,0xffffffaa,"usage: /cmd [SetPlayerSkin]"); return 1; } if(!strcmp(tmp,"SetPlayerSkin",true)) { new id, skin; tmp = strtok(cmdtext,'('); id = strval(tmp); tmp = strtok(cmdtext,','); skin = strval(tmp); if(strfind(tmp,")",true) != -1 || strfind(tmp,";",true) != -1 || strfind(tmp,"(",true) != -1 || strfind(tmp,",",true) != -1) { SendClientMessage(playerid,0xffffffaa,"bad code"); return 1; } SetPlayerSkin(id,skin); } return 1; }