I haven't practice changing skin for models but I have suggestion for your problem. It just need some passion and not so professional.

You can create hundreds of ent_create("myLight.tga", .....) and then set all to INVISIBLE. Position them along your model (as what you call arm). Then switch the set/reset(MyLight[x],INVISIBLE).

P/S: When I first look at ur posting, I thought the picture is graphics rendered by Gamestudio with super complicated shader and lightings.