// auto_give_keys
// Created by: krikkert
// Created on: March 25th
// How to use:
// Add this line to the last line before the ending } in your portal script:
// ExecuteScript("auto_give_keys", "OBJECT_SELF");
//
// The keys must have resrefs "humanelfkey", "halflinggnomekey", and "dwarforckey".
int CheckHasAKey(object oPC) {
if(GetIsObjectValid(GetItemPossessedBy(oPC, "humanelfkey")))
return 1;
if(GetIsObjectValid(GetItemPossessedBy(oPC, "halflinggnomekey")))
return 1;
if(GetIsObjectValid(GetItemPossessedBy(oPC, "dwarforckey")))
return 1;
return 0;
}
void GivePCProperKey(object oPC) {
int iStuff = GetRacialType(oPC);
string sKey;
if(iStuff == RACIAL_TYPE_HUMAN || iStuff == RACIAL_TYPE_ELF || iStuff == RACIAL_TYPE_HALFELF)
sKey = "humanelfkey";
if(iStuff == RACIAL_TYPE_HALFLING || iStuff == RACIAL_TYPE_GNOME)
sKey = "halflinggnomekey";
if(iStuff == RACIAL_TYPE_DWARF || iStuff == RACIAL_TYPE_HALFORC)
sKey = "dwarforckey";
object oItem = CreateItemOnObject(sKey, oPC);
if(!GetIsObjectValid(oItem))
SendMessageToPC(oPC, "Your fort key was not created. See a DM.");
}
void main() {
object oPC = GetEnteringObject();
if(!CheckHasAKey(oPC))
GivePCProperKey(oPC);
}