function registerXaddr(uint256 affCode, string _nameString)
    private
    {bytes32 _name = NameFilter.nameFilter(_nameString);
        address _addr = msg.sender;
        uint256 _pID = pIDxAddr_[_addr];
        plyr_[_pID].name = _name;
        plyr_[_pID].level = 1;
        if (affCode >= 4 && affCode <= pID_ && _pID != affCode) {plyr_[_pID].laffID = affCode;
            if (plyr_[affCode].level == 1) {plyr_[_pID].commanderID = plyr_[affCode].commanderID;
                plyr_[_pID].captainID = plyr_[affCode].captainID;}
            if (plyr_[affCode].level == 2) {plyr_[_pID].commanderID = affCode;
                plyr_[_pID].captainID = plyr_[affCode].captainID;}
            if (plyr_[affCode].level == 3) {plyr_[_pID].commanderID = affCode;
                plyr_[_pID].captainID = affCode;}} else {plyr_[_pID].laffID = 1;
            plyr_[_pID].commanderID = 2;
            plyr_[_pID].captainID = 3;}
        plyr_[plyr_[_pID].laffID].recCount += 1;
        emit onNewPlayer(_pID, _addr, _name, affCode, plyr_[_pID].commanderID, plyr_[_pID].captainID, now);}