Backstab script, must be behidn the object you are attacking in order to damage it.
NPC Code:
//Backstab Weapon by Solareon
//Hits npcs and players, change the skill flag to incrase damage.
//Higher skill increase damage
//dmg is the varible in which the damage is done, in half hearts
if (playertouchsme) {
toweapons Backstab;
if (!skillset) {setstring skill,5;set skillset;}
destroy;
}
if (weaponfired) {
freezeplayer 2;
skill=strtofloat(#s(skill));
rndskill=int(random(1,skill));
if (rndskill>skill/2) {skill+=1;}
if (rndskill>skill/3) {dmg=skill*random(0,1);dmg=int(dmg);}
if (dmg>0) {
if (playerdir=0) {players[0].sprite=11;}
if (playerdir=1) {players[0].sprite=11;}
if (playerdir=2) {players[0].sprite=11;}
if (playerdir=3) {players[0].sprite=11;}
CheckHit();
if (playerdir=0) {
if (!plyindex=-2) {
if (players[plyindex].dir=playerdir) {
hitplayer plyindex,dmg,playerx+1,playery-1;
}
}
if (!npcindex=-1) {
if (npcs[npcindex].dir=playerdir) {
hitnpc npcindex,dmg,playerx+1,playery-1;
}
}
}
if (playerdir=1) {
if (!plyindex=-2) {
if (players[plyindex].dir=playerdir) {
hitplayer plyindex,dmg,playerx-1,playery+1;
}
}
if (!npcindex=-1) {
if (npcs[npcindex].dir=playerdir) {
hitnpc npcindex,dmg,playerx-1,playery+1;
}
}
}
if (playerdir=2) {
if (!plyindex=-2) {
if (players[plyindex].dir=playerdir) {
hitplayer plyindex,dmg,playerx+1,playery+3.5;
}
}
if (!npcindex=-1) {
if (npcs[npcindex].dir=playerdir) {
hitnpc npcindex,dmg,playerx+1,playery+3.5;
}
}
}
if (playerdir=3) {
if (!plyindex=-2) {
if (players[plyindex].dir=playerdir) {
hitplayer plyindex,dmg,playerx+3,playery+1;
}
}
if (!npcindex=-1) {
if (npcs[npcindex].dir=playerdir) {
hitnpc npcindex,dmg,playerx+3,playery+1;
}
}
}
}
}
function CheckHit() {
if (playerdir=0) {
npcindex=testnpc(playerx+1,playery-1);
plyindex=testplayer(playerx+1,playery-1);
cmpindex=testcompu(playerx+1,playery-1);
}
if (playerdir=1) {
npcindex=testnpc(playerx-1,playery+1);
plyindex=testplayer(playerx-1,playery+1);
cmpindex=testcompu(playerx-1,playery+1);
}
if (playerdir=2) {
npcindex=testnpc(playerx+1,playery+3.5);
plyindex=testplayer(playerx+1,playery+3.5);
cmpindex=testcompu(playerx+1,playery+3.5);
}
if (playerdir=3) {
npcindex=testnpc(playerx+3,playery+1);
plyindex=testplayer(playerx+3,playery+1);
cmpindex=testcompu(playerx+3,playery+1);
}
}
Enjoy. Just plop this all in a weapon and put an npc in and beat it up. read the first few lines of the code in order to change things.
DO NOT use this script in your playerworld without permission from me. To obtain permission please send me a pm