| Author: | maddman75 |
| Author Website: | n/a |
| Script Name: | NPC Prostitute |
| Description: | Causes a prostitute to act the part. |
| Instructions on Use: | Give the prostitute a dialogue tree. She propositions the player if male
and has one of two possible actions. The first is to give a 'special
favor', which is a pretty severe abuse of the Worship animation.
When you reach that point in the conversation, set the actions taken to
this script.
Script 1 below currently costs the PC 15 gold pieces and makes the prostitute worship him. Script 2 is an alternate choice that will cause the prostitute to follow the PC around, script 3 ensures that the Prostitute does not follow the PC out of the area the encounter began in. Scripts 1 and 2 are called from the "ActionTaken" part of a conversation, script 3 goes into the OnHearbeat of the prostitute. You will also need a waypoint with the tag 'pro_start' at the point that you want her to return to after the PC leaves the area. |
Script 1(ActionTaken):
//::///////////////////////////////////////////////
//:: FileName pro15gp
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: maddman75
//:: Created On: 7/6/2002 11:59:31 PM
//:://////////////////////////////////////////////
void main()
{
// Remove some gold from the player
TakeGoldFromCreature(15, GetPCSpeaker(), TRUE);
// perform the favor
PlaySound("al_na_sludglake1");
PlayAnimation(ANIMATION_LOOPING_WORSHIP, 1.0, 8.0);
}
|
Script 2(ActionTaken):
//::///////////////////////////////////////////////
//:: FileName kela5gp
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: maddman75
//:: Created On: 7/6/2002 11:59:31 PM
//:://////////////////////////////////////////////
void main()
{
object trick;
trick = GetPCSpeaker();
// Remove some gold from the player
TakeGoldFromCreature(5, GetPCSpeaker(), FALSE);
ActionForceFollowObject(GetPCSpeaker(), 1.0);
}
|
Script 3(OnHearbeat):
// Additions to default heartbeat script
object trick;
object inn;
inn = GetObjectByTag("tag of area");
if(trick != OBJECT_INVALID )
{
ActionForceFollowObject (trick, 1.0);
}
if(trick == OBJECT_INVALID)
{
ActionForceMoveToLocation(GetLocation(GetWaypointByTag("pro_start")));
}
if (inn != GetArea(OBJECT_SELF))
{
ClearAllActions();
ActionForceMoveToLocation(GetLocation(GetWaypointByTag("pro_start")));
trick = OBJECT_INVALID;
}
|