No, the scripts don't do the same thing and that isn't the source of the conflict. The source of the conflict is that the method, clear_states, is called before any actor is ever initialized. That is normally fine, but Pacman's script modifies that method to call the method states. Normally, that wouldn't be an immense problem either, but Yanfly's script has modified the states method to call the actor method, and since the actor is not yet initialized at that time, it creates the error.
It could probably be fixed by replacing Pacman's script with something like this:
class Game_BattlerBase
alias no_recover_states_clear clear_states
def clear_states(*args)
hold_states = @states ? @states.select {|s| !$data_states[s].note[/\\no[_ ]recover/i].nil? } : []
no_recover_states_clear(*args)
@states |= hold_states
end
end
That's just blind, but I think it ought to work. Also, credit only Pacman for the script if you use it - all I did was play around with his design.