Last year I had this same problem when my truck when turn on fine, lights and everything except she wouldn't crank over.
Then I had found out my radio and my windows wouldn't work.
This was cause of the accessory delayed relay.
Here is a picture of what it looks like on my fuse panel.
You can see where there is a relay to the right that has like 3-4 wires comes from it into the fuse panel. The green wire you see is to the chassis ground.
Basically, when the truck doesnt start, all I have to do is unplug the brown wire and plug it back in and it starts.
Why is this relay even that far out from the fuse panel?