All pastes #409401 Raw Edit

Anonymous

public text v1 · immutable
#409401 ·published 2007-03-25 17:43 UTC
rendered paste body
// 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);
}