Dante2377 wrote...
I mostly asked because I was thinking of ways around the "invisible spawn" bug (where the creature spawns but isn't visible and cannot be targeted) - it happened to me with a boss on a server and luckily, I had 1 minion I hadn't killed yet so I could drag him over and auto target the boss (luckily I didn't need to heal or anything). If something like that happened on a boss that was a 2 hour spawn timer or 1/server reset, I'd be pissed.
We fixed this with a minute-duration polymorph, via a custom SIMTools command, named !render. The player just fires it when they hit an invisible spawn.
} else if (sCText == "reveal" || sCText == "render" || sCText == "rerender") {
DeleteLocalString(oCPC, "FKY_CHAT_LOCAL_CTEXT");
object oArea = GetArea(oCPC);
if (GetLocalInt(oArea, "NO_PVP")) {
FloatingTextStringOnCreature(COLOR_RED + "You may not use this command in No PVP areas!" + COLOR_END, oCPC, FALSE);
return;
}
int nUptime = GetLocalInt(GetModule(), "uptime");
if (GetLocalInt(oArea, "RenderDelay") >= GetLocalInt(GetModule(), "uptime")) {
FloatingTextStringOnCreature(COLOR_RED + "You may not use this command again so soon!" + COLOR_END, oCPC, FALSE);
return;
}
SetLocalInt(oArea, "RenderDelay", nUptime + 15);
float fDelay = 0.01;
location lLoc = GetLocation(oCPC);
effect eRender = EffectPolymorph(POLYMORPH_TYPE_NULL_HUMAN);
object oRender = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, lLoc, FALSE, OBJECT_TYPE_CREATURE);
while (GetIsObjectValid(oRender)) {
if (!GetIsPC(oRender) && !GetIsDead(oRender) && !GetPlotFlag(oRender) && !GetHasEffectOfType(EFFECT_TYPE_POLYMORPH, oRender)) {
SetPlotFlag(oRender, TRUE);
SetLocalInt(oRender, "RenderPlot", 1);
DelayCommand(fDelay += 0.01, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eRender, oRender, 0.1));
}
if (GetLocalInt(oRender, "RenderPlot"))
AssignCommand(oArea, DelayCommand(fDelay + 2.0, SetPlotFlag(oRender, FALSE)));
oRender = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, lLoc, FALSE, OBJECT_TYPE_CREATURE);
}
FloatingTextStringOnCreature(COLOR_GREEN + "Creatures rerendered!" + COLOR_END, oCPC, FALSE);
}
One of the more ingenious ways of dealing with something, really - thanks to a player suggestion. Addition and subtraction of cutscene invis doesn't force a client rerender, but polymorph does.
Funky
Modifié par FunkySwerve, 02 septembre 2013 - 01:39 .