137 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
//::///////////////////////////////////////////////
 | 
						|
//:: Name       ASG SpawnKit On Enter
 | 
						|
//:: FileName   asg_a_onenter
 | 
						|
//:: Copyright (c) 2001 Bioware Corp.
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
/*
 | 
						|
    Place this script on you area's on enter event
 | 
						|
*/
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Created By:    Donny Wilbanks
 | 
						|
//:: Created On:    9/8/03
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
 | 
						|
#include "asg_i_spawnkit"
 | 
						|
// #include "asg_i_dbplayer" // For the GetLocalKey
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    object oPC = GetEnteringObject();
 | 
						|
    object oSpawnPoint;
 | 
						|
 | 
						|
    int iPCFlying = GetLocalInt(oPC,"ASG_SPAWNKIT_PCFLYING");
 | 
						|
    int iVersion;
 | 
						|
    int iASGQInit = GetLocalInt(GetModule(),"ASG_QUESTENGINE_INT");
 | 
						|
 | 
						|
    string sAreaN = GetName(OBJECT_SELF);
 | 
						|
    string sAreaT = GetTag(OBJECT_SELF);
 | 
						|
    string sBase = "oSpawnPoint_";
 | 
						|
    string sComp;
 | 
						|
 | 
						|
    if (GetIsPC(oPC) || GetIsDM(oPC) && iPCFlying == FALSE)
 | 
						|
    {
 | 
						|
        // **************************
 | 
						|
        // * Check to see if Config Has been ran
 | 
						|
        // **************************
 | 
						|
        int iASG_SKIT = GetLocalInt(GetModule(),"ASG_SKIT");
 | 
						|
        if (iASG_SKIT == FALSE)
 | 
						|
        {
 | 
						|
            SetLocalInt(GetModule(),"ASG_SKIT",TRUE);
 | 
						|
            ExecuteScript("asg_cfg_spawnkit",GetModule());
 | 
						|
        }
 | 
						|
        object oArea = GetArea(oPC);
 | 
						|
        // *************
 | 
						|
        // **
 | 
						|
        // ** Send Area Message To PC or DM (vr 1.3)
 | 
						|
        // **
 | 
						|
        int iASG_SKIT_ADISCR = GetLocalInt(GetModule(),"ASG_SKIT_ADISCR");
 | 
						|
        if (iASG_SKIT_ADISCR==TRUE)
 | 
						|
        {
 | 
						|
            EntryMessage(GetTag(oArea),oPC);
 | 
						|
        }
 | 
						|
        // *************
 | 
						|
        // **
 | 
						|
        // ** Check Automap Feature (vr 1.3)
 | 
						|
        // **
 | 
						|
        int iMap = GetLocalInt(GetModule(),"ASG_SPAWKIT_AUTOMAPPER");
 | 
						|
        if (iMap == TRUE)
 | 
						|
        {
 | 
						|
            // Check to see if a No Auto Map Placeable Present
 | 
						|
            if (GetIsObjectValid(GetNearestObjectByTag("ASG_NOAUTOMAP",oPC))!=TRUE)
 | 
						|
            {
 | 
						|
                ExploreAreaForPlayer(oArea, oPC);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        // ************************************
 | 
						|
        // **
 | 
						|
        // ** Quest Engine Addon 1.4
 | 
						|
        // **
 | 
						|
        if (iASGQInit==TRUE)
 | 
						|
        {
 | 
						|
            int iASG_QE = GetLocalInt(oPC,"ASG_QUESTENGINE");
 | 
						|
            if (iASG_QE  == TRUE)
 | 
						|
            {
 | 
						|
                ExecuteScript("asg_scr_questeng",oPC);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        // *************
 | 
						|
        // **
 | 
						|
        // ** Check Area Setup - Recored SpawnPoints
 | 
						|
        // **
 | 
						|
        int iDoneOnce = GetLocalInt(oArea,"ASG_AREA_DONEONCE");
 | 
						|
        if (iDoneOnce == FALSE)
 | 
						|
        {
 | 
						|
            SetLocalInt(oArea,"ASG_AREA_DONEONCE",TRUE);
 | 
						|
            asg_SetUpArray(oArea);
 | 
						|
        }
 | 
						|
        // *************
 | 
						|
        // **
 | 
						|
        // ** Look For Monsters & Spawn Monsters
 | 
						|
        // **
 | 
						|
        int iWorking = GetLocalInt(oArea,"ASG_A_SPAWNWORKING");
 | 
						|
        // ** Single Spawn in Addon Routine 1.5.03
 | 
						|
        int iSingleSpawnIn = 0;
 | 
						|
        int iIndex = GetLocalInt(oArea,"ASG_AREA_SPAWNPOINT_INDEX");
 | 
						|
        int iK;
 | 
						|
        for (iK=1;iK<=iIndex;iK++)
 | 
						|
        {
 | 
						|
            //sComp = sBase + IntToString(iK);
 | 
						|
            //
 | 
						|
            // * Check for Legacy
 | 
						|
            //
 | 
						|
            //oSpawnPoint = GetLocalObject(oArea,sComp);
 | 
						|
            //if (GetIsObjectValid(oSpawnPoint))
 | 
						|
            //{
 | 
						|
            //    iVersion = GetLocalInt(oSpawnPoint,"ASG_Version");
 | 
						|
            //    if (iVersion == 14) asg_SpawnCreature14(oArea);
 | 
						|
            asg_SpawnCreature(oArea);
 | 
						|
            //}
 | 
						|
        }
 | 
						|
        SendMessageToPC(oPC,"* Standard Spawnin Script Execuited.");
 | 
						|
        SendMessageToPC(oPC,"(@) You have entered "+sAreaN);
 | 
						|
    }
 | 
						|
    // Exicute Custom Scripts Here
 | 
						|
    //
 | 
						|
    if (GetIsPC(oPC) || GetIsDM(oPC))
 | 
						|
    {
 | 
						|
        // Local Kit - Found on Config Placeable
 | 
						|
        object oASG_SPKit = GetNearestObjectByTag("ASG_SPAWNKIT_XAREAINFO",oPC);
 | 
						|
        string sScript_OnEnter = GetLocalString(oASG_SPKit,"SPK_Script_OnEnter");
 | 
						|
        if (sScript_OnEnter != "SCRIPT_INVALID")
 | 
						|
        {
 | 
						|
            ExecuteScript(sScript_OnEnter,OBJECT_SELF);
 | 
						|
        }
 | 
						|
        // Check for Global
 | 
						|
        sScript_OnEnter = GetLocalString(GetModule(),"ASG_SPKIT_ONENTER");
 | 
						|
        if (sScript_OnEnter != "SCRIPT_INVALID")
 | 
						|
        {
 | 
						|
            ExecuteScript(sScript_OnEnter,OBJECT_SELF);
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
}
 |