This script does not work aroung NPC baddies either

It works everywhere else, but not around a baddie

when used around a baddie, the water stays beneither the player
NPC Code:
//#CLIENTSIDE
if(weaponfired&&playermp>4){
playermp=playermp-5;
if(playerdir=0){
for(i=1;i<31;i=i+2){
sleep .05;
putleaps 5,playerx+.5,playery-i;
hitobjects 2,playerx+.5,playery-i;
}
}
if(playerdir=2){
for(i=3;i<31;i=i+2){
sleep .05;
putleaps 5,playerx+.5,playery+i;
hitobjects 2,playerx+.5,playery+i;
}
}
if(playerdir=1){
for(i=3;i<31;i=i+2){
sleep .05;
putleaps 5,playerx-i,playery+1.5;
hitobjects 2,playerx-i,playery+1.5;
}
}
if(playerdir=3){
for(i=3;i<31;i=i+2){
sleep .05;
putleaps 5,playerx+i,playery+1.5;
hitobjects 2,playerx+i,playery+1.5;
}
}
enabledefmovement
}
}