View Single Post
  #12  
Old 03-27-2001, 07:39 PM
Thak2 Thak2 is offline
:]
Join Date: Mar 2001
Location: BC
Posts: 1,344
Thak2 is on a distinguished road
Send a message via AIM to Thak2
Ok, here is my version of the bomy script... I made it awhile back but stopped working on it when I discovered non-p2p servers cant use bomy stuff or complex ganis, Ill continue working on it later, and refine the onwall so it is the same as a humans/normal bomies.
NPC Code:

// NPC made by Thak
if (playerhearts = playerfullhearts&&!notbomy)
{callweapon selectedweapon, weaponfired;
}
if (playerenters) {
}
if (playertouchsme) {toweapons bomy;
}
if (weaponfired) {sethead bomy_birce0.png;
setani bomy_idle,;
disabledefmovement;
unset notbomy;
timeout=0.05;}
if (playersays(bomy1)) {sethead bomy_birce0.png;}
if (playersays(bomy2)) {sethead bomy_herm0.png;}
if (playersays(bomy3)) {sethead bomy_golg0.png;}
if (playersays(bomy4)) {sethead bomy_draktha0.png;}
if (timeout) {setani bomy_walk,;
playery-=0;
timeout=0.05;
}
if (timeout&&keydown(2)&&!bomyduck) {playery+=0.7;
playerdir=2;
setani bomy_walk,;
timeout=0.05;
}

if (timeout&&keydown(3)&&!bomyduck) {playerx+=0.7;
playerdir=3;
setani bomy_walk,;
timeout=0.05;
}

if (timeout&&keydown(0)&&!bomyduck) {playery-=0.7;
playerdir=0;
setani bomy_walk,;
timeout=0.05;
}

if (timeout&&keydown(1)&&!bomyduck) {playerx-=0.7;
playerdir=1;
setani bomy_walk,;
timeout=0.05;
}

if (timeout&&!keydown(1)&&!keydown(0)&&!keydown(2)&&! keydown(3))
{setani bomy_idle,;
timeout=0.05;
}

if (keydown(2)&&timeout&&onwall(playerx+1.5,playery+2 .4)) {
playery-=0.3;
sleep 0.05;
playery-=0.3;
sleep 0.05;
playery-=0.3;
timeout=0.05;
}

if (keydown(0)&&timeout&&onwall(playerx+1.5,playery+0 .4)) {
playery+=0.3;
sleep 0.05;
playery+=0.3;
sleep 0.05;
playery+=0.3;
timeout=0.05;
}

if (keydown(1)&&timeout&&onwall(playerx+0.2,playery+1 .1)) {
playerx+=0.25;
sleep 0.05;
playerx+=0.25;
sleep 0.05;
playerx+=0.25;
timeout=0.05;
}
if (keydown(3)&&timeout&&onwall(playerx+2.7,playery+1 .1)) {
playerx-=0.25;
sleep 0.05;
playerx-=0.25;
sleep 0.05;
playerx-=0.25;
timeout=0.05;
}
if (keydown(3)&&timeout&&onwall(playerx+2.7,playery+2 .4)) {
playerx-=0.25;
sleep 0.05;
playerx-=0.25;
sleep 0.05;
playerx-=0.25;
timeout=0.05;
}
if (keydown(1)&&timeout&&onwall(playerx+0.2,playery+2 .4)) {
playerx+=0.25;
sleep 0.05;
playerx+=0.25;
sleep 0.05;
playerx+=0.25;
timeout=0.05;
}
if (timeout&&keydown(5)&&!keydown(1)&&!keydown(0)&&!k eydown(2)&&!keydown(3)&&!bomyduck)
{setani bomy_duck,;
sleep 0.5;
set bomyduck;
timeout=0.05;}
if (bomyduck&&timeout) {
setani bomy_hide,;
timeout = 0.05;
}
if (!keydown(5)) {
unset bomyduck;
}
if (playerhearts<=0&&timeout) {
setani bomy_dead,;
}

if (playersays(off)) {sethead head41.gif;
setani idle,;
timeout=0;
freezeplayer=0;
enabledefmovement;
set notbomy;
}


There may be stuff I was fooling around with in there too that doesnt work, but it has been tested online and works pretty good.
Reply With Quote