Initial upload
Initial upload.
This commit is contained in:
72
_module/nss/ew_sitchair.nss
Normal file
72
_module/nss/ew_sitchair.nss
Normal file
@@ -0,0 +1,72 @@
|
||||
// chair sitting script by Jhenne
|
||||
|
||||
void main()
|
||||
{
|
||||
// get the User
|
||||
object oPC=GetLastSpeaker();
|
||||
// get the closest chair, couch and/or throne
|
||||
object oChair = GetNearestObjectByTag("Chair", OBJECT_SELF);
|
||||
object oCouch = GetNearestObjectByTag("Couch", OBJECT_SELF);
|
||||
object oThroneGood = GetNearestObjectByTag("ThroneGood", OBJECT_SELF);
|
||||
object oStool=GetNearestObjectByTag("Stool", OBJECT_SELF);
|
||||
// get the distance between the user and each object (-1.0 is the result if no
|
||||
// object is found
|
||||
float fDistanceChair = GetDistanceToObject(oChair);
|
||||
float fDistanceGood = GetDistanceToObject(oThroneGood);
|
||||
float fDistanceCouch = GetDistanceToObject(oCouch);
|
||||
float fDistanceStool = GetDistanceToObject(oStool);
|
||||
|
||||
object oSit;
|
||||
|
||||
// if any of the objects are invalid (not there), change the return value
|
||||
// to a high number so the distance math can work
|
||||
if (fDistanceChair == -1.0)
|
||||
{
|
||||
fDistanceChair =1000.0;
|
||||
}
|
||||
|
||||
if (fDistanceGood == -1.0)
|
||||
{
|
||||
fDistanceGood = 1000.0;
|
||||
}
|
||||
|
||||
if (fDistanceCouch == -1.0)
|
||||
{
|
||||
fDistanceCouch = 1000.0;
|
||||
}
|
||||
if (fDistanceStool == -1.0)
|
||||
{
|
||||
fDistanceStool = 1000.0;
|
||||
}
|
||||
|
||||
|
||||
// find out which object is closest to the PC
|
||||
|
||||
if (fDistanceChair<fDistanceGood && fDistanceChair<fDistanceCouch && fDistanceChair<fDistanceStool)
|
||||
{
|
||||
oSit=oChair;
|
||||
}
|
||||
|
||||
if (fDistanceGood<fDistanceChair && fDistanceGood<fDistanceCouch && fDistanceGood<fDistanceStool)
|
||||
{
|
||||
oSit=oThroneGood;
|
||||
}
|
||||
|
||||
if (fDistanceCouch<fDistanceChair && fDistanceCouch<fDistanceGood && fDistanceCouch<fDistanceStool)
|
||||
{
|
||||
oSit=oCouch;
|
||||
}
|
||||
if (fDistanceStool<fDistanceChair && fDistanceStool<fDistanceGood && fDistanceStool<fDistanceCouch)
|
||||
{
|
||||
oSit=oStool;
|
||||
}
|
||||
|
||||
|
||||
// if no one is sitting in the object the PC is closest to, have him sit in it
|
||||
if (GetIsObjectValid(GetSittingCreature(oSit)) == FALSE)
|
||||
{
|
||||
ActionSit(oSit);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user