Graal Forums  

Go Back   Graal Forums > Development Forums > NPC Scripting
FAQ Members List Calendar Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
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
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:00 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.