Okay, bare with me.
Player got quest questvar = 1, added cave to map
If player dies in cave set secretvariable = 1, cave still on map
If player dies in cave again set secretvariable = 2, remove cave from map
Quest status: I failed to kill all of the radscorpions again, I should let quest giver know that I failed.
Player: It's too hard, I keep dying!
Quest giver: What the hell is wrong with you!? You're not dead! Go and kill those scorpions right now or I'll find someone else to do it!
Player: Okay, I'm going! [exit]
Player: But how!?!
Quest giver: Take a friend, split the money, I don't care, just kill those damn bugs! [exit]
Quest status: Questgiver has given me one last chance to kill the radscorpions, I hope I can do it this time.
Cave is placed on map again
If player dies in cave set questvar = FAIL, set secretvariable = 0 and remove cave from map
secretvariable will determine how much XP the player gets, if they died twice they get 1/3 the xp they would get if they didn't die at all. If they die 3 times the quest is marked as failed and won't be repeatable for 24hrs.
Just an idea. It could probably be done with one variable.
I'd be happy to make some simple PvE quests in the near future.
TL;DR Player has 3 chances to finish PvE quest before it is marked as failed.