No_Rollback Issues with passing Agent

I think because the way I have it. Because I have to obviously check if all my “data” exists. Which is more like:

if (ThePlayer := player[Agent]){
     if (PlayerData := Data[ThePlayer]){
        if: <#This might be the part that might be a problem, but without
             using it like this, because of something with the <decides> effect
             and "ThePlayer", it wont work#>
            OldData := Data[ThePlayer]

            if(OldData.TheData <= (OldData.TheData2 * 25) + 50){
                #Do something, where audio could play
            }else{
                #Do something, where audio could play
            }
     }               
}