// // SpawnBanner v1.0 // void SpawnBanner(object oPC, object oItem, object oTarget, location lTarget) { object oArea = GetArea(oPC); if (GetTag(oTarget) == "SpawnBanner") { object oSpawn = GetLocalObject(oTarget, "ParentSpawn"); SetCustomToken(999, "\n"); SetCustomToken(1000, GetLocalString(oSpawn, "f_Flags")); SetCustomToken(1001, GetLocalString(oSpawn, "f_Template")); AssignCommand(oPC, ActionStartConversation(oTarget, "spawn_banner")); } else { int nState = GetLocalInt(oArea, "SpawnBannerState"); if (nState == 0) { // Show Spawn Banners SendMessageToAllDMs("showing banners"); int nNth; string sSpawnNum, sSpawnName; object oSpawn, oBanner; location lSpawn; int nSpawns = GetLocalInt(oArea, "Spawns"); for (nNth = 1; nNth <= nSpawns; nNth++) { sSpawnNum = "Spawn"; if (nNth < 10) { sSpawnNum = sSpawnNum + "0"; } sSpawnNum = sSpawnNum + IntToString(nNth); oSpawn = GetLocalObject(oArea, sSpawnNum); lSpawn = GetLocation(oSpawn); if (GetLocalInt(oSpawn, "SpawnDeactivated") == FALSE) { oBanner = CreateObject(OBJECT_TYPE_PLACEABLE, "spawn_ban_a", lSpawn); } else { oBanner = CreateObject(OBJECT_TYPE_PLACEABLE, "spawn_ban_d", lSpawn); } SetLocalObject(oBanner, "ParentSpawn", oSpawn); } SetLocalInt(oArea, "SpawnBannerState", 1); } else { // Hide Spawn Banners int nNth = 1; object oBanner = GetNearestObjectByTag("SpawnBanner", oPC, nNth); while (oBanner != OBJECT_INVALID) { DestroyObject(oBanner); nNth++; oBanner = GetNearestObjectByTag("SpawnBanner", oPC, nNth); } SetLocalInt(oArea, "SpawnBannerState", 0); } } }