why do you want to use a shader for that?
why donīt use a simple u/v shift function like this:
while(1)
{
my.v += 3*time;
my.u = random(x); //x= your skin/sprite pixels
wait(1);
}
maybe you have to change u and v (long time no use)

so, now you only need a lightning texture and put it on a model.
maybe itīs not the most beautyfull way to do that, but it should work
i think

try it,
Mortis