Thursday, July 10, 2008

Toolset Tidbit: PC-Less Screenshots

It's time for few more screenshots today, most of which are showing off a new area I finished this evening. While many of the areas haven't been the most well-to-do of locations thus far, the house interior that features in four of these screenshots is most definitely home to some wealthy people.

You'll also note that in a couple of screenshots, I have no player visible, as in this screenshot below!

I am sure some of you may have known how to do this already, but I only discovered how to do it today. Even better is that it is really simple! All you need is a single line script to accomplish it:
SetCreatureAppearanceType(GetFirstPC(), APPEARANCE_TYPE_INVISIBLE_HUMAN_MALE);
You can also make it so you can toggle the invisible state on and off, but this plays havoc with the PC's movement rate for some reason, so I'd advise against it.

I named my script a very descriptive "z_hide". All I need to do to use it, is to go into the game, bring up the console with the ~ key, type in "debugmode 1" (without quotes) to enable debugmode (amazing, huh?). This lets you run scripts by using "rs ". So simply typing "rs z_hide" will allow me to make the PC invisible and take screenshots freely!

I imagine this would work beautifully for taking screenshots for custom load screens...

Also if you haven't already done so - check out the trailer in my previous post, and vote in my poll!

3 comments:

Lance Botelle (Bard of Althéa) said...

Hi,

I am just reading through some of your earlier posts and thought you may like this toggle script for your invis PC. By running the script again, it brings the PC back, I called mine SS, so that it was easy to type 'rs ss' . I will post the script on my blog for readers as well:

Lance

void main()
{

object oPC = GetFirstPC();

int iStoredAppear = GetLocalInt(oPC, "APPEAR");
int iAppear = GetAppearanceType(oPC);

// STORE APPEARNACE FOR RECALL
if(iStoredAppear == 0){SetLocalInt(oPC, "APPEAR", iAppear);}

// TOGGLE INVISIBLE
if(GetAppearanceType(oPC) != APPEARANCE_TYPE_INVISIBLE_HUMAN_MALE)
{SetCreatureAppearanceType(oPC, APPEARANCE_TYPE_INVISIBLE_HUMAN_MALE); return;}

// TOGGLE VISIBLE
if(GetAppearanceType(oPC) == APPEARANCE_TYPE_INVISIBLE_HUMAN_MALE)
{SetCreatureAppearanceType(oPC, iStoredAppear);}

}

AmstradHero said...

I did produce a short script that produced the same results, but as I've noted in my post above, it does cause some weird issues with the PC's movement speed.

In addition, if you go through an area transition while "invisible", (or seemingly if you switch between cameras in this state), the focal point of the camera will switch to a point on the ground.

If this happens, simply switching back to the default appearance and then flicking between the cameras will fix the problem.

Lance Botelle (Bard of Althéa) said...

Hi again,

Thanks for the heads up about when transferring between areas when "invis". I have never done this in this state, so at least I know what to expect now if I do. :)

Lance.