Here's my hat script ....
//NPC made by Nyght (FAQ)
if (playertouchsme) {
toweapons Samurai Farmer Hat;
hidelocal;
}
if (playerenters && !isweapon) {
if (hasweapon(Samurai Farmer Hat)) {
hidelocal;
} else {
showlocal;
}
}
if (weaponfired) {
if (this.on==false) {
this.on = true;
} else {
this.on = false;
}
timeout = 0.05;
}
if (timeout && this.on==true) {
if (this.puton==false) {
freezeplayer 0.1;
playersprite = 23;
showimg 1,samfarmhat1.gif,playerx,playery-0.7;
sleep 0.1;
playersprite = 24;
showimg 1,samfarmhat1.gif,playerx,playery-1.1;
this.puton = true;
}
if (playerdir==0) {
if (strequals(#m,sword)) {
showimg 1,samfarmhat1.gif,playerx,playery-1.3;
}
else if (strequals(#m,grab)) {
showimg 1,samfarmhat1.gif,playerx,playery-0.9;
}
else if (strequals(#m,pull)) {
showimg 1,samfarmhat2.gif,playerx+0.3,playery+1;
}
else if (strequals(#m,hurt)) {
showimg 1,samfarmhat1.gif,playerx,playery-0.8;
}
else if (strequals(#m,sit)) {
showimg 1,samfarmhat1.gif,playerx,playery-1.3;
} else {
showimg 1,samfarm1.gif,playerx,playery-1;
}
}
if (playerdir==1) {
if (strequals(#m,sword)) {
showimg 1,samfarmhat1.gif,playerx-0.1,playery-1;
}
else if (strequals(#m,grab)) {
showimg 1,samfarmhat1.gif,playerx-0.1,playery-1;
}
else if (strequals(#m,pull)) {
showimg 1,samfarmhat3.gif,playerx+2,playery;
}
else if (strequals(#m,hurt)) {
showimg 1,samfarmhat1.gif,playerx+0.1,playery-0;
}
else if (strequals(#m,sit)) {
showimg 1,samfarmhat1.gif,playerx+0.5,playery-1;
}
else if (strequals(#m,push)) {
showimg 1,samfarmhat1.gif,playerx,playery-1.1;
} else {
showimg 1,samfarmhat1.gif,playerx+0.15,playery-2;
}
}
if (playerdir==2) {
if (strequals(#m,sword)) {
showimg 1,samfarmhat1.gif,playerx,playery-0.9;
}
else if (strequals(#m,grab)) {
showimg 1,samfarmhat1.gif,playerx,playery-0.7;
}
else if (strequals(#m,pull)) {
showimg 1,samfarmhat5.gif,playerx+0.3,playery;
}
else if (strequals(#m,hurt)) {
showimg 1,samfarmhat1.gif,playerx,playery-1;
}
else if (strequals(#m,sit)) {
showimg 1,samfarmhat1.gif,playerx,playery-1.5;
}
else if (strequals(#m,push)) {
showimg 1,samfarmhat1.gif,playerx,playery-0.7;
} else {
showimg 1,samfarmhat1.gif,playerx,playery-1;
}
}
if (playerdir==3) {
if (strequals(#m,sword)) {
showimg 1,samfarmhat1.gif,playerx,playery-1;
}
else if (strequals(#m,grab)) {
showimg 1,samfarmhat1.gif,playerx-0.1,playery-1.5;
}
else if (strequals(#m,pull)) {
showimg 1,samfarmhat4.gif,playerx-0.5,playery;
}
else if (strequals(#m,hurt)) {
showimg 1,samfarmhat1.gif,playerx+0.1,playery-1.5;
}
else if (strequals(#m,sit)) {
showimg 1,samfarmhat1.gif,playerx-0.3,playery-1.5;
}
else if (strequals(#m,push)) {
showimg 1,samfarmhat1.gif,playerx+0.1,playery-1.5;
} else {
showimg 1,samfarmhat1.gif,playerx-0.1,playery-1
}
}
if (strequals(#m,dead) || strequals(#m,swim)) {
this.on = false;
this.skip = true;
}
timeout = 0.05;
}
if (timeout && this.on==false) {
if (this.skip==true) {
freezeplayer 0.5;
playersprite = 24;
showimg 1,samfarmhat1.gif,playerx,playery-1.1;
sleep 0.1;
playersprite = 23;
showimg 1,samfarmhat1.gif,playerx,playery-0.7;
sleep 0.1;
}
} else {
showimg 1,samfarmhat1.gif,playerx-0.1,playery-1;
}
}
if (strequals(#m,dead) || strequals(#m,swim)) {
this.on = false;
this.skip = true;
}
timeout = 0.05;
}
if (timeout && this.on==false) {
if (this.skip==true) {
freezeplayer 0.5;
playersprite = 24;
showimg 1,samfarmhat1.gif,playerx,playery-1.1;
sleep 0.1;
playersprite = 23;
showimg 1,samfarmhat1.gif,playerx,playery-0.7;
sleep 0.1;
}
hideimg 1;
sleep 0.1;
playersprite = 0;
this.puton = false;
this.skip = false;
}
It sorta works ...
