Author Sticky: Post Working Scripts Here
Asigoth Posted: Friday, 19 July 11:00PM
1. Script Name: npc_random_talk
2. What It Does: Makes an npc randomly say 1 of 6 user-defined phrases.
3. Notes: This is a modified version of Lenkyl Greatstorm's Trash Talk Script. I've lowered the choices down to 6, and I've added in support for Low Intelligence Phrases. (for half-orcs and such.) As with the original, works best if placed in OnHeartBeat on an NPC.
4. The Script:

NWScript:
///////////

//Script: npc_random_talk

//Trash Talk Script v1.1

///////////

//This script rolls 1d6 and allows a NPC to speak based on

//Which statement the number belongs to.

///////////

//Script by Lenkyl Greatstorm

//Modifications by Asigoth Ruinil

//Date Created: 6/24/02

//Modification Date: 7/19/02

///////////

//Changed completion chance to 50% and

//Added Intelligence Checks for low-int NPC

//to say 'stupified' versions of the originals.

//Also lowered amount of choices. (Thought ten was too many,

//But its fairly self explanitory if you need more.)

///////////

string sSayThis;

int iNPCInt = GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE);

int iTalkVolume = TALKVOLUME_TALK;

int iRollSix = d6(1);

int iTalkFlag = 0;

void main()

{

if(d100(1) > 50)            //Gives this script a 50% chance of completing

    {                       //Its execution.  Call it my anti-spam code.  (c:

    if(iRollSix != 0)       //Just in case a 0 slips in though I don't think

        {                   //It's possible.(Dont think it is, left it go tho)

        switch(iRollSix)    //Jump to the rolled statement number.

            {

            case 1:

            if(iNPCInt <= 8)  

                {

                sSayThis = "Low Int One.";

                }

            else

                {

                sSayThis = "One.";

                }

            break;

            case 2:

            if(iNPCInt <= 8)  

                {

                sSayThis = "Low Int Two.";

                }

            else

                {

                sSayThis = "Two.";

                }

            break;

            case 3:

            if(iNPCInt <= 8)  

                {

                sSayThis = "Low Int Three.";

                }

            else

                {

                sSayThis = "Three.";

                }

            break;

            case 4:

            if(iNPCInt <= 8)  

                {

                sSayThis = "Low Int Four.";

                }

            else

                {

                sSayThis = "Four.";

                }

            break;

            case 5:

            if(iNPCInt <= 8)  

                {

                sSayThis = "Low Int Five.";

                }

            else

                {

                sSayThis = "Five.";

                }

            break;

            case 6:

            if(iNPCInt <= 8)  

                {

                sSayThis = "Low Int Six.";

                }

            else

                {

                sSayThis = "Six.";

                }

            break;

            }  //End Switch Statement

        ActionSpeakString(sSayThis, iTalkVolume);       //Make the NPC talk

        }  //End If Statement

    }  //End If Statement

}  //End Main



_________________
There on the battlefield he stands
Down on the battlefield he's lost
And on the battlefield it ends

[ Edited By Asigoth: Friday, 19 July 11:03PM (GMT) ]