//////////////////////////////////////////////////////////////////////////////// // // Olander's Module On Enter // opw_mod_onenter // By Don Anderson // dandersonru@msn.com // // Miscellaneous On Enter Event. // //////////////////////////////////////////////////////////////////////////////// #include "nbde_inc" #include "opw_inc_pstat" #include "opw_inc_weapons" void main() { object oPC = GetEnteringObject(); object oMod = GetModule(); //Update and/or Create Player Unique ID string sPCU = NBDE_GetCampaignString("UNIQUEIDS","PCU",oPC); if(sPCU == "") { string sPCN = GetName(oPC); string sPre = GetStringLeft(sPCN,2); int nNum1 = Random(10000) + 1; int nNum2 = Random(10000) + 1; int nNum3 = Random(10000) + 1; int nNum4 = Random(10000) + 1; int nAvg = (nNum1 + nNum2 + nNum3 + nNum4)/4; string sID = sPre + IntToString(nAvg); SetLocalString(oPC,"PCU",sID); NBDE_SetCampaignString("UNIQUEIDS","PCU",sID,oPC); } else SetLocalString(oPC,"PCU",sPCU); //Set Up Player Birthday and Start Time int nBirthday = GetLocalInt(GetModule(),"BIRTHDAY"); if(nBirthday == 1) ProcessPCBirthday(oPC); //The One Ring For All DM's object oOneRing = GetItemPossessedBy(oPC,"dmfi_onering"); if(GetIsObjectValid(oOneRing) == FALSE && GetIsDM(oPC) == TRUE) { CreateItemOnObject("dmfi_onering", oPC,1); } //Racial Movement Rates int nRacial = GetLocalInt(oMod,"RACIALMOVE"); if(nRacial == 1) SetRacialMovementRate(oPC); if(GetIsPC(oPC) == TRUE) { int nAllege = NBDE_GetCampaignInt("ALLEGIANCE","FACTION",oPC); SetLocalInt(oPC,"FACTION",nAllege); //Align the Player if(nAllege == 1) AlignGood(oPC); if(nAllege == 2) AlignEvil(oPC); if(nAllege == 3) AlignNeutral(oPC); //Now Check the Creature Skin and Save it object oSkin = GetItemInSlot(INVENTORY_SLOT_CARMOUR,oPC); string sSkin = GetResRef(oSkin); NBDE_SetCampaignString("ALLEGIANCE","CREATURESKIN",sSkin,oPC); } NBDE_FlushCampaignDatabase("UNIQUEIDS"); DelayCommand(1.0,NBDE_FlushCampaignDatabase("ALLEGIANCE")); }